Author Topic: .dat Files FF8 - Section 5 - animation sequences - Enemy / characters findings  (Read 2757 times)

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
Hello guys,  :)

I’ve been editing the dat files in the past weeks and i’ve found some interesting data in the „sequence” section (section 6 reffering to Wiki for monster enemies). I haven’t seen any detailed documentation on the wiki neither on the forums so i would like to share with you, it might be useful for future gameplay mods.

I’ll put it forward that i dont have programming exp, so i might express myself improperly at some points.

Both enemies and playable character have this type of section. (For characters it can be found in the weapon dat file in section 4, except for Edea since she doesnt have a weapon it can be found in her character file i think section 8, but unsure, and for Zell / Kiros in section 2- because their weapons dont have independent bones / animation)

So all moves (for characters – Commands) have their own animation sequence, which is playin multiple animations in a specific order + in addition it can:
     •   Display enemy related Text data while performing a move – developers used this to combine the texts with camera movements (in the AI you can CALL texts too but it’s without camera
          movements)  (character camera movements can be found in secion 6, following the same struct as a battle stage cameras)
     •   Play Aura effect (green light)  or if properly modified – Limit break auras yellow / blue, GF summon effect
     •   Make the modell disappear Reappear
     •   Loop an animation during a magic effect / Define it to repeat e.g. 3x (in Hex) times
     •   Move the modell while animating
     •   Trigger the damage and write out the figures
     •   Make an attack effect (given by a specific ID in hex) appear while triggering the damage (e.g. Seifer blue sword slash)
     •   Exit the modell from the fight – e.g. GF fights, where the enemy doesn’t have a death animation but the fight ends

I have to make a distinction here between enemies and characters, the section has the same function but a different purpose.
The structure of the section are the same in both cases

Offset      Length (byte)           Description
0              2                           Number of sequence
2              nr of seq *2           Relative offset to the start of the sequence

The sequences itself vary alot, but there are similarities.


Enemies:

If we take an enemy in Ifrit editor for example the third colum shows the related animation sequence number, for magic, it uses the 11th animation sequence. (Fujin c0m 119.dat).  (By the way, the similarity between all DAT files, that every character’s 11th animation sequence is used for magic attacks).

Lets take an example.


https://imgur.com/iGxgizc


The thing is the structure vary, for the characters dat file magic usage is different, because they jump out with an additional animation and while the animation ID is launched they have an additional animation for looping. (It is also handled here)
Let’s take another example Disc 2 Seifer – the sequence Nr where Seifer teases Squall (Text 1 – I will show who’s the better man blablabla, Text – 2  Show me what you got blablabla)

video link if it's dont clear what part i am talking about:  https://youtu.be/Iv_bbsDYXNE?t=390


https://imgur.com/MPMFKMx


(I am not sure tho, if anyone have got some useful information about this section, that would help alot to understand the whole.)

There should be a byte either in loading / displaying which determines that for how many frames are the text displayed. Need to check it out.
So as you can see the structure vary, if an enemy quits the fight, then instead of A2 the enemy uses
A3 XX E6 FF (XX optional – animation number) + (A3 / A9 – A3 for disappear quit and A9 for the simple quit but i am unsure on that one).

Characters:

For characters, each character has 1E – Total 30 number of sequences which is triggered by commands or triggered by memory depends what happen on the battle stage (HP, Runaway, Death). The number of sequences that can be found here is fixed for all characters, but some may be unused. For example some characters winning animation are contained in the r0win.dat. in 3 sections
 1.   Character animation
 2.   Weapon animation
 3.   Sequence – Plays the animation and exits
Or another example there is an additional limit break start sequence for zell finisher – blue light.
I’ve made a list of the sequences based on the data i found in Zell’s file. The list may not be 100% correct.


1 - Basic Standing Animation loop
2 - Exhausted - low hp animation loop
3 – Death loop
4 - Damage Taken into a low hp phase
5 - Damage Taken Normal
6 - Damage Taken Crit
7 - Nothing happens
8 - Apperance (like at the start of the battle)
9 - Staying in "rdy to attack standing"
10 - Draw command fail animation
11 - Magic animation
12 - Basic Standing Animation
13 - Attack - normal
14 - Guardian Force Summoning (Disappear)
15 - Item Use
16 - Runaway 1
17 - Runaway 2 - Escaped disappear
18 - Victory Animation
19 - Changing into "rdy to attack standing"
20 - Guardian Force Summoning (Re-appear)
21 - Limit break 1 (Normal)
22 - Draw/Defend Phase again?
23 - Changing into Defend/Draw Phase
24 - Kamikaze Command - Running to the enemy
25 - Attack - Darkside
26 - Runaway 2? (same as 1) - maybe used at Edea Disc 1 fight? (Rinoa / Irvine appearance)
27 - Defend/Draw stock
28 - Limit break 2 (Special, e.g. Squall/Zell Blue aura)
29 - Defend command standing again
30 - Draw Stock Magic


As you can see GF summons play sequence NR 14 and after the animation ends the system automatically triggers the sequence NR 20 for re-appearing.


I tried to search back how the character limit breaks look like and add multi counting. I found Seifer animations in the exe at offset xA2B518. (Contains the character animations, weapon animations & the sequences, however the animation sequences look weird, by the code it plays the animations 1 by 1 then exits, even if there are animation looping during his limit break etc.etc. ) It should be somewhere else in the exe where the ID handles magic effects.

Anyone got additional information about this?  :?


Controlling enemy freeze:


My main goal was to make some enemies controllable, it seemed to be quite easy with cheat engine, but enemy codes didn’t really make them useful since the game crashes while triggering different commands because of the following:
•   enemies have less sequences than characters and follow a different order
•   the only similarity is that the animation sequence used for magic is same for all dat files
•   thats why the game do not break on magic command while using an enemy in your party
•   if you trigger an empty animation sequence the game freezes
•   maybe some memory editing can fix this issue?


I've been modifying .dat file sequences lately with spells, and you can achieve pretty cool stuffs:  :mrgreen:

https://www.youtube.com/watch?v=ubh0DDNprcE

 
« Last Edit: 2019-11-27 20:00:25 by smalldirt »

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
I just realized that i've actually misstyped. It's section 5 in the monster dat files.   :-\

Sega Chief

  • No life
  • *
  • Posts: 3283
  • Karma: 188
  • These guys is sick
    • View Profile
