Well, I tested unpacking all the cas files and found examples
violating almost all of the rules from a couple posts back.
The first of the last eight floats is the animation time in
seconds. The header in descr_skeletons.dat say there will always
be an odd number of frames so this number will always be a multiple
of a tenth of a second. Otherwise the remaining seven floats I have
no rules for.
The header bytes aren't always 20 0 20 (14 00 14 hex), they have lots
of variations especially for the stratmap anims. The final 8 bytes aren't
always FF FF 0F 00 00 00 00 00 they have lots of variations too.
Here's a chunk with some stratmap examples from the extraction log:
Code:
31 20 20 data/animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s1_slashrl_fail.cas 39586546 18149 255 255 15 0 0 0 0 0
47 20 20 data/animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s1_slashrl_success.cas 39604695 27493 255 255 15 0 0 0 0 0
23 20 20 data/animations/MTW2_Swordsman/MTW2_Swordsman_at_overhead_c_stab_fail.cas 39632188 13477 255 255 15 0 0 0 0 0
29 20 20 data/animations/MTW2_Swordsman/MTW2_Swordsman_at_overhead_c_stab_success.cas 39645665 16981 255 255 15 0 0 0 0 0
55 20 1 data/animations/MTW2_Swordsman/MTW2_Swordsman_basepose.cas 39662646 19625 1 0 0 0 0 0 0 0
41 20 20 data/animations/MTW2_Swordsman/MTW2_Swordsman_charge_jump_attack.cas 39682271 23989 255 255 15 0 0 0 0 0
99 20 1 data/animations/New_Crew/Crew_Stand_to_Wide_Push.CAS 39706260 35289 1 0 0 0 0 0 0 0
25 20 1 data/animations/New_Crew/Crew_Wide_Push.CAS 39741549 8945 1 0 0 0 0 0 0 0
39 20 1 data/animations/New_Crew/Crew_Wide_Push_to_Crew_Stand.CAS 39750494 13929 1 0 0 0 0 0 0 0
67 2 1 data/animations/New_Swordman/Weapon/Sword_Default.CAS 39764423 4601 1 0 0 0 0 0 0 0
59 19 1 data/animations/SM_D01 Diplomat unselected idle 01.cas 39769024 20105 1 0 0 0 0 0 0 0
51 19 1 data/animations/SM_D01 Diplomat unselected idle 02.cas 39789129 17385 1 0 0 0 0 0 0 0
45 19 1 data/animations/SM_D01 Diplomat unselected idle 03.cas 39806514 15345 1 0 0 0 0 0 0 0
21 19 1 data/animations/SM_D03 Diplomat selected idle.cas 39821859 7185 1 0 0 0 0 0 0 0
25 19 1 data/animations/SM_D06 Diplomat walk loop.cas 39829044 8545 1 0 0 0 0 0 0 0
35 19 1 data/animations/SM_D11 Diplomat standing to stepping backwards.cas 39837589 11945 1 0 0 0 0 0 0 0
35 19 1 data/animations/SM_D12 Diplomat stepping backwards loop.cas 39849534 11945 1 0 0 0 0 0 0 0
25 19 1 data/animations/SM_D13 Diplomat stepping backwards to stand.cas 39861479 8545 1 0 0 0 0 0 0 0
23 19 1 data/animations/STRAT LID_08_Stand 2 90 right.cas 39870024 7865 1 0 0 0 0 0 0 0
23 19 1 data/animations/STRAT LID_09_Stand 2 90 left.cas 39877889 7865 1 0 0 0 0 0 0 0
107 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_assassinate.cas 39885754 59537 255 255 7 0 0 0 0 0
25 19 1 data/animations/Stratmap_Assassin/Strat_Assassin_basepose.cas 39945291 8545 1 0 0 0 0 0 0 0
39 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_die_backward_1.cas 39953836 21729 255 255 7 0 0 0 0 0
83 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_die_forward_1.cas 39975565 46193 255 255 7 0 0 0 0 0
41 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_no_mp_idle.cas 40021758 22841 255 255 7 0 0 0 0 0
15 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_no_mp_to_stand_A.cas 40044599 8385 255 255 7 0 0 0 0 0
131 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_sabotage.cas 40052984 72881 255 255 7 0 0 0 0 0
33 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_selected.cas 40125865 18393 255 255 7 0 0 0 0 0
41 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_idle.cas 40144258 22841 255 255 7 0 0 0 0 0
11 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_idle_selected.cas 40167099 6161 255 255 7 0 0 0 0 0
111 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_lf_idle_1.cas 40173260 61761 255 255 7 0 0 0 0 0
81 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_lf_idle_2.cas 40235021 45081 255 255 7 0 0 0 0 0
85 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_lf_idle_3.cas 40280102 47305 255 255 7 0 0 0 0 0
29 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_to_no_mp.cas 40327407 16169 255 255 7 0 0 0 0 0
25 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_to_walk.cas 40343576 13945 255 255 7 0 0 0 0 0
59 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_to_walk_backward.cas 40357521 32849 255 255 7 0 0 0 0 0
33 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_turn_90_ccw.cas 40390370 18393 255 255 7 0 0 0 0 0
33 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_stand_A_turn_90_cw.cas 40408763 18393 255 255 7 0 0 0 0 0
35 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_unselected.cas 40427156 19505 255 255 7 0 0 0 0 0
33 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_walk.cas 40446661 18393 255 255 7 0 0 0 0 0
27 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_walk_backward.cas 40465054 15057 255 255 7 0 0 0 0 0
29 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_walk_backward_to_stand_A.cas 40480111 16169 255 255 7 0 0 0 0 0
25 19 19 data/animations/Stratmap_Assassin/Strat_Assassin_walk_to_stand_A.cas 40496280 13945 255 255 7 0 0 0 0 0
55 19 19 data/animations/Stratmap_Diplomat/Strat_Diplomat_backward_1.cas 40510225 30625 255 255 7 0 0 0 0 0
21 19 1 data/animations/Stratmap_Diplomat/Strat_Diplomat_basepose.cas 40540850 7185 1 0 0 0 0 0 0 0
105 19 19 data/animations/Stratmap_Diplomat/Strat_Diplomat_conduct_diplomacy.cas 40548035 58425 255 255 7 0 0 0 0 0
67 19 19 data/animations/Stratmap_Diplomat/Strat_Diplomat_forward_1.cas 40606460 37297 255 255 7 0 0 0 0 0
41 19 19 data/animations/Stratmap_Diplomat/Strat_Diplomat_no_mp_idle.cas 40643757 22841 255 255 7 0 0 0 0 0
The header and trailers are in decimal and I'm showing the three header
bytes as a short and a byte so 20 0 20 is shown as 20 20.
I modified two .cas files for MTW2_Spear and tried putting them in game
using the no_animdb=1 and no_animdb=true under [util] in my cfg file
under the assumption it was like the io_filefirst switch, i.e. only put in
modified files under /data/animations. No joy. Thinking it might be an
all or nothing I put the whole unpacked animations directory and
renamed pack.dat and pack.idx. This just crashed. That's all the experiments
so far.
Edit: The .evt event files referred to in descr_skeleton.txt aren't in pack.dat
so is it crashing because they're not there? Couldn't find them by hexing through
events.dat, that's related to other sound events.
Bookmarks