Jump to content

OBD:BINA/OBJC/TRGV: Difference between revisions

fixing a few things, but not all of them yet
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 trigger volume }}
{{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 trigger volume }}
{{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 trigger volume }}
{{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| Give VDG Pistol ...      | trigger volume name }}
{{OBDtr2|0x024 | char[63] |FFC800| trigger_volume_01        | name of TV }}
{{OBDtr2|0x063 | char[32] |C800C8| spawn_floor2_guards      | enter function; called up when you enter the trigger volume }}
{{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 up when you're inside the trigger volume }}
{{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 you leave the trigger volume }}
{{OBDtr2|0x0A3 | char[32] |B0C3D4| unused                  | "exit" function; called up when character leaves the TV }}
{{OBDtr| 0x0C3 | bitset  |E7CEA5| 01          | 1          | teams, which can trigger off the trigger volume; the following bits are possible:
{{OBDtr| 0x0C3 | bitset  |E7CEA5| 01          | 1          | teams that can fire off the TV; any combination of the following:
 
 
:00 - no team
:01 - Konoko
:02 - TCTF
:04 - Syndicate
:08 - Neutral
:10 - SecurityGuard
:20 - RogueKonoko
:40 - Switzerland
:80 - SyndicateAccessory


:0x01 - Konoko
:0x02 - TCTF
:0x04 - Syndicate
:0x08 - Neutral
:0x10 - SecurityGuard
:0x20 - RogueKonoko
:0x40 - Switzerland
:0x80 - SyndicateAccessory


}}
}}
{{OBDtr| 0x0C4 | int24    |FFDDDD| FF FF FF    | unknown    | unknown, always the same; maybe only a filler }}
{{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 trigger volume }}
{{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 trigger volume }}
{{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 trigger volume }}
{{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 trigger volume, if this one is a child }}
{{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          | 129        | trigger volume flags; the following bits are possible:
{{OBDtr| 0x15B | bitset  |F0F096| 81          | 0x80 + 0x01| flags; any combination of the following:
 
 
:00 - all functions reset
:01 - entry function called up once, rest reset
:02 - inside function called up once, rest reset
:04 - exit function called up once, rest reset
:08 - entry function disabled
:10 - inside function disabled
:20 - exit function disabled
:40 - all functions disabled
:80 - only the player character can fire off the trigger volume


: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