Offset |
Type |
Raw Hex |
Value |
Description
|
0x00 |
char[4] |
43 4A 42 4F |
OBJC |
object collection
|
0x04 |
int32 |
B4 1F 00 00 |
8116 |
size of the complete patrol path part from this postion in bytes
|
0x08 |
int32 |
27 00 00 00 |
39 |
object collection version
|
0x0C |
int32 |
78 00 00 00 |
120 |
size of the following element in bytes
|
First element (black outline)
|
0x00 |
char[4] |
52 54 41 50 |
PATR |
patrol path
|
0x04 |
int32 |
6F 1A 00 00 |
6767 |
old file ID
|
0x08 |
int32 |
00 00 00 00 |
0 |
unknown
|
0x0C |
float |
08 AB 20 44 |
642.672363 |
x-position of the patrol path start point
|
0x10 |
float |
E7 26 87 41 |
16.893995 |
y-position (height) of the patrol path start point
|
0x14 |
float |
6C CD BD C3 |
-379.604858 |
z-position of the patrol path start point
|
0x18 |
float |
00 00 00 00 |
0.000000 |
rotation on the x-axis in degrees
|
0x1C |
float |
00 00 00 00 |
0.000000 |
rotation on the y-axis in degrees
|
0x20 |
float |
00 00 00 00 |
0.000000 |
rotation on the z-axis in degrees
|
0x24 |
char[32] |
Floor1_Stk_1 |
patrol path name
|
0x44 |
int32 |
04 00 00 00 |
4 |
number of path points (grey outline)
|
0x48 |
int16 |
00 00 |
0 |
patrol path ID
|
0x4A |
int16 |
01 00 |
1 |
"return to nearest"?
|
First path point (grey outline)
|
0x00 |
int32 |
13 00 00 00 |
19 |
path point type; the following types are possible (values in dec):
- 00 - move to flag (short)
- 01 - stop (nothing); (not used in Oni)
- 02 - pause in frames (long)
- 03 - look at flag (short)
- 04 - look at point (float, float, float); (not used in Oni)
- 05 - move and face to flag (short)
- 06 - run path in a loop (nothing)
- 07 - movement mode (long) - the following values are possible:
- 0 - by alert level
- 1 - stop
- 2 - crouch
- 3 - creep
- 4 - walk - no aim
- 5 - walk
- 6 - run - no aim
- 7 - run
- 8 - forwards (* doesn't respond to ai2_setmovementmode and can make Oni crash when used in the patrol path file)
- 9 - backwards (*)
- 10 - left (*)
- 11 - right (*)
- 12 - stopped (*)
- 08 - move to point; (not used in Oni); in-game test result: works fine
- 09 - turn head by X degrees; (not used in Oni); in-game test result: malfunctioning
- 10 - move through flag (short, float) - character moves to this flag until he/she has reached the radius border of it
- 11 - move through point (float, float, float, float) - character moves to this point until he/she has reached the radius border of it; (not used in Oni)
- 12 - stop looking (nothing)
- 13 - free facing?; used only once
- 14 - glance at flag for ... frames (short + long) - character looks (rotates only the head) to the flag for the fixed time
- 15 - move near flag (short + float) - character moves to this flag until he/she has reached the radius border of it
- 16 - run path in a loop from block number (long) - runs the complete path once; after that it loops the path from the block number to the end (note that the block number of the first block is zero and not one)
- 17 - time + rotation (short + float) - character looks/aims around for the fixed time
- 18 - unkown (nothing follows)
- 19 - time + flag + rotation in degrees (short + short + float) - character moves to the flag and when reached he/she looks/aims around for the fixed time
- 20 - appears to be a duplicate of 21
- 21 - patrolscript id follows (short) - function with this id is called up (f.e. id = 1, then called up function = patrolscript0001)
- 22 - ignore player (byte) - 0 = off; 1 = on
- 23 - flag + time + firing spread in degrees (short + short + float) - character faces to to the flag and fires his/her weapon for the fixed time
|
0x04 |
int16 |
58 02 |
600 |
sleep time in 1/60 seconds
|
0x06 |
int16 |
CB 00 |
203 |
flag ID
|
0x08 |
float |
00 00 A0 42 |
80.000000 |
look around angle in degrees
|