OBD:BINA/OBJC/TRGV: Difference between revisions

m
added family to footer template call
mNo edit summary
m (added family to footer template call)
 
(10 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|onistuff=b_tv}}
{{OBD OBJC Header | align=center | type=TRGV | prev=SNDG | next=TRIG | name=Trigger Volume | stuff=b_tv}}
----
----
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bin_r_tv.gif




{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=1 BGCOLOR="#000000"
[[Image:bin_r_tv.gif]]
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
 
| WIDTH=15% | <B>Hex</B>
 
| WIDTH=15% | <B>Translation</B>
{{Table}}
| WIDTH=70% | <B>Meaning</B>
{{OBDth}}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtr| 0x000 | char[4]  |FF0000| 43 4A 42 4F | OBJC       | objects }}
| BGCOLOR="#FF0000" | 43 4A 42 4F
{{OBDtr| 0x004 | int32    |FFFF00| 7C 33 00 00 | 13180     | size of the complete neutral part from this position in bytes }}
| OBJC
{{OBDtr| 0x008 | int32    |00FF00| 27 00 00 00 | 39         | object list version }}
| ALIGN=LEFT | object
{{OBDtr| 0x00C | int32    |00FFFF| 60 01 00 00 | 352       | size of the following object in bytes }}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtrBK|First object (grey outline}}
| BGCOLOR="#FFFF00" | 7C 33 00 00
{{OBDtr| 0x000 | char[4]  |FFC8C8| 56 47 52 54 | TRGV       | trigger volume (TV) }}
| 13180
{{OBDtr| 0x004 | int32    |FFFFC8| ED 1B 00 00 | 7149       | old file ID }}
| ALIGN=LEFT | 13180 bytes is the length of the following trigger volume part from this position
{{OBDtr| 0x008 | int32    |C8FFC8| 00 00 00 00 | 0         | unknown }}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtr| 0x00C | float    |C8FFFF| 5C 47 36 44 | 729.114990 | x-position of TV }}
| BGCOLOR="#00FF00" | 27 00 00 00
{{OBDtr| 0x010 | float    |C8FFFF| 00 00 00 00 | 0.000000   | y-position (height) of TV }}
| 39
{{OBDtr| 0x014 | float    |C8FFFF| 73 D8 C9 C3 | -403.691009| z-position of TV }}
| ALIGN=LEFT | identification number for the weapon classes; in every level the same; do not change it
{{OBDtr| 0x018 | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the x-axis in degrees }}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtr| 0x01C | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the y-axis in degrees }}
| BGCOLOR="#00FFFF" | 60 01 00 00
{{OBDtr| 0x020 | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the z-axis in degrees }}
| 352
{{OBDtr2|0x024 | char[63] |FFC800| trigger_volume_01       | name of TV }}
| ALIGN=LEFT | 352 bytes (22 lines) is the lenght of the following package (area edged in black)
{{OBDtr2|0x063 | char[32] |C800C8| spawn_floor2_guards     | "entry" function; called up when character enters the TV }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
{{OBDtr2|0x083 | char[32] |C87C64| unused                  | "inside" function; called while character is inside the TV }}
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
{{OBDtr2|0x0A3 | char[32] |B0C3D4| unused                  | "exit" function; called up when character leaves the TV }}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtr| 0x0C3 | bitset  |E7CEA5| 01         | 1         | teams that can fire off the TV; any combination of the following:
| BGCOLOR="#FFC8C8" | 56 47 52 54
 
| TRGV
:0x01 - Konoko
| ALIGN=LEFT | trigger volume
:0x02 - TCTF
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
:0x04 - Syndicate
| BGCOLOR="#FFFFC8" | ED 1B 00 00
:0x08 - Neutral
| 7149
:0x10 - SecurityGuard
| ALIGN=LEFT | old file ID
:0x20 - RogueKonoko
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
:0x40 - Switzerland
| BGCOLOR="#C8FFC8" | 00 00 00 00
:0x80 - SyndicateAccessory
| 0
 
| ALIGN=LEFT | unknown
}}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtr| 0x0C4 | int24    |FFDDDD| FF FF FF   | unknown   | always the same; probably padding }}
| BGCOLOR="#C8FFFF" | 5C 47 36 44
{{OBDtr| 0x0C7 | float    |64AAAA| 00 00 F8 41 | 31.000000 | x-dimension of the TV }}
| 729.114990
{{OBDtr| 0x0CB | float    |64AAAA| 00 00 4C 42 | 51.000000 | y-dimension of the TV }}
| ALIGN=LEFT | x-position of the trigger volume
{{OBDtr| 0x0CF | float    |64AAAA| 00 00 08 42 | 34.000000 | z-dimension of the TV }}
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
{{OBDtr| 0x0D3 | int32    |EBEBEB| 01 00 00 00 | 1         | trigger volume ID }}
| BGCOLOR="#C8FFFF" | 00 00 00 00
{{OBDtr| 0x0D7 | int32    |8C8CCC| 00 00 00 00 | 0         | trigger volume ID of the parent TV, if this one is a child }}
| 0.000000
{{OBDtr2|0x0DB | char[128]|FF00C8| unused                  | space for notes }}
| ALIGN=LEFT | y-position (height) of the trigger volume
{{OBDtr| 0x15B | int32    |F0F096| 81 00 00 00 | 0x80 + 0x01| flags; any combination of the following:
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
:0x01 - "entry" called only once (otherwise called every time character enters the TV)
| BGCOLOR="#C8FFFF" | 73 D8 C9 C3
:0x02 - "inside" called only once (otherwise called at every frame while character is in the TV)
| -403.691009
:0x04 - "exit" called only once (otherwise called every time character leaves the TV)
| ALIGN=LEFT | z-position of the trigger volume
:0x08 - "entry" disabled (can be enabled with '''[[trigvolume_enable]] tv_name entry 1''')
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
:0x10 - "inside" disabled (can be enabled with '''[[trigvolume_enable]] tv_name inside 1''')
| BGCOLOR="#FFC8FF" | 00 00 00 00
:0x20 - "exit" disabled (can be enabled with '''[[trigvolume_enable]] tv_name exit 1''')
| 0.000000
:0x40 - "all" disabled (master switch, can be enabled with '''[[trigvolume_enable]] tv_name all 1''')
| ALIGN=LEFT | rotation on the x-axis in degrees
:0x80 - additional restriction: only player characters can fire off the TV
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
}}
| BGCOLOR="#FFC8FF" | 00 00 00 00
{{OBDtr| 0x15F |          |00C864| 00         | 0         | padding }}
| 0.000000
| ALIGN=LEFT | rotation on the y-axis in degrees
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | rotation on the z-axis in degrees
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" COLSPAN=2 | <TT>trigger_volume_01</TT>
| ALIGN=LEFT | name of the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" COLSPAN=2 | <TT>spawn_floor2_guards</TT>
| ALIGN=LEFT | name of the function, which is called up when you enter the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" COLSPAN=2 | not used
| ALIGN=LEFT | name of the function, which is called up when you're inside the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" COLSPAN=2 | not used
| ALIGN=LEFT | name of the function, which is called up when you leave the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 01
| 1
| ALIGN=LEFT | teams, which can trigger off the trigger volume; it's a bitset; the following teams are possible (values in dec):<BR><BR>
{| BORDER=0 CELLPADDING=0 CELLSPACING=0
|- VALIGN=TOP
| ALIGN=RIGHT | 0 -&nbsp;
| no team
|- VALIGN=TOP
| ALIGN=RIGHT | 1 -&nbsp;
| Konoko
|- VALIGN=TOP
| ALIGN=RIGHT | 2 -&nbsp;
| TCTF
|- VALIGN=TOP
| ALIGN=RIGHT | 4 -&nbsp;
| Syndicate
|- VALIGN=TOP
| ALIGN=RIGHT | 8 -&nbsp;
| Neutral
|- VALIGN=TOP
| ALIGN=RIGHT | 16 -&nbsp;
| SecurityGuard
|- VALIGN=TOP
| ALIGN=RIGHT | 32 -&nbsp;
| RogueKonoko
|- VALIGN=TOP
| ALIGN=RIGHT | 64 -&nbsp;
| Switzerland
|- VALIGN=TOP
| ALIGN=RIGHT | 128 -&nbsp;
| SyndicateAccessory
|}<BR>(Thanks to geyser who figured that out.)<BR>
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | FF FF FF
| unknown
| ALIGN=LEFT | unknown, always the same; maybe only a filler
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 F8 41
| 31.000000
| ALIGN=LEFT | x-dimension of the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 4C 42
| 51.000000
| ALIGN=LEFT | y-dimension (height) of the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 08 42
| 34.000000
| ALIGN=LEFT | z-dimension of the trigger volume
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 01 00 00 00
| 1
| ALIGN=LEFT | trigger volume ID
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 00 00 00 00
| 0
| ALIGN=LEFT | trigger volume ID of the parent trigger volume, if this one is a child
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" COLSPAN=2 | not used
| ALIGN=LEFT | space for notes
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 81
| 129
| ALIGN=LEFT | setting of the trigger volume; the settings are stored as bits, so the following settings are possible (values in dec):<BR><BR>
{| BORDER=0 CELLPADDING=0 CELLSPACING=0
|- VALIGN=TOP
| ALIGN=RIGHT | 0 -&nbsp;
| all functions reset
|- VALIGN=TOP
| ALIGN=RIGHT | 1 -&nbsp;
| entry function called up once, rest reset
|- VALIGN=TOP
| ALIGN=RIGHT | 2 -&nbsp;
| inside function called up once, rest reset
|- VALIGN=TOP
| ALIGN=RIGHT | 4 -&nbsp;
| exit function called up once, rest reset
|- VALIGN=TOP
| ALIGN=RIGHT | 8 -&nbsp;
| entry function disabled
|- VALIGN=TOP
| ALIGN=RIGHT | 16 -&nbsp;
| inside function disabled
|- VALIGN=TOP
| ALIGN=RIGHT | 32 -&nbsp;
| exit function disabled
|- VALIGN=TOP
| ALIGN=RIGHT | 64 -&nbsp;
| all functions disabled
|- VALIGN=TOP
| ALIGN=RIGHT | 128 -&nbsp;
| only the player character can fire off the trigger volume
|}<BR>(Thanks to geyser who figured that out.)<BR>
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 00 00 00 00
| 0
| ALIGN=LEFT | 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.
{{OBD OBJC Footer|align=center|type=TRGV|prev=SNDG|next=TRIG|name=Trigger Volume|onistuff=b_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}}