Author Topic: [FFVII] Are valid battle actor animation indices listed somewhere?  (Read 3143 times)

Husbjörn

  • *
  • Posts: 36
    • View Profile
I've begun looking into modifying some FFVII battle scenes for fun on my free time and have run into a bit of an annoyance with actor animation indices (as in the actual animations performed on the actor's mesh such as "physical attack", "throw", "cast", etc.).
It would seem that these aren't structured in any particular way; some models have a set of valid ID's at 1 .. 5 or something, then there are a bunch of id's that will freeze the battle if they are used and then there can be a usable one again at id 220. Since trial and error for every individual actor gets extremely tedious with 255 possible indices and the fact that the game will freeze once you happen upon an invalid one, forcing a complete restart to investigate the next probable fail-id, I was wondering if it is known where this animation is available (it would make sense that the game is aware of valid indices in one form or another)? My guess would be that it might be stored in the xxda files in battle.lgp but I haven't been able to find any specifications on the format of those. I'd try to dig in and see what I can find out myself but those files are dauntingly large and I see little reason to reinvent the wheel as it were if this information is perhaps already known.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
The info you're looking for is in the **AB files. I've made a topic on those a while back. Those are animation scripts that tie various animations in the **AA files together to make an action.

I also have a list (somewhere) of what actions fire what animation scripts. For player characters there are upwards of 70 scripts each, though I think lots of those are dummied.

Sega Chief

  • *
  • Posts: 4086
  • These guys is sick
    • View Profile
Way back when, I tried 'counting' the animations before in Kimera but I got mixed results doing it (if they're structured differently/all over then that'd explain why). Here's what I got back when I was testing them; as far as I know, they seem to work for all of the player characters:

Code: [Select]
-) 0: Idle
-) 1: Near Death
-) 2: Victory Animation
-) 3: Change Row Forward
-) 4: Change Row Backward
-) 5: Stand/Evade
-) 6: Dead
-) 7: Running/Fleeeeee
-) 8: Cover
-) 9: Use Item
-) 0A: Throw Item
-) 0B: Can't be read by Kimera/Missing?
-) 0C: Use Magic
-) 0D: Hit
-) 0E: Stun Hit - Two sets
-) 0F: Hit Knocked Down
-) 10: E.Skill Twirl!
-) 11: Sense
-) 12: Manipulate
-) 13: Steal
-) 14: Morph?
-) 15: Change Lane!
-) 16: Change Lane!

-) 0D:
-) 0E: Runs, ends up close
-) 0F: Turns invisible, works...?
-) 10: Row Change, works
-) 11: Magic again, works
-) 12: Hit - Ejected (FF03)
-) 13: Hit - Paralysis (FF01)
-) 14: Fully working standard attack
-) 15: Slash-All/Long Range
-) 16: Run in, standard attack, stays in place (2x cut start)
-) 17: 2x Cut: Stays in place
-) 18: Standard run forward attack (leaves standing, 4xcut start)
-) 19: 2x/4X Cut
-) 1A: 3X Cut (stands there after: don't use on own)
-) 1B: Basic Attack (supposedly D.blow)
-) 1C: Flash
-) 1D: Spell
-) 1E: E.Skill Use
-) 1F: Summon

Untested

-) 21 Item/Coin/Throw
-) 22 Steal
-) 24 Mug
-) 26 Sense
-) 28 Morph
-) 2A D.Blow
-) 2C Manip.

Also, if using characters as enemies then you'll need something to get around the soft-lock that happens when you attack one of these enemies. Karifean had a neat fix for it by setting the hurt animation to the evasion animation instead; put this in pre-battle AI:

Code: [Select]
12 2060
10 402C
80
60 01
90
12 2060
10 402A
80
60 01
90
12 2060
11 4088
80
60 08
90
12 2060
10 402A
80
60 01
90

Husbjörn

  • *
  • Posts: 36
    • View Profile
Ah, thanks guys, your topic on the ab format was really helpful NFITC1 :)
It would seem I might have to go the hard way of extracting models, adding custom animations and re-import them to give some of the early enemies in the game useful general purpose animations such as "cast spell", or "use item" for humanoids. That's a bit of a setback but it should at least be possible.

@Sega Chief: Thanks, I'm mainly focusing on the predefined enemies at the moment but I might get around to messing with the characters sooner or later so that list will come in handy then.
As for how they are structured, I've noticed that certain enemy actors (such as Diamond Weapon IIRC) have spread out working animation indicies (it is possible this is caused by a wraparound if only a nybble is actually read for it however, I don't recall the exact indices as I was just incrementing the value step by step with a memory scanner).

obesebear

  • *
  • Posts: 1389
    • View Profile
adding custom animations
Trust me, you are much better off writing a script to convert the animations to a user friendly format and back again, than trying to create custom animations as is.