OBD:TRAM

From OniGalore
Revision as of 14:50, 22 March 2007 by Geyser (talk | contribs) (SCReam fix SCRamble, could be SCuRry, *who cares*? ^^)
Jump to navigation Jump to search
ONI BINARY DATA
TRAC << Other file types >> TRAS
TRAM : Totoro Animation Sequence
switch to XML:TRAM page
Overview @ Oni Stuff
OBD.png


tram_all.gif


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.OBD:StNA)
  • 0x01000000 - private1 (this bit is not animation related, it is used at runtime to mark that the animation was loaded)
  • 0x02000000 - invulnerable
  • 0x04000000 - blockHigh
  • 0x08000000 - blockLow
  • 0x10000000 - attack
  • 0x20000000 - dropWeapon
  • 0x40000000 - inAir
  • 0x80000000 - atomic
  • 0x00010000 - noTurn
  • 0x00020000 - attackForward
  • 0x00040000 - attackLeft
  • 0x00080000 - attackRight
  • 0x00100000 - attackBackward
  • 0x00200000 - overlay
  • 0x00400000 - dontInterpolateVelocity
  • 0x00800000 - throwSource
  • 0x00000100 - throwTarget
  • 0x00000200 - realWorld
  • 0x00000400 - doAim
  • 0x00000800 - dontAim
  • 0x00001000 - canPickup
  • 0x00002000 - aim360
  • 0x00004000 - disableShield
  • 0x00008000 - noAIPickup
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:
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.

00 00 00 00 no "used parts" "used parts" bitset. Legend is for original 19-bone chars.
  • 0x01000000 - pelvis
  • 0x02000000 - left thigh
  • 0x04000000 - left calf
  • 0x08000000 - left foot
  • 0x10000000 - right thigh
  • 0x20000000 - right calf
  • 0x40000000 - right foot
  • 0x80000000 - mid
  • 0x00010000 - chest
  • 0x00020000 - neck
  • 0x00040000 - head
  • 0x00080000 - left shoulder
  • 0x00100000 - left arm
  • 0x00200000 - left wrist
  • 0x00400000 - left fist
  • 0x00800000 - right shoulder
  • 0x00000100 - right arm
  • 0x00000200 - right wrist
  • 0x00000400 - right fist

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 unknown; always zero if the attack part doesn't exist
DE E9 1A 40 2.420524 unknown; always 1,000,000,000 if the attack part doesn't exist
95 34 D3 41 26.400675 unknown; always -1,000,000,000 if the attack part doesn't exist
8D 87 CF 41 25.941187 unknown; always zero if the attack part doesn't exist
8D 87 CF 41 25.941187 unknown; always zero if the attack part doesn't exist
8D 87 CF 41 25.941187 unknown; always zero if the attack part doesn't exist
8D 87 CF 41 25.941187 unknown; always zero if the attack part doesn't exist
9D E4 11 41 9.118314 unknown; always zero if the attack part doesn't exist
14 BA 04 41 8.295429 unknown; always zero if the attack part doesn't exist
6B 77 D4 40 6.639577 unknown; always zero if the attack part doesn't exist
50 5A B3 40 5.604774 unknown; always zero if the attack part doesn't exist
74 4B 9C 40 4.884211 unknown; always zero if the attack part doesn't exist
DF 37 87 40 4.225570 unknown; always zero if the attack part doesn't exist
70 75 84 40 4.139336 unknown; always zero if the attack part doesn't exist
8E ED 6A 40 3.670749 unknown; always zero if the attack part doesn't exist
16 40 5F 40 3.488286 unknown; always zero if the attack part doesn't exist
16 40 5F 40 3.488286 unknown; always zero if the attack part doesn't exist
BF CD 45 40 3.090683 unknown; always zero if the attack part doesn't exist
34 2B 49 40 3.143262 unknown; always zero if the attack part doesn't exist
34 2B 49 40 3.143262 unknown; always zero if the attack part doesn't exist
34 2B 49 40 3.143262 unknown; always zero if the attack part doesn't exist
5A D8 6D 40 3.716330 unknown; always zero if the attack part doesn't exist
5A D8 6D 40 3.716330 unknown; always zero if the attack part doesn't exist
5A D8 6D 40 3.716330 unknown; always zero if the attack part doesn't exist
8F D9 96 40 4.714057 unknown; always zero if the attack part doesn't exist
8F D9 96 40 4.714057 unknown; always zero if the attack part doesn't exist
B7 7B AB 40 5.358852 unknown; always zero if the attack part doesn't exist
F0 81 BF 40 5.984612 unknown; always zero if the attack part doesn't exist
98 95 E3 40 7.112011 unknown; always zero if the attack part doesn't exist
98 95 E3 40 7.112011 unknown; always zero if the attack part doesn't exist
98 95 E3 40 7.112011 unknown; always zero if the attack part doesn't exist
98 95 E3 40 7.112011 unknown; always zero if the attack part doesn't exist
98 95 E3 40 7.112011 unknown; always zero if the attack part doesn't exist
98 95 E3 40 7.112011 unknown; always zero if the attack part doesn't exist
ED E7 14 41 9.306623 unknown; always zero if the attack part doesn't exist
D4 2E 9E 41 19.772865 unknown; always zero if the attack part doesn't exist
8F FB CC 41 25.622831 unknown; always zero if the attack part doesn't exist
8D 87 CF 41 25.941187 unknown; always zero if the attack part doesn't exist
8D 87 CF 41 25.941187 unknown; always zero if the attack part doesn't exist
05 00 5 unknown; always -1 if the attack part doesn't exist
00 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
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 unknown; Oni Tools 1.51 says that this is the size of the following extent part in the raw file; I doubt it; maybe it's the amount of packages
E0 BB 80 00 80 BB E0 at this position starts the extent part in the raw file
konflash1 attack sound ("slap")
00 00 0 hard pause in 1/60 seconds
12 00 12 soft pause in 1/60 seconds
00 00 0 unknown; it seems that it belongs to the sound part
00 00 0 unknown
00 00 0 unknown
00 00 0 unknown
00 00 0 unknown
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
  • 0x0001 - SPRint animation
  • 0x0002 - COMbat animation
  • 0x0008 - PIStol animation
  • 0x0010 - NINja PIStol animation (left-handed)
  • 0x0020 - RIFle animation
  • 0x0040 - NINja RIFle animation (left-handed)
  • 0x0080 - PANic or SCRamble animation
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 unknown
1C 28 unknown
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
Unknown stuff
0x40 and 0x44 : how exactly do they work?
floats at 0x58-0xF3, non-zero for attack moves : hitboxes?
(isn't everything from 0x58 to 0x14F attack-only?)
Notes to self, investigating...
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