|
|
(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 -
| |
| | no team
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 1 -
| |
| | Konoko
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 2 -
| |
| | TCTF
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 4 -
| |
| | Syndicate
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 8 -
| |
| | Neutral
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 16 -
| |
| | SecurityGuard
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 32 -
| |
| | RogueKonoko
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 64 -
| |
| | Switzerland
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 128 -
| |
| | 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 -
| |
| | all functions reset
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 1 -
| |
| | entry function called up once, rest reset
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 2 -
| |
| | inside function called up once, rest reset
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 4 -
| |
| | exit function called up once, rest reset
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 8 -
| |
| | entry function disabled
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 16 -
| |
| | inside function disabled
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 32 -
| |
| | exit function disabled
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 64 -
| |
| | all functions disabled
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 128 -
| |
| | 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}} |