OBD:BINA/OBJC/TRGV: Difference between revisions
Jump to navigation
Jump to search
(fixing a few things, but not all of them yet) |
m (added family to footer template call) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{OBD OBJC Header | align=center | type=TRGV | prev=SNDG | next=TRIG | name=Trigger Volume}} | {{OBD OBJC Header | align=center | type=TRGV | prev=SNDG | next=TRIG | name=Trigger Volume | stuff=b_tv}} | ||
[[ | [[Image:bin_r_tv.gif]] | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x000 | char[4] |FF0000| 43 4A 42 4F | OBJC | | {{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 | {{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 | {{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 }} | {{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}} | ||
Line 44: | Line 44: | ||
{{OBDtr| 0x0D7 | int32 |8C8CCC| 00 00 00 00 | 0 | trigger volume ID of the parent TV, 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 | | {{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) | :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) | :0x02 - "inside" called only once (otherwise called at every frame while character is in the TV) | ||
Line 54: | Line 53: | ||
:0x40 - "all" disabled (master switch, can be enabled with '''[[trigvolume_enable]] tv_name all 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 | :0x80 - additional restriction: only player characters can fire off the TV | ||
}} | }} | ||
{{OBDtr| | {{OBDtr| 0x15F | |00C864| 00 | 0 | padding }} | ||
|} | |} | ||
;Resetting the trigger volume | ;Resetting the trigger volume | ||
Line 63: | Line 61: | ||
: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. | :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 | {{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 |