OBD:BINA/OBJC/TRGV: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (added family to footer template call) |
||
(11 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{OBD OBJC Header | align=center | type=TRGV | prev=SNDG | next=TRIG | name=Trigger Volume | stuff=b_tv}} | |||
[[Image:bin_r_tv.gif]] | |||
{{Table}} | |||
{{OBDth}} | |||
{{OBDtr| 0x000 | char[4] |FF0000| 43 4A 42 4F | OBJC | objects }} | |||
{{OBDtr| 0x004 | int32 |FFFF00| 7C 33 00 00 | 13180 | size of the complete neutral part from this position in bytes }} | |||
{{OBDtr| 0x008 | int32 |00FF00| 27 00 00 00 | 39 | object list version }} | |||
{{OBDtr| 0x00C | int32 |00FFFF| 60 01 00 00 | 352 | size of the following object in bytes }} | |||
{{OBDtrBK|First object (grey outline}} | |||
{{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| 0x008 | int32 |C8FFC8| 00 00 00 00 | 0 | unknown }} | |||
{{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 TV }} | |||
{{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| 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 }} | |||
{{OBDtr2|0x024 | char[63] |FFC800| trigger_volume_01 | name of TV }} | |||
{{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 while character is inside the TV }} | |||
{{OBDtr2|0x0A3 | char[32] |B0C3D4| unused | "exit" function; called up when character leaves the TV }} | |||
{{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 | always the same; probably padding }} | |||
{{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 TV }} | |||
{{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| 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 }} | |||
{{OBDtr| 0x15B | int32 |F0F096| 81 00 00 00 | 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| 0x15F | |00C864| 00 | 0 | padding }} | |||
{| | |||
| | |||
| unknown | |||
| | |||
| | |||
| 31.000000 | |||
| | |||
| | |||
| 51.000000 | |||
| | |||
| | |||
| 34.000000 | |||
| | |||
| | |||
| 1 | |||
| | |||
| | |||
| 0 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| 0 | |||
| | |||
|} | |} | ||
;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. | |||
;Tool Mode dialog | |||
[[Image:Tool dialog - Trigger Volume Properties.png]] | |||
{{OBD OBJC Footer | type=TRGV | prev=SNDG | next=TRIG | name=Trigger Volume | family=Level}} | |||
{{OBD}} |
Latest revision as of 21:22, 9 December 2023
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x000 | char[4] | 43 4A 42 4F | OBJC | objects |
0x004 | int32 | 7C 33 00 00 | 13180 | size of the complete neutral part from this position in bytes |
0x008 | int32 | 27 00 00 00 | 39 | object list 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 | int32 | 81 00 00 00 | 0x80 + 0x01 | flags; any combination of the following:
|
0x15F | 00 | 0 | padding |
- 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.
- Tool Mode dialog
ONI BINARY DATA |
---|
AKVA << Other file types >> CBPI |
BINA : Binary data |
TMBD << Other BINA >> ONIE |
OBJC : Objects |
SNDG << Other OBJC >> TRIG |
TRGV : Trigger Volume |
Level file |