Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: nfitc1 on 2013-04-18 15:30:03

Title: (FFVII PC) The **ab files
Post by: nfitc1 on 2013-04-18 15:30:03
So I put my mind to it yesterday and I found out quite a bit about those elusive **ab files in the battle.lgp archive (I don't know the PSX equivalent). Thanks to DLPB who discovered that the death animations are set there, it got me wondering more about the structure of the entire file. Let me share what I've learned. Because I don't want to keep typing "**ab file" I'll refer to them as animation script files or script files or maybe just "ab".

Each model grouping (aa**, ab**, etc) has an ab file, even backgrounds. They are at least 8 bytes in size and contain lots of info on how to group animations stored in the associated **da files. The models are assigned to actors which each get a large chunk of memory to determine lots of things like position, orientation, height, model info, and a bunch of other stuff. The chunks for each model are 6892 bytes in size and exist for three player characters, the battle background model, and up to six enemy models. This chunk is where the bulk of the info in the ab file goes, just in different places.
There's also another actor-related chunk that is 116 bytes in size. This also gets a few settings from the ab file.

The ab files are broken up into three chunks:

Header:
This is what I know very little about. It has some things related to rotation of the model and possibly defines "front" and "up" for the model. I DO know where it all maps to in memory (at least on the PC version) and most of it goes into that chunk I just mentioned.

Code: [Select]
ab address     memory    size
   0x00       0xBE1178   word
   0x02       0xBE119F   byte
   0x04       0xBE118A   word
   0x06       0xBE1180   word
   0x08       0xBE1182   word
   0x0A       0xBE1184   word
   0x0C       0xBF23E6   word
   0x0E       0xBF23E8   word
   0x10       0xBF23EA   word

   0x12       0xBE11A3   byte
   0x13       0xBE11A4   byte
   0x14       0xBE11A5   byte
   0x15       0xBE11A6   byte
   0x16       0xBE11A7   byte
   0x17       0xBE11A8   byte

   0x18       0xBE11A9   byte
   0x19       0xBE11AA   byte
   0x1A       0xBE11AB   byte
   0x1B       0xBE11AC   byte
   0x1C       0xBE11AD   byte
   0x1D       0xBE11AE   byte

   0x1E       0xBE11AF   byte
   0x1F       0xBE11B0   byte
   0x20       0xBE11B1   byte
   0x21       0xBE11B2   byte

   0x22          align   word

   0x24      translate   dword
   0x28      translate   dword
   0x2C      translate   dword
   0x30      translate   dword
   0x34      translate   dword
   0x38      translate   dword
   0x3C      translate   dword
   0x40      translate   dword

   0x44       0xBF23C4   word  ;address of last actual script pointer (others may follow, but they are ignored?)
   0x46       0xBF23C6   word
   0x48       0xBF23C8   word
   0x4A       0xBF23CA   word

   0x4C       0xBF23CE   word
   0x4E       0xBF23D0   word
   0x50       0xBF23D2   word
   0x52       0xBF23D4   word
   0x54       0xBF23D6   word
   0x56       0xBF23D8   word

   0x58       0xBF23DA   word
   0x5A       0xBF23DC   word
   0x5C       0xBF23DE   word
   0x5E       0xBF23E0   word
   0x60       0xBF23E2   word
   0x62       0xBF23E4   word

   0x64       0xBF23F0   word
   0x66          align   word
I grouped them like that because that's the way the game stores them or loads them. I assume they're all related. Right now, we only really know what byte 02 does. That's the death animation.
The first word determines what type of actor it is. Most enemies is just 1, backgrounds is 501h, player characters are 0h. There might be other values, I don't know.

Now the second group. Script headers. Just like it is in text files and AI script blocks, these point to a raw memory address within the file to a script that defines an animation group for an actor. These don't get stored anywhere. Instead they are translated, but I'll mention that later. There are no more than 74 scripts in these files. Players use all of these, while enemies typically need less than 20, though those are bosses.

The file group is the actual animation scripts. These are pretty powerful scripts that control a lot about the actors. For example, using an item plays three different animations from the da file. One is hopping foward, one is tossing the item, and the last is hopping back to position. These scripts will merge all three of the actions while setting new positions, orientations and, in some cases, speed and even volume.
There are 113 opcodes ranging from 8E - FF inclusive. Some take arguments some don't. I'm still going through them. If it comes across something less than 8E it will assume it's a defined animation and attempt to execute that animation index from the **da file. If it doesn't find it...well....bad things will happen. So codes, like B2 and C9, do absolutely nothing and are skipped over and even sometimes picked up later.
For example, most enemy animation 0 (the idle animation) scripts look like this:
Code: [Select]
A9 C9 00 C1A9 takes two parameters, but completely ignores the first one. The second one gets mapped to 0xBE1186 (It's probably safe to assume that's the **da animation that will serve as the idle animation for that actor).
Now we're at C1. It's function is to find the C9 value and treat that as the next code. It will then set the animation script location at the first C9 it finds in that script. So C9 and C1 are like a loop (although C9 by itself does nothing). There might be something similar to B2 because it doesn't have a function either.

If anyone wants to help me derive the functions of these codes or functions of the header values feel free. The function that handles all this starts at 0x41FBA4 with the individual opcode handler addresses starting at 0x4248C2. First one of those handles 8E, the second handles 8F and so forth. Some are shared like 9A and FB.

I almost forgot, the translations. For the script pointers and the few dwords in the header, they get translated into RAM addresses after being loaded into memory. So if something points at 0x190 within the file, it may get translated to 0x3492A8F or wherever that file's location ends up in memory. It will still point to the same location within the file that it pointed to before so all the unique pointers will point to different places. I hope I explained that adequately.
Title: Re: (FFVII PC) The **ab files
Post by: DLPB_ on 2013-04-18 15:50:10
 8) Good progress! I'd help but bogged down with 100 things.  Good luck with it :)
