OBD:BINA/OBJC/TRGV

From OniGalore
< OBD:BINA‎ | OBJC
Jump to navigation Jump to search
ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
TMBD << Other BINA >> ONIE
OBJC : Objects
SNDG << Other OBJC >> TRIG
TRGV : Trigger Volume
XML tutorial
Overview @ Oni Stuff
OBD.png


Bin r tv.gif


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:
0x01 - Konoko
0x02 - TCTF
0x04 - Syndicate
0x08 - Neutral
0x10 - SecurityGuard
0x20 - RogueKonoko
0x40 - Switzerland
0x80 - SyndicateAccessory


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:
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
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.
Bluebox screenshot

212_trigger_volume_properties.png


ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
Generic file
TMBD << Other BINA >> ONIE
OBJC : Objects
SNDG << Other OBJC >> TRIG
TRGV : Trigger Volume