diff --git a/Events/house_tag.asm b/Events/house_tag.asm index e1f6a4f..2695020 100644 --- a/Events/house_tag.asm +++ b/Events/house_tag.asm @@ -88,11 +88,14 @@ HouseTag_WakeUpPlayer: STZ $02E4 ; awake from slumber INC.b StoryState + ; TODO: Make it so "uncle" respawns when the player dies + ; and experiences a game over + ; Make it so Link's uncle never respawns in the house again. LDA $7EF3C6 : ORA.b #$10 : STA $7EF3C6 - ; Set the game mode to part 2 - LDA #$02 : STA $7ef3C5 ; store "part 2" + ; Set the game mode + LDA #$00 : STA $7ef3C5 ; (0 - intro, 1 - pendants, 2 - crystals) LDA #$00 : STA $7ef3CC ; disable telepathic message JSL $00FC41 ; fix monsters @@ -109,4 +112,94 @@ HouseTag_End: ; ============================================================================== org $05DF3A -LDA.b #$01 : STA $7EF3CC \ No newline at end of file +LDA.b #$01 : STA $7EF3CC + +; ============================================================================= +; Intro Modifier +; Skips the intro sequence with the rain + +; lorom + +; org $05DF12 +; JSL $04ECA0 +; NOP +; NOP + +; org $04ECA0 +; STZ $0DD0,x +; STZ $02E4 ; repeat native code overwritten by hook +; LDA #$02 +; STA $7ef3C5 ; store "part 2" +; LDA #$00 +; STA $7ef3CC ; disable telepathic message +; JSL $00FC41 ; fix monsters +; RTL + +; ============================================================================= +; 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 #$0101 ; 01=sword, 02 = shield to start with +STA $700359,x + +LDY #$0000 +RTS \ No newline at end of file diff --git a/Events/intro.asm b/Events/intro.asm deleted file mode 100644 index 182a800..0000000 --- a/Events/intro.asm +++ /dev/null @@ -1,89 +0,0 @@ -; ============================================================================= -; Intro Modifier -; Skips the intro sequence with the rain - -lorom - -org $05DF12 -JSL $04ECA0 -NOP -NOP - -org $04ECA0 -STZ $0DD0,x -STZ $02E4 ; repeat native code overwritten by hook -LDA #$02 -STA $7ef3C5 ; store "part 2" -LDA #$00 -STA $7ef3CC ; disable telepathic message -JSL $00FC41 ; fix monsters -RTL - -; ============================================================================= -; 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 #$0101 ; 01=sword, 02 = shield to start with -STA $700359,x - -LDY #$0000 -RTS \ No newline at end of file diff --git a/Oracle_main.asm b/Oracle_main.asm index cc26483..87c5210 100644 --- a/Oracle_main.asm +++ b/Oracle_main.asm @@ -65,16 +65,12 @@ namespace Oracle print "End of Menu/menu.asm ", pc ; --------------------------------------------------------- - incsrc "Items/bottle_net.asm" - print "End of Items/bottle_net.asm ", pc - - ; --------------------------------------------------------- - incsrc "Events/intro.asm" - print "End of Events/intro.asm ", pc + ; incsrc "Items/bottle_net.asm" + ; print "End of Items/bottle_net.asm ", pc ; --------------------------------------------------------- incsrc "Events/maku_tree.asm" - print "End of Events/maku_tree.asm ", pc + print "End of Events/maku_tree.asm ", pc ; --------------------------------------------------------- incsrc "Events/lostsea.asm"