Title: Re: (FFVII PC) The **ab files
Post by: nfitc1 on 2013-04-18 16:32:25
This is like 100 NEW things to do. :(
Title: Re: (FFVII PC) The **ab files
Post by: DLPB_ on 2013-04-18 16:44:45
Come on Square, give us the bloody source code (when you find it).
Title: Re: (FFVII PC) The **ab files
Post by: Lazy Bastard on 2013-04-18 20:36:35
So I put my mind to it yesterday and I found out quite a bit about those elusive **ab files in the battle.lgp archive (I don't know the PSX equivalent).

The PSX equivalent is the actual battle model (*.LZS) file section named Model Settings Data by Akari (a nomenclature I carried over into my battle model breakdowns on the forums and wiki).

I didn't get a chance to dig around at all last night, but I'll try to make time to do so tonight. This will certainly make custom battle models with proper animations much easier to create. Glad I could nudge you into uncovering a crucial part of the battle module :)
Title: Re: (FFVII PC) The **ab files
Post by: nfitc1 on 2013-05-08 15:44:31
Little late of a reply, but I dived into the exe and discovered which codes take how many parameters. Here's a translation of Cloud's 74 scripts:

Code: [Select]
0:
00 FE C0
1:
01 FE C0
2:
E5 06 F1
3:
B3(F9) 03 ED E3 EE
4:
B3(F9) 04 E4 E3 EE
5:
0F F2 E5 EE
6:
10 11 F2 E5 EE
7:
12 F2 E5 EE
8:
05 E5 EE
9:
AB(0190, 0000) 08 F4(0F) F3 FA E5 A6 EE
10:
13 E5 EE
11:
18 19 E5 EE
12:
B4 02 F1
13:
95 07 FE C0
14:
C4(0190, 06) 07 FE C0
15:
E7(00) F1
16:
04 FA E5 EE
17:
E8 FC 03 ED E6 EA 0C 0D EC 0E 04 FA E5 EE
18:
E5 C4(0190, 06) 12 E7(00) F1
19:
10 FE C0
20:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(01) 1E 1C FA F0 1D E5 EE
21:
FC 03 ED F7(10) 1F 04 FA E5 EE
22:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(01) 1E 9E
23:
F7(01) 22 23 FA F0 1D E5 EE
24:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(01) 1E 9E
25:
E5 BD(04B0, 0000) F0 F7(03) 22 9E
26:
E5 BD(04B0, 0000) F0 F7(03) 24 9E
27:
E5 BD(04B0, 0000) F0 F7(03) 29 1C FA F0 1D E5 EE
28:
FC F0 D8(00, 001A) 1A CC(04) CB(FF, 03E8, FE, FE, 00, 08, 08) 1B 1E F7(03) F4(06) F3 1C FA F0 1D E5 EE
29:
E8 FC 03 ED E6 EA 0C 0D EC 0E 04 FA E5 EE
30:
E8 FC 03 ED A4 EA 0C 0D EC 0E 04 FA E5 EE
31:
E8 FC 03 ED A5 EA 0C 0D EC F4(0F) F3 0E 04 FA E5 EE
32:
E8 FC 03 ED D8(06, 0015) 09 EA EB F4(0A) F3 04 FA E5 EE
33:
E8 FC 03 ED D8(06, 0015) 0A EA EB F4(0A) F3 04 FA E5 EE
34, 35:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(01) D8(01, 02D6) 16 F4(06) F3 26 FA F0 1D E5 EE
36:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(01) 1E 1C FA F0 1D E5 EE
37:
FC 03 ED F7(10) 1F 04 FA E5 EE
38:
FC 03 ED F7(01) 14 F4(3C) F3 04 FA E5 EE
39:
FC 03 ED F7(01) 14 F4(5A) F3 04 FA E5 EE
40, 41:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(10) 20 27 FA F0 1D E5 EE
42, 43:
FC F0 D8(00, 001A) 1A D1(04B0, 0000, 04) F0 1B F7(10) 21 28 FA F0 1D E5 EE
44, 45:
FC 03 ED F7(13) 15 04 FA E5 EE
46-59:
00 FE C0
60:
E8 FC 00 E0 EA F4(19) F3 EC F0 D8(00, 001A) 2C D1(04B0, 0000, 04) F0 2D D8(06, 0030) 2E FA F0 2F E5 EE
61:
E8 FC 00 E0 EA F4(19) F3 EC F0 D8(00, 001A) 2C D1(04B0, 0000, 04) F0 2D 2E FA F0 2F E5 EE
62:
E8 FC 00 E0 EA F4(19) F3 EC 2C 9E
63:
E8 FC 00 E0 EA F4(19) F3 EC F0 2C D8(00, 001A) FB(0640, 0000) F0 2D D8(19, 0030) A8(26, 08) 2E FA F0 E5 EE
64, 65:
E8 FC 00 E0 EA F4(19) F3 EC 2C E5 EE
66:
E8 FC 00 E0 EA F4(19) F3 EC 2C 2D 2D 2E FA E5 EE
67:
EC E5 EE
68:
EC 2D E5 EE
69:
E8 FC 00 E0 EA F4(19) F3 EC F0 D8(00, 001A) 2C D1(04B0, 0000, 04) F0 2D D8(06, 0030) 2E FA F0 2F E5 EE
70 - 73:
00 FE C0

There are lots of duplicates (most of them dummied), but we can tell some things from a few of them.
Anim 0 is normal idle animation. Anim 1 is near-death idle animation. 2 is dead, 3 is hop forward, 4 is hop back, etc. This only applies to player characters.

9E, F1, EE, FF, C1, A2 and "FE C0" (which is weird because FE with anything else does nothing) are effective ends of scripts.
C1 loops back to the beginning and starts at the first C9 in the script. You could make a stupid script like "<blah> C1 <blah> C9 <blah>" and it would skip the chunk between C1 and C9, but there'd be no way to go to it and run those commands. There are better ways to do what you would need anyway.

Most of these commands take battle type into account. They'll choose what to do based on which side attack or preemp attack is being used. That seems to be the primary difference between the three types of side attacks.

9A, 9B, 9F, B0, B1, B2, B7, BA, BB, C0, CD, D2, D3, D9, DA, DB, EF, and F5 are unused even though some of them have fully working functions.
Title: Re: (FFVII PC) The **ab files
Post by: xLostWingx on 2013-05-19 02:22:47
I admit that I know nothing about such things, but I've been eagerly anticipating LB's progress and NFITC1 is probably one of the coolest people I've had the pleasure of interacting with.  Forward progress Ho!!!!  Every now and then the reality of how freaking much VII has been dissected and broken down sets in.  I'm excited to see what comes from this!
Title: Re: (FFVII PC) The **ab files
Post by: Lazy Bastard on 2013-05-21 14:49:28
NFITC1: Great framework info. Thanks very much for jumping into this.

xLostWingx: Though I've been very busy with the new house I just moved into, I haven't at all dropped my intention to continue this thread (my email inbox is always kept clean of everything but items of the utmost importance, and the notification concerning this thread is currently one of only three items therein), until its information is useable in simplifying my custom playable character battle models. I'm finally starting to get back on track with some free time for projects like Adamant, so hopefully I'll take a few hours to sit down and map some things out more extensively very soon. In the meantime, anyone with a little free time and interest is encouraged to do the same.
Title: Re: (FFVII PC) The **ab files
Post by: xLostWingx on 2013-05-21 18:44:33
Good to know LB.  I understand that this is a game of patience, trial and error, and whatever else it involves.  I'm no progammer nor do I think I could even make to case to consider myself a hobbyist.  I usually just skim through or skip over the code that accompanies many posts.  If we ever need to conduct a cognitive, academic, or behavioral assessment of...ok no...there is no way for me to use my professional expertise to aid this or any project in Scripting and Engineering.  But I certainly am an interested observer, and it is good to know you're committed to continuing to work with VII, especially since your work revolves around the PSX version.  Keep up the good work, and I'm very glad to see the collaboration between yourself and other qhimm members!
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-18 11:02:08
Hey nfitc1, I have a soldier 1st class **da file and model (with Zack head and sword) that uses a controllable enemy **ab file (I have a Reno, rude, Rufus, dyne etc) taken from grimmys battle lgp in his shinra mod. The animations such as idle, attack, getting hit etc work fine, just needs a couple animations added, changed, could u help. Think ur the only person who can.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-18 22:28:01
I did some things on enemies da and ab files, however if I could help you here depends on what exactly you want to do?

Badaway, thanks, Nfitc1. With the wiki and threads like this one I figured out many things I dreamt of.

 
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-18 23:40:46
hey quid when im casing magic he does the pose of soldier first class when casting sleepel n stuff but doesnt stick his arm out like the 1st class also give him magic cast pose for items and maybe change animation for 2x and 4x cut as soldier 1st class has 2 animations for these. but ive never hexed before so its really hard to understand.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-19 03:35:21
But do you want this character to be playable and replace a other party member or is it a enemy in battle?

If it is to play it, you don't necessary need to do hexa code in ab and da files, but you will need the kimera tool.
The most simple way for this one, replace Cloud's head with your Zack head, then the not so simple but doable part if you have the patience, rework Cloud's animations in kimera so that your Zack won't just be a 'Cloud clone' when he move.

If your Zack is for a enemy to fight and you don't want him to look like a clone of the first class SOLDIER when he move, same thing, but if you want to add him new moves as well, then yes you will need to do some hexadecimal.

I can help in the second case with the hexa code, send me your Zack 1st class files and I will put him some new animations templates that you will then be able to reshape in kimera for item throwing or other new moves, with corresponding new 'ab sequences' that you will later link to in the scene.bin with proud clod tool, or I can explain how to do it yourself,  but the kimera part of the job you will have to learn as it's something that can take time, and most likely be ready to fail a few times before you get it right, I sure failed more than a few times on my end.

Ah, if it's for the first case, a playable Zack, I can't help you to add him new moves, none that will actually be selectable in game anyway, with the enemies you can control their moves\attacks and corresponding animations with the scene.bin, however for the playable characters it's different and I woudn't even be sure where to start to add a new selectable command, if you think of things like that.
But the playable characters already have all the required animations to work as such, except for Sephiroth who lack death, cover, 2X 4X cut, poses for inflicted status, and maybe a few more other animations, so I really recommend you to use a already playable character template for that case, and as I said just rework it's animations in kimera to fit whatever way you see Zack moves and style.     
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-19 08:08:53
Hey quid, my Zack already uses the animations of soldier first class enemy and is controllable, I just need to link the **ab file to a couple things in the **da like I said, but I don’t know how to hex, kimera  won’t work I already have animation of soldier 1st class working so no need to edit the actual animations just need to link **ab file magic cast script etc to magic cast animation of the **da file I think.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-19 09:30:26
https://files.fm/u/48kbf5se4

heres my zack battle model using a controllable enemy rude **ab file.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-19 15:58:36
Ok, I replaced the animations called for magic, E.skill, and summon in your ab file to match the sequence done by the SOLDIER 1st.
I also replaced the items throwing with a quick and unique animation, the number 9, before it was set to the idle anim 0.
I cheched the file structure, though quikly but it seem good enough to get through the game, except for the death anim call which call a animation that doesn't exist, the number 10 in hexa, so the 16 but as you might know, your template anims goes from 0 to 15.
And I don't think that stuffs like manip, d.blow and others are all pointed to fitting animations either, but I looked only quickly as I work on my mod, so you will tell me what else might need a repointer.

A playable character death anim is only one frame so it's really not that much to do in kimera, I can add you this new 16 animation in the da and all you would have to do would be to rework it in a single frame that match, but tell me if you want to do it. Otherwise, you could get through the game if you manage without your 'Zack\Cloud' ever falling to 0hp, or you will likely get a freeze or a crash when that happen.
A other, dirtier solution would just be to point the death anim call to the idle anim and that would at least prevent the crash or freeze.

And, ah yeah, I am not 100% sure that I isolated the X2\X4 sequence in your ab, they are slighty different that in the files I studied, I will have to test them to be sure, so I didn't touch them for now. Anyway, the ab file with magic and items repointed:
https://ufile.io/42dlkx0m
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-19 16:31:13
thank u so much buddy i really appreciate it, I will test it now. :)
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-19 17:00:02
Thats amazing m8 cant believe u done that so good, he now has the magic cast pose and that item cast is amazing just puts his hand out :) what about magic cast pose for limits and as for the 2x cut i was thinking animation 11 and 12 also 11 and 12 for victory pose maybe but im just happy with what uve done, amazing work.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-19 17:11:04
also i noticed when hes attacking he goes through enemy slightly whereas when i used the rufus ab he jump attacked for normal attack animation but didnt go close enough to enemy. dont know if u know anything about this though.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-19 17:14:32
https://files.fm/u/m8t86vzwd

