Remove unused SRAM modifier and uncle code

This commit is contained in:
scawful
2024-10-01 17:36:05 -04:00
parent 6881fde0e0
commit 1c5dadd4f8

View File

@@ -1,24 +1,21 @@
; =========================================================
; Room tag to initialize the game without the Uncle sprite.
;
StoryState = $7C
org $01CC18 ; override routine 0x39 "Holes(7)"
JML HouseTag
org $01CC5A
org $01CC5A
HouseTag_Return:
pullpc
HouseTag:
{
PHX
; -------------------------------
PHX
LDA $7EF3C6 : BNE .game_has_begun
JSR HouseTag_Main
.game_has_begun
; -------------------------------
JSR HouseTag_Main
.game_has_begun
PLX
JML HouseTag_Return
}
@@ -30,7 +27,7 @@ HouseTag_Main:
LDA.w StoryState
JSL $008781
dw HouseTag_TelepathicPlea
dw HouseTag_WakeUpPlayer
dw HouseTag_End
@@ -47,10 +44,10 @@ HouseTag_TelepathicPlea:
; Set Link's coordinates to this specific position.
LDA.b #$40 : STA $0FC2
LDA.b #$09 : STA $0FC3
LDA.b #$5A : STA $0FC4
LDA.b #$21 : STA $0FC5
; "Accept our quest, Link!"
LDA.b #$1F : LDY.b #$00
JSL $05E219 ; Sprite_ShowMessageUnconditional
@@ -65,27 +62,24 @@ HouseTag_WakeUpPlayer:
{
; Lighten the screen gradually and then wake Link up partially
LDA $1A : AND.b #$03 : BNE .delay
LDA $9C : CMP.b #$00 : BEQ .colorTargetReached
DEC $9C : DEC $9D
LDA $9C : CMP.b #$00 : BEQ .colorTargetReached
.delay
DEC $9C : DEC $9D
.delay
RTS
.colorTargetReached
.colorTargetReached
INC $0D80, X
INC $037D
INC $037C
LDA.b #$57 : STA $20
LDA.b #$21 : STA $21
;LDA.b #$01 : STA $02E4
STZ $02E4 ; awake from slumber
INC.b StoryState
INC.b StoryState
; Make it so Link's uncle never respawns in the house again.
LDA $7EF3C6 : ORA.b #$10 : STA $7EF3C6
@@ -94,7 +88,6 @@ HouseTag_WakeUpPlayer:
LDA #$00 : STA $7EF3C5 ; (0 - intro, 1 - pendants, 2 - crystals)
LDA #$00 : STA $7EF3CC ; disable telepathic message
JSL Sprite_LoadGfxProperties
RTS
}
@@ -103,9 +96,9 @@ HouseTag_WakeUpPlayer:
HouseTag_End:
{
LDA $B6 : BNE .hasMetFarore
LDA #$00 : STA.w StoryState
.hasMetFarore
LDA #$00 : STA.w StoryState
.hasMetFarore
RTS
}
@@ -117,6 +110,7 @@ pushpc
; Fixed color fade-in effect
; TODO: Investigate if this is the best way to fix this.
; Module06_UnderworldLoad
org $028364
{
#_028364: LDA.b #$00 ; Fixed color RGB: #808000
@@ -134,78 +128,3 @@ org $028364
#_02837A: JSL $079A2C ; Link_TuckIntoBed
}
; =========================================================
; Dying Uncle Code Hook
; Uncle won't remove tagalong when interacting
org $05DF3A
LDA.b #$01 : STA $7EF3CC
; =========================================================
; SRM Start Modifier
; Credit: Conn, Euclid, MathOnNapkins
org $0cdc5a
JSR $ffb1
org $0cffb1
; =========================================================
;$3C5: $00: Unset, Will put Link in his bed state at the beginning of the game. (Also can't use sword or shield)
; $01: Start in the castle on start up.
; $02: Indicates you have completed the first Hyrule Castle dungeon.
; $03: Indicates you have beaten Agahnim and are now searching for crystals.
; $04 and above: meaningless. Though, you could write code using them to expand the event system perhaps.
;$3C6: Progress Flags (bitwise)
; 00 - Set after your Uncle gives you his gear in the secret passage. Prevents him from showing up there again.
; 01 - Indicates that you've touched the dying priest in Sanctuary.
; 02 - Set after you bring Zelda to sanctuary?
; 03 - Unused? (98% certainty)
; 04 - Set after Link's Uncle leaves your house. It's used to prevent him from respawning there.
; 05 - Set after you obtain the Book of Mudora (this is a guess)
; 06 - Seems to be a persistent flag that toggles between two possible statements that a fortune teller can give you during your "reading".
; In other words, don't expect this to stay in one state if you're using fortune tellers. Has no other known purpose.
; 07 - Unused? (98% certainty)
; 10 - Start value (in house, bed)
LDA #$0000
STA $7003C5,x
; =========================================================
;$3C7: Map Icons Indicator 2 (value, not bitwise)
; 00 - start value (cross at Hyrule Castle)
; 01 - cross at Sahasrala's house
; 02 - cross at ruins
; 03 - The Three Pendants
; 04 - Master Sword in Lost Woods
; 05 - Agahnim (skull icon at Hyrule Castle)
; 06 - Just crystal 1 shown (Sahasrala's idea)
; 07 - All crystals shown
; 08 - Agahnim (skull icon at Ganon's Tower)
; All values beyond 8 are invalid, it seems.
;$3C8: Starting Entrance to use. Abbreviations: LH = Link's House - SA = Sanctuary - MC = Mountain Cave - PP = Pyramid of Power in DW
; 00 - Start the game in Link's house always.
; 01 - SA.
; 03 - Secret passage under HC garden (near dying uncle).
; 05 - LH or SA or MC.
LDA #$0000
STA $7003C7,x
; =========================================================
;$359: Sword you start with
; 00 - No sword
; 01 - Fighter Sword
; 02 - Master Sword
; 03 - Tempered Sword
; 04 - Golden Sword
;$35A: Shield you start with
; 00 - No shield
; 01 - Blue Shield
; 02 - Hero's Shield
; 03 - Mirror Shield
LDA #$0000 ; 01=sword, 02 = shield to start with
STA $700359,x
LDY #$0000
RTS