Users browsing this thread: 2 Guest(s)
FFVI: Divergent Paths
06-27-2021, 04:49 PM
(This post was last modified: 06-27-2021, 04:55 PM by PowerPanda.)
Well, there have unfortunately been 2 rather large bugs reported, and that is going to necessitate a version 1.1. I sat down to work on it today, and my mind went totally blank. That usually means that I am on the verge of burnout, and I can't afford to get there right now. Someone on RHDN said, "It's okay, go take a break. We'll enjoy the game as-is and just avoid the bugs for the time being." I'm taking that advice to heart, and I'm going to take a break for a few weeks. For now, here are the known issues and how to avoid them.
1. The Letter in Owzer's house re-spawns and causes a softlock. (Fixed in the master copy) For now, just ignore the letter upon subsequent visits. Do NOT try to avoid the lock by approaching it with Locke and Celes in your party, as that will reset some parts of the Opera House.
2. Strange behavior with Tools. This was reported by Leqesai, and then Gi Nattak figured out a way to reproduce it. There is some sort of memory leak when using breakable tools that comes to a head between 13-16 uses. It will add glitched items to the inventory, and cause your next tool to break without displaying a message (even unbreakable Tools!). This needs a thorough investigation. For now, just limit your breakable tools to 12 times or less per battle. I know that's not ideal, but it's how to avoid the issue until this is fixed.
If anyone wants to take a stab at the Tools issue, I here is my modified ASM code. It's the same as Subtraction's original, with the addition of a check for the battle event flag that prevents tools from breaking. The only other changes are NOPing out the shop code that limits you to 1 tool, and adding the "breakable" flag to each tool.
If I had to start anywhere, I'd look at the line "SBC #$A2". NoiseBlaster is actually item A3, so it might not be subtracting enough.
1. The Letter in Owzer's house re-spawns and causes a softlock. (Fixed in the master copy) For now, just ignore the letter upon subsequent visits. Do NOT try to avoid the lock by approaching it with Locke and Celes in your party, as that will reset some parts of the Opera House.
2. Strange behavior with Tools. This was reported by Leqesai, and then Gi Nattak figured out a way to reproduce it. There is some sort of memory leak when using breakable tools that comes to a head between 13-16 uses. It will add glitched items to the inventory, and cause your next tool to break without displaying a message (even unbreakable Tools!). This needs a thorough investigation. For now, just limit your breakable tools to 12 times or less per battle. I know that's not ideal, but it's how to avoid the issue until this is fixed.
If anyone wants to take a stab at the Tools issue, I here is my modified ASM code. It's the same as Subtraction's original, with the addition of a check for the battle event flag that prevents tools from breaking. The only other changes are NOPing out the shop code that limits you to 1 tool, and adding the "breakable" flag to each tool.
Code:
hirom
header
org $C14B8C ; freespace (you'll need to relocate this on a vanilla rom)
check_command:
CMP #$09
BEQ check_command_end
CMP #$01
BEQ check_command_end
CMP #$08
check_command_end:
RTS
org $C1710F
JSL check_command
NOP
NOP
NOP
org $C21887
JSR check_break
NOP
org $C24DA7
JSR check_command_c2
NOP
NOP
NOP
org $C26490 ; freespace
check_command_c2:
CMP #$09
BEQ check_command_c2_end
CMP #$01
BEQ check_command_c2_end
CMP #$08
check_command_c2_end:
RTS
check_break:
PHA
PHP
JSR $2B63 ; Multiply A by 30, size of item data block
REP #$10 ; Set 16-bit X and Y
TAX
LDA $D85012,X ; equipment spell byte. Bit 7: 1 = remove from inventory upon usage, 0 = nope
BPL no_break ; if the flag is not set, this tool never breaks
JSR $4B5A
AND #$2A ; 1/42 chance of breaking
BNE no_break
LDA #$08
BIT $3EBB ; Check bit 4 of $3EBB (loaded from 1DD0 at the beginning of battle).
BNE no_break ; If set, tools can't be broken (set via event with B8 3B. Clear with B9 3B)
LDA #$44 ; "Orge Nix broke!" dialog. Works for most tools but gets clobbered by the Air Anchor "Move and you're dust!"
STA $3401
SEP #$10 ; Set 8-bit X and Y
TYX
LDA #$FF
STA $32F4,X ; null item index to add to inventory. This means the item will stay deducted from your inventory.
LDA $3018,X
BRA check_break_end
no_break:
LDA #$10
TSB $B1 ; set flag to re-add item to inventory at the end of the character's turn
check_break_end:
TSB $3A8C ; flag character to have any applicable item in $32F4,X added back to inventory when turn is over.
PLP
PLA
SBC #$A2 ; carry was clear, so subtract 163
STA $B6 ; save unique Tool index. 0 = NoiseBlaster, 1 = Bio Blaster, etc.
RTS
If I had to start anywhere, I'd look at the line "SBC #$A2". NoiseBlaster is actually item A3, so it might not be subtracting enough.
Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
« Next Oldest | Next Newest »
Users browsing this thread: 2 Guest(s)