heres the rufus ab so u can c what i mean, his normal attack is the soldier first class normal attack but doesnt go far enough.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-20 02:14:02
Yeah, after a more thorough look, some other sequences need to be adjusted, including the attack command. The thing is that it look a lot like the sequences for the other physical commands like 2X cut and so on, so I definitely need to test them to be sure of which is which in your custom rtab file.
I will do that when I get back home from my day.

About the victory pose, currently it is set to 0F, so anim 15 in decimal, if it's good for you I will set it to anim 07, which look more the part of a pose than 11\12?

And about limits, I had forgotten them since I rarely work on playable chars battle files but these animations aren't stocked in the da file, they have separate files in the magic.lgp, though they also  seem to be called by the ab file, in the last calls. I will have to check them too, that they call the right anims ID I guess. Your Zack limits will probably look like Cloud's, but I will see if some fast customization can be done, it shoudn't be too complicated with the braver limit at least, and will see about the others.
Hell, since I am generous I might even do that new death\ko anim for your custom Zack, I have done plenty of those for my mod's enemies, they aren't such a investment when you have taken the hand at it.

Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-20 08:25:02
Wow Quid that sounds amazing, n yeh go with what animations u feel would look best, I can’t wait to c what u do, ur too kind buddy I can’t wait to hear back from u :)
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-20 14:37:26
It seem you are in a lucky strike, I saw by opening your rtaa and rtda that your custom Zack has the exact same geometry than vanilla SOLDIER models, (which should be logical but it could have been changed) and so I was just able to inject it in no time 7 new animations that I made for enemies SOLDIERS from my mod, and I copied as fast the anim 7 from the template to interpolate it, which make a not so bad victory pose actually.

Anim 16 : ko

Anim 17 : wounded idle

Anim 18 : escape

Anim 19 : throw item (ally)

Anim 20 : throw item (ally)

Anim 21 : victory pose

Anim 22 : throw item (ennemy)

Anim 23 : throw item (ennemy)

Also, well it seem I don't need to test too much to find what is what in the rtab, by comparing yours and that of the vanilla Cloud I am managing now to fill most of the mismatched animations pointers I wasn't sure about before. In a hour or so you should be able to see all that in game, even stuffs you didn't ask. I guess I took the excuse to check more on the playable versions of ab files.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-20 14:50:31
 OMG quid that Is phenomenal I’ll be refreshing this page up until that
