OBD:TRAM: Difference between revisions
Jump to navigation
Jump to search
(removed weird "id for the animation of the opponent") |
No edit summary |
||
Line 189: | Line 189: | ||
;Direct links | ;Direct links | ||
These fields work together with soft pause and hard pause fields when switching animations. | |||
When the current animation has a direct link to the new animation the soft pause and hard pause are | |||
both considered to be 0. | |||
;0x58-0xF3 - danger zone | ;0x58-0xF3 - danger zone | ||
:Second and third floats seem to be ranges (moderate enough to be in regular world units). | :Second and third floats seem to be ranges (moderate enough to be in regular world units). |
Revision as of 09:59, 28 December 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 | at this position starts the damage part in the raw file; only tgt throws use it (tgt = target) | |
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):
| |
0x040 | link | 00 00 00 00 | unused | direct animation 0 (link to another TRAM file) | |
0x044 | 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)
| |||||
0x048 | bitset32 | 00 00 00 00 | 0 | used parts; legend is for original 19-bone chars; the following bist are possible (values in hex):
| |
0x04C | bitset32 | 00 00 00 00 | 0 | replaced parts; same legend as above; only overlay TRAMs other than aiming-screen ones "replace" parts. | |
0x050 | float | 00 00 00 00 | 0.000000 | final rotation in radians (for anims that make you turn) | |
0x054 | int16 | 01 00 | 1 | move direction; the following directions are possible:
| |
0x056 | int16 | 06 00 | 6 | attack sound ("Rising fury!"); the number belongs to the sound slot in the ONCC file | |
0x058 | float | 8D 87 CF 41 | 25.941187 | maximum "danger" | |
0x05C | float | DE E9 1A 40 | 2.420524 | "danger" min range (in world units) | |
0x060 | float | 95 34 D3 41 | 26.400675 | "danger" max range (in world units) | |
0x064 | float | 8D 87 CF 41 | 25.941187 | "danger" at 0° (front) | |
... | ... | ... | ... | ... | |
0x088 | float | DF 37 87 40 | 4.225570 | "danger" at 90° (left) | |
... | ... | ... | ... | ... | |
0x0AC | float | 5A D8 6D 40 | 3.716330 | "danger" at 180° (back) | |
... | ... | ... | ... | ... | |
0x0D0 | float | 98 95 E3 40 | 7.112011 | "danger" at 270° (right) | |
... | ... | ... | ... | ... | |
0x0F0 | float | 8D 87 CF 41 | 25.941187 | "danger" at 350° | |
0x0F4 | int16 | 05 00 | 5 | unknown; indicator for the seven floats below; always -1 if the attack part doesn't exist | |
0x0F6 | int8 | 00 | 0 | unknown; always zero | |
0x0F7 | int8 | 00 | 0 | unknown; always zero | |
0x0F8 | float | 00 00 00 BF | -0.500000 | unknown; always zero if the indicator is -1 | |
0x0FC | float | 1E 85 6B BF | -0.920000 | unknown; always zero if the indicator is -1 | |
0x100 | float | 19 47 0C 41 | 8.767358 | unknown; always zero if the indicator is -1 | |
0x104 | float | EB 51 F0 40 | 7.510000 | unknown; always zero if the indicator is -1 | |
0x108 | float | D7 A3 14 41 | 9.290000 | unknown; always zero if the indicator is -1 | |
0x10C | float | 0A D7 3B 41 | 11.740000 | unknown; always zero if the indicator is -1 | |
0x110 | float | 5E 93 BF 40 | 5.986739 | unknown; always zero if the indicator is -1 | |
0x114 | int16 | 2F 00 | 47 | unknown; indicator for the two bytes and seven floats below; always -1 if the attack part doesn't exist or the attack part exists and it's a tgt animation (tgt = target) | |
0x116 | int8 | 01 | 1 | unknown | |
0x117 | int8 | 16 | 22 | unknown | |
0x118 | float | 85 EB 51 BF | -1.850000 | unknown; always zero if the indicator is -1 | |
0x11C | float | E1 7A 7C C1 | -3.900000 | unknown; always zero if the indicator is -1 | |
0x120 | float | 69 61 BF 40 | 16.874636 | unknown; always zero if the indicator is -1 | |
0x124 | float | 70 3D 22 41 | 10.510000 | unknown; always zero if the indicator is -1 | |
0x128 | float | 47 E1 3A 40 | 8.860000 | unknown; always zero if the indicator is -1 | |
0x12C | float | 33 33 DB 40 | 18.460000 | unknown; always zero if the indicator is -1 | |
0x130 | float | F7 C0 2E 3E | 0.055320 | unknown; always zero if the indicator is -1 | |
0x134 | int32 | 00 00 00 00 | 0 | unknown; always zero | |
0x138 | int32 | 18 00 00 00 | 24 | amount of elements of the extent part; only used if the attack part exists | |
0x13C | offset | E0 BB 80 00 | 00 80 BB E0 | at this position starts the extent part in the raw file; only used if the attack part exists | |
0x140 | char[16] | konflash1 | impact particle name (reference to 01018-.ONIA, which is called up in the ONCC file) | ||
0x150 | int16 | 00 00 | 0 | hard pause in 1/60 seconds | |
0x152 | int16 | 12 00 | 18 | soft pause in 1/60 seconds | |
0x154 | int32 | 00 00 00 00 | 0 | amount of packages of the sound part | |
0x158 | int32 | 00 00 00 00 | 0 | runtime: pointer to the sound for this animation (initialised from SABD) | |
0x15C | int16 | 00 00 | 0 | runtime: sound start frame (initialised from SABD) | |
0x15E | int16 | 3C 00 | 60 | frames per second | |
0x160 | int16 | 06 00 | 6 | compression size | |
0x162 | int16 | 16 00 | 22 | animation type from anim_types.StNA | |
0x164 | int16 | 16 00 | 6 | aiming animation type from anim_types.StNA | |
0x166 | int16 | 00 00 | 0 | from state | |
0x168 | int16 | 07 00 | 7 | to state | |
0x16A | int16 | 13 00 | 19 | bodyparts | |
0x16C | int16 | 50 00 | 80 | frames | |
0x16E | int16 | 50 00 | 80 | duration in in 1/60 seconds | |
0x170 | bitset16 | 00 02 | 0, 2 | varient, the following bits are possible:
| |
0x172 | char[2] | AD DE | dead | varient end; unused | |
0x174 | uint16 | 00 00 | 0 | atomic start | |
0x176 | uint16 | FF FF | 65536 | atomic end | |
0x178 | uint16 | 00 00 | 0 | end interpolation | |
0x17A | uint16 | FF FF | 65536 | maximal interpolation | |
0x17C | int16 | FF FF | -1 | action frame | |
0x17E | int16 | 0A 00 | 10 | first level | |
0x180 | uint8 | 01 | 1 | first "invulnerable" frame | |
0x181 | uint8 | 1C | 28 | last "invulnerable" frame | |
0x182 | uint8 | 02 | 2 | amount of elements in the attack part | |
0x183 | uint8 | 00 | 0 | amount of elements in the take damage part | |
0x184 | uint8 | 01 | 1 | amount of elements in the motion blur part | |
0x185 | uint8 | 01 | 1 | amount of elements in the shortcut part | |
0x186 | uint8 | 02 | 2 | amount of elements in the footstep part | |
0x187 | uint8 | 04 | 4 | amount of elements in the particle part | |
0x188 | char[24] | AD DE | dead | unused |
- Direct links
These fields work together with soft pause and hard pause fields when switching animations. When the current animation has a direct link to the new animation the soft pause and hard pause are both considered to be 0.
- 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 |