5,391
edits
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  | ||