Point lol 😂 I can’t wait to c this in game, amazing stuff man, Im exited to c what u have done
Uve pretty much completed my Zack character  :-D
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-20 16:26:32
Not yet completed, but for a fast job I am not far to be there:
https://ufile.io/7s3hix1m

You need the three files this time of course.
In quick addition I filled in several stuffs like cover, the jump forward\backward in the change command, fixed the attack...

I found the 2X cut but didn't change it just yet, I have been suddently annoyed by some dummied out sequences that I am not sure should be this way as I was nearing the end of the custom ab file. So I will take a little more time to test these, probably tomorow before finishing up and checking the limits call sequences last.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-20 16:47:09
hey quid just tested there, when attacking sometimes if i miss the zack stays in a forward position but animation i perfect, also there is no sound or effect when using an item with zack. just minor things though.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-20 17:28:00
Also looking forward to the 2x and 4x cut, think they’re called sword of doom and quadra slice on soldier first class. Amazing work though buddy he’s just like the soldier 1st class now  :-D
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-20 18:22:54
Think maybe old item animation works better as he doesnt turn when using potion on allies anyway. but ur the one hexing so u decide lol
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-21 01:43:13
hey quid just tested there, when attacking sometimes if i miss the zack stays in a forward position but animation i perfect, also there is no sound or effect when using an item with zack. just minor things though.

Hm, I changed the AB sequences to simplify the attack, and because there was a double display on item use, I took some sequences I know work on ab enemies, but I must not have retested the items after or I would have noticed. And he should turn toward target, must have forget to put back the opcode. I will fix these later when I finish, no worry. 
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 01:47:59
Thank u quid, u really are amazing at coding, was beginning to lose hope till I met u lol I look forward to hearing from u again buddy.  :-D
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-21 02:29:30
Glad you enjoy, I am better at scripts than graphics and my animations aren't all, hm, perfect, but I did so many of them that sometimes I sure was burned out to work even more on them.

I spotted the issue with the attack after a miss, it is in one of the ab sequence I wasn't sure about what it is for, but it won't be hard to fix when my day is over.
Meanwhile I did a quick fix on the items command:
 https://ufile.io/c25j4766
 
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 10:47:26
yeh that fixed the item command now, looks much better also amazing stuff quid, and ur animations are on point, its really hard to do what uve done.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-21 16:13:29
Almost complete, the only thing still amiss are the limits. A custom version of Braver is working, but I will have to do the others in the week-end. At least using a limit that isn't correcltly set up won't crash the game, in my test it just skip the anims it can't find, so before I put the last touch:
https://ufile.io/f6v9rxm6

Everything else is normally working, nothing jumped at me while trying most commands, as well as it could be done this fast.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 16:16:00
Amazing quid will try right away, can’t wait to c the braver limit    :-D
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 16:37:18
hey quid everything is awesome the 2x and 4x cut work amazing, only 1 thing, i used another limit, meteorain and instanly won the match without killing enemy LOL  :-D
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 16:45:35
that braver is phenomenal quid ur amazing
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 16:52:27
n yeh all the other limits make me instantly win the match when i use them, braver is amazing though, also i dont know if u done this on purpose but at the end of 4x cut he does animation 11 instead of 15 for the final slash , also the 2x cut is animation 12 then 13 i think but is it possible to have it animation 12 then 11. Also noticed u changed deathblow animation to animation 11 amazing  quid

Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-21 17:44:03
I thought 11 was maybe a little original to finish the 4X cut, but if you prefer I will change it to 15, and 12 11 it will be for the 2X cut then. Coming tomorrow with the other limits in working state. It's interesting that it is actually possible to have the limits ignore their special animations files in the magic.lgp and have them point to other animations from the da, interesting and cool.

This all exercise was cool, I noticed some possible use for opcodes I didn't know what to do with before, and I did a good general mapping of the playable versions af ab files which could come in as much handy, so thanks for motivating me at doing it.

Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 17:47:05
Absolutely quid I’m just happy to have met u, u didn’t have to do this for me but u did, thank u so much 🙏
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 17:48:41
N yeh the soldier first class does normal attack then animation 11 for his 2 x cut and he does animation 12 13 14 then 15 for the 4 x cut I’m sure, will double check though
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-21 18:36:40
I had a look at soldier first class animations and the 2x cut is the normal attack my Zack has into animation 11 and the 4 x cut is normal attack animation into animation 13 then 14 then 15 n that’s awesome about the limits quid at least u taught urself something new, a lot of people would love ur skills for modding
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-22 06:51:27
I turned the 2X cut strikes into 04 11, it give it something a little original but if you want it exactly like the 1st class, I will re-adust to 04 13 or 12 13. Replaced the finish of the 4X with 15 so that one should be close to the 1st class.

Limits braver, cross slash and blade beam are done and not so bad, though no pun intended, I have to work with limits when it come to limits. The special effects and cameras aren't all set in the ab file here, so I have to make sure the animations I choose synch well enough, also, this is the end of the file and increasing it's total size is a very bad move, invitation to unfixables glitchs or worse, so I have to work with very little space, can't try too many changes in the opcodes lengh to smooth the sequences.

Currently I am working on climhazard, meteorain and finishing touch, they should turn out good enough as well, but due to above limitations I am a afraid for Omnislash, not sure how this one will turn out, will do what I can though, I just doubt it will look even vaguely worthy of a 4th limit. Still, have to put something since Cloud's Omnislash won't do, the models having different geometry and bones number.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 07:34:40
Wow quid that’s excellent, n don’t worry about it looking to good as long as the move functions it should be fine n can’t wait to try ur other limit breaks buddy n yeh whatever u feel would look best as u know by how frames n stuff, can’t wait to try this out quid!
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 07:43:35
N yeh 4 and 11 for 2x cut is good buddy also 4 x cut with 15 at the end is fine to buddy.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 08:37:01
Is animation 11 the jumping slash? That’s the 1 the soldier does for his doom sword/2x cut.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-22 09:37:52
The sword of doom doesn't use anim OB\11 from a look at it's ab sequence, in fact I copied this exact sequence to replace your Zack normal attack, and the high jump effect part is likely produced by the use of the opcode D0 there.
It must be the quadra-cut that use anim 11 but I didn't need to look at this sequence.

So, well, I think it's the best I am able with this customization for now:
https://ufile.io/mphwyrlg

Blade beam and meteorain are probably uninspired but they do the job, and I think Braver, cross-slash, climhazard and finishing touch aren't too bad at all, like this Zack, he isn't so bad at all at the end.

Err, I gave up on Omnislash for the current state of the model, I just can't see any way to produce anything that remotely fit the setup needs of the real Omnislash with the animations currently integrated and the lack of space in the ab file. Some new animations, at least one where this Zack make a equivalent number of slashs in 46 frames would be the best, and maybe the only way to have him perform this limit, well I will think about it but right now I don't see a alternative.
I still replaced the animations, maybe it will "work" to at least not bug the fight, and maybe it won't, didn't even want to try this one in game.
Fortunately, you don't have to use limit level 4 so...

