Author Topic: Question about the final battle of the game (1 on 1 with sephiroth) vid added  (Read 38758 times)

ff7rules

  • *
  • Posts: 423
    • View Profile
Well i wanted to know is it possible to actually make a battle out of it ive looked at him in hexediter and he has two attacks done- in(which im guessing is his animation when you  beat him if so i best not touch that) and cut if i were to change these im sure it would mean bad things for sure, also he has 1 hp ....... right couldn't Squaresoft be abit more creative with that. Well anyway i see the battle has huge potential and if possible i wanna do something with it my questions are 1 is it even possible and 2 i know id need to edit the AI alot thats fine but would it be possible to completely redo his script and make a battle out of it? I think ive seen this done on youtube saintdragon i think was his name.
« Last Edit: 2009-02-24 03:08:35 by ff7rules »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
1. Yes, it's totally possible to make him a better final-battle. There's room for 32 attacks in any scene and his scene only uses 17. Don't touch Done-In. It's very specific attack that needs to stay the same. Feel free to add more attacks.
2. Yes, his AI will need significant re-writing. From TFergusson's Enemy Mechanics guide this is his script:

Code: [Select]
AI: Setup
{
   Sephiroth's [402C] = 1
}
AI: Main
{
   Choose Cloud
   Use <Cut> on Target
   Set Cloud as Self
   Choose Sephiroth
   Use Attack Command on Target
}
AI: Counter - General
{
   Choose Self
   Use <Done-in> on Target
   Remove Self
   RunCmd 0x22/0x0F
}
AI: Counter - Death
{
   Choose Self
   Use <Done-in> on Target
   RunCmd 0x22/0x0F
}
AI: Counter - 13 [Post-Defeat/Battle]
{
   [2110] = [2110] OR 0x08
}

There's plenty of things that could be changed, but don't leave out the Initialize script, RunCmd 22h/0Fh in the Counter-Death script or the Post-Battle script. Since we don't know for sure what they do.
402C is almost certainly "Don't allow death visual". ie, when target "dies" it flashes red and disappears. If this is set then the target won't do that. It's mostly only used in boss battles when the boss has a specific run-away animation.
Command 22/0F and the 2110 OR 08 have unknown functions.
Still, shouldn't be too hard to do.

ff7rules

  • *
  • Posts: 423
    • View Profile
1. Yes, it's totally possible to make him a better final-battle. There's room for 32 attacks in any scene and his scene only uses 17. Don't touch Done-In. It's very specific attack that needs to stay the same. Feel free to add more attacks.
2. Yes, his AI will need significant re-writing. From TFergusson's Enemy Mechanics guide this is his script:

Code: [Select]
AI: Setup
{
   Sephiroth's [402C] = 1
}
AI: Main
{
   Choose Cloud
   Use <Cut> on Target
   Set Cloud as Self
   Choose Sephiroth
   Use Attack Command on Target
}
AI: Counter - General
{
   Choose Self
   Use <Done-in> on Target
   Remove Self
   RunCmd 0x22/0x0F
}
AI: Counter - Death
{
   Choose Self
   Use <Done-in> on Target
   RunCmd 0x22/0x0F
}
AI: Counter - 13 [Post-Defeat/Battle]
{
   [2110] = [2110] OR 0x08
}

There's plenty of things that could be changed, but don't leave out the Initialize script, RunCmd 22h/0Fh in the Counter-Death script or the Post-Battle script. Since we don't know for sure what they do.
402C is almost certainly "Don't allow death visual". ie, when target "dies" it flashes red and disappears. If this is set then the target won't do that. It's mostly only used in boss battles when the boss has a specific run-away animation.
Command 22/0F and the 2110 OR 08 have unknown functions.
Still, shouldn't be too hard to do.

WOW man thanks this helps me sooooo much im gonna do it then im gonna make him a hard SOB :) Also do you know which field file contains the battle and field script because i can't find it anywhere?
« Last Edit: 2009-02-12 11:41:15 by ff7rules »

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
The battle is in the scene.bin file scene232.

The field file that takes you to the battle is called las4_0. Towards the end of the very first script in the file there is a pointer to battle 39D, the formation ID for this fight.

ff7rules

  • *
  • Posts: 423
    • View Profile
