Users browsing this thread: 1 Guest(s)
Some final code requests (and screenshots)

#41
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
(08-06-2018, 02:38 PM)Lightning Wrote: Have you done any difficulty modifications to the gameplay in your mod?  One of the main points of my mod was to remove all the unbalanced mega attacks, smarten up the AI, and to increase the overall difficulty without requiring the player to level up too much more than normal.  Of course, there are all the new monsters that take the place of the less significant monsters.  You could always take my mod when you are done and merge whatever you want.  If you really wanted, you could just manually transfer each monster and all the stats, and import all the graphics I created (if you have enough bytes for that; I think I had to duplicate the odin/raiden esper graphic and remove most of the crusader graphics to free up bytes).

I haven't done any difficulty modification, aside from locking the AutoCrossbow until after Terra flies away as an Esper. FFVI is an easy game, and it's not in the scope of my project to change that. I just want to make sure that all of my new additions are balanced with the original. I would welcome someone doing a difficulty re-balancing though.

I have replaced Raiden's graphics with Leviathan, so that slot is no longer available. My hack is going to have a shortage of available bytes. I'm re-organizing a lot of code in order to cram everything into an unexpanded rom.

Also, Gi, the code you posted looks like it is for the Magitek animation. $7081 and $70A8 look to be the addresses you need for the non-Magitek versions.


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  
[-] The following 1 user says Thank You to PowerPanda for this post:
  • Gi Nattak (08-06-2018)

#42
Posts: 226
Threads: 16
Thanks Received: 10
Thanks Given: 35
Joined: Dec 2017
Reputation: 2
Status
None
(08-06-2018, 03:35 PM)Gi Nattak Wrote: Yeah it would, but then It'd mess things up for when used with Throw, the Thrower would take an extra step back. I think Throw is still a thing in Gen. Leo Edition, even though Shadow get's axed later? If not, then that'd work for when Gau uses it with Rage, he just would stand still instead of move forward a step.

In the General Leo edition, throw was removed altogether.  I brought it back in my version for Setzer and Gogo, but there are no more Shurikans, Ninja Stars, or Skeans/Edges.  The only time Those spells are used now are by monsters and via rage.  So it should not effect anything if it is modified!

Quote:I haven't done any difficulty modification, aside from locking the AutoCrossbow until after Terra flies away as an Esper. FFVI is an easy game, and it's not in the scope of my project to change that. I just want to make sure that all of my new additions are balanced with the original. I would welcome someone doing a difficulty re-balancing though.

I have replaced Raiden's graphics with Leviathan, so that slot is no longer available. My hack is going to have a shortage of available bytes. I'm re-organizing a lot of code in order to cram everything into an unexpanded rom.

Also, Gi, the code you posted looks like it is for the Magitek animation. $7081 and $70A8 look to be the addresses you need for the non-Magitek versions.

I think the proper road for the future of our two projects would be to release them separately, but later on merge only certain parts of my mod with yours and make it a re-balance version.  I'm sure certain aspects of my mod have to be left out, such as a few of the new items I put in, as well as some of the new monsters (since it was already difficult to find the necessary bytes I needed; I had to remove parts of the shadows and smoke of various sprites to get the bytes, lol).

I literally spent two months fighting each monster to make sure they were challenging but not too challenging in my mod.  I am about to do a playthrough on my real hardware next to verify that everything flows together. I really am a stickler for these things!
  Find
Quote  

#43
Posts: 226
Threads: 16
Thanks Received: 10
Thanks Given: 35
Joined: Dec 2017
Reputation: 2
Status
None
(08-06-2018, 03:35 PM)Gi Nattak Wrote: Yeah it would, but then It'd mess things up for when used with Throw, the Thrower would take an extra step back. I think Throw is still a thing in Gen. Leo Edition, even though Shadow get's axed later? If not, then that'd work for when Gau uses it with Rage, he just would stand still instead of move forward a step.

