let's dev 6/20/17
(probably) fixed glitched pyramid spawn issue fixed sanctuary purple chest spawn added switch to allow tablets to be opened with hammer (graphics not ready but looks ok)
This commit is contained in:
@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
|
|||||||
db #$00 ; expand file to 2mb
|
db #$00 ; expand file to 2mb
|
||||||
|
|
||||||
org $1FFFF8 ; timestamp rom
|
org $1FFFF8 ; timestamp rom
|
||||||
dl #$20170617
|
dl #$20170620
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ DarkWorldFlagSet:
|
|||||||
LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BEQ +
|
LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BEQ +
|
||||||
LDA $10 : CMP #$12 : BEQ .done ; don't do anything in death mode
|
LDA $10 : CMP #$12 : BEQ .done ; don't do anything in death mode
|
||||||
+
|
+
|
||||||
|
LDA $1B : BEQ + ; skip this unless indoors - THIS PART FIXES THE OTHER FUCKUP WITH THE PYRAMID SPAWN IN GLITCHED
|
||||||
|
LDA $A0 : CMP.b #$00 : BEQ .done ; skip if we died in ganon's room
|
||||||
|
+
|
||||||
LDA.l Bugfix_MirrorlessSQToLW : BEQ +
|
LDA.l Bugfix_MirrorlessSQToLW : BEQ +
|
||||||
LDA $7EF353 : BEQ .noMirror ; check if we have the mirror
|
LDA $7EF353 : BEQ .noMirror ; check if we have the mirror
|
||||||
+
|
+
|
||||||
@@ -29,7 +32,6 @@ DarkWorldFlagSet:
|
|||||||
.aga1Alive
|
.aga1Alive
|
||||||
LDA #$00 : STA $7EF3CA ; set flag to light world
|
LDA #$00 : STA $7EF3CA ; set flag to light world
|
||||||
LDA $7EF3CC : CMP #$07 : BNE + : LDA.b #$08 : STA $7EF3CC : + ; convert frog to dwarf
|
LDA $7EF3CC : CMP #$07 : BNE + : LDA.b #$08 : STA $7EF3CC : + ; convert frog to dwarf
|
||||||
;LDA $7EF3CC : CMP #$07 : BNE + : LDA.b #$00 : STA $7EF3CC : + ; clear frog
|
|
||||||
.done
|
.done
|
||||||
PLA
|
PLA
|
||||||
RTL
|
RTL
|
||||||
@@ -43,7 +45,6 @@ SetDeathWorldChecked:
|
|||||||
LDA $A0 : CMP.b #$00 : BEQ .done ; skip if we died in ganon's room
|
LDA $A0 : CMP.b #$00 : BEQ .done ; skip if we died in ganon's room
|
||||||
LDA.b #$00 : STA $7EF3CA : STA $7E0FFF ; set the world to the light world if he's still alive
|
LDA.b #$00 : STA $7EF3CA : STA $7E0FFF ; set the world to the light world if he's still alive
|
||||||
LDA $7EF3CC : CMP #$07 : BNE .done : LDA.b #$08 : STA $7EF3CC ; convert frog to dwarf
|
LDA $7EF3CC : CMP #$07 : BNE .done : LDA.b #$08 : STA $7EF3CC ; convert frog to dwarf
|
||||||
;LDA $7EF3CC : CMP #$07 : BNE .done : LDA.b #$00 : STA $7EF3CC ; clear frog
|
|
||||||
.done
|
.done
|
||||||
PLA
|
PLA
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
@@ -17,10 +17,11 @@ OnDungeonEntrance:
|
|||||||
PHA : PHP
|
PHA : PHP
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
LDA $040C : CMP #$FF : BEQ + ; don't do this unless it's a real dungeon
|
LDA $040C : CMP #$FF : BEQ + ; don't do this unless it's a real dungeon
|
||||||
|
REP #$20 : LDA $A0 : CMP.w #18 : BEQ + : SEP #$20 ; skip if we're in the sanctuary
|
||||||
LDA $7EF3CC ; load follower
|
LDA $7EF3CC ; load follower
|
||||||
CMP #$0C : BNE + ; skip if not the purple chest
|
CMP #$0C : BNE + ; skip if not the purple chest
|
||||||
LDA #$00 : STA $7EF3CC
|
LDA #$00 : STA $7EF3CC
|
||||||
+
|
+ ; this might get hit from above in either accumulator mode
|
||||||
PLP : PLA
|
PLP : PLA
|
||||||
STA $7EC172 ; thing we wrote over
|
STA $7EC172 ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
@@ -77,11 +78,6 @@ PreItemGet:
|
|||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
PostItemGet:
|
PostItemGet:
|
||||||
;LDA $02D8
|
|
||||||
;CMP #$70 : !BLT +
|
|
||||||
;CMP #$B0 : !BGE +
|
|
||||||
; JSL.l FreeDungeonItemNotice
|
|
||||||
;+
|
|
||||||
JSL.l MaybeWriteSRAMTrace
|
JSL.l MaybeWriteSRAMTrace
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
10
hooks.asm
10
hooks.asm
@@ -687,6 +687,12 @@ JSL.l CheckMedallionSword
|
|||||||
org $07A656 ; <- 3A656 - Bank07.asm:6133 (LDA $7EF359 : INC A : AND.b #$FE : BEQ BRANCH_BETA) - Quake
|
org $07A656 ; <- 3A656 - Bank07.asm:6133 (LDA $7EF359 : INC A : AND.b #$FE : BEQ BRANCH_BETA) - Quake
|
||||||
JSL.l CheckMedallionSword
|
JSL.l CheckMedallionSword
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $05F3A0 ; <- 2F3A0 - sprite_medallion_tablet.asm:240 (LDA $7EF359 : BMI .zeta)
|
||||||
|
JSL.l CheckTabletSword
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $05F40A ; <- 2F40A - sprite_medallion_tablet.asm:303 (LDA $7EF359 : BMI .show_hylian_script)
|
||||||
|
JSL.l CheckTabletSword
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Medallion Tablets
|
; Medallion Tablets
|
||||||
@@ -811,12 +817,12 @@ JSL.l RNG_Kholdstare
|
|||||||
org $1E97D5 ; <- F17D5 - sprite_kholdstare.asm : 605 (JSL GetRandomInt : AND.b #$04 : STA $0D)
|
org $1E97D5 ; <- F17D5 - sprite_kholdstare.asm : 605 (JSL GetRandomInt : AND.b #$04 : STA $0D)
|
||||||
JSL.l RNG_Kholdstare
|
JSL.l RNG_Kholdstare
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $1DE5E4 ; <- EE5E4 - sprite_vitreous.asm : 207 (JSL GetRandomInt : AND.b #$0F : TAY)
|
org $1DE5B4 ; <- EE5E4 - sprite_vitreous.asm : 207 (JSL GetRandomInt : AND.b #$0F : TAY)
|
||||||
JSL.l RNG_Vitreous
|
JSL.l RNG_Vitreous
|
||||||
org $1DE626 ; <- EE626 - sprite_vitreous.asm : 255 (JSL GetRandomInt : AND.b #$07 : STA $0D90, Y)
|
org $1DE626 ; <- EE626 - sprite_vitreous.asm : 255 (JSL GetRandomInt : AND.b #$07 : STA $0D90, Y)
|
||||||
JSL.l RNG_Vitreous
|
JSL.l RNG_Vitreous
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $1DB16C ; <- EB16C - sprite_trinexx.asm : 530 (JSL GetRandomInt : AND.b #$07 : TAY)
|
org $1DB61C ; <- EB16C - sprite_trinexx.asm : 530 (JSL GetRandomInt : AND.b #$07 : TAY)
|
||||||
JSL.l RNG_Trinexx
|
JSL.l RNG_Trinexx
|
||||||
org $1DB186 ; <- EB186 - sprite_trinexx.asm : 535 (JSL GetRandomInt : AND.b #$07 : TAY)
|
org $1DB186 ; <- EB186 - sprite_trinexx.asm : 535 (JSL GetRandomInt : AND.b #$07 : TAY)
|
||||||
JSL.l RNG_Trinexx
|
JSL.l RNG_Trinexx
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ LoadSwordForDamage:
|
|||||||
.done
|
.done
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
CheckTabletSword:
|
||||||
|
LDA.l AllowHammerTablets : BEQ +
|
||||||
|
LDA $7EF34B : BEQ + ; check for hammer
|
||||||
|
LDA.b #$02 : RTL
|
||||||
|
+
|
||||||
|
LDA $7EF359 ; get actual sword value
|
||||||
|
RTL
|
||||||
|
;================================================================================
|
||||||
CheckGanonHammerDamage:
|
CheckGanonHammerDamage:
|
||||||
LDA.l HammerableGanon : BEQ +
|
LDA.l HammerableGanon : BEQ +
|
||||||
LDA $0E20, X : CMP.b #$D8 ; original behavior except ganon
|
LDA $0E20, X : CMP.b #$D8 ; original behavior except ganon
|
||||||
|
|||||||
@@ -161,6 +161,10 @@ org $308043 ; PC 0x180043
|
|||||||
StartingSword:
|
StartingSword:
|
||||||
db #$00 ; #$00 = No Sword (default) - #$FF = Non-Sword
|
db #$00 ; #$00 = No Sword (default) - #$FF = Non-Sword
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $308044 ; PC 0x180044
|
||||||
|
AllowHammerTablets:
|
||||||
|
db #$00 ; #$00 = Off (default) - #$01 = On
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $308080 ; PC 0x180080
|
org $308080 ; PC 0x180080
|
||||||
Upgrade5BombsRefill:
|
Upgrade5BombsRefill:
|
||||||
db #$00
|
db #$00
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
; Spawn Zelda (or not)
|
; Spawn Zelda (or not)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
SpawnZelda:
|
SpawnZelda:
|
||||||
LDA.l $7EF3CC : CMP #$08 : BEQ +
|
LDA.l $7EF3CC : CMP #$08 : BEQ + ; don't spawn if dwarf is present
|
||||||
|
CMP #$0C : BEQ + ; don't spawn if purple chest is present
|
||||||
CLC : RTL
|
CLC : RTL
|
||||||
+
|
+
|
||||||
SEC
|
SEC
|
||||||
|
|||||||
Reference in New Issue
Block a user