Maybe if I decide to have a Zack fight of sort in my mod, I will make animations that could fit, but so far I am undecided on this. But if I decide it later, this repurposed 1st SOLDIER would definitely be a very good base for sure.

Well, in case it could help someone, my 'map' recent notes on the ab file of Cloud: (The real unmodified Cloud)
Code: [Select]
From offset 190h, after the 'header' section

00 FE C0: IDLE (00)
01 FE C0: WOUNDED IDLE (01)
10 FE C0: Some damaged pose, paralysis status maybe?
E5 06 F1: KO
B3 F9 03 ED E3 EE: Jump forward, change command (for under small status I think)
B2 F9 03 B1 03 B1 E3 EE: Jump forward, change command
B3 F9 04 E4 E3 EE: Jump backward, change command (for under small status I think)
B2 F9 04 B0 04 B0 E3 EE: Jump backward, change command
0F F2 E5 EE: damaged\regular hit taken
10 11 F2 E5 EE: damaged pose 16 (paralysis?) then go back to idle with 17
12 F2 E5 EE: damaged, like when taking a hand grenade for instance
05 E5 EE: Dodge, Evade anim
AB 90 01 00 00 08 F4 0F F3 FA E5 A6 EE: Cover
13 E5 EE: enemy skill learned
18 19 E5 EE: A other dodge? Not sure when these moves are done?
B4 02 F1: victory pose
95 07 FE C0: Escape
C4 90 01 06 07 FE C0: Escape vanishing I think
04 FA E5 EE: jumb backward again?, is it used?
E7 00 F1: No idea what this is for, the 00 is a byte, not a anim call
E5 C4 90 01 06 12 E7 00 F1: A other call to damaged anim 18 but that one should make the character move position while it happen
E8 FC 03 ED E6 EA 0C 0D EC 0E 04 FA E5 EE: magic cast
E8 FC 03 ED A4 EA 0C 0D EC 0E 04 FA E5 EE: E.skill cast
E8 FC 03 ED A5 EA 0C 0D EC F4 0F F3 0E 04 FA E5 EE: Summon cast
E8 FC 03 ED D8 06 15 00 09 EA EB F4 0A F3 04 FA E5 EE: throw curative item
E8 FC 03 ED D8 06 15 00 0A EA EB F4 0A F3 04 FA E5 EE: throw damaging item
FC F0 D8 00 1A 00 1A D1 B0 04 00 00 04 F0 1B F7 01 1E 1C FA F0 1D E5 EE: attack
FC 03 ED F7 10 1F 04 FA E5 EE: slash all\flash
FC F0 D8 00 1A 00 1A D1 B0 04 00 00 04 F0 1B F7 01 D8 01 D6 02 16 F4 06 F3 26 FA F0 1D E5 EE: Steal?
FC F0 D8 00 1A 00 1A D1 B0 04 00 00 04 F0 1B F7 10 21 28 FA F0 1D E5 EE: D.blow
FC F0 D8 00 1A 00 1A D1 B0 04 00 00 04 F0 1B F7 10 20 27 FA F0 1D E5 EE: morph? second level?
FC 03 ED F7 01 20 04 FA E5 EE: morph? first level?
FC 03 ED F7 01 14 F4 3C F3 04 FA E5 EE: sense
FC 03 ED F7 01 14 F4 5A F3 04 FA E5 EE: sense, which one is used? Both?
FC 03 ED F7 13 15 04 FA E5 EE: manipulation
FC F0 D8 00 1A 00 1A D1 B0 04 00 00 04 F0 1B F7 01 1E 9E 00 F7 01 22 23 FA F0 1D E5 EE: 2X cut
FC F0 D8 00 1A 00 1A CC 04 CB FF E8 03 FE FE 00 08 08 F0 1B 1E F7 03 F4 06 F3 1C FA F0 1D E5 EE: Mug?
FC F0 D8 00 1A 00 1A D1 B0 04 00 00 04 F0 1B F7 01 1E 9E 00 E5 BD B0 04 00 00 F0 F7 03 22 9E 00 E5 BD B0 04 00 00 F0 F7 03 24 9E 00 E5 BD B0 04 00 00 F0 F7 03 29 1C FA F0 1D E5 EE: 4X cut
E8 FC 00 E0 EA F4 19 F3 EC F0 D8 00 1A 00 2C D1 B0 04 00 00 04 F0 2D D8 06 30 00 2E FA F0 2F E5 EE: Braver limit. Limits note:I don't know how the game sort it out, probably through the exe, but here it consider that anim 00 01 02 and 03 from blaver.a00 are anims 44 45 46 and 47... 
E8 FC 00 E0 EA F4 19 F3 EC F0 D8 00 1A 00 2C D1 B0 04 00 00 04 F0 2D 2E FA F0 2F E5 EE: Cross slash limit
E8 FC 00 E0 EA F4 19 F3 EC 2C 9E 00 EC 2D E5 EE: Blade beam limit
E8 FC 00 E0 EA F4 19 F3 EC F0 2C D8 00 1A 00 FB 40 06 00 00 F0 2D D8 19 30 00 A8 26 08 2E FA F0 E5 EE: climhazard
E8 FC 00 E0 EA F4 19 F3 EC 2C E5 EE: meteor strike
E8 FC 00 E0 EA F4 19 F3 EC 2C E5 EE EC E5 EE 00: finishing touch
E8 FC 00 E0 EA F4 19 F3 EC 2C 2D 2D 2E FA E5 EE: omnislash
   
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 10:24:38
That’s amazing quid looking forward to trying it out, im just at work, will test when I’m home in 1 hour, n nice work on the breakdown buddy this will be very useful for people I’m sure, amazing work quid
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 15:35:47
Amazing quid, just amazing tested all the limits and  that cross slash is perfect
Climhazzard is a little buggy, makes Zack go off screen, meteorrain is perfect as it looks like a magic attack, finishing touch is the same looks perfect, also omnislash is amazing at the start of it he stand still for a little bit at the end but u made him hold sword up and stuff amazing m8 it works fine  :-)
Also that 4x cut is the best 4x cut of any character lol amazing stuff!
also think u were right about 2x cut it’s not the same the first class soldier does his normal jumping attack into big jumping attack for doom sword/2x cut,the first slash doesn’t look right  also on second hit of 2x cut the slash marker on enemy happens as he’s jumping and not when coming down is this fixable? Thank u quid
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-22 16:28:30
Yep, the level 2 limits in particular were a little bitchy to synch about right with the camera, Zack may be a bit off camera sometimes but he return to his correct row after, right? He didn't  move off camera one the limit was over in my test.

For the 2X cut, yes the sequence isn't adjusted to reproduce sword of doom, it was just faster, though I saw the slight bad synch with anim 11, which doesn't happen with anim 13 as the second slash:
https://ufile.io/i9mewjv1