The battle is in the scene.bin file scene232.

The field file that takes you to the battle is called las4_0. Towards the end of the very first script in the file there is a pointer to battle 39D, the formation ID for this fight.

thanks very much dude :)  Also do you know if theres a list of where to get the battle IDs i looked on qhimm wiki but no luck if there isn't one i will do 1.
« Last Edit: 2009-02-12 13:18:45 by ff7rules »

ff7rules

  • *
  • Posts: 423
    • View Profile
Sorry to double post but i have some news i think i managed to get his AI script im not sure if its all off it it though

Code: [Select]
0x0000 | 12.PushValue(2060)
0x0003 | 10.PushValue(402C)
0x0006 | 80.MaskSet
0x0007 | 60.PushByte(01)
0x0009 | 90.SetAddr
0x000A | 73.ScriptEnd
0x0000 | 12.PushValue(0000)
0x0003 | 02.LoadAddr(2060)
0x0006 | 90.SetAddr
0x0007 | 12.PushValue(0020)
0x000A | 02.LoadAddr(2050)
0x000D | 01.LoadAddr(4060)
0x0010 | 80.MaskSet
0x0011 | 60.PushByte(10)
0x0013 | 40.IfEqual
0x0014 | 90.SetAddr
0x0015 | 12.PushValue(2070)
0x0018 | 02.LoadAddr(0020)
0x001B | 90.SetAddr
0x001C | 60.PushByte(20)
0x001E | 61.PushWord(03BF)
0x0021 | 92.RunCmd
0x0022 | 12.PushValue(2060)
0x0025 | 02.LoadAddr(0020)
0x0028 | 90.SetAddr
0x0029 | 12.PushValue(2070)
0x002C | 02.LoadAddr(0000)
0x002F | 90.SetAddr
0x0030 | 60.PushByte(01)
0x0032 | 60.PushByte(00)
0x0034 | 92.RunCmd
0x0035 | 73.ScriptEnd
0x0000 | 12.PushValue(2070)
0x0003 | 02.LoadAddr(2060)
0x0006 | 90.SetAddr
0x0007 | 60.PushByte(20)
0x0009 | 61.PushWord(03C0)
0x000C | 92.RunCmd
0x000D | 12.PushValue(2060)
0x0010 | 10.PushValue(4023)
0x0013 | 80.MaskSet
0x0014 | 60.PushByte(00)
0x0016 | 90.SetAddr
0x0017 | 12.PushValue(2060)
0x001A | 10.PushValue(4024)
0x001D | 80.MaskSet
0x001E | 60.PushByte(00)
0x0020 | 90.SetAddr
0x0021 | 60.PushByte(22)
0x0023 | 60.PushByte(0F)
0x0025 | 92.RunCmd
0x0026 | 73.ScriptEnd
0x0000 | 12.PushValue(2070)
0x0003 | 02.LoadAddr(2060)
0x0006 | 90.SetAddr
0x0007 | 60.PushByte(20)
0x0009 | 61.PushWord(03C0)
0x000C | 92.RunCmd
0x000D | 60.PushByte(22)
0x000F | 60.PushByte(0F)
0x0011 | 92.RunCmd
0x0012 | 73.ScriptEnd
0x0000 | 12.PushValue(2110)
0x0003 | 02.LoadAddr(2110)
0x0006 | 60.PushByte(08)
0x0008 | 36.Or
0x0009 | 90.SetAddr
0x000A | 73.ScriptEnd

If this is his script i can see where the done-in animation is  im guessing the camera work is alot of the script too so where can i start making changes since done-in is right at the start or doesn't that matter?

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
The animation and camera are completely controlled by the attack itself. Don't change any of that. Also don't forget that the 32 bytes preceding that script will need to be updated to reflect the beginning point of each script section.

ff7rules

  • *
  • Posts: 423
    • View Profile
The animation and camera are completely controlled by the attack itself. Don't change any of that. Also don't forget that the 32 bytes preceding that script will need to be updated to reflect the beginning point of each script section.

