Author Topic: (FFVII PC) The **ab files  (Read 22655 times)

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #75 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.

Quid?

  • *
  • Posts: 46
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #76 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.

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #77 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.

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #78 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.

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #79 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

Quid?

  • *
  • Posts: 46
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #80 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.

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #81 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.

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #82 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

Quid?

  • *
  • Posts: 46
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #83 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.

NicoChirry

  • *
  • Posts: 73
    • View Profile
Re: (FFVII PC) The **ab files
« Reply #84 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.