Make Smith deletion on S+Q dependent of a new flag

This commit is contained in:
codemann8
2021-10-22 00:21:22 -05:00
parent 7819e80051
commit 4e67ebd959
2 changed files with 21 additions and 6 deletions

View File

@@ -18,6 +18,14 @@ DoWorldFix:
LDA #$00
.noMirror
STA $7EF3CA ; set flag to light world
LDA.l SmithDeleteOnSave : BEQ .transform
LDA $7EF3CC
CMP #$07 : BEQ .clear ; clear frog
CMP #$08 : BEQ .clear ; clear dwarf - consider flute implications
BRA .done
.clear
LDA.b #$00 : STA $7EF3CC : BRA .done ; clear follower
.transform
LDA $7EF3CC : CMP #$07 : BNE .done : INC : STA $7EF3CC ; convert frog to dwarf
.done
RTL
@@ -52,12 +60,15 @@ DoWorldFix_Inverted:
.noMirror
.aga1Alive
LDA #$40 : STA $7EF3CA ; set flag to dark world
LDA $7EF3CC
CMP #$07 : BEQ .clear ; clear frog
CMP #$08 : BEQ .clear ; clear dwarf - consider flute implications
BRA .done
.clear
LDA.b #$00 : STA $7EF3CC ; clear follower
LDA.l SmithDeleteOnSave : BEQ .transform
LDA $7EF3CC
CMP #$07 : BEQ .clear ; clear frog
CMP #$08 : BEQ .clear ; clear dwarf - consider flute implications
BRA .done
.clear
LDA.b #$00 : STA $7EF3CC : BRA .done ; clear follower
.transform
LDA $7EF3CC : CMP #$07 : BNE .done : INC : STA $7EF3CC ; convert frog to dwarf
.done
RTL
;--------------------------------------------------------------------------------