diff --git a/Items/book_of_secrets.asm b/Items/book_of_secrets.asm index 38c8162..3a53f53 100644 --- a/Items/book_of_secrets.asm +++ b/Items/book_of_secrets.asm @@ -57,6 +57,7 @@ LinkItem_SecretsBook: JSL $099F91 ; at least execute original code RTL } +pushpc ; ============================================================================= \ No newline at end of file diff --git a/Items/sword_collect.asm b/Items/sword_collect.asm new file mode 100644 index 0000000..c37a8d1 --- /dev/null +++ b/Items/sword_collect.asm @@ -0,0 +1,77 @@ +; Collect items with sword +org $86F725 + JSL collectSword + +pullpc +collectSword: +{ + ADC #$00 + STA $09 + LDA $79 + BEQ $01 + RTL + + LDA $0E20, x + SEC + SBC #$D8 + BCS $01 + RTL + + LDA $0E20, x + SEC + SBC #$E7 + BCC $01 + RTL + + PHY + LDY $3C + BPL $02 + PLY + RTL + + LDA $F571, y + BEQ $02 + PLY + RTL + + PHX + LDA $2F + ASL A + ASL A + ASL A + CLC + ADC $3C + TAX + INX + LDY #$00 + LDA $45 + CLC + ADC $F46D, x + BPL $01 + DEY + CLC + ADC $22 + STA $00 + TYA + ADC $23 + STA $08 + LDY #$00 + LDA $44 + CLC + ADC $F4EF, x + BPL $01 + DEY + CLC + ADC $20 + STA $01 + TYA + ADC $21 + STA $09 + LDA $F4AE, x + STA $02 + LDA $F530, x + STA $03 + PLX + PLY + RTL +} diff --git a/Oracle_main.asm b/Oracle_main.asm index d124a05..f59a55b 100644 --- a/Oracle_main.asm +++ b/Oracle_main.asm @@ -19,7 +19,7 @@ ; 25 - N/A ; 26 - N/A ; 27 - N/A -; 28 - +; 28 - Spike Subtype ; 29 - New Sprite Jump Table ; 2A - Jump Feather ; 2B - Book of Secrets @@ -37,7 +37,7 @@ ; 37 - Bunny Link GFX ; 38 - Wolf Link GFX ; 39 - Minish Link GFX -; 3A - StartupMasks, Palette_ArmorAndGloves, CgramAuxToMain +; 3A - StartupMasks, Palette_ArmorAndGloves, CgramAuxToMain ; 3B - N/A ; 3C - N/A ; 3D - N/A @@ -45,10 +45,7 @@ ; ; Used Free RAM: ; $B6 - Cutscene State -; $02B2 - Mask Form -; (0 = Human, 1 = Deku, 2 = Zora, 3 = Wolf, 4 = Bunny, 5 = Minish) -; $0AAB - Diving Flag -; +; ; ============================================================================= namespace Oracle @@ -62,7 +59,47 @@ namespace Oracle incsrc "Util/music_macros.asm" ; --------------------------------------------------------- - ; Music + ; Overworld + + print " -- Overworld -- " + print "" + + incsrc "Overworld/pit_damage.asm" + print "End of Overworld/pit_damage.asm ", pc + + incsrc "Overworld/master_sword.asm" + print "End of master_sword.asm ", pc + + print "" + + ; --------------------------------------------------------- + ; Dungeon + + print " -- Dungeon -- " + print "" + + incsrc "Dungeons/keyblock.asm" + print "End of Dungeons/keyblock.asm ", pc + + ; incsrc "Dungeons/entrances.asm" + ; print "End of Dungeons/entrances.asm ", pc + + incsrc "Dungeons/mothula.asm" + print "End of Dungeons/mothula.asm ", pc + + ; incsrc "Dungeons/spike_subtype.asm" + + + incsrc "Dungeons/enemy_damage.asm" + print "End of Dungeons/enemy_damage.asm ", pc + + incsrc "Dungeons/together_warp_tag.asm" + print "End of together_warp_tag.asm ", pc + + print "" + + ; --------------------------------------------------------- + ; Music ; incsrc "Music/stone_tower_temple.asm" ; print "End of stone_tower_temple.asm ", pc @@ -81,74 +118,72 @@ namespace Oracle ; incsrc "Music/boss_theme.asm" ; print "End of Music/boss_theme.asm ", pc - print "" + print "" + + ; --------------------------------------------------------- + ; Events + + print " -- Events -- " + print "" + + incsrc "Events/house_tag.asm" + print "End of Events/house_tag.asm ", pc + + incsrc "Events/lost_woods.asm" + print "End of Events/lost_woods.asm ", pc + + incsrc "Events/snow_overlay.asm" + print "End of Events/snow_overlay.asm ", pc + + print "" + + ; --------------------------------------------------------- + ; Graphics + + print " -- Graphics -- " + print "" + + incsrc "Graphics/boat_gfx.asm" + print "End of Graphics/boat_gfx.asm ", pc + + incsrc "Events/maku_tree.asm" + print "End of Events/maku_tree.asm ", pc + + print "" ; --------------------------------------------------------- ; Sprites - print " -- Sprites -- " - print "" + print " -- Sprites -- " + print "" - incsrc "Sprites/farore.asm" - print "End of farore.asm ", pc - - incsrc "Sprites/Kydrog/kydrog.asm" - print "End of kydrog.asm ", pc - - incsrc "Sprites/Kydrog/kydrog_boss.asm" - print "End of kydrog_boss.asm ", pc - - incsrc "Sprites/maku_tree.asm" - print "End of maku_tree.asm ", pc - - incsrc "Sprites/mask_salesman.asm" - print "End of mask_salesman.asm ", pc - - incsrc "Sprites/deku_scrub.asm" - print "End of deku_scrub.asm ", pc - - incsrc "Sprites/anti_kirby.asm" - print "End of anti_kirby.asm ", pc + incsrc "Sprites/sprites.asm" print "" ; --------------------------------------------------------- ; Transformation Masks - print " -- Masks -- " - print "" + print " -- Masks -- " + print "" - incsrc "Masks/mask_routines.asm" - - incsrc "Masks/bunny_hood.asm" - print "End of Masks/bunny_hood.asm ", pc - - incsrc "Masks/minish_form.asm" - print "End of Masks/minish_form.asm ", pc - - incsrc "Masks/deku_mask.asm" - print "End of Masks/deku_mask.asm ", pc - - incsrc "Masks/zora_mask.asm" - print "End of Masks/zora_mask.asm ", pc - - incsrc "Masks/wolf_mask.asm" - print "End of Masks/wolf_mask.asm ", pc - - warnpc $07FFFF + incsrc "Masks/all_masks.asm" print "" ; --------------------------------------------------------- ; Items - print " -- Items -- " - print "" + print " -- Items -- " + print "" incsrc "Items/bottle_net.asm" print "End of Items/bottle_net.asm ", pc + incsrc "Items/ocarina.asm" + print "End of Items/ocarina.asm ", pc + incsrc "Items/jump_feather.asm" print "End of Items/jump_feather.asm ", pc @@ -158,78 +193,17 @@ namespace Oracle incsrc "Items/book_of_secrets.asm" print "End of Items/book_of_secrets.asm ", pc - incsrc "Items/ocarina.asm" - print "End of Items/ocarina.asm ", pc + incsrc "Items/sword_collect.asm" + print "End of Items/sword_collect.asm ", pc + print "" - ; --------------------------------------------------------- - ; Events - - print " -- Events -- " - print "" - - incsrc "Events/house_tag.asm" - print "End of Events/house_tag.asm ", pc - - incsrc "Events/lost_woods.asm" - print "End of Events/lost_woods.asm ", pc - - incsrc "Events/snow_overlay.asm" - print "End of Events/snow_overlay.asm ", pc - - print "" - - - ; --------------------------------------------------------- - ; Graphics - - print " -- Graphics -- " - print "" - - incsrc "Graphics/boat_gfx.asm" - print "End of Graphics/boat_gfx.asm ", pc - - incsrc "Events/maku_tree.asm" - print "End of Events/maku_tree.asm ", pc - - print "" - - ; --------------------------------------------------------- - ; Dungeon - - print " -- Dungeon -- " - print "" - - incsrc "Dungeons/keyblock.asm" - print "End of Dungeons/keyblock.asm ", pc - - incsrc "Dungeons/entrances.asm" - print "End of Dungeons/entrances.asm ", pc - - incsrc "Dungeons/mothula.asm" - print "End of Dungeons/mothula.asm ", pc - - incsrc "Dungeons/together_warp_tag.asm" - print "End of together_warp_tag.asm ", pc - - print "" - - ; --------------------------------------------------------- - ; Overworld - - incsrc "Overworld/pit_damage.asm" - print "End of Overworld/pit_damage.asm ", pc - - incsrc "Dungeons/master_sword.asm" - print "End of master_sword.asm ", pc - - ; --------------------------------------------------------- ; Custom Menu and HUD - print " -- Menu -- " - print "" + print " -- Menu -- " + print "" incsrc "Menu/menu.asm" print "End of Menu/menu.asm ", pc @@ -239,13 +213,8 @@ namespace Oracle ; --------------------------------------------------------- - ; incsrc "Util/all_items.asm" - print "End of Util/all_items.asm ", pc - - ; Overworld area which has holes that hurt - ; You can change the area to which holes will hurt the player! - ; currently it only allows you to choose one area - ; 396DB, should be a 05 - Change to another area hex number + incsrc "Util/all_items.asm" + ; print "End of Util/all_items.asm ", pc print "" print "Finished applying patches"