OBD:BINA/OBJC/TRGV: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(fixing a few things, but not all of them yet) |
||
Line 12: | Line 12: | ||
{{OBDtr| 0x00C | int32 |00FFFF| 60 01 00 00 | 352 | size of the following object in bytes }} | {{OBDtr| 0x00C | int32 |00FFFF| 60 01 00 00 | 352 | size of the following object in bytes }} | ||
{{OBDtrBK|First object (grey outline}} | {{OBDtrBK|First object (grey outline}} | ||
{{OBDtr| 0x000 | char[4] |FFC8C8| 56 47 52 54 | TRGV | trigger volume }} | {{OBDtr| 0x000 | char[4] |FFC8C8| 56 47 52 54 | TRGV | trigger volume (TV) }} | ||
{{OBDtr| 0x004 | int32 |FFFFC8| ED 1B 00 00 | 7149 | old file ID }} | {{OBDtr| 0x004 | int32 |FFFFC8| ED 1B 00 00 | 7149 | old file ID }} | ||
{{OBDtr| 0x008 | int32 |C8FFC8| 00 00 00 00 | 0 | unknown }} | {{OBDtr| 0x008 | int32 |C8FFC8| 00 00 00 00 | 0 | unknown }} | ||
{{OBDtr| 0x00C | float |C8FFFF| 5C 47 36 44 | 729.114990 | x-position of | {{OBDtr| 0x00C | float |C8FFFF| 5C 47 36 44 | 729.114990 | x-position of TV }} | ||
{{OBDtr| 0x010 | float |C8FFFF| 00 00 00 00 | 0.000000 | y-position (height) of | {{OBDtr| 0x010 | float |C8FFFF| 00 00 00 00 | 0.000000 | y-position (height) of TV }} | ||
{{OBDtr| 0x014 | float |C8FFFF| 73 D8 C9 C3 | -403.691009| z-position of | {{OBDtr| 0x014 | float |C8FFFF| 73 D8 C9 C3 | -403.691009| z-position of TV }} | ||
{{OBDtr| 0x018 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the x-axis in degrees }} | {{OBDtr| 0x018 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the x-axis in degrees }} | ||
{{OBDtr| 0x01C | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the y-axis in degrees }} | {{OBDtr| 0x01C | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the y-axis in degrees }} | ||
{{OBDtr| 0x020 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees }} | {{OBDtr| 0x020 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees }} | ||
{{OBDtr2|0x024 | char[63] |FFC800| | {{OBDtr2|0x024 | char[63] |FFC800| trigger_volume_01 | name of TV }} | ||
{{OBDtr2|0x063 | char[32] |C800C8| spawn_floor2_guards | | {{OBDtr2|0x063 | char[32] |C800C8| spawn_floor2_guards | "entry" function; called up when character enters the TV }} | ||
{{OBDtr2|0x083 | char[32] |C87C64| unused | inside function; called | {{OBDtr2|0x083 | char[32] |C87C64| unused | "inside" function; called while character is inside the TV }} | ||
{{OBDtr2|0x0A3 | char[32] |B0C3D4| unused | exit function; called up when | {{OBDtr2|0x0A3 | char[32] |B0C3D4| unused | "exit" function; called up when character leaves the TV }} | ||
{{OBDtr| 0x0C3 | bitset |E7CEA5| 01 | 1 | teams | {{OBDtr| 0x0C3 | bitset |E7CEA5| 01 | 1 | teams that can fire off the TV; any combination of the following: | ||
: | |||
:0x01 - Konoko | |||
:0x02 - TCTF | |||
:0x04 - Syndicate | |||
:0x08 - Neutral | |||
:0x10 - SecurityGuard | |||
:0x20 - RogueKonoko | |||
:0x40 - Switzerland | |||
:0x80 - SyndicateAccessory | |||
}} | }} | ||
{{OBDtr| 0x0C4 | int24 |FFDDDD| FF FF FF | unknown | | {{OBDtr| 0x0C4 | int24 |FFDDDD| FF FF FF | unknown | always the same; probably padding }} | ||
{{OBDtr| 0x0C7 | float |64AAAA| 00 00 F8 41 | 31.000000 | x-dimension of the | {{OBDtr| 0x0C7 | float |64AAAA| 00 00 F8 41 | 31.000000 | x-dimension of the TV }} | ||
{{OBDtr| 0x0CB | float |64AAAA| 00 00 4C 42 | 51.000000 | y-dimension of the | {{OBDtr| 0x0CB | float |64AAAA| 00 00 4C 42 | 51.000000 | y-dimension of the TV }} | ||
{{OBDtr| 0x0CF | float |64AAAA| 00 00 08 42 | 34.000000 | z-dimension of the | {{OBDtr| 0x0CF | float |64AAAA| 00 00 08 42 | 34.000000 | z-dimension of the TV }} | ||
{{OBDtr| 0x0D3 | int32 |EBEBEB| 01 00 00 00 | 1 | trigger volume ID }} | {{OBDtr| 0x0D3 | int32 |EBEBEB| 01 00 00 00 | 1 | trigger volume ID }} | ||
{{OBDtr| 0x0D7 | int32 |8C8CCC| 00 00 00 00 | 0 | trigger volume ID of the parent | {{OBDtr| 0x0D7 | int32 |8C8CCC| 00 00 00 00 | 0 | trigger volume ID of the parent TV, if this one is a child }} | ||
{{OBDtr2|0x0DB | char[128]|FF00C8| unused | space for notes }} | {{OBDtr2|0x0DB | char[128]|FF00C8| unused | space for notes }} | ||
{{OBDtr| 0x15B | bitset |F0F096| 81 | | {{OBDtr| 0x15B | bitset |F0F096| 81 | 0x80 + 0x01| flags; any combination of the following: | ||
:0x01 - "entry" called only once (otherwise called every time character enters the TV) | |||
:0x02 - "inside" called only once (otherwise called at every frame while character is in the TV) | |||
:0x04 - "exit" called only once (otherwise called every time character leaves the TV) | |||
:0x08 - "entry" disabled (can be enabled with '''[[trigvolume_enable]] tv_name entry 1''') | |||
:0x10 - "inside" disabled (can be enabled with '''[[trigvolume_enable]] tv_name inside 1''') | |||
:0x20 - "exit" disabled (can be enabled with '''[[trigvolume_enable]] tv_name exit 1''') | |||
:0x40 - "all" disabled (master switch, can be enabled with '''[[trigvolume_enable]] tv_name all 1''') | |||
:0x80 - additional restriction: only player characters can fire off the TV | |||
}} | }} | ||
{{OBDtr| 0x15C | int32 |00C864| 00 00 00 00 | 0 | unknown, always zero; maybe only a filler }} | {{OBDtr| 0x15C | int32 |00C864| 00 00 00 00 | 0 | unknown, always zero; maybe only a filler }} | ||
|} | |} | ||
;Resetting the trigger volume | |||
:'''[[trigvolume_reset]](string tv_name)''' resets the TV to its preset state. The primary use of this is to re-enable "entry", "inside" or "exit" calls once the TV has been triggered (only necessary if the respective trigger-only-once flags are set of course). Note that some or all the TV functions are disabled at level load, you'll have to enable them manually after resetting the TV. | |||
;"Inside" event | |||
:This one is triggered at every frame (60 times per second) unless the trigger-only-once flag is set. Continuous triggering is typically needed for fire or gas damage. | |||
;Bluebox screenshot | ;Bluebox screenshot | ||
:(replacing this with a nicer-looking one ASAP) | |||
http://ssg.oni2.net/subfold/bluebox/images/212_trigger_volume_properties.jpg | http://ssg.oni2.net/subfold/bluebox/images/212_trigger_volume_properties.jpg | ||
Revision as of 11:20, 22 March 2008
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x000 | char[4] | 43 4A 42 4F | OBJC | object collection |
0x004 | int32 | 7C 33 00 00 | 13180 | size of the complete neutral part from this postion in bytes |
0x008 | int32 | 27 00 00 00 | 39 | object collection version |
0x00C | int32 | 60 01 00 00 | 352 | size of the following object in bytes |
First object (grey outline | ||||
0x000 | char[4] | 56 47 52 54 | TRGV | trigger volume (TV) |
0x004 | int32 | ED 1B 00 00 | 7149 | old file ID |
0x008 | int32 | 00 00 00 00 | 0 | unknown |
0x00C | float | 5C 47 36 44 | 729.114990 | x-position of TV |
0x010 | float | 00 00 00 00 | 0.000000 | y-position (height) of TV |
0x014 | float | 73 D8 C9 C3 | -403.691009 | z-position of TV |
0x018 | float | 00 00 00 00 | 0.000000 | rotation on the x-axis in degrees |
0x01C | float | 00 00 00 00 | 0.000000 | rotation on the y-axis in degrees |
0x020 | float | 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees |
0x024 | char[63] | trigger_volume_01 | name of TV | |
0x063 | char[32] | spawn_floor2_guards | "entry" function; called up when character enters the TV | |
0x083 | char[32] | unused | "inside" function; called while character is inside the TV | |
0x0A3 | char[32] | unused | "exit" function; called up when character leaves the TV | |
0x0C3 | bitset | 01 | 1 | teams that can fire off the TV; any combination of the following:
|
0x0C4 | int24 | FF FF FF | unknown | always the same; probably padding |
0x0C7 | float | 00 00 F8 41 | 31.000000 | x-dimension of the TV |
0x0CB | float | 00 00 4C 42 | 51.000000 | y-dimension of the TV |
0x0CF | float | 00 00 08 42 | 34.000000 | z-dimension of the TV |
0x0D3 | int32 | 01 00 00 00 | 1 | trigger volume ID |
0x0D7 | int32 | 00 00 00 00 | 0 | trigger volume ID of the parent TV, if this one is a child |
0x0DB | char[128] | unused | space for notes | |
0x15B | bitset | 81 | 0x80 + 0x01 | flags; any combination of the following:
|
0x15C | int32 | 00 00 00 00 | 0 | unknown, always zero; maybe only a filler |
- Resetting the trigger volume
- trigvolume_reset(string tv_name) resets the TV to its preset state. The primary use of this is to re-enable "entry", "inside" or "exit" calls once the TV has been triggered (only necessary if the respective trigger-only-once flags are set of course). Note that some or all the TV functions are disabled at level load, you'll have to enable them manually after resetting the TV.
- "Inside" event
- This one is triggered at every frame (60 times per second) unless the trigger-only-once flag is set. Continuous triggering is typically needed for fire or gas damage.
- Bluebox screenshot
- (replacing this with a nicer-looking one ASAP)
- Wahl = Choose
- Abbrechen = Cancel
- Speichern = Save
ONI BINARY DATA |
---|
AKVA << Other file types >> CBPI |
BINA : Binary data |
TMBD << Other BINA >> ONIE |
OBJC : Objects |
SNDG << Other OBJC >> TRIG |
TRGV : Trigger Volume |
[[OBD:File types/{{{family}}}|{{{family}}} file]] |