That Ifrit summon animation was super cool, having him jump up first went really well with the appearance part of the summon animation. I was wanting to have GFs use their own ability (or sometimes a different GF's ability) in my mod, but calling the animation with a standard spell-casting animation tends to have bad side-effects, particularly with the camera.

If I were to try and replicate what you'd done, would the steps be something like this?

1) Make a copy of the data that handles Ifrit's jump attack and put it into one of Ifrit's empty animation slots.
2) Add the limit break effect to it (does this have to be hooked to a specific frame of the animation or does it just play by itself when the animation starts?)
3) I'm guessing Jump doesn't call a magic animation as-is so that would need to be added somewhere midway + a flag to disappear?
4) After summon animation has played, Ifrit needs to be flagged to reappear (maybe using a copy of a character's #20 animation script for reappearing).

The info you've posted might be handy for fixing up some unused but busted animations on certain enemies as well. X-ATM had a double-leg attack that looks like it was intended to hit the two characters on the flanks but it has no sound and can hang.

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
That Ifrit summon animation was super cool, having him jump up first went really well with the appearance part of the summon animation. I was wanting to have GFs use their own ability (or sometimes a different GF's ability) in my mod, but calling the animation with a standard spell-casting animation tends to have bad side-effects, particularly with the camera.

If I were to try and replicate what you'd done, would the steps be something like this?

1) Make a copy of the data that handles Ifrit's jump attack and put it into one of Ifrit's empty animation slots.
2) Add the limit break effect to it (does this have to be hooked to a specific frame of the animation or does it just play by itself when the animation starts?)
3) I'm guessing Jump doesn't call a magic animation as-is so that would need to be added somewhere midway + a flag to disappear?
4) After summon animation has played, Ifrit needs to be flagged to reappear (maybe using a copy of a character's #20 animation script for reappearing).

The info you've posted might be handy for fixing up some unused but busted animations on certain enemies as well. X-ATM had a double-leg attack that looks like it was intended to hit the two characters on the flanks but it has no sound and can hang.

Hi Sega,

Yes something like that but for Ifrit attack -
Ifrit Special attack contains 7 (seperate) animations sequenced, also sequence data triggers the sound effects too and the punch graphical effect when it hits + writes out the dmg figures, so copying and putting a disappear at the end wont help, in addition whenever you replace an ability magic ID with a summoning magic ID the battle camera do not get set back into the original place, thats why you need a separate animation sequence for disappearing and reappearing aligned to two different abilities to get the proper result.

1) for summoning attack -  a proper animation sequence with disappearance (no battle camera movement since the magic ID handles it)
2) reapperance with an ability which contains battle camera movement (battle camera movement Y/N can be set by doomtrain easily for an enemy ability)


So the AI should be written to trigger theese two abilities after each other.
About the sequences:
Here is a link about my notes i made while i was writing it:
https://imgur.com/5POf6Sq


I used only the first 3 animation of Ifrit's punch attack, and removed the rest so it wont trigger the damage / attack sound effect. Here is how it looks like from another angle.

https://youtu.be/BvQ9yGdq-4g


Add the limit break effect to it (does this have to be hooked to a specific frame of the animation or does it just play by itself when the animation starts?)

Nope, you dont have to specify a frame of an animation, but it think it should be set before an animation.


Also if it's not not clear how to make it, i uploaded my Ifrit file for you if you want to dig into it.
(stats are messed up and the ability triggers as a counter attack in the AI)

https://drive.google.com/open?id=1Gmhf4MsYKCdX9mXQgiMVeMN0o7Kr4qNZ   

X-ATM had a double-leg attack that looks like it was intended to hit the two characters on the flanks but it has no sound and can hang.

Yea i think it's his 26th animation from section 3 if it helps. I wanted to check it out too, trying to make a small gameplay mod.

KR  :)



IzzacSturnburg

  • Fast newbie
  • *
  • Posts: 34
  • Karma: 0
    • View Profile
Impressive find dirt! I'm truly excited about this, i hope this foundation gets built on to make custom stories, scenes, and home brewed battle animations. thanks for that wonderful display of use. Really like the video.

Sega Chief

  • No life
  • *
  • Posts: 3283
  • Karma: 188
  • These guys is sick
    • View Profile
Hi Sega,

Yes something like that but for Ifrit attack -
Ifrit Special attack contains 7 (seperate) animations sequenced, also sequence data triggers the sound effects too and the punch graphical effect when it hits + writes out the dmg figures, so copying and putting a disappear at the end wont help, in addition whenever you replace an ability magic ID with a summoning magic ID the battle camera do not get set back into the original place, thats why you need a separate animation sequence for disappearing and reappearing aligned to two different abilities to get the proper result.

1) for summoning attack -  a proper animation sequence with disappearance (no battle camera movement since the magic ID handles it)
2) reapperance with an ability which contains battle camera movement (battle camera movement Y/N can be set by doomtrain easily for an enemy ability)


So the AI should be written to trigger theese two abilities after each other.
About the sequences:
Here is a link about my notes i made while i was writing it:
https://imgur.com/5POf6Sq


I used only the first 3 animation of Ifrit's punch attack, and removed the rest so it wont trigger the damage / attack sound effect. Here is how it looks like from another angle.

https://youtu.be/BvQ9yGdq-4g


Add the limit break effect to it (does this have to be hooked to a specific frame of the animation or does it just play by itself when the animation starts?)

Nope, you dont have to specify a frame of an animation, but it think it should be set before an animation.


Also if it's not not clear how to make it, i uploaded my Ifrit file for you if you want to dig into it.
(stats are messed up and the ability triggers as a counter attack in the AI)

https://drive.google.com/open?id=1Gmhf4MsYKCdX9mXQgiMVeMN0o7Kr4qNZ   

X-ATM had a double-leg attack that looks like it was intended to hit the two characters on the flanks but it has no sound and can hang.

Yea i think it's his 26th animation from section 3 if it helps. I wanted to check it out too, trying to make a small gameplay mod.

KR  :)

Thanks very much for the info + sample files; I'll probably just aim for fixing the camera lock + vanish/reappear to start with. It was sort of OK for Ifrit, but for Cerberus it was leaving the camera in a way where everything was hidden.

If you're making a gameplay mod, then I've got a manual fix for the AI corruption bug that the Ifrit Beta AI editor produces if that's of any use (it tends to be fine with single enemies, but in larger groups minor to serious glitches can occur). It requires a hex editor but that folder has images + info on what the error is and how to correct it:
https://mega.nz/#!ShVCiQSD!sdPoVZM0ENyZQPCHFyXWn6Y8haLrlXFVNdsF38DItdk

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
Thanks Sega :), I will check it out. Had some problems with AI modifications. Seifer and his gunblade is quite vulnerable to AI editing via Ifrit  >:(

Sebanisu

  • Crazy poster
  • *
  • Posts: 160
  • Karma: 8
    • View Profile
Maki has the animations reading in openviii. Though right now we can just pick an animation and loop it. Would be neat to have the sequences parced. I think I'm starting to understand your post. I'll play around some more tomorrow. :)

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
Maki has the animations reading in openviii. Though right now we can just pick an animation and loop it. Would be neat to have the sequences parced. I think I'm starting to understand your post. I'll play around some more tomorrow. :)
That's awesome. I will update the post with my new findings in the weekend.  :-)