Glad you like the rest, even omnislash? I will try it to see how it render in game then, maybe this will inspire me to make it better. Tomorrow I will give a other shot to level 2 limits, see if I can calm down the camera angle or something else, and since the rest is done about right, I will also experiment better on the  2X cut in sword of doom style.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 16:35:51
nice quid and yeh omnislash looks awesome he just needs a few more slashes at the end and it would be like original omnislash lol its awesome and yeh thank u quid cant believe how much uve done in such  little time, it would take me years to even learn this LOL
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-22 16:52:01
ah 1 more thing quid, the sequence used of doom sword for my normal slash for my zack could u make that the start of both 2x cut and 4x cut, think thats the way the soldier 1st does it, the 2x and 4 x cut on my zack currently,  when using the first slash with bigger enemies, zack clips through them and is slashing inside their body, i just noticed.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-23 07:32:23
I previously didn't look at the 2X\4X cut sequences with enough details, but I am on to it now.

2 questions, would you prefer the 2X\4Xcut exactly like the original 1st SOLDIER does them, or do you prefer the 4X cut style like it is now, + the 'jump' effect at the start?
And so I can be sure that I figured the issue, the normal attack doesn't have position problem against any ennemy right?
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 07:48:19
I would prefer it exactly like the soldier but If u can’t do it the jump normal slash at start of 4 x cut would be fine too as I thought it was the same lol the 2 x cut I would love to be same as the soldier that’s more important I think as 4 x cut is really similar  n thank u
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 07:53:53
And my Zack normal jumping attack doesn’t have position problems just the start of 2x 4 x cut
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-23 09:26:25
Well sorry, it look like you will have to do without the jump at the start of 2X\4X cut. The opcode D0 of moving position, the one that actually make the jump effect part that work well enough in the normal attack just won't work that good with 2xcut\4X no matter what I try, it make the sequences bug, and I mean big bug. D1 must stay here as I don't trust the full real sword of doom to work well in every case for a playable character.
At least I managed to recalibrate the delay for animation 11 to synch well as the second slash of 2X, and to I think fix the position issue you told me, so it's not so bad.

I am trying one last experiment with limits, and I post the fixed file.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 09:30:36
Ok that’s fine quid it should look similar to the soldier first with the fixes anyway buddy, can’t wait to try it out.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 09:37:50
https://youtu.be/0HQZQmNqj5E

I found this, it’s sega chiefs new threat 1.5 that has enemy boss Zack with soldier first class animation looks similar to yours like meteorain and stuff
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-23 11:25:26
I tried to free up some space, make some room to maybe improve Omnislash, but it disturbed several other commands to have their start offset to be moved, which was to be expected. I changed the second anim of blade beam, it render a little better.

And the position stuff for 2X\4X should be alright now:
https://ufile.io/ybu3480e

New animations  that fit Omnislash sequence would really be the cleaner way anyway.
Sorry about the jump start, but is it really so important? I could have copied sword of doom, but as I said I am unsure it would fit a playable char, maybe maybe not, it ironically took me more time to try and make the jump start work than it took to do everything else, and I think this Zack is really decent now, except for the 4th limit, especially for a side job.