So the series of camera angles at the start is classed as an attack? thats whats confusing me since when i tried just for the hell of it to replace another bos with sephiroth since i don't have any disc 3 data yet and wanted to see if my changes worked with the boss it loaded. Showed sephiroth the black screen but it looked like when it goes to the camera screens it froze and crashed could be because i had 2 people in my party i dunno.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
So the series of camera angles at the start is classed as an attack? thats whats confusing me since when i tried just for the hell of it to replace another bos with sephiroth since i don't have any disc 3 data yet and wanted to see if my changes worked with the boss it loaded. Showed sephiroth the black screen but it looked like when it goes to the camera screens it froze and crashed could be because i had 2 people in my party i dunno.

Oh! If you want to change the camera angle at the beginning of the battle you'll have to change the formation setup at the beginning of the scene. I'm sorry, I thought you were talking about the "Done-In" animation. For that battle those will appear somewhere in this range of bytes in that scene:

0x01C - 0x02F
0x044 - 0x057
0x088 - 0x0B7
0x0E8 - 0x117

Unfortunately, there's not a lot of public documentation on these pieces so I'm not sure what they do. Regardless I believe that intro camera angles exist somewhere in there.

ff7rules

  • *
  • Posts: 423
    • View Profile
So the series of camera angles at the start is classed as an attack? thats whats confusing me since when i tried just for the hell of it to replace another bos with sephiroth since i don't have any disc 3 data yet and wanted to see if my changes worked with the boss it loaded. Showed sephiroth the black screen but it looked like when it goes to the camera screens it froze and crashed could be because i had 2 people in my party i dunno.

Oh! If you want to change the camera angle at the beginning of the battle you'll have to change the formation setup at the beginning of the scene. I'm sorry, I thought you were talking about the "Done-In" animation. For that battle those will appear somewhere in this range of bytes in that scene:

0x01C - 0x02F
0x044 - 0x057
0x088 - 0x0B7
0x0E8 - 0x117

Unfortunately, there's not a lot of public documentation on these pieces so I'm not sure what they do. Regardless I believe that intro camera angles exist somewhere in there.

Thanks again man! i managed to give him deen and an attack that makes cloud HP 1(called Fallen Angel) so its already alot more harder and interesting im sure its possible so im also gonna make sephiroth taunt cloud. Im also gonna try and make him counter attack cloud whenever he uses his sword which will be difficult but ill be adding that towards tyhe end of my mod.

ff7rules

  • *
  • Posts: 423
    • View Profile
Got some news i got it to work cloud has to be on his own which isn't surprising really. I also changed the battle background just to see if it would work and it did nothing was different worked perfect which surprised me abit i don't know why just didn't expect it to be that easy. Now i do have 1 problem it seems no matter how much HP i give sephiroth he dies in 1 hit i know this is in the script but where i thought it was this

Code: [Select]
0x0000 | 12.PushValue(2060)
0x0003 | 10.PushValue(402C)
0x0006 | 80.MaskSet
0x0007 | 60.PushByte(01)
0x0009 | 90.SetAddr
0x000A | 73.ScriptEn

I guessed that pushvalue means forced to do if a certain event is met like say i don't attack sephiroth but he attacks me with "cut" cut been PushValue(2060) and then cloud automatically counterattacks with his normal attack that been PushValue(402c) not sure i thought that would be done-in or maybe clouds attack is the pushbyte im not 100% and im properly MILES off im not with ff7 script editing yet but i did alot for ff6 (ff3) anyway heres a screenshot to prove im serious about this i really want to accomplish a great final battle the way it should of been.



and yes sephiroth has no eyes lol. I know why though its obvious.

« Last Edit: 2009-02-12 19:52:19 by ff7rules »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
If you don't want Sephiroth to die in one hit you'll have to change his General Counter. That's what's causing him to die.
Also, please try to punctuate your posts better. They're really hard to read the way you're doing it.

ff7rules

  • *
  • Posts: 423
    • View Profile
If you don't want Sephiroth to die in one hit you'll have to change his General Counter. That's what's causing him to die.
Also, please try to punctuate your posts better. They're really hard to read the way you're doing it.

Ok. Thanks again sorry about my English. I will try to punctuate my posts better. Im going to attempt to edit the General counter bit of the script now.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Quote from: NFITC1
Oh! If you want to change the camera angle at the beginning of the battle you'll have to change the formation setup at the beginning of the scene.

