OBD:TRAM: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (saving...) |
||
Line 1: | Line 1: | ||
{{OBD_File_Header|align=center|type=TRAM|prev=TRAC|next=TRAS|name=Totoro Animation Sequence|family=Character}} | {{OBD_File_Header | align=center | type=TRAM | prev=TRAC | next=TRAS | name=Totoro Animation Sequence | family=Character}} | ||
[[image:tram_all.gif]] | |||
{{Table}} | |||
{{OBDth}} | |||
{{OBDtr| 0x000 | res_id |FF0000| 01 49 07 00 | 1532 | 01865-KONCOMpunch_heavy.TRAM }} | |||
{{OBDtr| 0x004 | lev_id |FFFF00| 01 00 00 00 | 0 | level 0 }} | |||
{{OBDtr| 0x008 | int32 |FFC8C8| 00 00 00 00 | 0 | unknown; always zero }} | |||
{{OBDtr| 0x00C | offset |FFFFC8| A0 B4 80 00 | 00 80 B4 A0 | at this position starts the y-position part (heights) of the pelvis in the raw file }} | |||
{{OBDtr| 0x010 | offset |FFFFC8| E0 B5 80 00 | 00 80 B5 E0 | at this position starts the x-z-position part of the pelvis in the raw file }} | |||
{{OBDtr| 0x014 | offset |FFFFC8| 60 B8 80 00 | 00 80 B8 60 | at this position starts the attack part in the raw file }} | |||
{{OBDtr| 0x018 | offset |FFFFC8| 00 00 00 00 | unused | at this position starts the damage part in the raw file; only tgt throws use it (tgt = target) }} | |||
{{OBDtr| 0x1C | offset |FFFFC8| A0 B8 80 00 | 00 80 B8 A0 | at this position starts the motion blur part in the raw file }} | |||
{{OBDtr| 0x20 | offset |FFFFC8| C0 B8 80 00 | 00 80 B8 C0 | at this position starts the shortcut part in the raw file }} | |||
{{OBDtr| 0x24 | offset |FFFFC8| 00 00 00 00 | unused | at this position starts the throw part in the raw file }} | |||
{{OBDtr| 0x28 | offset |FFFFC8| E0 B8 80 00 | 00 80 B8 E0 | at this position starts the footstep part in the raw file }} | |||
{{OBDtr| 0x2C | offset |FFFFC8| 00 B9 80 00 | 00 80 B9 00 | at this position starts the particle part (trails, dust, etc.) in the raw file }} | |||
{{OBDtr| 0x30 | offset |FFFFC8| 60 B9 80 00 | 00 80 B9 60 | at this position starts the position part in the raw file }} | |||
{{OBDtr| 0x34 | offset |FFFFC8| 00 BD 80 00 | 00 80 BD 00 | at this position starts the bodyparts animation part in the raw file }} | |||
{{OBDtr| 0x38 | offset |FFFFC8| 00 00 00 00 | unused | at this position starts the sound part in the raw file }} | |||
{{OBDtr| 0x3C | bitset32 |C8FFC8| 90 00 08 00 | 144, 0, 8, 0| flags; they're stored in the anim_flags.[[OBD:StNA|StNA]] file; the following bits are possible /values in hex): | |||
:0x'''01'''000000 - private1 (this bit is not animation related, it is used at runtime to mark that the animation was loaded) | |||
:0x'''02'''000000 - invulnerable | |||
:0x'''04'''000000 - blockHigh | |||
:0x'''08'''000000 - blockLow | |||
:0x'''10'''000000 - attack | |||
:0x'''20'''000000 - dropWeapon | |||
:0x'''40'''000000 - inAir | |||
:0x'''80'''000000 - atomic | |||
:0x00'''01'''0000 - noTurn | |||
:0x00'''02'''0000 - attackForward | |||
:0x00'''04'''0000 - attackLeft | |||
:0x00'''08'''0000 - attackRight | |||
:0x00'''10'''0000 - attackBackward | |||
:0x00'''20'''0000 - overlay | |||
:0x00'''40'''0000 - dontInterpolateVelocity | |||
:0x00'''80'''0000 - throwSource | |||
:0x0000'''01'''00 - throwTarget | |||
:0x0000'''02'''00 - realWorld | |||
:0x0000'''04'''00 - doAim | |||
:0x0000'''08'''00 - dontAim | |||
:0x0000'''10'''00 - canPickup | |||
:0x0000'''20'''00 - aim360 | |||
:0x0000'''40'''00 - disableShield | |||
:0x0000'''80'''00 - noAIPickup | |||
}} | |||
{{OBDtr| 0x40 | link |C8FFFF| 00 00 00 00 | unused | direct animation 0 (link to another TRAM file) }} | |||
{{OBDtr| 0x44 | link |C8FFFF| 00 00 00 00 | unused | direct animation 1 (link to another TRAM file) }} | |||
|-valign=top | |||
|colspan=6|Example to the both rows above: | |||
01855-KONCOMcomb_p_p.TRAM links to: | |||
01856-KONCOMcomb_p_p_p.TRAM (direct animation 0) | |||
01857-KONCOMcomb_p_p_k.TRAM (direct animation 1) | |||
That means, that after Konokos second punch, Oni waits for a third punch or a kick. | |||
{{OBDtr| 0x48 | bitset32 |FFC8FF| 00 00 00 00 | 0 | used parts; legend is for original 19-bone chars; the following bist are possible (values in hex): | |||
:0x'''01'''000000 - pelvis | |||
:0x'''02'''000000 - left thigh | |||
:0x'''04'''000000 - left calf | |||
:0x'''08'''000000 - left foot | |||
:0x'''10'''000000 - right thigh | |||
:0x'''20'''000000 - right calf | |||
:0x'''40'''000000 - right foot | |||
:0x'''80'''000000 - mid | |||
:0x00'''01'''0000 - chest | |||
:0x00'''02'''0000 - neck | |||
:0x00'''04'''0000 - head | |||
:0x00'''08'''0000 - left shoulder | |||
:0x00'''10'''0000 - left arm | |||
:0x00'''20'''0000 - left wrist | |||
:0x00'''40'''0000 - left fist | |||
:0x00'''80'''0000 - right shoulder | |||
:0x0000'''01'''00 - right arm | |||
:0x0000'''02'''00 - right wrist | |||
:0x0000'''04'''00 - right fist | |||
Aiming screen TRAMs "use" several bones here. Other overlay TRAMs use only "chest". Non-overlay TRAMs use none. | |||
}} | |||
{{OBDtr| 0x4C | bitset |FFC8FF| 00 00 00 00 | 0 | replaced parts; same legend as above; only overlay TRAMs other than aiming-screen ones "replace" parts. }} | |||
{{OBDtr| 0x50 | float |FFC800| 00 00 00 00 | 0.000000 | final rotation in radians (for anims that make you turn) }} | |||
{{OBDtr| 0x54 | int16 |C800C8| 01 00 | 1 | move direction; the following directions are possible: | |||
:0 - nothing | |||
:1 - forward | |||
:2 - backward | |||
:3 - left | |||
:4 - right | |||
}} | |||
{{OBDtr| 0x56 | int16 |C800C8| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x48 | bitset |FFC8FF| 00 | 0 | }} | |||
{{OBDtr| 0x2C | offset |C8FFC8| | | }} | |||
{{OBDtr2| 0x04 | char[64]|C8FFC8| Easy | entry name }} | |||
|} | |||
{{OBD_File_Footer | type=TRAM | prev=TRAC | next=TRAS | name=Totoro Animation Sequence | family=Character}} | |||
Line 74: | Line 201: | ||
| attack,<br>atomic,<br> | | attack,<br>atomic,<br> | ||
| ALIGN=LEFT | flags (listed in, e.g., anim_flags.[[StNA]]) | | ALIGN=LEFT | flags (listed in, e.g., anim_flags.[[StNA]]) | ||
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | ||
| BGCOLOR="#C8FFFF" | 00 00 00 00 | | BGCOLOR="#C8FFFF" | 00 00 00 00 |
Revision as of 08:48, 13 September 2007
|
Offset | Type | Raw Hex | Value | Description | |
---|---|---|---|---|---|
0x000 | res_id | 01 49 07 00 | 1532 | 01865-KONCOMpunch_heavy.TRAM | |
0x004 | lev_id | 01 00 00 00 | 0 | level 0 | |
0x008 | int32 | 00 00 00 00 | 0 | unknown; always zero | |
0x00C | offset | A0 B4 80 00 | 00 80 B4 A0 | at this position starts the y-position part (heights) of the pelvis in the raw file | |
0x010 | offset | E0 B5 80 00 | 00 80 B5 E0 | at this position starts the x-z-position part of the pelvis in the raw file | |
0x014 | offset | 60 B8 80 00 | 00 80 B8 60 | at this position starts the attack part in the raw file | |
0x018 | offset | 00 00 00 00 | unused | {{{6}}} | |
0x1C | offset | A0 B8 80 00 | 00 80 B8 A0 | at this position starts the motion blur part in the raw file | |
0x20 | offset | C0 B8 80 00 | 00 80 B8 C0 | at this position starts the shortcut part in the raw file | |
0x24 | offset | 00 00 00 00 | unused | at this position starts the throw part in the raw file | |
0x28 | offset | E0 B8 80 00 | 00 80 B8 E0 | at this position starts the footstep part in the raw file | |
0x2C | offset | 00 B9 80 00 | 00 80 B9 00 | at this position starts the particle part (trails, dust, etc.) in the raw file | |
0x30 | offset | 60 B9 80 00 | 00 80 B9 60 | at this position starts the position part in the raw file | |
0x34 | offset | 00 BD 80 00 | 00 80 BD 00 | at this position starts the bodyparts animation part in the raw file | |
0x38 | offset | 00 00 00 00 | unused | at this position starts the sound part in the raw file | |
0x3C | bitset32 | 90 00 08 00 | 144, 0, 8, 0 | flags; they're stored in the anim_flags.StNA file; the following bits are possible /values in hex):
| |
0x40 | link | 00 00 00 00 | unused | direct animation 0 (link to another TRAM file) | |
0x44 | link | 00 00 00 00 | unused | direct animation 1 (link to another TRAM file) | |
Example to the both rows above:
01856-KONCOMcomb_p_p_p.TRAM (direct animation 0) 01857-KONCOMcomb_p_p_k.TRAM (direct animation 1)
| |||||
0x48 | bitset32 | 00 00 00 00 | 0 | used parts; legend is for original 19-bone chars; the following bist are possible (values in hex):
| |
0x4C | bitset | 00 00 00 00 | 0 | replaced parts; same legend as above; only overlay TRAMs other than aiming-screen ones "replace" parts. | |
0x50 | float | 00 00 00 00 | 0.000000 | final rotation in radians (for anims that make you turn) | |
0x54 | int16 | 01 00 | 1 | move direction; the following directions are possible:
| |
0x56 | int16 | 00 | 0 |
| |
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 | ||
0x48 | bitset | 00 | 0 |
| |
0x2C | offset | ||||
0x04 | char[64] | Easy | entry name |
ONI BINARY DATA |
---|
TRAC << Other file types >> TRAS |
TRAM : Totoro Animation Sequence |
Character file |
Hex | Translation | Meaning |
01 49 07 00 | 4392 | 01865-KONCOMpunch_heavy.TRAM |
01 00 00 00 | 0 | level 0 |
00 00 00 00 | 0 | unknown; always zero |
A0 B4 80 00 | 80 B4 A0 | at this position starts the y-position part (heights) of the pelvis in the raw file |
E0 B5 80 00 | 80 B5 E0 | at this position starts the x-z-position part of the pelvis in the raw file |
60 B8 80 00 | 80 B8 60 | at this position starts the attack part in the raw file |
00 00 00 00 | not used | at this position starts the damage part in the raw file; only tgt throws use it (tgt = target) |
A0 B8 80 00 | 80 B8 A0 | at this position starts the motion blur part in the raw file |
C0 B8 80 00 | 80 B8 C0 | at this position starts the shortcut part in the raw file |
00 00 00 00 | not used | at this position starts the throw part in the raw file |
E0 B8 80 00 | 80 B8 E0 | at this position starts the footstep part in the raw file |
00 B9 80 00 | 80 B9 00 | at this position starts the particle part (trails, dust, etc.) in the raw file |
60 B9 80 00 | 80 B9 60 | at this position starts the position part in the raw file |
00 BD 80 00 | 80 BD 00 | at this position starts the bodyparts animation part in the raw file |
00 00 00 00 | not used | at this position starts the sound part in the raw file |
90 00 08 00 | attack, atomic, |
flags (listed in, e.g., anim_flags.StNA) |
00 00 00 00 | not used | direct animation 0 (link to a TRAM file) |
00 00 00 00 | not used | direct animation 1 (link to a TRAM file) |
Example to the both rows above: 01855-KONCOMcomb_p_p.TRAM links to: That means, that after Konokos second punch, Oni waits for a third punch or a kick. | ||
00 00 00 00 | no "used parts" | "used parts" bitset. Legend is for original 19-bone chars.
Aiming screen TRAMs "use" several bones here. Other overlay TRAMs use only "chest". Non-overlay TRAMs use none. |
00 00 00 00 | no "replaced parts" | "replaced parts" bitset. Same legend as above. Only overlay TRAMs other than aiming-screen ones "replace" parts. |
00 00 00 00 | 0.000000 | final rotation in radians (for anims that make you turn) |
01 00 | 1 | move direction |
06 00 | 6 | attack sound ("Rising fury!") |
8D 87 CF 41 | 25.941187 | maximum "danger" |
DE E9 1A 40 | 2.420524 | "danger" min range (world units) |
95 34 D3 41 | 26.400675 | "danger" max range (world units) |
8D 87 CF 41 | 25.941187 | "danger" at 0° (front) |
8D 87 CF 41 | 25.941187 | "danger" at 10° |
8D 87 CF 41 | 25.941187 | "danger" at 20° |
8D 87 CF 41 | 25.941187 | "danger" at 30° |
9D E4 11 41 | 9.118314 | "danger" at 40° |
14 BA 04 41 | 8.295429 | "danger" at 50° |
6B 77 D4 40 | 6.639577 | "danger" at 60° |
50 5A B3 40 | 5.604774 | "danger" at 70° |
74 4B 9C 40 | 4.884211 | "danger" at 80° |
DF 37 87 40 | 4.225570 | "danger" at 90° (left) |
70 75 84 40 | 4.139336 | "danger" at 100° |
8E ED 6A 40 | 3.670749 | "danger" at 110° |
16 40 5F 40 | 3.488286 | "danger" at 120° |
16 40 5F 40 | 3.488286 | "danger" at 130° |
BF CD 45 40 | 3.090683 | "danger" at 140° |
34 2B 49 40 | 3.143262 | "danger" at 150° |
34 2B 49 40 | 3.143262 | "danger" at 160° |
34 2B 49 40 | 3.143262 | "danger" at 170° |
5A D8 6D 40 | 3.716330 | "danger" at 180° (back) |
5A D8 6D 40 | 3.716330 | "danger" at 190° |
5A D8 6D 40 | 3.716330 | "danger" at 200° |
8F D9 96 40 | 4.714057 | "danger" at 210° |
8F D9 96 40 | 4.714057 | "danger" at 220° |
B7 7B AB 40 | 5.358852 | "danger" at 230° |
F0 81 BF 40 | 5.984612 | "danger" at 240° |
98 95 E3 40 | 7.112011 | "danger" at 250° |
98 95 E3 40 | 7.112011 | "danger" at 260° |
98 95 E3 40 | 7.112011 | "danger" at 270° (right) |
98 95 E3 40 | 7.112011 | "danger" at 280° |
98 95 E3 40 | 7.112011 | "danger" at 290° |
98 95 E3 40 | 7.112011 | "danger" at 300° |
ED E7 14 41 | 9.306623 | "danger" at 310° |
D4 2E 9E 41 | 19.772865 | "danger" at 320° |
8F FB CC 41 | 25.622831 | "danger" at 330° |
8D 87 CF 41 | 25.941187 | "danger" at 340° |
8D 87 CF 41 | 25.941187 | "danger" at 350° |
05 00 | 5 | unknown; always -1 if the attack part doesn't exist |
00 | 0 | unknown; always zero |
00 | 0 | unknown; always zero |
00 00 00 BF | -0.500000 | unknown |
1E 85 6B BF | -0.920000 | unknown |
19 47 0C 41 | 8.767358 | unknown |
EB 51 F0 40 | 7.510000 | unknown |
D7 A3 14 41 | 9.290000 | unknown |
0A D7 3B 41 | 11.740000 | unknown |
5E 93 BF 40 | 5.986739 | unknown |
2F 00 | 47 | unknown (-1 if no attack part of if it's a "thrown" anim) |
01 | 1 | unknown |
16 | 22 | unknown |
85 EB 51 BF | -1.850000 | unknown |
E1 7A 7C C1 | -3.900000 | unknown |
69 61 BF 40 | 16.874636 | unknown |
70 3D 22 41 | 10.510000 | unknown |
47 E1 3A 40 | 8.860000 | unknown |
33 33 DB 40 | 18.460000 | unknown |
F7 C0 2E 3E | 0.055320 | unknown |
00 00 00 00 | 0 | unknown; always zero |
18 00 00 00 | 24 | amount of packages of the extent part |
E0 BB 80 00 | 80 BB E0 | offset of extent part in raw/sep |
konflash1 | special impact label (looked up in ONIA) | |
00 00 | 0 | hard pause in 1/60 seconds |
12 00 | 12 | soft pause in 1/60 seconds |
00 00 00 00 | 0 | amount of packages of the sound part |
00 00 00 00 | 0 | always 0, used at runtime |
00 00 | 0 | always 0, used at runtime |
3C 00 | 60 | frames per second |
06 00 | 6 | compression size |
16 00 | 22 | type; animation type from anim_types.StNA |
16 00 | 22 | aiming type; animation type from anim_types.StNA |
00 00 | 0 | from state |
07 00 | 7 | to state |
13 00 | 19 | bodyparts |
50 00 | 50 | frames |
50 00 | 50 | duration in in 1/60 seconds |
00 02 | unknown | varient, a bitset
|
AD DE | dead | varient end; Oni read it in this way: DE AD = dead; I would read it as a short: AD DE (not used) |
00 00 | 0 | atomic start |
FF FF | 65535 | atomic end |
00 00 | 0 | end interpolation |
FF FF | 65535 | maximal interpolation |
FF FF | -1 | action frame |
0A 00 | 10 | first level |
01 | 1 | first "invulnerable" frame |
1C | 28 | last "invulnerable" frame |
02 | 2 | amount of attacks |
00 | 0 | amount of take damage |
01 | 1 | amount of motion blur |
01 | 1 | amount of shortcuts |
02 | 2 | amount of footsteps |
04 | 4 | amount of particles |
AD DE | dead | not used |
- Direct links
- 0x40 and 0x44 : how exactly do they work?
- Apparently, the punch/kick triggering has nothing to do with the field where the link is placed.
- Those anims are just "made available" (bypassing lookups), and the rest is handled "somehow"...
- (according to animtype of available anim and key pressed, maybe with some kind of transition)
- geyser 06:28, 24 March 2007 (CET)
- 0x58-0xF3 - danger zone
- Second and third floats seem to be ranges (moderate enough to be in regular world units).
- Last 36 are amounts/probabilities of damage in 36 equal sectors around the character.
- (often much too large to be ranges in world units)
- First float (at 0x58) looks like a normalisation constant: danger amount/normalisation = probability.
- If you're in one of the 36 angular sectors within the min and max ranges,
- dividing the danger amount by the normalisation gives you the probability of being hit.
- "Probably" ^^
- geyser 06:28, 24 March 2007 (CET)
- 0xF4-0x113 and 0x114-0x133
- similar to each other? not quite...
- exception for "thrown" anims = friend/foe distinction?
- maybe check IDs against MELE stuff...
- geyser 06:28, 24 March 2007 (CET)
- Rather old notes to self...
- 0x164 is usually the same as 0x162 (type) except for :
- KONRIFrun_slide_getup, KONRIFrun_slide_run
- KONPISstartle_lt1, KONPISstartle_rt1
- KONRIFstartle_lt1, KONRIFstartle_rt1
- STRRIFrun_slide_getup, STRIKElev3_startle
- STRPISstartle_lt1, STRPISstartle_rt1
- STRRIFstartle_lt1, STRRIFstartle_rt1
- STRPISstartle_lt2, STRPISstartle_rt2
- STRRIFstartle_lt2, STRRIFstartle_rt2
- COMPISstartle_lt1, KONPISstartle_rt1
- COMRIFstartle_lt1, KONRIFstartle_rt1
- COMPISstartle_lt2, COMPISstartle_rt2
- COMRIFstartle_lt2, COMRIFstartle_rt2
- (for all these, 0x164 is null : "None")
ONI BINARY DATA |
---|
TRAC << Other file types >> TRAS |
TRAM : Totoro Animation Sequence |
Character file |