Users browsing this thread: 1 Guest(s)
Some questions

#1
Posts: 169
Threads: 19
Thanks Received: 2
Thanks Given: 15
Joined: Jul 2015
Reputation: 2
Status
None
I have some ideas in mind, but no idea how to execute the ideas. Maybe the resident forum wizards can shed some light on these?

(1). when two characters have their ATB gauge full, and you issue attack commands to both of them in quick sucession -- say, "fight" and "fight" -- the one you ordered second has to wait for the first to launch his attack, damage the enemy, then return to his position, before he can perform his own attack. Is it possible to eliminate this separation? Meaning, to have the 1st character attack and the 2nd make a follow-up attack *just after* the 1st begins his attack?

(2). is there a way to remove the character name from the Equip and Relic screens? I think it looks weird on top of the portrait:

[Image: 2lj46le.jpg]

It doesn't show on the Skill menu, which is nice, and I want it to appear only in the Status screen -- it already does.

(3) how do I make it so the music for normal battles doesn't trigger at all? I want the overworld -- or dungeon -- music to just keep playing normally as it were, unnaffected by your entering a fight or exiting -- which means no fanfare music either. Gogo13 implemented this in FF6 is the Best Game Ever, I want to replicate it for my rom.

I still have more questions, but I forget atm.
  Find
Quote  

#2
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
(05-19-2016, 07:13 AM)FF6Fanatic Wrote: Maybe the resident forum wizards can shed some light on these?


Let me consult my Cauldron.


(05-19-2016, 07:13 AM)FF6Fanatic Wrote: (1).
(05-19-2016, 07:13 AM)FF6Fanatic Wrote: when two characters have their ATB gauge full, and you issue attack commands to both of them in quick sucession -- say, "fight" and "fight" -- the one you ordered second has to wait for the first to launch his attack, damage the enemy, then return to his position, before he can perform his own attack. Is it possible to eliminate this separation? Meaning, to have the 1st character attack and the 2nd make a follow-up attack *just after* the 1st begins his attack?

Unfortunately, due to hardware limitations, this can not be done. It *might* be possible if the attacks that were stacking were always fight and fight, but even that would be dependent on if the processor could work on all the actors simultaneously... But the main problem is the fact that the animations are loaded into a single location in the video RAM, and the palette space is already cramped, so no two animations could be executing at the same time. Neat idea though.


(05-19-2016, 07:13 AM)FF6Fanatic Wrote: (2). is there a way to remove the character name from the Equip and Relic screens? I think it looks weird on top of the portrait:

[Image: 2lj46le.jpg]

It doesn't show on the Skill menu, which is nice, and I want it to appear only in the Status screen -- it already does.

This is doable! The overworld menus are handled in the C3 Bank. You can get a copy of the disassembly from the FF3us Documents Page we have on the site. I did some basic control+F searching for a few key words and found this after searching "name"

Code:
C3/90ED:    20E593      JSR $93E5      (display character name in equip screen)

It's in a block of code that draws the menus based on the parameters set during initialization. By removing this JSR the names disappear. You need a Hex editor to do this.

Code:
C3/90ED:    EA EA EA      NOP

voila.


(05-19-2016, 07:13 AM)FF6Fanatic Wrote: (3) how do I make it so the music for normal battles doesn't trigger at all? I want the overworld -- or dungeon -- music to just keep playing normally as it were, unnaffected by your entering a fight or exiting -- which means no fanfare music either. Gogo13 implemented this in FF6 is the Best Game Ever, I want to replicate it for my rom.

This is handled in the event code... well.. sort of. If this is a temporary thing you want to do, then there is an event bit you can set that will make the current song override any other automatic song, which means the song won't change automatically when changing zone's either... which would mean you would need to manually set the song every single time you want it to change... so this works best in small doses.

However, if you want to remove battle music from the game entirely, There is likely something in C1 or C2 that stops the current song and/or starts the battle music. Poke around there, and tell me what you find! Try small hex edits if you think you find something, but be ready to put it back if you're wrong, and always backup your ROM!


(05-19-2016, 07:13 AM)FF6Fanatic Wrote: I still have more questions, but I forget atm.

Happy to help, but don't let us be a crutch!

Happy Hacking!
  Find
Quote  
[-] The following 1 user says Thank You to B-Run for this post:
  • FF6Fanatic (05-19-2016)

#3
Posts: 169
Threads: 19
Thanks Received: 2
Thanks Given: 15
Joined: Jul 2015
Reputation: 2
Status
None
Damn... and here I was thinking of having Advent Children-style battles in FF6. Guess not. Sad

So the menu thing can be done, I'll try doing that first. Thanks man, that should get me started on what I need to change. Until now I was kinda wishy-washy on hacking things myself, guess I'll finally cross that line.

I can't find that adress in the rom, though.. I d'led HxD and I'm currently perusing the site database, guides, etc. I have no clue how all this works, so I'll need to look up the basics of hex editing before I can implement anything. Thx for the words of encouragement, seems like a long road ahead.

Edit: holy crap it worked! The name appears on the main menu and status screen, but it's gone from equip and relic submenus -- perfect! Thx a million lol. Now I need to understand why it worked haha
  Find
Quote  

#4
Posts: 127
Threads: 8
Thanks Received: 21
Thanks Given: 12
Joined: Jan 2012
Reputation: 13
Status
None
(05-19-2016, 11:18 AM)FF6Fanatic Wrote: I can't find that adress in the rom, though.. I d'led HxD and I'm currently perusing the site database, guides, etc. I have no clue how all this works, so I'll need to look up the basics of hex editing before I can implement anything. Thx for the words of encouragement, seems like a long road ahead.

