OBD:TRAM/raw0x24: Difference between revisions
< OBD:TRAM
Jump to navigation
Jump to search
(one less unknown field to worry about...) |
(throws fully explored ^_^) |
||
Line 11: | Line 11: | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtrBK}} | {{OBDtrBK}} | ||
{{OBDtr| 0x00 | float |FFC8C8| 8A 39 2C BF | -0.672752 | | {{OBDtr| 0x00 | float |FFC8C8| 8A 39 2C BF | -0.672752 | X-axis victim adjustment; see below for info | ||
{{OBDtr| 0x04 | float |FFFFC8| 10 39 B4 3F | 0.793839 | | X+ is left, X- is right }} | ||
{{OBDtr| 0x08 | float |C8FFC8| 44 2D 1C 41 | 9.761051 | | {{OBDtr| 0x04 | float |FFFFC8| 10 39 B4 3F | 0.793839 | Y-axis victim adjustment; see below for info | ||
{{OBDtr| 0x0C | float |C8FFFF| DB 0F 49 40 | 3.141592 | | Y+ is up, Y- is down }} | ||
{{OBDtr| 0x10 | float |FFC8FF| 00 00 40 41 | 12.000000 | throw distance }} | {{OBDtr| 0x08 | float |C8FFC8| 44 2D 1C 41 | 9.761051 | Z-axis victim adjustment; see below for info | ||
Z+ is forward, Z- is backward }} | |||
{{OBDtr| 0x0C | float |C8FFFF| DB 0F 49 40 | 3.141592 | angle adjustment; when throw is sucessful, victim is turned around his axis for this angle in order to make throw look good. (3.141 <nowiki>=</nowiki> pi)}} | |||
{{OBDtr| 0x10 | float |FFC8FF| 00 00 40 41 | 12.000000 | throw distance, read below for important notice }} | |||
{{OBDtr| 0x14 | int16 |FFC800| 60 00 | 96 | type / aming type; that's the ID (type) for the animation of the target }} | {{OBDtr| 0x14 | int16 |FFC800| 60 00 | 96 | type / aming type; that's the ID (type) for the animation of the target }} | ||
|} | |} | ||
---- | |||
'''Victim axis adjustment:''' | |||
:*When throw is sucessful, these axis adjustments are applied on victim to move ("teleport") him in corresponding way to set some distance between participants so throw looks good. If victim cannot move in some direction (obstacle), then this direction is ignored. | |||
:*Y-axis victim adjustment weirdness: Curious is that if you "lift" enemy (you set high Y+) enemy is lifted '''as if je jumped''', bounding box is lifted! Usually when executing TRAMs, Y+ just stretches bounding box of character, that is why you cannot throw them over fences. But this one lifts character completely. Immediately after this "lift", victim falls down normally, gravitation is not limited for him. Weird, isn't it? | |||
'''Throw distance''' | |||
:*Angle tolerance (how much can participants face away from perfect line and throw still happens) is hardcoded, it is around 45° | |||
:*Beware that if you are setting throw distance, you have to make sure it is same or greater than parent's TRAC's throw distance of the same throw (throw_fw_p for example is in comguy TRAC, and comguy TRAC is inherited by Muro). If you set lower value in child TRAC, you will get bug where parent throw TRAM ocasionally overries child's throw TRAM. | |||
<CENTER>[[OBD:TRAM/raw0x20|shortcut part]] << '''[[OBD:TRAM|TRAM]] - throw part''' >> [[OBD:TRAM/raw0x28|footstep part]]</CENTER> | <CENTER>[[OBD:TRAM/raw0x20|shortcut part]] << '''[[OBD:TRAM|TRAM]] - throw part''' >> [[OBD:TRAM/raw0x28|footstep part]]</CENTER> |
Revision as of 06:40, 7 September 2008
This part belongs to the 01828-KONCOMthrow_fw_p.TRAM file.
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
First element (black outline) | ||||
0x00 | float | 8A 39 2C BF | -0.672752 | X-axis victim adjustment; see below for info
X+ is left, X- is right |
0x04 | float | 10 39 B4 3F | 0.793839 | Y-axis victim adjustment; see below for info
Y+ is up, Y- is down |
0x08 | float | 44 2D 1C 41 | 9.761051 | Z-axis victim adjustment; see below for info
Z+ is forward, Z- is backward |
0x0C | float | DB 0F 49 40 | 3.141592 | angle adjustment; when throw is sucessful, victim is turned around his axis for this angle in order to make throw look good. (3.141 = pi) |
0x10 | float | 00 00 40 41 | 12.000000 | throw distance, read below for important notice |
0x14 | int16 | 60 00 | 96 | type / aming type; that's the ID (type) for the animation of the target |
Victim axis adjustment:
- When throw is sucessful, these axis adjustments are applied on victim to move ("teleport") him in corresponding way to set some distance between participants so throw looks good. If victim cannot move in some direction (obstacle), then this direction is ignored.
- Y-axis victim adjustment weirdness: Curious is that if you "lift" enemy (you set high Y+) enemy is lifted as if je jumped, bounding box is lifted! Usually when executing TRAMs, Y+ just stretches bounding box of character, that is why you cannot throw them over fences. But this one lifts character completely. Immediately after this "lift", victim falls down normally, gravitation is not limited for him. Weird, isn't it?
Throw distance
- Angle tolerance (how much can participants face away from perfect line and throw still happens) is hardcoded, it is around 45°
- Beware that if you are setting throw distance, you have to make sure it is same or greater than parent's TRAC's throw distance of the same throw (throw_fw_p for example is in comguy TRAC, and comguy TRAC is inherited by Muro). If you set lower value in child TRAC, you will get bug where parent throw TRAM ocasionally overries child's throw TRAM.