Sebanisu

  • Crazy poster
  • *
  • Posts: 160
  • Karma: 8
    • View Profile
Code: [Select]
BS_DEBUG: Loading stage a0stg006.x
BS_DEBUG/ENC: Encounter: 0 cEnemies: 128 Enemies: 71
DEBUG: Creating new BattleDat with 1,Character,4
0 0: 0
DEBUG: Creating new BattleDat with 1,Weapon,7

 d1w007 - 38 animations, 30 segments
0(782) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0f e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 06 0e 0f e6 02 {End}a3 {Anim}00 e6 ff    (31 length)
1(7a1) - {Special}c3 0b e5 7f c1 02 cb 7f ea 04 e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 05 0e e6 03 0c {End}a3 {Anim}01 e6 ff    (30 length)
2(7bf) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0d e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 04 e6 04 0c 0d {End}a3 {Anim}be 00 bd 00 01 02 e6 ff    (36 length)
19(7e3) - {Visibility}a8 {Hide}02 09 c1 00 e5 0f {Return}a2    (8 length)
14(7eb) - {Effect}bb 08 c0 aa fd e5 0f 17 18 {Loop}a0 {Anim}18 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}19 b9 0a b8 1a 00 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 {Loop}a0 {Anim}1a {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 1b 09 c1 00 e5 0f {Return}a2    (92 length)
29(847) - {Effect}bb 10 {Aura}a5 {Magic}00 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 11 {Return}a2    (68 length)
9(88b) - {Effect}bb 08 c0 aa fd e5 0f 09 c1 00 e5 0f {Return}a2    (13 length)
18(898) - {Special}c3 08 d8 00 01 e5 08 {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0b e6 11 {Special}c3 0b e5 7f c1 1d cb 7f ea 06 11 0a e6 03 0a {End}a3 {Anim}03 e6 ff    (39 length)
15(8bf) - {End}a3 {Anim}1f e6 ff    (4 length)
16(8c3) - {Visibility}a8 {Show}03 c1 0f e5 7f {Loop}a0 {Anim}1f {Special}c3 0f c4 2c 01 e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 f0 a9 e6 ff    (27 length)
21(8de) - c1 0f e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 95 {Return}a2    (17 length)
26(8ef) - {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 {Return}a2    (30 length)
22(90d) - {Effect}bb 10 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 a7 1d    (44 length)
28(939) - {End}a3 {Anim}04 e6 ff    (4 length)
25(93d) - 1f e6 ff    (3 length)
8(940) - c0 f4 01 e5 0f c1 0f e5 7f {Loop}a0 {Anim}03 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (25 length)
7(959) - {Visibility}a8 01 be 01 {Special}c3 22 e5 7f c1 01 cb 7f ea 06 ac 00 e6 02 {Special}c3 1f d5 1c e5 7f c1 00 cb 7f ea 11 {Special}c3 0b e5 7f c1 01 cb 7f ea 05 00 e6 02 e6 02 ac 00    (47 length)
3(988) - {Special}c3 08 d8 00 01 e5 08 05 {Return}a2    (9 length)
4(991) - {Special}c3 08 d8 00 01 e5 08 06 {Return}a2    (9 length)
5(99a) - 07 {Return}a2    (2 length)
23(99c) - {Special}c3 11 c4 90 01 e5 ff c1 00 cb ff e5 02 {Effect}bb {Aura}a5 {Magic}00 1c 1d {Loop}a0 {Anim}1d {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 17 c4 00 08 e5 17 c1 0f e5 7f {Loop}a0 {Anim}1f c1 00 cb 02 e5 ff c1 10 cb 7f e5 fe {Special}c3 ff cf fe e5 fd {Special}c3 fd d1 0f e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df c1 00 cb 0f e5 0f {Special}c3 17 c8 00 08 e5 17 c1 05 e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (130 length)
17(a1e) - 9f 07 0c 1d 1f ff {TextREF}1e e6 ff    (9 length)
10(a27) - 9f 11 29 ff {Effect}bb 08 c0 aa fd e5 0f {Aura}a5 {Magic}00 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}14 b9 0c {Special}c3 08 d9 20 e5 08 b9 01 {Loop}a0 {Anim}15 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 16 09 c1 00 e5 0f {Return}a2    (90 length)
13(a81) - 9f 11 29 ff {Effect}bb 08 c0 aa fd e5 0f {Aura}a5 {GF}01 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Visibility}a8 {Show}03 {Loop}a0 {Anim}14 b9 05 b8 18 00 b8 19 00 {Special}c3 08 d9 08 e5 08 a1 15 e6 ff    (64 length)
20(ac1) - 9f 12 1a ff {Effect}bb {Aura}a5 {Limit}02 1c 1d {Loop}a0 {Anim}1d {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}1d a1 e6 fd    (47 length)
27(af0) - {Effect}bb {Aura}a5 {Finisher}03 1c 1d {Loop}a0 {Anim}1d {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 a9 e6 ff    (41 length)
12(b19) - {Special}c3 17 e5 00 {Special}c3 1c e5 01 {Special}c3 11 c8 f4 01 e5 ff c1 00 cb ff e5 02 {Special}c3 11 e5 03 {Effect}bb b1 14 85 ff 99 13 86 ff {Loop}a0 {Anim}20 c1 02 e5 7f {Special}c3 00 cb 01 e5 ff c1 02 cb 7f e5 fe {Special}c3 fe c5 01 e5 fd {Special}c3 ff cf fd e5 fc {Special}c3 fc d1 02 e5 fb {Special}c3 01 c7 fb e5 17 a1 {Special}c3 7f c5 ff e5 7f e7 d5 b9 04 {Special}c3 03 e5 7f c0 d0 07 cb 7f eb 37 b1 14 05 a1 ff 99 13 05 {Loop}a0 {Anim}ff {Loop}a0 {Anim}22 {Special}c3 0a e5 7f {Special}c3 02 c8 {Special}c3 fd e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c0 {Special}c3 fd c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df e6 36 b1 14 42 08 a4 ff 99 13 08 {End}a3 {Anim}ff {Loop}a0 {Anim}21 {Special}c3 0a e5 7f {Special}c3 02 c8 {Special}c3 fd e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c0 {Special}c3 fd c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df {Loop}a0 {Anim}25 b9 07 97 00 00 b4 18 00 bf 04 b9 05 {Special}c3 19 e5 7f c1 00 cb 7f ea 0a 97 00 00 b4 18 00 e6 0c b5 00 00 b5 02 00 b4 18 02 20 aa {Special}c3 08 da 80 e5 08 {Special}c3 08 d9 08 e5 08 a1 {Loop}a0 {Anim}23 {Special}c3 0a e5 7f c0 38 ff cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e0 {Loop}a0 {Anim}24 b9 02 c1 02 e5 7f {Special}c3 01 cb 00 e5 ff c1 02 cb 7f e5 fe {Special}c3 fe c5 01 e5 fd {Special}c3 ff cf fd e5 fc {Special}c3 fc d1 02 e5 fb {Special}c3 00 c7 fb e5 17 a1 {Special}c3 7f c5 ff e5 7f e7 d5 c1 00 e5 0f {Return}a2    (357 length)
24(c7e) - {Special}c3 17 e5 00 {Special}c3 1c e5 01 {Special}c3 11 c8 f4 01 e5 ff c1 00 cb ff e5 02 {Special}c3 11 e5 03 {Effect}bb b1 14 85 ff 99 13 86 ff {Loop}a0 {Anim}20 c1 02 e5 7f {Special}c3 00 cb 01 e5 ff c1 02 cb 7f e5 fe {Special}c3 fe c5 01 e5 fd {Special}c3 ff cf fd e5 fc {Special}c3 fc d1 02 e5 fb {Special}c3 01 c7 fb e5 17 a1 {Special}c3 7f c5 ff e5 7f e7 d5 b9 04 {Special}c3 03 e5 7f c0 d0 07 cb 7f eb 37 b1 14 05 a1 ff 99 13 05 {Loop}a0 {Anim}ff {Loop}a0 {Anim}22 {Special}c3 0a e5 7f {Special}c3 02 c8 {Special}c3 fd e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c0 {Special}c3 fd c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df e6 36 b1 14 42 08 a4 ff 99 13 08 {End}a3 {Anim}ff {Loop}a0 {Anim}21 {Special}c3 0a e5 7f {Special}c3 02 c8 {Special}c3 fd e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c0 {Special}c3 fd c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df {Loop}a0 {Anim}25 b9 07 97 00 00 b4 18 00 84 {TextREF}1e bf 04 b9 05 {Special}c3 19 e5 7f c1 00 cb 7f ea 0a 97 00 00 b4 18 00 e6 0c b5 00 00 b5 02 00 b4 18 02 20 aa {Special}c3 08 d9 08 e5 08 a1 {Loop}a0 {Anim}23 {Special}c3 0a e5 7f c0 38 ff cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e0 {Loop}a0 {Anim}24 b9 02 c1 02 e5 7f {Special}c3 01 cb 00 e5 ff c1 02 cb 7f e5 fe {Special}c3 fe c5 01 e5 fd {Special}c3 ff cf fd e5 fc {Special}c3 fc d1 02 e5 fb {Special}c3 00 c7 fb e5 17 a1 {Special}c3 7f c5 ff e5 7f e7 d5 c1 00 e5 0f {Return}a2    (353 length)
DEBUG: Creating new BattleDat with 0,Character,1
0 0: 0
DEBUG: Creating new BattleDat with 0,Weapon,0
0 0: 0

 d0w000 - 42 animations, 30 segments
0(18fe) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0f e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 06 0e 0f e6 02 {End}a3 {Anim}00 e6 ff    (31 length)
1(191d) - {Special}c3 0b e5 7f c1 02 cb 7f ea 04 e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 05 0e e6 03 0c {End}a3 {Anim}01 e6 ff    (30 length)
2(193b) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0d e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 04 e6 04 0c 0d {End}a3 {Anim}be 00 bd 00 01 02 e6 ff    (36 length)
19(195f) - {Visibility}a8 {Hide}02 09 c1 00 e5 0f {Return}a2    (8 length)
14(1967) - {Effect}bb 08 c0 e8 fc e5 0f 17 18 {Loop}a0 {Anim}18 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}19 b9 09 b8 1a 00 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 {Loop}a0 {Anim}1a {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 1b 09 c1 00 e5 0f {Return}a2    (92 length)
29(19c3) - {Effect}bb 10 {Aura}a5 {Magic}00 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 11 {Return}a2    (68 length)
9(1a07) - {Effect}bb 08 c0 e8 fc e5 0f 09 c1 00 e5 0f {Return}a2    (13 length)
18(1a14) - {Special}c3 08 d8 00 01 e5 08 {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0b e6 11 {Special}c3 0b e5 7f c1 1d cb 7f ea 06 11 0a e6 03 0a {End}a3 {Anim}03 e6 ff    (39 length)
15(1a3b) - {End}a3 {Anim}1f e6 ff    (4 length)
16(1a3f) - {Visibility}a8 {Show}03 c1 0f e5 7f {Loop}a0 {Anim}1f {Special}c3 0f c4 2c 01 e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 f0 a9 e6 ff    (27 length)
21(1a5a) - c1 0f e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 95 {Return}a2    (17 length)
26(1a6b) - {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 {Return}a2    (30 length)
22(1a89) - {Effect}bb 10 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 a7 1d    (44 length)
28(1ab5) - {End}a3 {Anim}04 e6 ff    (4 length)
25(1ab9) - 1f e6 ff    (3 length)
8(1abc) - c0 f4 01 e5 0f c1 0f e5 7f {Loop}a0 {Anim}03 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (25 length)
3(1ad5) - {Special}c3 08 d8 00 01 e5 08 05 {Return}a2    (9 length)
4(1ade) - {Special}c3 08 d8 00 01 e5 08 06 {Return}a2    (9 length)
5(1ae7) - 07 {Return}a2    (2 length)
23(1ae9) - {Special}c3 11 c4 90 01 e5 ff c1 00 cb ff e5 02 {Effect}bb {Aura}a5 {Magic}00 1c 1d {Loop}a0 {Anim}1d {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 17 c4 00 08 e5 17 c1 0f e5 7f {Loop}a0 {Anim}1f c1 00 cb 02 e5 ff c1 10 cb 7f e5 fe {Special}c3 ff cf fe e5 fd {Special}c3 fd d1 0f e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df c1 00 cb 0f e5 0f {Special}c3 17 c8 00 08 e5 17 c1 05 e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (130 length)
7(1b6b) - {Visibility}a8 01 be 01 {Special}c3 22 e5 7f c1 01 cb 7f ea 06 ac 00 e6 02 {Special}c3 1f d5 1c e5 7f c1 00 cb 7f ea {TextREF}1e {Special}c3 0b e5 7f c1 01 cb 7f ea 12 {Loop}a0 {Anim}00 b9 15 b8 04 00 {Special}c3 08 d9 08 e5 08 a1 e6 02 e6 02 ac 00    (60 length)
17(1ba7) - 9f 2b 36 ff {TextREF}1e a9 e6 ff    (8 length)
10(1baf) - 9f 14 1b ff {Effect}bb 08 c0 e8 fc e5 0f {Aura}a5 {Magic}00 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}14 b9 0d {Special}c3 08 d9 20 e5 08 b9 03 {Loop}a0 {Anim}15 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 16 09 c1 00 e5 0f {Return}a2    (90 length)
13(1c09) - 9f 14 1b ff {Effect}bb 08 c0 e8 fc e5 0f {Aura}a5 {GF}01 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Visibility}a8 {Show}03 {Loop}a0 {Anim}14 b9 05 b8 18 00 b8 19 00 {Special}c3 08 d9 08 e5 08 a1 15 e6 ff    (64 length)
20(1c49) - 9f 01 19 ff {Effect}bb {Aura}a5 {Limit}02 1c 1d {Loop}a0 {Anim}1d {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}1d a1 e6 fd    (47 length)
12(1c78) - {Special}c3 17 e5 00 {Special}c3 1c e5 01 {Special}c3 11 c8 e8 03 e5 ff c1 00 cb ff e5 02 {Special}c3 11 e5 03 {Effect}bb {Special}c3 03 e5 7f c0 d0 07 cb 7f eb 10 ab 00 21 23 27 28 {Loop}a0 {Anim}29 24 25 26 a1 e6 0e ab 00 20 22 27 28 {Loop}a0 {Anim}29 24 25 26 a1 {Special}c3 03 e5 7f c0 d0 07 cb 7f eb 40 b1 14 04 09 8b 8c 8d 97 9e ff 99 13 06 0a 8b 8c 8d 98 9e ff 21 {Loop}a0 {Anim}23 {Special}c3 0a e5 7f {Special}c3 02 c9 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c1 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 e6 41 b1 14 85 08 13 94 95 96 97 {Visibility}a8 ff 99 13 88 0b 14 95 96 97 {Visibility}a8 ff 20 {Loop}a0 {Anim}22 {Special}c3 0a e5 7f {Special}c3 02 c8 24 f9 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c0 24 f9 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df {Loop}a0 {Anim}27 b9 03 b8 04 00 {Special}c3 08 d9 08 e5 08 a1 28 {Loop}a0 {Anim}29 b5 00 00 b9 05 aa {Special}c3 08 da 80 e5 08 {Special}c3 19 e5 7f c1 00 cb 7f ea 08 b4 0c 01 e0 e6 06 b4 0d 01 e0 {Special}c3 08 d9 08 e5 08 a1 24 {Loop}a0 {Anim}25 {Special}c3 0a e5 7f c0 65 fe cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e0 c1 00 e5 0f 26 {Return}a2    (302 length)
24(1da6) - {Special}c3 17 e5 00 {Special}c3 1c e5 01 {Special}c3 11 c8 e8 03 e5 ff c1 00 cb ff e5 02 {Special}c3 11 e5 03 {Effect}bb {Special}c3 03 e5 7f c0 d0 07 cb 7f eb 10 ab 00 21 23 27 28 {Loop}a0 {Anim}29 24 25 26 a1 e6 0e ab 00 20 22 27 28 {Loop}a0 {Anim}29 24 25 26 a1 {Special}c3 03 e5 7f c0 d0 07 cb 7f eb 40 b1 14 04 09 8b 8c 8d 97 9e ff 99 13 06 0a 8b 8c 8d 98 9e ff 21 {Loop}a0 {Anim}23 {Special}c3 0a e5 7f {Special}c3 02 c9 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c1 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 e6 41 b1 14 85 08 13 94 95 96 97 {Visibility}a8 ff 99 13 88 0b 14 95 96 97 {Visibility}a8 ff 20 {Loop}a0 {Anim}22 {Special}c3 0a e5 7f {Special}c3 02 c8 24 f9 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c0 24 f9 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df {Loop}a0 {Anim}27 b9 03 b8 04 00 {Special}c3 08 d9 08 e5 08 a1 28 {Loop}a0 {Anim}29 b5 00 00 84 0a b9 05 aa {Special}c3 19 e5 7f c1 00 cb 7f ea 08 b4 0c 01 e0 e6 06 b4 0d 01 e0 {Special}c3 08 d9 08 e5 08 a1 24 {Loop}a0 {Anim}25 {Special}c3 0a e5 7f c0 65 fe cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e0 c1 00 e5 0f 26 {Return}a2    (298 length)
DEBUG: Creating new BattleDat with 6,Character,14
0 0: 0
DEBUG: Creating new BattleDat with 6,Weapon,31
0 0: 0

 d6w031 - 36 animations, 30 segments
0(167a) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0d e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 06 0c 0d e6 02 {End}a3 {Anim}00 e6 ff    (31 length)
1(1699) - {Special}c3 0b e5 7f c1 02 cb 7f ea 04 e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 05 0c e6 03 0a {End}a3 {Anim}01 e6 ff    (30 length)
2(16b7) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0b e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 04 e6 04 0a 0b {End}a3 {Anim}be 00 bd 00 01 02 e6 ff    (36 length)
19(16db) - {Visibility}a8 {Hide}02 07 c1 00 e5 0f {Return}a2    (8 length)
14(16e3) - {Effect}bb 06 c0 cb fd e5 0f 15 16 {Loop}a0 {Anim}16 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}17 b9 07 b8 1a 00 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 {Loop}a0 {Anim}18 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 19 07 c1 00 e5 0f {Return}a2    (92 length)
29(173f) - {Effect}bb 0e {Aura}a5 {Magic}00 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 0f {Return}a2    (68 length)
9(1783) - {Effect}bb 06 c0 cb fd e5 0f 07 c1 00 e5 0f {Return}a2    (13 length)
18(1790) - {Special}c3 08 d8 00 01 e5 08 {Special}c3 0b e5 7f c1 02 cb 7f ea 05 09 e6 11 {Special}c3 0b e5 7f c1 1d cb 7f ea 06 0f 08 e6 03 08 {End}a3 {Anim}03 e6 ff    (39 length)
15(17b7) - {End}a3 {Anim}1b e6 ff    (4 length)
16(17bb) - {Visibility}a8 {Show}03 c1 0f e5 7f {Loop}a0 {Anim}1b {Special}c3 0f c4 2c 01 e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 f0 a9 e6 ff    (27 length)
21(17d6) - c1 0f e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 95 {Return}a2    (17 length)
26(17e7) - {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 {Return}a2    (30 length)
22(1805) - {Effect}bb 0e {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 a7 1d    (44 length)
28(1831) - {End}a3 {Anim}04 e6 ff    (4 length)
25(1835) - 1b e6 ff    (3 length)
8(1838) - c0 f4 01 e5 0f c1 0f e5 7f {Loop}a0 {Anim}03 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (25 length)
3(1851) - {Special}c3 08 d8 00 01 e5 08 05 {Return}a2    (9 length)
4(185a) - a7 04    (2 length)
5(185c) - a7 04    (2 length)
23(185e) - {Special}c3 11 c4 90 01 e5 ff c1 00 cb ff e5 02 {Effect}bb {Aura}a5 {Magic}00 10 11 {Loop}a0 {Anim}11 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 17 c4 00 08 e5 17 c1 0f e5 7f {Loop}a0 {Anim}1b c1 00 cb 02 e5 ff c1 10 cb 7f e5 fe {Special}c3 ff cf fe e5 fd {Special}c3 fd d1 0f e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df c1 00 cb 0f e5 0f {Special}c3 17 c8 00 08 e5 17 c1 05 e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (130 length)
7(18e0) - {Visibility}a8 01 be 01 {Special}c3 22 e5 7f c1 01 cb 7f ea 06 ac 00 e6 02 {Special}c3 1f d5 1c e5 7f c1 00 cb 7f ea 11 {Special}c3 0b e5 7f c1 01 cb 7f ea 05 00 e6 02 e6 02 ac 00    (47 length)
17(190f) - 1a a9 e6 ff    (4 length)
10(1913) - 9f 2b 2c ff {Effect}bb 06 c0 cb fd e5 0f {Aura}a5 {Magic}00 10 11 {Loop}a0 {Anim}11 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}12 b9 01 {Special}c3 08 d9 20 e5 08 b9 05 {Loop}a0 {Anim}13 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 14 07 c1 00 e5 0f {Return}a2    (90 length)
13(196d) - 9f 2b 2c ff {Effect}bb 06 c0 cb fd e5 0f {Aura}a5 {GF}01 10 11 {Loop}a0 {Anim}11 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Visibility}a8 {Show}03 {Loop}a0 {Anim}12 b9 05 b8 18 00 b8 19 00 {Special}c3 08 d9 08 e5 08 a1 13 e6 ff    (64 length)
20(19ad) - 9f 01 06 ff {Effect}bb {Aura}a5 {Limit}02 10 11 {Loop}a0 {Anim}11 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}11 a1 e6 fd    (47 length)
12(19dc) - {Special}c3 11 c8 e8 03 e5 ff c1 00 cb ff e5 02 {Effect}bb ab 00 1c 1d 21 22 {Loop}a0 {Anim}23 {TextREF}1e 1f 20 a1 b1 26 06 0b 99 9d ff 99 25 04 0a 97 9d ff 1c {Loop}a0 {Anim}1d {Special}c3 0a e5 7f {Special}c3 02 c9 00 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c1 00 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 21 22 {Loop}a0 {Anim}23 b5 01 00 b9 05 aa {Special}c3 08 da 80 e5 08 {Special}c3 19 e5 7f c1 00 cb 7f ea 08 b4 0f 01 6a e6 09 b4 10 01 6a b4 01 00 {Special}c3 08 d9 08 e5 08 a1 {TextREF}1e {Loop}a0 {Anim}1f {Special}c3 0a e5 7f c1 00 cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 20 {Return}a2    (168 length)
24(1a84) - {Special}c3 11 c8 e8 03 e5 ff c1 00 cb ff e5 02 {Effect}bb ab 00 1c 1d 21 22 {Loop}a0 {Anim}23 {TextREF}1e 1f 20 a1 b1 26 06 0b 99 9d ff 99 25 04 0a 97 9d ff 1c {Loop}a0 {Anim}1d {Special}c3 0a e5 7f {Special}c3 02 c9 00 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c1 00 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 21 22 {Loop}a0 {Anim}23 b5 01 00 84 0a b9 05 aa {Special}c3 19 e5 7f c1 00 cb 7f ea 08 b4 0f 01 6a e6 09 b4 10 01 6a b4 01 00 {Special}c3 08 d9 08 e5 08 a1 {TextREF}1e {Loop}a0 {Anim}1f {Special}c3 0a e5 7f c1 00 cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 20 {Return}a2    (164 length)
DEBUG: Creating new BattleDat with 71,Monster,-1
0 0: 0

 c0m071 - 20 animations, 13 segments
0(7c4c) - {End}a3 {Anim}00 e6 ff    (4 length)
8(7c50) - 01 {Return}a2    (2 length)
3(7c52) - {Special}c3 08 d8 00 01 e5 08 04 {Return}a2    (9 length)
4(7c5b) - {Special}c3 08 d8 00 01 e5 08 05 {Return}a2    (9 length)
5(7c64) - 06 {Return}a2    (2 length)
10(7c66) - {Effect}bb {Aura}a5 {Enemy Magic}04 08 09 0a {Loop}a0 {Anim}0a {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 0b {Special}c3 08 d9 20 e5 08 0c {Return}a2    (42 length)
9(7c90) - {Effect}bb 08 09 0a 0b 0c {Return}a2    (7 length)
7(7c97) - {Visibility}a8 01 {Loop}a0 {Anim}00 {Special}c3 0c e1 23 e5 7f ba {Special}c3 7f c5 ff e5 7f e7 f9 {Special}c3 08 d9 08 e5 08 a1 {Return}a2    (27 length)
2(7cb2) - 07 b8 0d 02 08 b8 0e 02 10 {Visibility}a8 06 a9 e6 ff    (14 length)
11(7cc0) - {Special}c3 11 c8 20 03 e5 ff c1 00 cb ff e5 02 {Effect}bb b1 14 0b 0e 13 25 ff 99 13 0b 11 26 ff 0d {Loop}a0 {Anim}0e {Special}c3 0a e5 7f {Special}c3 02 c9 00 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd c1 00 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 0f b4 0b 01 {Loop}a0 {Loop}{Anim}a0 {Anim}13 b9 02 97 00 00 aa {Special}c3 08 da 80 e5 08 {Special}c3 08 d9 08 e5 08 a1 10 {Loop}a0 {Anim}11 {Special}c3 0a e5 7f c1 00 cb 02 e5 ff {Special}c3 ff cf 09 e5 fe {Special}c3 fe d3 0a e5 fd {Special}c3 02 c7 fd e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 e1 12 {Return}a2    (135 length)
12(7d47) - 0e e6 ff 00 00    (5 length)

I found where in the weapons dat you were talking about. I need to make a save with edna so i can see if I'm detecting her data. Right now I'm just dumping the data to the console. Unsure if i'm truncating anything important. I excluded the 0 offsets, assuming the entries are invalid. I truncated the values to the A2 value or the before the start of the next sequence. I also am sorting them by the location in the file. I'm trying to tag things that I can detect based on what you've posted. Though not 100% sure how best to parse this.

Found Edna's section.
Code: [Select]
d7c016 - 30 animations, 30 segments
0(f2ce) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0f e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 06 0e 0f e6 02 {End}a3 {Anim}00 e6 ff    (31 length)
1(f2ed) - {Special}c3 0b e5 7f c1 02 cb 7f ea 04 e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 05 0e e6 03 0c {End}a3 {Anim}01 e6 ff    (30 length)
2(f30b) - {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0d e6 10 {Special}c3 0b e5 7f c1 03 cb 7f ea 04 e6 04 0c 0d {End}a3 {Anim}be 00 bd 00 01 02 e6 ff    (36 length)
19(f32f) - {Visibility}a8 {Hide}02 09 c1 00 e5 0f {Return}a2    (8 length)
14(f337) - {Effect}bb 08 c0 c7 fd e5 0f 17 18 {Loop}a0 {Anim}18 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}19 b9 {TextREF}1e b8 1a 00 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 {Loop}a0 {Anim}1a {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 1b 09 c1 00 e5 0f {Return}a2    (92 length)
29(f393) - {Effect}bb 10 {Aura}a5 {Magic}00 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 11 {Return}a2    (68 length)
9(f3d7) - {Effect}bb 08 c0 c7 fd e5 0f 09 c1 00 e5 0f {Return}a2    (13 length)
18(f3e4) - {Special}c3 08 d8 00 01 e5 08 {Special}c3 0b e5 7f c1 02 cb 7f ea 05 0b e6 11 {Special}c3 0b e5 7f c1 1d cb 7f ea 06 11 0a e6 03 0a {End}a3 {Anim}03 e6 ff    (39 length)
15(f40b) - {End}a3 {Anim}1c e6 ff    (4 length)
16(f40f) - {Visibility}a8 {Show}03 c1 0f e5 7f {Loop}a0 {Anim}1c {Special}c3 0f c4 2c 01 e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 f0 a9 e6 ff    (27 length)
21(f42a) - c1 0f e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 95 {Return}a2    (17 length)
26(f43b) - {Loop}a0 {Anim}04 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 {Return}a2    (30 length)
22(f459) - {Effect}bb 10 {Loop}a0 {Anim}04 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 08 d9 08 e5 08 a1 a7 1d    (44 length)
28(f485) - {End}a3 {Anim}04 e6 ff    (4 length)
25(f489) - 1c e6 ff    (3 length)
8(f48c) - c0 f4 01 e5 0f c1 0f e5 7f {Loop}a0 {Anim}03 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (25 length)
3(f4a5) - {Special}c3 08 d8 00 01 e5 08 05 {Return}a2    (9 length)
4(f4ae) - {Special}c3 08 d8 00 01 e5 08 06 {Return}a2    (9 length)
5(f4b7) - 07 {Return}a2    (2 length)
23(f4b9) - {Special}c3 11 c4 90 01 e5 ff c1 00 cb ff e5 02 {Effect}bb {Aura}a5 {Magic}00 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Special}c3 17 c4 00 08 e5 17 c1 0f e5 7f {Loop}a0 {Anim}1c c1 00 cb 02 e5 ff c1 10 cb 7f e5 fe {Special}c3 ff cf fe e5 fd {Special}c3 fd d1 0f e5 0f a1 {Special}c3 7f c5 ff e5 7f e7 df c1 00 cb 0f e5 0f {Special}c3 17 c8 00 08 e5 17 c1 05 e5 7f {Loop}a0 {Anim}04 a1 {Special}c3 7f c5 ff e5 7f e7 f7 c1 00 e5 0f {Return}a2    (130 length)
7(f53b) - {Visibility}a8 01 be 01 {Special}c3 22 e5 7f c1 01 cb 7f ea 06 ac 00 e6 02 {Special}c3 1f d5 1c e5 7f c1 00 cb 7f ea 14 {Special}c3 0b e5 7f c1 01 cb 7f ea 08 b5 01 00 00 e6 02 e6 02 ac 00    (50 length)
10(f56d) - 9f 19 26 ff {Effect}bb 08 c0 c7 fd e5 0f {Aura}a5 {Magic}00 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Loop}a0 {Anim}14 b9 09 {Special}c3 08 d9 20 e5 08 b9 03 {Loop}a0 {Anim}15 {Special}c3 08 d4 00 02 e5 7f c1 00 cb 7f e9 0d {Special}c3 08 dc 00 02 e5 08 e6 07 e6 02 a1 e6 e5 16 09 c1 00 e5 0f {Return}a2    (90 length)
13(f5c7) - 9f 19 26 ff {Effect}bb 08 c0 c7 fd e5 0f {Aura}a5 {GF}01 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Visibility}a8 {Show}03 {Loop}a0 {Anim}14 b9 05 b8 18 00 b8 19 00 {Special}c3 08 d9 08 e5 08 a1 15 e6 ff    (64 length)
20(f607) - 9f 10 ff {Effect}bb {Aura}a5 {Limit}02 12 13 {Loop}a0 {Anim}13 {Special}c3 08 d5 10 e5 7f c1 00 cb 7f e9 0c {Special}c3 08 dd 10 e5 08 e6 07 e6 02 a1 e6 e7 {Special}c3 08 d9 20 e5 08 {Loop}a0 {Anim}13 a1 e6 fd    (46 length)
12(f635) - {Effect}bb 08 c0 c7 fd e5 0f {Loop}a0 {Anim}1d b9 10 b5 00 01 b9 04 {Special}c3 19 e5 7f c1 00 cb 7f ea 07 b4 19 00 e6 05 b4 {TextREF}1e 00 aa {Special}c3 08 da 80 e5 08 {Special}c3 08 d9 08 e5 08 a1 09 c1 00 e5 0f {Return}a2    (54 length)
24(f66b) - {Effect}bb 08 c0 c7 fd e5 0f {Loop}a0 {Anim}1d b9 14 b5 00 01 {Special}c3 19 e5 7f c1 00 cb 7f ea 07 b4 19 00 e6 05 b4 {TextREF}1e 00 84 0a aa {Special}c3 08 d9 08 e5 08 a1 09 c1 00 e5 0f {Return}a2    (48 length)
« Last Edit: 2019-11-26 16:07:58 by Sebanisu »

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
I've found that the code used for animation repeating:
Code: [Select]
C1 1E E5 7F 28 C3 7F C5 FF E5 7F E7 F9

Where the second byte (1E) stands for how many times the corresponding animation being replayed and the (28) stands for the animation number from section 3 in Hex. The 8 byte used after the animation stops the sequence code until the animation repeated for the given times.

For sounds effect:
Code: [Select]
B5 00 00
always 3 byte where the second byte stands for the linked sound (number)? for the enemy files (for example if you replace 2 dat files their attacking sound effects remain the same)
« Last Edit: 2019-11-26 18:04:59 by smalldirt »

TheShadow

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
The number of information you are providing is impressive.
Keep it up.. we might be able to create a tool that could change characters abilities on fly !

It will not be easy as it could break the game but that's the fun :D

Sebanisu

  • Crazy poster
  • *
  • Posts: 160
  • Karma: 8
    • View Profile
You could edit the first topic to change the title from section 6 to section 5 :P

I know the sequences are linked to enemy abilities right per ifrit. But, how are the player's actions linked to the sequences? I poked about the battle commands in the kernel. But nothing was sticking out.

I wonder if there are more custom sequences somewhere else. Considering for curtain bosses squall does custom attacks for them And the characters each only have 30 sequences. Maybe the custom animations are in another section of the boss's dat file.

I've found that the code used for animation repeating:
Code: [Select]
C1 1E E5 7F 28 C3 7F C5 FF E5 7F E7 F9

Where the second byte (1E) stands for how many times the corresponding animation being replayed and the (28) stands for the animation number from section 3 in Hex. The 8 byte used after the animation stops the sequence code until the animation repeated for the given times.
I'll add that to the list. I'm gonna try to make a Queue of Actions. To do whatever is in the sequence in the correct order.
For sounds effect:
Code: [Select]
B5 00 00
always 3 byte where the second byte stands for the linked sound (number)? for the enemy files (for example if you replace 2 dat files their attacking sound effects remain the same)
Probably referring to section 9. From what i've read on AKAO tells what sound and how they want it played. Though the only documation I saw was from ff7 http://wiki.ffrtt.ru/index.php?title=FF7/Field/Script/Opcodes/F2_AKAO. Unsure how similar ff8 is.

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
You could edit the first topic to change the title from section 6 to section 5 :P

Changed it, i didn't have that option when i was a newbie. :)

I know the sequences are linked to enemy abilities right per ifrit. But, how are the player's actions linked to the sequences? I poked about the battle commands in the kernel. But nothing was sticking out.

I am not an expert so i might express myself wrong but i think it's "monitored" by the memory. Code - E6 FF (Hex - with an animation reference before it) always used after a "status" animation of a character at the end of the sequence- e.g. his basic animation turns into low hp animation when his hp is low. If you put this codeto an enemy dat file the game just loops the corresponding animation and the ATB stops - FOREVER  :-\


I wonder if there are more custom sequences somewhere else. Considering for curtain bosses squall does custom attacks for them And the characters each only have 30 sequences. Maybe the custom animations are in another section of the boss's dat file.
I'll add that to the list. I'm gonna try to make a Queue of Actions. To do whatever is in the sequence in the correct order.Probably referring to section 9. From what i've read on AKAO tells what sound and how they want it played. Though the only documation I saw was from ff7 http://wiki.ffrtt.ru/index.php?title=FF7/Field/Script/Opcodes/F2_AKAO. Unsure how similar ff8 is.

Unfortunately i have to deny that point. For example if you replace two dat files - c0m61 with c0m xxx the sound effect what they trigger uppon attacking are not changed (Ifrit uses Geezard sound effect if you put him in the Geezard slot in battle fs). That leads to a point that i assume there are "Global" sound effects which can be called by every enemy / modell from the dat files, like limit break aura sound effect, death sound effect for enemies and modell related sound files. (which are actually based on what slot they are in the battle . fs). But that raises up a question that what are AKAOs for in the dat file?

For Squall custom sequences do you mean the renzokuken limit breaks?
If you mean that, most of the Limit break animations can be found the found in the Exe and also the sequences related to the Limit breaks too. I've dig up Seifer's limit break from the Exe and the Limit break animations divided into 3 sections (Header can be found at xA2B518 - 2012 FF8 re-relase)
 - Character animations
 - Sequences
 - Weapon animations

However the sequences are quite simple for Seifer :

Code: [Select]
06 00 0e 00 12 00 15 00 19 00 1d 00 20 00 00
a9 e6 ff 01 e6 ff 02 a9 e6 ff 03 a9 e6  ff 04 e6 ff ac

xx E6 FF - Animation from the animation section followed by  E6 FF for each section? need to test this out   :-\ :-\


Also - i found that in the Character dat files the last section (11) contains an extra animation, which is actually the animaton what is played uppon their appearance at the beggining of the battle.

Sebanisu

  • Crazy poster
  • *
  • Posts: 160
  • Karma: 8
    • View Profile
I had rigged up a player of the sequences in openviii. Though it's very basic rn. It just attempts to filter out the values that cannot be animations and queues up the rest. Though it looks kinda messed up as some of those values aren't animations either. :P


I wrote a small app to dump the sequences to xml and csv. I left hex for the xml dump but had values in integer format for csv because excel isn't the best with hex values.

I uploaded them to google drive because it was too large for pastebin.
https://drive.google.com/open?id=1KOM8-89cdpy7wtYc6DktL3WdAPRNRs0P
« Last Edit: 2019-12-04 15:36:09 by Sebanisu »

smalldirt

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 4
    • View Profile
Sounds good, how does it look like in the OpenVIII?

Sebanisu

  • Crazy poster
  • *
  • Posts: 160
  • Karma: 8
    • View Profile
any value less than animation count is queued up and it plays one at a time and what ever is last is looped. Till i support the other codes. I might need to make an editor to help speed up testing values in real game.

Sent from my Pixel XL using Tapatalk


rartart

  • Cool newbie
  • *
  • Posts: 61
  • Karma: -2
    • View Profile
thanks for working on this, with this kind of modification we could even play as the monster or the bosses :D , i always wanted to use the forbidden with all of his animations and peculiar abilities :D