OBD:TRAM/raw0x14: Difference between revisions

corrections, amplifications and added info from Loser's notes on OBD talk:TRAM
No edit summary
(corrections, amplifications and added info from Loser's notes on OBD talk:TRAM)
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> [[OBD:TRAM|TRAM File]] >> attack part
<CENTER>[[OBD:TRAM/raw0x10|x-z-position part]] &nbsp;<<&nbsp; '''[[OBD:TRAM|TRAM]] - attack part''' &nbsp;>>&nbsp; [[OBD:TRAM/raw0x18|damage part]]</CENTER>




<CENTER>[[OBD:TRAM/raw0x10|<==]] <FONT SIZE=5>TRAM - attack part</FONT> [[OBD:TRAM/raw0x18|==>]]</CENTER>
This part belongs to the 01865-KONCOMpunch_heavy.TRAM file.




This part belongs to the 01865-KONCOMpunch_heavy.TRAM file.
[[Image:Tram_r03.gif]]




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/tram_r03.gif
{{Table}}
 
{{OBDth}}
{|cellspacing=0
{{OBDtrBK}}
{{HexRow|0x080B860|
{{OBDtr| 0x00 | bitset32 |FFC8C8| 00 60 06 00 | 0, 96, 6, 0 | damage-dealing bones; the following bits are possible:
|00|60|06|00|00|00|00|41|08|00|00|00|14|00|05|00|
:0x'''01''' 00 00 00 - pelvis
|FF|00|FF|FF|C8|C8|C8|C8|C8|C8|C8|C8|FF|FF|FF|FF|
:0x'''02''' 00 00 00 - left thigh
|FF|FF|00|FF|FF|FF|FF|FF|FF|FF|FF|FF|C8|C8|C8|C8|
:0x'''04''' 00 00 00 - left calf
|00|FF|FF|FF|C8|C8|C8|C8|FF|FF|FF|FF|FF|FF|FF|FF|
:0x'''08''' 00 00 00 - left foot
:0x'''10''' 00 00 00 - right thigh
:0x'''20''' 00 00 00 - right calf
:0x'''40''' 00 00 00 - right foot
:0x'''80''' 00 00 00 - mid
:0x00 '''01''' 00 00 - chest
:0x00 '''02''' 00 00 - neck
:0x00 '''04''' 00 00 - head
:0x00 '''08''' 00 00 - left shoulder
:0x00 '''10''' 00 00 - left arm
:0x00 '''20''' 00 00 - left wrist
:0x00 '''40''' 00 00 - left fist
:0x00 '''80''' 00 00 - right shoulder
:0x00 00 '''01''' 00 - right arm
:0x00 00 '''02''' 00 - right wrist
:0x00 00 '''04''' 00 - right fist
}}
}}
{{HexRow|0x080B870|
{{OBDtr| 0x04 | float    |FFFFC8| 00 00 00 41 | 8.000000    | knockback if attack lands }}
|0F|00|50|00|0A|00|0A|00|00|00|00|00|00|00|00|00|
{{OBDtr| 0x08 | bitset32 |C8FFC8| 08 00 00 00 | 8, 0, 0, 0  | attack option bits; the following bits are possible:
|C8|C8|C8|C8|B0|B0|E7|E7|FF|FF|FF|FF|64|64|64|64|
:0x'''01''' 00 00 00 - attack is unblockable
|00|00|7C|7C|C3|C3|CE|CE|DD|DD|DD|DD|AA|AA|AA|AA|
:0x'''02''' 00 00 00 - attack is high (can be blocked only in normal stance, hits if enemy is crouching)
|C8|C8|64|64|D4|D4|A5|A5|DD|DD|DD|DD|AA|AA|AA|AA|
:0x'''04''' 00 00 00 - attack is low (can be blocked only in crouch stance, hits if enemy is in normal stance)
:0x'''08''' 00 00 00 - attack still deals 1/2 damage when blocked; the attack will use its designated hit flash (konflash1 for this TRAM) instead of the blue hit flash
}}
}}
{{OBDtr| 0x0C | int16    |C8FFFF| 14 00      | 20          | damage in hit points }}
{{OBDtr| 0x0E | int16    |FFC8FF| 05 00      | 5          | start frame of attack part in TRAM }}
{{OBDtr| 0x10 | int16    |FFC8FF| 0F 00      | 15          | ending frame of attack part in TRAM }}
{{OBDtr| 0x12 | int16    |FFC800| 50 00      | 80          | anim type for opponent's animation when attack lands (80 <nowiki>=</nowiki> Knockdown_Body); list [[XML:StNA#Animation types|HERE]] }}
{{OBDtr| 0x14 | int16    |C800C8| 0A 00      | 10          | duration (in frames) of stunned state if hit; automatically upgraded to stagger if >20 }}
{{OBDtr| 0x16 | int16    |C800C8| 0A 00      | 10          | duration (in frames) of stunned state if blocked; automatically upgraded to block stun if ≥ 15 }}
{{OBDtr| 0x18 | int16    |C800C8| 00 00      | 0          | duration (in frames) of staggering state if blocked }}
{{OBDtr| 0x1A | int16    |C800C8| 00 00      | 0          | precedence; used when competing attacks land at the same time to determine which one takes priority; is this field used in any TRAMs? }}
{{OBDtr| 0x1C | int16    |C87C64| 00 00      | 0          | attack extent index; always zero? used for visual debugging of attack extents }}
{{OBDtr| 0x1E | int16    |C87C64| 00 00      | 0          | padding; unused }}
|}
|}
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=1 BGCOLOR="#000000"
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
| WIDTH=15% | <B>Hex</B>
| WIDTH=15% | <B>Translation</B>
| WIDTH=70% | <B>Meaning</B>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Attack block structure detailed below</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFF00" | 00
| 0
| ALIGN=LEFT | damage-dealing bones 1; here, nothing selected
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00FFFF" | 60
| 32+64
| ALIGN=LEFT | damage-dealing bones 2; here, left wrist and fist
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00FF" | 06
| 2+4
| ALIGN=LEFT | damage-dealing bones 3; here, right wrist and fist
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFFFF" | 00
| 0
| ALIGN=LEFT | blank filler
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 00&nbsp;00&nbsp;00&nbsp;41
| 8.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 08 00 00 00
| 8
| ALIGN=LEFT | bitset, unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 14 00
| 20
| ALIGN=LEFT | Hit points
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 05 00
| 5
| ALIGN=LEFT | Start frame
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 0F 00
| 15
| ALIGN=LEFT | Stop frame
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 50 00
| 80
| ALIGN=LEFT | Anim_type ID for opponent's animation when attack isn't blocked (80 => hit_foot)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 0A 00
| 10
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 0A 00
| 10
| ALIGN=LEFT | "has block stun" ?
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 00 00
| 0
| ALIGN=LEFT | "has stagger" ?
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 00 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown
|}
;Damage-dealing bones
:It's a 19-bit bitset starting at the beginning of the attack chunk
:*0x010000 : Pelvis
:*0x020000 : Lt Thigh
:*0x040000 : Lt Calf
:*0x080000 : Lt Foot
:*0x100000 : Rt Thigh
:*0x200000 : Rt Calf
:*0x400000 : Lt Foot
:*0x000100 : Chest
:*0x000200 : Neck
:*0x000400 : Head
:*0x000800 : Lt Shoulder
:*0x001000 : Lt Arm
:*0x002000 : Lt Wrist
:*0x004000 : Lt Fist
:*0x008000 : Rt Shoulder
:*0x000001 : Rt Arm
:*0x000002 : Rt Wrist
:*0x000004 : Rt Fist
:The remaining bits, and the following byte, are unused.




<HR>
;High vs. low attacks
<CENTER>[[OBD:TRAM/raw0x10|<==]] <B>TRAM - attack part</B> [[OBD:TRAM/raw0x18|==>]]</CENTER>
Having neither the high or low flag on means that the attack can be blocked by a defender in either high or low stance. How is their stance determined? See the blockHigh and blockLow bits in the flags at TRAM 0x3C.
<HR>


<CENTER>[[OBD:TRAM/raw0x10|x-z-position part]] &nbsp;<<&nbsp; '''[[OBD:TRAM|TRAM]] - attack part''' &nbsp;>>&nbsp; [[OBD:TRAM/raw0x18|damage part]]</CENTER>


[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> [[OBD:TRAM|TRAM File]] >> attack part
{{OBD}}