So, uh, do you know what bytes I can change to disable the step forward altogether?
  Find
Quote  

#44
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
Okay, I've done some initial testing, and found something very interesting.

All of the Skeans have 2 different animation pointers. One is listed in FF3usME under "Battle Editor > Animations 1". This controls the animation for the Throw command. The other is listed under "Magic Spells Editor > Animations". This controls the animation for when enemies use it, or for when Gau does it as a Rage.

So, in theory, it should be possible to edit one and not the other. Now that I know that, I'm going to take a look at it and see if I can create a patch for it. This seems like something LeetSketcher would have been all over 5 years ago. I'm surprised it doesn't exist yet!


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#45
Posts: 2,206
Threads: 90
Thanks Received: 250
Thanks Given: 254
Joined: Aug 2009
Reputation: 40
Status
Nattak\'d
(08-08-2018, 10:20 AM)PowerPanda Wrote: This seems like something LeetSketcher would have been all over 5 years ago. I'm surprised it doesn't exist yet!

I think since normally Fire and Bolt Skeans are not used by Rage, he wouldn't have bothered because he usually only makes patches that are original bugs that would show themselves by non-hacking means, such as moving said skeans into the Rage menu. Would be nice to have a fix though regardless I agree.


We are born, live, die and then do the same thing over again.
Quote  
[-] The following 1 user says Thank You to Gi Nattak for this post:
  • GrayShadows (08-08-2018)

#46
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
(08-06-2018, 02:48 PM)Gi Nattak Wrote:
(08-06-2018, 02:38 PM)Lightning Wrote: Oh, and Gi Nattak, I don't really see much difference in the two blocks of code that you posted!  Of course, I am rubbish at reading code; I was just looking for added/subtracted lines and differences.  I don't really know what the code itself means.

Thankfully the code is all commented, lucky for us! King Lettuce The main thing I was showing is there's an additional subroutine for Water Edge that has that much needed step back, and Fire Skean and Bolt Edge does not have this subroutine. The only difference in the two code I posted if you look carefully is one steps back and one steps forward -- Water Edge also has the step forward subroutine, but it ALSO has after it a step back subroutine, which the other two do not, which is why the issue is happening.

Resurrecting this. Where can I find the D0 disassembly?
EDIT: Nevermind. Found it in the documents section under "Battle Animations Scripts". I was looking for the phrase "D0", not a description of what it was.


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#47
Posts: 3,614
Threads: 264
Thanks Received: 664
Thanks Given: 270
Joined: Oct 2011
Reputation: 60
Status
Faith
(09-03-2018, 11:47 AM)PowerPanda Wrote: Resurrecting this. Where can I find the D0 disassembly?

It's the Battle Animation Scripts: https://www.ff6hacking.com/wiki/doku.php...s:doc:game



  Find
Quote  

#48
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
Lightning, I've taken a break from my Genji Glove restriction hack and my main Definitive Edition hack to look into the Throw animation anomaly. Here's what I found.

As previously discovered, Water Edge has 2 different animation sets, one for being used as a rage, and one for being used as a Throw command. I'll bold the part that is different:
RAGE:    81F5  |  0289  |  FFFF  |  81F5
THROW: 81F5  |  01F6  |  FFFF  |  81F5

When looking at Everything's disassembly, he left 01F6 as unmarked. Here are the two back-to-back though. The differences are marked with an asterix:

Code:
; [ Animation Script $01F6: Water Edge (bg1) Throw Version ]

D0/237B: 00 A0                    speed 1, align to center of screen
D0/237D: D1 01                    invalidate character/monster sprite priority
D0/237F: DB 03                    branch to $2384 if character already stepped forward to attack
D0/2381: BF 67 70                 jump to subroutine $7067
D0/2384: C4 80                    move bg1 thread to this thread's position
D0/2386: C9 00                    play default sound effect
D0/2388: 89 07                    loop start (7 times)
D0/238A: 83 9F                    move back 32
D0/238C: 8A                       loop end
D0/238D: 89 60                    loop start (96 times)
D0/238F: E9 0B 03                 move animation randomly (0..11,0..3)
D0/2392: 83 63                    move forward 4
D0/2394: 00                       [$00]
D0/2395: 8A                       loop end
D0/2396: C9 FF                    play sound effect $FF
*D0/2398: FF                       end of script