Whist I was trying some things out after my discoveries in the scene.bin file*, I found that there is something to do with camera angle in the section of the scene file named "battle setup 2" in the wiki (from 0x0058 to 0x0118). After I put the data from this part of the scene232 file into the scene117 file I fought Rufus with the camera angle from the Safer Sephiroth fight.

* BTW, I was able to do this! Nearly all the bosses, one after the other  :wink:

ff7rules

  • *
  • Posts: 423
    • View Profile
Quote from: NFITC1
Oh! If you want to change the camera angle at the beginning of the battle you'll have to change the formation setup at the beginning of the scene.

Whist I was trying some things out after my discoveries in the scene.bin file*, I found that there is something to do with camera angle in the section of the scene file named "battle setup 2" in the wiki (from 0x0058 to 0x0118). After I put the data from this part of the scene232 file into the scene117 file I fought Rufus with the camera angle from the Safer Sephiroth fight.

* BTW, I was able to do this! Nearly all the bosses, one after the other  :wink:

WOW......! Is that possible in the PSX version do you know? I have no clue how you did that but it was awesome! It would be awesome to have a gauntlet like that before the Final boss.Kinda like Chrono Trigger.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
You might want to read the discussion in the second half of this thread. :-) I see no reason why it shouldn't be possible for the PSX version.

ff7rules

  • *
  • Posts: 423
    • View Profile
You might want to read the discussion in the second half of this thread. :-) I see no reason why it shouldn't be possible for the PSX version.

Thanks for that link :) Im gonna try it on the PSX version now i know for a fact Safer sephiroth does work on the PSX version and on Disc one. But when he tries to cast super nova bad things happen. Im guessing its because super nova is a special video only on Disc 3 thats the only thing i can think off.

ff7rules

  • *
  • Posts: 423
    • View Profile
Sorry for double posting and im really embarrassed about this....... but i can't do it for some reason it just won't work and the emulator just crashes. any chnace of a quick tutorial Leighos?? sorry to ask but i just don't get why it won't work.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
I didn't have any crashes when I did this (although the game froze up when loading new enemies after certain enemies were beaten). Can you tell me exactly what you are doing?

ff7rules

  • *
  • Posts: 423
    • View Profile
I didn't have any crashes when I did this (although the game froze up when loading new enemies after certain enemies were beaten). Can you tell me exactly what you are doing?

Im not 100% sure what im doing to be honest i opened up the scene in Hexediter and added at the end of the dying animation the id of the next battle and it just crashes the emulator.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
I see. That's not where you put the ID!  :-P

It must go in the battle setup. From 0x08 to 0x048 in the scene files there are four 20-byte-long records, one for each of the formations. the first two bytes in each record tell the game what background to load, the next two tell it which formation ID to put in when the current formation is beaten (if it's FF FF, nothing will happen). Try putting 6c 01 at 0x00A of scene82 (between 0B 00 and 09 00), then fight the Guard Scorpion. Hopefully, Air Buster will show up after he dies.

ff7rules

  • *
  • Posts: 423
    • View Profile
I see. That's not where you put the ID!  :-P

It must go in the battle setup. From 0x08 to 0x048 in the scene files there are four 20-byte-long records, one for each of the formations. the first two bytes in each record tell the game what background to load, the next two tell it which formation ID to put in when the current formation is beaten (if it's FF FF, nothing will happen). Try putting 6c 01 at 0x00A of scene82 (between 0B 00 and 09 00), then fight the Guard Scorpion. Hopefully, Air Buster will show up after he dies.

AH! i see now! Thanks so much for telling me that i was really lost as to what i was doing wrong. Also what Hexediter do you use because mine crashes with some scene files.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
I use HxD. It's freeware ftw!

ff7rules

  • *
  • Posts: 423
    • View Profile
I use HxD. It's freeware ftw!

thanks for the new hex editer its much better than what i was using before! Im not really sure if im on the right track with it, ive got a screenshot of what ive done. sorry to be such a pain.

« Last Edit: 2009-02-13 16:13:47 by ff7rules »

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
This is where you should be changing things:



If you do this, beating the first formation (against Guard Scorion) will take you to formation 01 6c (Air Buster).