Setting up a enemy fight and a full playable char don't have the same requirements, a enemy only has to work in the fights you set them up, and the playable char has to be good enough in every fight. It's also a different process to set up the attacks and other stuffs.   
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 11:35:46
Obvcourse brother I’m just happy ur doing it for me quid n everything is fine anyway I was just being picky lol , I’m at work for another 1 and a half hours, will test as soon as I’m home buddy n the omnislash is fine buddy it looks great.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-23 12:34:33
At your work place on a sunday? That's rough, I didn't have to do that since years and years ago. (Or you are somewhere where it's not sunday yet, I constantly forget time zone lags even when I travel a lot)
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 12:37:44
I work weekends in a shop buddy I’m in UK time is 1.33 pm I finish at 2 😂
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 16:04:39
Quid that fixed the issue with positioning and I have to say that 2x cut is amazing m8 don’t think u could get it any closer to doom sword 2nd hit is perfect 🤩
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-23 17:38:30
all animation are looking good quid, The 2x cut and 4x cut are basically the same as soldier 1st and all limits are fine also, my fave is meteorain for some reason LOL uve done an amazing job m8, the climhazzard limit is still buggy but works fine n love the low health animation, reminds me of the 2 headed monster in shinra mansion staggering.also the death animation is like every other death animation, perfect
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-24 01:30:09
Well, this is great, but hold on to your sit because I just had a vision while waking up.

First, it downed on me that a few other commands were probably having slight position issue, so I fixed them all. D.blow and so forth, even Braver and Cross slash.

And, I was WRONG about increasing the file size being a bad idea, at least I just was able to increase it enough to make a good and FULL Omnislash!
During previous attempts at increasing I probably upseted something else, increase size can be done at least to a point, and so:
https://ufile.io/4ofopgnh

Can't find any problem during my quick test now, like you said Climhazzard camera isn't great but that one might not be such a bad thing given that fitting animations were scarce. Give me news of that Omnislash, mhm ha ha...
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 01:42:35
Ohhhhh very nice quid it’s half 2 in the morning but I’m firing the game up to test it now I can’t wait LOL
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 01:58:03
OMG quid u smashed it lol that stab at the end it phenomenal and every slash connects with sound and graphic in sync lol how did u do that  :-D LOL ur too good at this m8
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 02:01:09
Also yeh deathblow is better now, was already great n uve made it better somehow lol
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 02:07:59
Positioning on braver and sword slash is better to think I only used these on small enemies before that’s how I never noticed positioning was off. That omnislash though  :-o he even holds his sword up before final slash like he’s charging with the sound effect in sync that’s amazing m8
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-24 02:44:10
It is mostly a huge lucky break that it work so well, for the Omnislash setup in the kernel.bin and maybe other files I am not sure of, happen to do most of the work in this limit case. All I did was to add +11 anims call to the sequence, finishing with 0F\15 before the opcodes that return the char to it's start position so he will do that too, and voilà, bingo, somehow this all synched well enough. Didn't think it was safe to try before, but I was wrong then.

It's very early for me too but I mod intensively these days, and I get up even early than usual on most days, starting with a little modding already before going to work.

Badaway, I forgot to ask but this is a very cool Zack head, did you make it?
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 03:04:40
Yeh I made the Zack head with help from sega chief through kimera, it’s the Zack field model hair attached to the Kaldarasha Zack head I think but it could be better sega showed me how to go about doing it by deleting textures from field model head. N amazing stuff quid, uve been modding non stop for over a week I think lol I look forward to it, I wake up and look for ur messages LOL
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 03:07:28
I have a better body for Zack I can send u too if u want, I just like the soldier first body cause it looks old school lol
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-24 15:27:57
I am the king of morons and the prince of inferior beings. Or that is how I feel right now. Since months I have been preparing a cargo load of battle files, and working like a blind fool on defining the script animations indexes of each... Because this:

Quote
Now the second group. Script headers. Just like it is in text files and AI script blocks, these point to a raw memory address within the file to a script that defines an animation group for an actor. These don't get stored anywhere. Instead they are translated, but I'll mention that later. There are no more than 74 scripts in these files. Players use all of these, while enemies typically need less than 20, though those are bosses.

This totaly and utterly escaped me until right now. I just realized it while comparing my recent notes to some infos I kept from threads like this one, the index table is of course within each ab file, I just, I was just a moron in such a hurry that I had never studied the header section hard enough past the third byte. And I still could have never done it until who know when if Nico's exercise didn't remotivate me to study some things I thought it wasn't so important to look at too hard.

Well, I have some clean up to do in my cargo load I think, and probably a few improvements also.

Thanks, Nico, but I already made everything I need as far as models goes over the last few years, though my development history is chaotic to say the least.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 15:34:52
No problem quid and what does this mean could do some stuff u thought u couldn’t inside ab file?
N yeh uve been modding like a maniac, the amount uve done while still going to ur job is crazy lol
N well I’m glad I motivated u cause no one else could do what uve done I think, I couldn’t find anyone to do hexing until u, and I searched lol
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 15:41:55
Oh does this mean u could do the animation of enemy’s exactly the same?
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-24 18:05:28
This mostly mean that when I create new scripts sequences in a ab, item throwing to take a example I did a lot, I was never supposed to run 10x time the same test after that in game to know what the correct index to assign in proud clod was for this new sequence. It's like I was litteraly running blind on this part.

And now I understand how the indexes are organized, I can choose at what offset my new sequences start and what their index should be, this is a LOT easier to keep in order and faster to work with on every front.

This work is something that started quite a while back, and I often took long breaks when fed up or just too busy\with other interests to pursue. If I had all my time this would be something else, but well, I probably woudn't want to do that all the time anyway.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-24 18:11:03
Ah so it will make it easier for u to mod, that’s awesome m8 so uve been making it harder for urself this whole time by doing it manually lol I have something else to ask u, did u ever make a sephiroth battle mod, I have a version and I’ve edited every field in the f level to change cloud into real sephiroth with animations.
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-25 02:50:42
I have a improved Sephiroth but his missing animations still need some work, which is currently suspended, and since I don't intend to make him fully playable I didn't bother with several of those missing anims like Flash, steal and so on.
Though your Zack gave me new ideas for my Sephiroth improvement, I keep them for the appropriate time in my progress before deciding what else to do.

So no real ready to fully play Sephiroth boy in my boxes.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-25 10:11:41
Well if u ever do complete ur sephiroth I would love to use him in my mod I’m using imperus sephiroth in my mod by meesbaker but with normal sephiroth model not coatless but uses clouds limits with no animations everything else is good I think.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-25 10:15:22
I’ve also put together a Zack mod with the Zack u created, it has a few other surprise characters added and I’ve edited the flevel for said characters, would u like me to send u it, would love to give u something for everything uve done.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-25 12:27:26
Oh and 1 more question, do u know if it’s possible to give playable characters enemy attack sound effects and hit marker/Tex?
I know I can edit player character weapons through wall market editor but don’t know how to add enemy sound effects only player character ones
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-25 15:36:29
Ah you know, it didn't take me as much time or work as you seem to think, or I would have pointed you to the wikis pages where a lot of pionering work was published on the matter and helped you to get started at the best I could have, I am just quite used to read ab hexa battle anims scripts by now so it wasn't that big to do, and it also helped me.

Badaway, why not give it a try with your Sephiroth? Follow my mapping of rtab group scripts and see what kind of Sephiroth's animations you can change, maybe add to the one you have as template, you know, like they say, the best way to start is to get your hands dirty, and breaking things before you can figure how they work. If your template is based on saab, don't worry, the base structure is very similar between playable ab, and saab is less complicated since saaa was originally done with less moves in mind.
Where is this page again... Damn wiki, it changed again or something, well here it is from my notes:
Code: [Select]
Any code less than 8Eh is treated as a raw animation index to be executed.
Code Arguments Effect
8E Turns some flag on (Can only be executed once)
8F Unsets whatever flag 8E sets
90 byte, word Change color [byte] in texture of currently used CLUT to [word] (Might apply to all textures or just first texture. Not sure. It was written with the understanding that it's only going to be used on Emerald Weapon's eyes. ie, it will only affect enemy slots 2-6)
91 byte After a [byte] frame delay, do ???
92 Suspend ATB (Cannot undo)
93 Fade whole screen to black (battle still continues)
94 word, word, byte Rotate [word0 - word1] units in steps of [byte] (a unit is 360/4096 degrees)
95 Used for escaping
96 byte, byte Barret's muzzle flash beginning in byte0 frames lasting for byte1 frames
97 byte, byte
98 byte Displays action's name in [byte] frames
99 byte, word, word, byte Used only by some of Yuffie's and Cid's Limit breaks?
9A word, word Unused, but same as FB
9B Sets a flag that BD also sets (unknown effect)
9C Sets min;max volume to 1;127
9D byte (0-6 inclusive) Something to do with Tifa's limits
9E Pause here until all animation/damage handlers are finished.
9F Unused to unset flag that 9B and BD set
A0 byte Used by Carry Armor's Left Arm's 'Grab'
A1 byte, byte Do [byte0?] at [byte1] frame intervals (byte1 definitely increases frequency of damage counter appearance during multi-hit actions)
A2 byte Performs transformation a la Vincent's Limit Break set by AC and play animation script [byte] of new model
A3 byte Looks like it should change effect volume to [byte]/128, but in practice seems to mute them.
A4 E.Skill charge effect (remains stationary on actor's position when called)
A5 Summon charge effect (remains stationary on actor's position when called)
A6 Return defending actor to original position (slightly different from FA)
A7 byte
A8 byte, byte Wait for [byte0] frames then interpolate actor's current position back to original position in [byte1] frames
A9 Used in idle animations* (A9[][00] this increment script pointer by 2 and execute animation on second pointer.)
AA Continue camera scripts (if it was paused before).
AB word, word Move to position [word0, 0] relative to target of current action (word1 is ignored; used during "Cover")
AC byte Set character transformation to [byte]
AD byte, word, byte, byte AD[joint XX][distance XXXX][start XX][end XX] Attach effect machinegun to given joint with given distanse from this joint which starts and ends at given number of frames. Always machingun fire. If end 0x80 byte is set then we do not add shell effect.
AE Removes target from battle and resets some things
AF byte Used by Carry Armor's Right Arm's 'Grab'
B0 No noticeable effect while used in a script
B1 Almost identical to B0, still no effect
B2 Duplicate of C9; could be considered a NOP
B3 If actor does not have Small, loop until B2 is found (never used)
B4 If Back attack or Pincer attack, make actor face appropriate direction.
B5 word, word, word, byte, word, word Only used by Mu and Trick Play. Something about positioning.
B6 byte Pause camera scripts and play animation [byte] one time. Used to smoothly finish idle animation before start of anything else. Camera paused because we want camera be sync with start of action (this is just finish animation that was already started).
B7 Forces Death Animation (actor is still present and can function)
B8
B9 byte Run init battle cam script [byte]
BA word Forces idle rotation to [word0]?
BB DUMMY; treated like animation script (might crash)
BC byte Set idle cam index to [byte]
BD word, word
BE byte Queue sound to be played and target reaction in [byte] frames (for multiple strike actions [unless Frog status?]) (after wait time ends execute hurt action, effect, sound. This will NOT display damage and barriers effect.)
BF byte, byte
C0 DUMMY; treated like animation script (might crash)
C1 Unconditional "Jump to first C9 from start of script"
C2 byte Queue damage display in [byte] frames (does not play sound)
C3
C4 word, byte In each of the next [byte] frames, move [word] units along the X-axis
C5 Sets the wait timer to a predetermined amount (15 by default)
C6 byte Sets the predetermined wait time (see C5) to [byte]
C7 word, byte Force enemy in relative formation position [word] to perform their [byte] animation script
C8 word, word, byte Set actor's position to [word0,word1] in [byte] frames
C9 Jump destination
CA While background load thread is active, jump to C9 (used to load additional magic effect from separate files)
CB byte, word, byte, byte, byte, byte, byte
CC byte Travel from current position to location that goes between center of enemy party(?) in [byte] frames
CD Jump Destination (CE only); DUMMY; treated like animation script (might crash)
CE byte If actor is enemy jump to CD (Used for frog status)
CF word, word, word, byte, byte Move to [word0,word1,word2] relative to target in [byte1] frames. (byte0 ignored?)
D0 word, byte (0-7 inclusive) Move to position [word, 0] relative to target in either 5 (if byte is < 4) or 8 (if byte > 3 and < 7) or 0 (otherwise) frames
D1 word, word, byte Move to position [word0, word1] relative to target in [byte] frames
D2 DUMMY; treated like animation script (might crash)
D3 DUMMY; treated like animation script (might crash)
D4 word, byte Move to position [word0,0] relative to self in [byte] frames
D5 word, word, word, byte, byte Move to [word0,word1,word2] relative to self in [byte1] frames. (byte0 ignored?)
D6 byte Delay for [byte] frames, then do ??? (similar to 91, but does something else)
D7 byte, byte After [byte0] delay, play sound [byte1] (only used with Grangalan and probably deprecated in favor of D8)
D8 byte, word After [byte] delay, play sound with attackers settings [word]
D9 DUMMY; treated like animation script (might crash)
DA byte Set animation index to [byte] and force command to be magic (UNUSED)
DB word, byte, byte Like 96 and AD without the first byte (UNUSED)
DC byte, word Set some value with [byte] as an index (0-1 inclusive) to [word] (Eagle Gun is the only one that uses this)
DD byte, byte Directly related to DC. Sets some data for an upcoming Effect.
DE byte, byte Nearly identical to DD, but uses different data to set the same data that DC uses.
DF Calculates an angle from the actor to the center of the opposing team's formation.
E0 Limit charge effect (remains stationary on actor's position when called)
E1
E2
E3
E4
E5 Reset actor's standing position
E6 Magic charge effect (remains stationary on actor's position when called)
E7 byte
E8 start load requested effect during attack (attack type id and attack id are used to determinate what effect to load).
E9 word, byte
EA Display Action's name
EB      Item loading effect (As in replace EC in item throwing, if playable character only though it would seem)
EC If effect not loaded we will call this opcode until it does. For magic, summon, limit, enemy skill and enemy attack we execute loaded effect. All effects are hardcoded so they can do whatever they want (play sounds, display damage, request hurt for target and so on).
ED
EE Run Idle Animation script
EF DUMMY; treated like animation script (might crash)
F0 set effect (foot_dust).
F1
F2
F3 decrement wait time until 0, then continue script
F4 byte Set frames to wait [byte]
F5 byte
F6 play die effect (depends on die type) if unit is dead. Used in enemy hurt actions.
F7 byte Play sound effect, queue reaction, and display damage [byte] frames from this point. This will display damage and barriers effect.
F8 byte Advance texture animation (among other things?)
F9
FA Return actor to previous position
FB word, word Move to [word, word] position relative to target
FC set direction for targets (delayed) and attacker acording to situation.
FD word, word, word
FE byte If byte is C0h, End of script.
FF Duplicate of EE
NOTES: A9 - This skips the next byte and causes it to play the animation in the byte afterwards before moving the script pointer to the third byte. It looks like this does some "clear state" action every time the idle script is executed, but the idle scripts all cause loops so this is executed after returning from any other animation. Most enemy idle scripts are

A9 C9 00 C1
while a few enemies and all playable character's idle scripts read

00 FE C0
They seem to translate to the same thing.


To begin translate a bit the opcodes, and when you're not sure of what is a byte, a word, or a animation. A byte is one byte, 09 or whatever else, and a word is 2 bytes, 09  01 or whatever else.
Advice, in playable chars case, don't move the start offset of a sequence, in fact start by making the difference between the three things above before anything else. And backup files, of course. At first manage without upseting the structure. And re-read Nfitc's post here, better than I did as you learn things. 
 
Oh and 1 more question, do u know if it’s possible to give playable characters enemy attack sound effects and hit marker/Tex?
I know I can edit player character weapons through wall market editor but don’t know how to add enemy sound effects only player character ones

I would appreciate knowing how to do that, especially the tex effects part in the reverse case, from the playables to the enemies, and there are a few things possible with ab's opcodes regarding sounds and a few tex stuffs like magic auras charge, but not the other things I would like so far. So no, I don't even know how exactly the game sort out which playable commands to use, while with the ennemies these things are easy to see in the scene.bin wiith proud clod, playable chars follow a other set of rules that seem, less accessible.
But maybe someone else know all that and will eventually travel around this thread.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-25 15:48:14
Thank u Quid I will try it out myself, I’ve never done it before but as u say I won’t learn if I don’t try,
As for the enemy attack sounds, I copied the impact sound of soldier 1st doom sword from proud clod and put it in my Zack attack sound through wall market editor and it works  :-D
Thank u quid uve been a real good guy to me really appreciate everything.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-25 15:52:46
In proud clod enemy’s have 4 digits for there impact sound I just used the last 2
Vincent’s shotgun is the same as Rufus attack sound and animation
Title: Re: (FFVII PC) The **ab files
Post by: Quid? on 2023-04-25 18:26:24
There, you see, I had never looked into the weapon tab of wallmarket before and didn't know you could change weapons sound and even apparently attack tex effect. I would be more interested by a way to make the enemies use the tex effect of some items but there the items animation id don't match with the attack animation id(s) used in the scene.bin, so I often have to fall back on erzatz tex enemies effects that look and sound 'close enough'.
Unfortunately the item tab id isn't shared with the scene.bin it seem, unlike materias.
Title: Re: (FFVII PC) The **ab files
Post by: NicoChirry on 2023-04-25 19:14:41
aw thats crap, im sure there would be some way to do it though, maybe it just a certain part of it cause i made a mistake with my rude to cait sith for one weapon on 1 digit and it was a magic attack sound, dunno which 1 though.