Converting SNES offsets to headered ROM offsets.

C3/90ED is a SNES offset

1) SNES offset - C00000h = headerless ROM offset or 03/90ED
2) headerless ROM offset + 200h = headered ROM offset or 03/92ED

This is simple math to do in hex, note: h after the numbers represents hex numbers

And then I double check my rom by going to 03/92ED and see the bytes as b-run described:
Code:
03/92ED:        20 E5 93
  Find
Quote  

#5
Posts: 169
Threads: 19
Thanks Received: 2
Thanks Given: 15
Joined: Jul 2015
Reputation: 2
Status
None
(05-19-2016, 12:00 PM)m06 Wrote: Converting SNES offsets to headered ROM offsets.

C3/90ED is a SNES offset

1) SNES offset - C00000h = headerless ROM offset or 03/90ED
2) headerless ROM offset + 200h = headered ROM offset or 03/92ED

This is simple math to do in hex, note: h after the numbers represents hex numbers

Ah, I get it... it's simple indeed. This little formula will be useful, I'll put it in my brand new hacking notebook. Thanks!

That explains why I was looking for "C" bank and couldn't find it in the rom. Finger
  Find
Quote  

#6
Posts: 127
Threads: 8
Thanks Received: 21
Thanks Given: 12
Joined: Jan 2012
Reputation: 13
Status
None
(05-19-2016, 07:13 AM)FF6Fanatic Wrote: (3) how do I make it so the music for normal battles doesn't trigger at all? I want the overworld -- or dungeon -- music to just keep playing normally as it were, unnaffected by your entering a fight or exiting -- which means no fanfare music either. Gogo13 implemented this in FF6 is the Best Game Ever, I want to replicate it for my rom.

try the following:
Code:
no battle music
C2/BD98:    80

continue field music after battle
C1/00B2:    80

no fanfare
C1/0129:    80
  Find
Quote  

#7
Posts: 169
Threads: 19
Thanks Received: 2
Thanks Given: 15
Joined: Jul 2015
Reputation: 2
Status
None
I'm trying to find the offsets, by the formula it should be (I'm using a headered rom btw)

C2/BD98 - C00000h = headerless 02/BD98
then
02/BD98 + 200h = 02/BF98

is that right?

and the other two

01/00D2

01/0329

...or am I missing something?
  Find
Quote  

#8
Posts: 127
Threads: 8
Thanks Received: 21
Thanks Given: 12
Joined: Jan 2012
Reputation: 13
Status
None
(05-20-2016, 09:28 AM)FF6Fanatic Wrote: 01/00D2

You are doing everything right, this value is wrong though. You added 20h instead of 200h

C1/00B2 => 01/02B2
  Find
Quote  

#9
Posts: 169
Threads: 19
Thanks Received: 2
Thanks Given: 15
Joined: Jul 2015
Reputation: 2
Status
None
It all works like I wanted -- dungeon/overworld music keeps playing, no battle music, no fanfare. Thanks a bunch! Right now I'm trying to figure how to make this work only for random battles -- I'm thinking for boss fights I'd keep both the music and the fanfare, like normal. Since you found these on C1 and C2, I'll try poking around there.
  Find
Quote  

#10
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Random battle theme is loaded in C2 (see this post). You could put FF at C2/BF3B and you would have current song playing during the fight. However this complexity the fanfare task since you won't be able to identify the battle theme from regular silence. If you want t have no victory dance and music you can edit formation data in FF3usME.

If you want to have a victory dance but no fanfare I suggest you apply this patch where for the battle theme song is saved but no played and the last song played is used to identify whether we play the fanfare or not. You can apply this code with xkas. I have not tested any of this but it seems logic to assume song in $1301 before fanfare would be the battle song played. I just hope my coding is right.

Code:
hirom
;header

org $C2BDBF
JSR sbr1
BRA branchA

org $C2BDBC
branchA:

org $C26469
sbr1:
STA $1301       ;save song ID regardless
CMP #$24        ;compare to random battle theme
BNE branchB
BRA exit        ;don't play song if random battle theme
branchB:
LDA $11E4  
AND #$08
JSL $C50004     ;Play song
exit:
RTS

org $C10152
JSR sbrB
NOP
NOP

org $C1FFE5
sbrB:
LDA $1301       ;Should be the battle song used
CMP #$24        ;compare to random battle theme
BNE branchC
LDA #$FF        ;load silence
branchC:
LDA #$2F        ;load fanfare
STA $1301       ;save song
RTS

For reference the fanfare C1 code. It play for all battles, boss or regular except if there is no victory dance defined by the formation data:

Code:
C1/014D:    A910        LDA #$10        (16 = instrument set?)
C1/014F:    8D0013      STA $1300
C1/0152:    A92F        LDA #$2F        (47 = fanfare song data #)
C1/0154:    8D0113      STA $1301
C1/0157:    A9FF        LDA #$FF        (Volume: FF = normal)
C1/0159:    8D0213      STA $1302
C1/015C:    220400C5    JSR $C50004        (Changes the music to fanfare)
C1/0160:    9CEDE9      STZ $E9ED        
C1/0163:    EE8D62      INC $628D        
C1/0166:    221295C1    JSR $C19512        (Changes to victory dance)
C1/016A:    6B          RTL
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite