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/iGxgizcThe 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=390https://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: https://www.youtube.com/watch?v=ubh0DDNprcE