OBD:TRAM/raw0x14: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (dangerous bones)
(corrections, amplifications and added info from Loser's notes on OBD talk:TRAM)
 
(7 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 | 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 | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 00 00 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}}

Latest revision as of 21:09, 26 October 2023

x-z-position part  <<  TRAM - attack part  >>  damage part


This part belongs to the 01865-KONCOMpunch_heavy.TRAM file.


Tram r03.gif


Offset Type Raw Hex Value Description
First element (black outline)
0x00 bitset32 00 60 06 00 0, 96, 6, 0 damage-dealing bones; the following bits are possible:
0x01 00 00 00 - pelvis
0x02 00 00 00 - left thigh
0x04 00 00 00 - left calf
0x08 00 00 00 - left foot
0x10 00 00 00 - right thigh
0x20 00 00 00 - right calf
0x40 00 00 00 - right foot
0x80 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
0x04 float 00 00 00 41 8.000000 knockback if attack lands
0x08 bitset32 08 00 00 00 8, 0, 0, 0 attack option bits; the following bits are possible:
0x01 00 00 00 - attack is unblockable
0x02 00 00 00 - attack is high (can be blocked only in normal stance, hits if enemy is crouching)
0x04 00 00 00 - attack is low (can be blocked only in crouch stance, hits if enemy is in normal stance)
0x08 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
0x0C int16 14 00 20 damage in hit points
0x0E int16 05 00 5 start frame of attack part in TRAM
0x10 int16 0F 00 15 ending frame of attack part in TRAM
0x12 int16 50 00 80 anim type for opponent's animation when attack lands (80 = Knockdown_Body); list HERE
0x14 int16 0A 00 10 duration (in frames) of stunned state if hit; automatically upgraded to stagger if >20
0x16 int16 0A 00 10 duration (in frames) of stunned state if blocked; automatically upgraded to block stun if ≥ 15
0x18 int16 00 00 0 duration (in frames) of staggering state if blocked
0x1A int16 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?
0x1C int16 00 00 0 attack extent index; always zero? used for visual debugging of attack extents
0x1E int16 00 00 0 padding; unused


High vs. low attacks

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.

x-z-position part  <<  TRAM - attack part  >>  damage part