; [ Animation Script $0289: Water Edge (bg1) Rage Version]

D0/2399: 00 A0                    speed 1, align to center of screen
D0/239B: D1 01                    invalidate character/monster sprite priority
D0/239D: DB 03                    branch to $23A2 if character already stepped forward to attack
D0/239F: BF 67 70                 jump to subroutine $7067
D0/23A2: C4 80                    move bg1 thread to this thread's position
D0/23A4: C9 00                    play default sound effect
D0/23A6: 89 07                    loop start (7 times)
D0/23A8: 83 9F                    move back 32
D0/23AA: 8A                       loop end
D0/23AB: 89 60                    loop start (96 times)
D0/23AD: E9 0B 03                 move animation randomly (0..11,0..3)
D0/23B0: 83 63                    move forward 4
D0/23B2: 00                       [$00]
D0/23B3: 8A                       loop end
D0/23B4: C9 FF                    play sound effect $FF
*D0/23B6: DB 03                    branch to $23BB if character already stepped forward to attack
*D0/23B8: BF 8E 70                 jump to subroutine $708E
*D0/23BB: FF                       end of script

Since 0289 has a conditional to check to see if the character has moved forward, I changed the throw animation to use that instead of 01F6. Unfortunately, it didn't work. Shadow stepped back twice.

So, the actual solution to this is that Fire Skean and Bolt Edge will need their bg1 components copied to free space, with 5 bytes tagged onto the end of each one. Alternatively, you can eliminate 01F6 if it's not being used, use the free space to expand 01F4 and 01F7 by 5 bytes each, and then repoint the Animation Pointers in D1...

...But that's a lot of work for very modest gains. I don't think I'm going to release a patch on this. I'd recommend just not using Fire Skean or Bolt Edge on the Ninja's rage.

EDIT: Hang on. I'm falling into the same trap I always chide other people on. I'm so deep in the code that I'm missing the obvious solution, and trying to fix problems that don't exist! You don't need to add 5 bytes so the characters walk BACK. You just need them to not walk FORWARD in the first place.  Laugh Just NOP out the walk forward, and you're golden!

Alrighty. Here's your fix:
BOLT EDGE
D0/2342: EA EA
D0/2344: EA EA EA

WATER EDGE (Rage version: 0289)
(note this one has a walk forward AND a walk back)
D0/239D: EA EA
D0/239F: EA EA EA
...
D0/23B6: EA EA
D0/23B8: EA EA EA

WATER EDGE (Throw version: 01F6)
D0/237F: EA EA
D0/2381: EA EA EA

FIRE SKEAN
D0/23C0: EA EA
D0/23C2: EA EA EA

These changes will cause Gau to just stand in place, walking neither forward nor backward. They are untested, as I have something I need to run to tonight, but they should work. Also, note that THESE CHANGES WILL BREAK THE THROW COMMAND. This solution only works if Throw is not a part of your game.


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#49
Posts: 2,206
Threads: 90
Thanks Received: 250
Thanks Given: 254
Joined: Aug 2009
Reputation: 40
Status
Nattak\'d
Heheh, that's pretty much what I concluded on the previous page, to remove the step forward. Though, I wasn't aware that EA (NOP) worked for this animation code. In fact I thought it didn't, I remember trying for removing Kefka's floating head thingy for Drakey a long long time ago and wound up having to find another bypass/skip/do nothing byte, which I forget what it was.


We are born, live, die and then do the same thing over again.
Quote  

#50
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
Well, if it doesn't work, just shift the code up by 5 bytes


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite