diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index a59f230..6b5e304 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF db #$00 ; expand file to 2mb org $1FFFF8 ; <- FFFF8 timestamp rom -db #$20, #$18, #$02, #$28 ; year/month/day +db #$20, #$18, #$03, #$02 ; year/month/day ;================================================================================ @@ -39,7 +39,7 @@ db #$20, #$18, #$02, #$28 ; year/month/day !INVENTORY_SWAP_2 = "$7EF38E" !NPC_FLAGS = "$7EF410" !NPC_FLAGS_2 = "$7EF411" -!MAP_ZOOM = "$7EF415" +!MAP_OVERLAY = "$7EF414" ; [2] !PROGRESSIVE_SHIELD = "$7EF416" ; ss-- ---- !HUD_FLAG = "$7EF416" ; --h- ---- !FORCE_PYRAMID = "$7EF416" ; ---- p--- @@ -76,6 +76,7 @@ db #$20, #$18, #$02, #$28 ; year/month/day incsrc hooks.asm incsrc treekid.asm +incsrc hashalphabethooks.asm ;org $208000 ; bank #$20 org $A08000 ; bank #$A0 @@ -133,7 +134,7 @@ incsrc cuccostorm.asm incsrc roomloading.asm incsrc icepalacegraphics.asm incsrc retro.asm -incsrc hashalphabet.asm ; <- TAKE OUT THE EXTRA ORGS IN HERE - THIS IS WHY WE COULDN'T ADD MORE FILES EARLIER +incsrc hashalphabet.asm warnpc $A18000 org $1C8000 ; text tables for translation diff --git a/contrib.asm b/contrib.asm index cd2c361..c0bf8f6 100644 --- a/contrib.asm +++ b/contrib.asm @@ -78,6 +78,7 @@ OldMountainMan_TransitionFromTagalong_Edit: JML $09A6B6 ; <- 4A6B6 tagalong.asm:1194 (SEP #$30 : RTS) } ;================================================================ +!MAP_OVERLAY = "$7EF414" ; [2] Sprite_ShowSolicitedMessageIfPlayerFacing_Alt: { STA $1CF0 @@ -111,9 +112,11 @@ Sprite_ShowSolicitedMessageIfPlayerFacing_Alt: JSL DialogAlcoholic : BRA .SayNothing .SahasrahlaDialogs + REP #$20 : LDA.l MapReveal_Sahasrahla : ORA !MAP_OVERLAY : STA !MAP_OVERLAY : SEP #$20 JSL DialogSahasrahla : BRA .SayNothing .BombShopGuyDialog + REP #$20 : LDA.l MapReveal_BombShop : ORA !MAP_OVERLAY : STA !MAP_OVERLAY : SEP #$20 JSL DialogBombShopGuy .SayNothing diff --git a/dialog.asm b/dialog.asm index 03cc8ea..1d34561 100644 --- a/dialog.asm +++ b/dialog.asm @@ -253,8 +253,22 @@ DialogBlind: JSL.l Sprite_ShowMessageMinimal RTL ;-------------------------------------------------------------------------------- -DialogFatFairy: - %LoadDialogAddress(FatFairyText) +DialogFairyThrow: + LDA.l Restrict_Ponds : BEQ .normal + LDA $7EF35C : ORA $7EF35D : ORA $7EF35E : ORA $7EF35F : BNE .normal + + .noInventory + LDA $0D80, X : !ADD #$08 : STA $0D80, X + LDA.b #$51 + LDY.b #$01 +RTL + .normal + LDA.b #$88 + LDY.b #$00 +RTL +;-------------------------------------------------------------------------------- +DialogPyramidFairy: + %LoadDialogAddress(PyramidFairyText) JSL.l Sprite_ShowMessageUnconditional RTL ;-------------------------------------------------------------------------------- diff --git a/hashalphabet.asm b/hashalphabet.asm index 2ac526c..f8b4862 100644 --- a/hashalphabet.asm +++ b/hashalphabet.asm @@ -243,23 +243,6 @@ DMAAlphabetTilemap: PLX : PLA RTS ;-------------------------------------------------------------------------------- -!FSTILE_SPACE = "$0188" - -!FSTILE_BRACKET_OPEN_TOP = "$1D8A" -!FSTILE_BRACKET_OPEN_BOTTOM = "$1D9A" - -!FSTILE_BRACKET_CLOSE_TOP = "$1D8B" -!FSTILE_BRACKET_CLOSE_BOTTOM = "$1D9B" - -!FSTILE_A_TOP = "$1D4A" -!FSTILE_A_BOTTOM = "$1D5A" - -!FSTILE_H_TOP = "$1D61" -!FSTILE_H_BOTTOM = "$1D71" - -!FSTILE_S_TOP = "$1D6C" -!FSTILE_S_BOTTOM = "$1D7C" -;-------------------------------------------------------------------------------- FileSelect_PlayerSelectText_Top: ;db $60, $62, $00, $37 dw !FSTILE_SPACE, !FSTILE_SPACE @@ -296,43 +279,3 @@ dw !FSTILE_SPACE dw !FSTILE_BRACKET_CLOSE_BOTTOM dw !FSTILE_SPACE, !FSTILE_SPACE ;-------------------------------------------------------------------------------- -org $0CDE60 ; <- 65E60 -FileSelect_CopyFile_Top: -db $62, $A5, $00, $15 -dw $1D4C, !FSTILE_SPACE, $1D68, !FSTILE_SPACE, $1D69, !FSTILE_SPACE, $1D82, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE -;dw $1CAC, !FSTILE_SPACE, $1D23, !FSTILE_SPACE, $1D89, !FSTILE_SPACE, $1D04, !FSTILE_SPACE, $1D89, !FSTILE_SPACE, $1D07 -;-------------------------------------------------------------------------------- -org $0CDE7A ; <- 65E7A -FileSelect_CopyFile_Bottom: -db $62, $C5, $00, $15 -dw $1D5C, !FSTILE_SPACE, $1D78, !FSTILE_SPACE, $1D79, !FSTILE_SPACE, $1D92, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE -;dw $1CBC, !FSTILE_SPACE, $1D33, !FSTILE_SPACE, $1D99, !FSTILE_SPACE, $1D14, !FSTILE_SPACE, $1D99, !FSTILE_SPACE, $1D17 -;-------------------------------------------------------------------------------- -org $0CDE94 ; <- 65E94 -FileSelect_KillFile_Top: -db $63, $25, $00, $19 -dw $1D64, !FSTILE_SPACE, $1D62, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE -;dw $1D64, !FSTILE_SPACE, $1D62, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, $1D04, !FSTILE_SPACE, $1D89, !FSTILE_SPACE, $1D07 -;-------------------------------------------------------------------------------- -;org $0CDEB2 ; <- 65EB2 -;FileSelect_KillFile_Bottom: -db $63, $45, $00, $19 -dw $1D74, !FSTILE_SPACE, $1D72, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE -;dw $1D74, !FSTILE_SPACE, $1D72, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, $1D14, !FSTILE_SPACE, $1D99, !FSTILE_SPACE, $1D17 -;-------------------------------------------------------------------------------- -;org $0CDDE8 ; <- 65DE8 -;FileSelect_PlayerSelectText_Top: -;db $60, $62, $00, $37 -;db $8A, $1D, $88, $01, $69, $1D, $88, $01, $65, $1D, $88, $01, $4A, $1D, $88, $01 -;db $82, $1D, $88, $01, $4E, $1D, $88, $01, $6B, $1D, $88, $01, $88, $01, $6C, $1D -;db $88, $01, $4E, $1D, $88, $01, $65, $1D, $88, $01, $4E, $1D, $88, $01, $4C, $1D -;db $88, $01, $6D, $1D, $88, $01, $8B, $1D -;-------------------------------------------------------------------------------- -;org $0CDE24 ; <- 65E24 -;FileSelect_PlayerSelectText_Bottom: -;db $60, $82, $00, $37 -;db $9A, $1D, $88, $01, $79, $1D, $88, $01, $75, $1D, $88, $01, $5A, $1D, $88, $01 -;db $92, $1D, $88, $01, $5E, $1D, $88, $01, $7B, $1D, $88, $01, $88, $01, $7C, $1D -;db $88, $01, $5E, $1D, $88, $01, $75, $1D, $88, $01, $5E, $1D, $88, $01, $5C, $1D -;db $88, $01, $7D, $1D, $88, $01, $9B, $1D -;-------------------------------------------------------------------------------- diff --git a/hashalphabethooks.asm b/hashalphabethooks.asm new file mode 100644 index 0000000..206fd91 --- /dev/null +++ b/hashalphabethooks.asm @@ -0,0 +1,58 @@ +;-------------------------------------------------------------------------------- +!FSTILE_SPACE = "$0188" + +!FSTILE_BRACKET_OPEN_TOP = "$1D8A" +!FSTILE_BRACKET_OPEN_BOTTOM = "$1D9A" + +!FSTILE_BRACKET_CLOSE_TOP = "$1D8B" +!FSTILE_BRACKET_CLOSE_BOTTOM = "$1D9B" + +!FSTILE_A_TOP = "$1D4A" +!FSTILE_A_BOTTOM = "$1D5A" + +!FSTILE_H_TOP = "$1D61" +!FSTILE_H_BOTTOM = "$1D71" + +!FSTILE_S_TOP = "$1D6C" +!FSTILE_S_BOTTOM = "$1D7C" +;-------------------------------------------------------------------------------- +org $0CDE60 ; <- 65E60 +FileSelect_CopyFile_Top: +db $62, $A5, $00, $15 +dw $1D4C, !FSTILE_SPACE, $1D68, !FSTILE_SPACE, $1D69, !FSTILE_SPACE, $1D82, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE +;dw $1CAC, !FSTILE_SPACE, $1D23, !FSTILE_SPACE, $1D89, !FSTILE_SPACE, $1D04, !FSTILE_SPACE, $1D89, !FSTILE_SPACE, $1D07 +;-------------------------------------------------------------------------------- +org $0CDE7A ; <- 65E7A +FileSelect_CopyFile_Bottom: +db $62, $C5, $00, $15 +dw $1D5C, !FSTILE_SPACE, $1D78, !FSTILE_SPACE, $1D79, !FSTILE_SPACE, $1D92, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE +;dw $1CBC, !FSTILE_SPACE, $1D33, !FSTILE_SPACE, $1D99, !FSTILE_SPACE, $1D14, !FSTILE_SPACE, $1D99, !FSTILE_SPACE, $1D17 +;-------------------------------------------------------------------------------- +org $0CDE94 ; <- 65E94 +FileSelect_KillFile_Top: +db $63, $25, $00, $19 +dw $1D64, !FSTILE_SPACE, $1D62, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE +;dw $1D64, !FSTILE_SPACE, $1D62, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, $1D65, !FSTILE_SPACE, $1D04, !FSTILE_SPACE, $1D89, !FSTILE_SPACE, $1D07 +;-------------------------------------------------------------------------------- +;org $0CDEB2 ; <- 65EB2 +;FileSelect_KillFile_Bottom: +db $63, $45, $00, $19 +dw $1D74, !FSTILE_SPACE, $1D72, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE, !FSTILE_SPACE +;dw $1D74, !FSTILE_SPACE, $1D72, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, $1D75, !FSTILE_SPACE, $1D14, !FSTILE_SPACE, $1D99, !FSTILE_SPACE, $1D17 +;-------------------------------------------------------------------------------- +;org $0CDDE8 ; <- 65DE8 +;FileSelect_PlayerSelectText_Top: +;db $60, $62, $00, $37 +;db $8A, $1D, $88, $01, $69, $1D, $88, $01, $65, $1D, $88, $01, $4A, $1D, $88, $01 +;db $82, $1D, $88, $01, $4E, $1D, $88, $01, $6B, $1D, $88, $01, $88, $01, $6C, $1D +;db $88, $01, $4E, $1D, $88, $01, $65, $1D, $88, $01, $4E, $1D, $88, $01, $4C, $1D +;db $88, $01, $6D, $1D, $88, $01, $8B, $1D +;-------------------------------------------------------------------------------- +;org $0CDE24 ; <- 65E24 +;FileSelect_PlayerSelectText_Bottom: +;db $60, $82, $00, $37 +;db $9A, $1D, $88, $01, $79, $1D, $88, $01, $75, $1D, $88, $01, $5A, $1D, $88, $01 +;db $92, $1D, $88, $01, $5E, $1D, $88, $01, $7B, $1D, $88, $01, $88, $01, $7C, $1D +;db $88, $01, $5E, $1D, $88, $01, $75, $1D, $88, $01, $5E, $1D, $88, $01, $5C, $1D +;db $88, $01, $7D, $1D, $88, $01, $9B, $1D +;-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/hooks.asm b/hooks.asm index 0ccb1bd..f298ec1 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1347,6 +1347,9 @@ NOP #6 ; remove crystal room cutscene check that causes softlocks ;================================================================================ ; Text Changes ;-------------------------------------------------------------------------------- +org $06C7D3 ; <- 347D3 - sprite_ponds.asm:720 (LDA.b #$8A) +JSL.l DialogFairyThrow +;-------------------------------------------------------------------------------- org $08C5ED ; <- 445ED - ancilla_receive_item.asm:395 (STA $1CF0 : CMP.w #$0070 : BNE .notGeezerSpeech) NOP #3 ;-------------------------------------------------------------------------------- @@ -1363,7 +1366,7 @@ org $1DA4EC ; <- EA4EC - sprite_blind_entities.asm:845 (JSL Sprite_ShowMessageMi JSL.l DialogBlind ;-------------------------------------------------------------------------------- org $06C94C ; <- 3494C - sprite_ponds.asm:970 (JSL Sprite_ShowMessageUnconditional) -JSL.l DialogFatFairy +JSL.l DialogPyramidFairy ;-------------------------------------------------------------------------------- org $06C454 ; <- 34454 - sprite_ponds.asm:133 (LDA $0D80, X) LDA.b #$00 : NOP @@ -1977,7 +1980,8 @@ NOP #36 org $1DFDA8 ; <- EFDA9 - sprite_digging_game_guy.asm:309 (STA $7FFE00) JSL.l SpawnShovelGamePrizeSFX ;-------------------------------------------------------------------------------- -org $01EEB6 ; <- EEB6 - Bank01.asm:14138 (ORA.b #$40 : STA $0403) +;org $01EEB6 ; <- EEB6 - Bank01.asm:14138 (ORA.b #$40 : STA $0403) +org $01EECD ; <- EECD - Bank01.asm:160 (LDA.b #$0E : STA $012F) JSL.l SpawnChestGamePrizeSFX : NOP ;================================================================================ diff --git a/inventory.asm b/inventory.asm index d535b2f..1df9ef8 100644 --- a/inventory.asm +++ b/inventory.asm @@ -97,7 +97,7 @@ RTL CLC RTL .midShovel - LDA #$01 : STA $7EF34C ; set shovel + ; LDA #$01 : STA $7EF34C ; set shovel .error LDA.b #$3C : STA $012E ; error sound .captured @@ -1062,10 +1062,12 @@ RTL ; SpawnChestGamePrizeSFX: ;-------------------------------------------------------------------------------- SpawnChestGamePrizeSFX: - ORA.b #$40 : STA $0403 ; thing we wrote over - PHA - LDA.b #$1B : STA $012F ; play puzzle sound - PLA + CPX.b #$07 : BNE .normal + LDA $A0 : CMP.b #$06 : BNE .normal + .prize + LDA.b #$1B : STA $012F : RTL ; play puzzle sound + .normal + LDA.b #$0E : STA $012F ; play chest sound RTL ;-------------------------------------------------------------------------------- diff --git a/map.asm b/map.asm index 1dfb641..c682a0c 100644 --- a/map.asm +++ b/map.asm @@ -1,16 +1,16 @@ ; ============================================================================== -PrepMapZoom: - LDA.b #$80 : STA $211A ; thing we wrote over - - LDA.b #$00 : STA !MAP_ZOOM -RTL +;PrepMapZoom: +; LDA.b #$80 : STA $211A ; thing we wrote over +; +; LDA.b #$00 : STA !MAP_ZOOM +;RTL ; ============================================================================== -ForceMapZoom: - LDA !MAP_ZOOM : BNE .isPreset - LDA.b #$01 - LDA.b #$01 : STA !MAP_ZOOM -RTL - .isPreset - LDA $F6 : AND.b #$70 -RTL +;ForceMapZoom: +; LDA !MAP_ZOOM : BNE .isPreset +; LDA.b #$01 +; LDA.b #$01 : STA !MAP_ZOOM +;RTL +; .isPreset +; LDA $F6 : AND.b #$70 +;RTL ; ============================================================================== \ No newline at end of file diff --git a/pendantcrystalhud.asm b/pendantcrystalhud.asm index 128c7b9..d5763ff 100644 --- a/pendantcrystalhud.asm +++ b/pendantcrystalhud.asm @@ -53,16 +53,17 @@ GetCrystalNumber: RTL ;================================================================================ !INVENTORY_MAP = "$7EF368" +!MAP_OVERLAY = "$7EF414" ; [2] OverworldMap_CheckObject: PHX ;CPX.b #$01 : BNE + : BRL ++ : + : BRL .fail LDA $7EF3CA : AND.b #$40 : BNE + ;LW Map LDA.l MapMode : BEQ +++ - LDA.l !INVENTORY_MAP : AND.b #$01 : BNE +++ + LDA !INVENTORY_MAP : ORA !MAP_OVERLAY : AND.b #$01 : BNE +++ PHX LDA.l .lw_map_offsets, X : TAX ; put map offset into X - LDA.l !INVENTORY_MAP, X + LDA !INVENTORY_MAP, X : ORA !MAP_OVERLAY, X PLX AND.l .lw_map_masks, X : BNE +++ BRL .fail @@ -73,10 +74,10 @@ OverworldMap_CheckObject: + ;DW Map LDA.l MapMode : BEQ +++ - LDA.l !INVENTORY_MAP : AND.b #$02 : BNE +++ + LDA !INVENTORY_MAP : ORA !MAP_OVERLAY : AND.b #$02 : BNE +++ PHX LDA.l .dw_map_offsets, X : TAX ; put map offset into X - LDA.l !INVENTORY_MAP, X + LDA.l !INVENTORY_MAP, X : ORA !MAP_OVERLAY, X PLX AND.l .dw_map_masks, X : BNE +++ BRL .fail diff --git a/tables.asm b/tables.asm index feaba89..195da3a 100644 --- a/tables.asm +++ b/tables.asm @@ -743,10 +743,10 @@ db #$00 ; #00 = Off (default) - #$01 = On ;================================================================================ org $30816B ; PC 0x18016B HardModeExclusionCaneOfByrnaUsage: -db #$04, #$02, #$01 ; normal, 1/2, 1/4 magic +db #$04, #$02, #$01 ; Normal, 1/2, 1/4 Magic org $30816E ; PC 0x18016E HardModeExclusionCapeUsage: -db #$04, #$08, #$10 ; normal, 1/2, 1/4 magic +db #$04, #$08, #$10 ; Normal, 1/2, 1/4 Magic ;================================================================================ org $308171 ; PC 0x180171 GanonPyramidRespawn: @@ -775,6 +775,17 @@ dw #$0005 ; #$0005 = 5 (Default) ArrowModeSilverArrowCost: ; keep these together dw #$000A ; #$000A = 10 (Default) ;================================================================================ +org $30817A ; PC 0x18017A +MapReveal_Sahasrahla: +dw #$2000 +org $30817C ; PC 0x18017C +MapReveal_BombShop: +dw #$0140 +;================================================================================ +org $30817E ; PC 0x18017E +Restrict_Ponds: +db #$01 ; #$00 = Original Behavior - #$01 - Restrict to Bottles (Default) +;================================================================================ org $308190 ; PC 0x180190 TimerStyle: db #$00 ; #$00 = Off (Default) - #$01 Countdown - #$02 = Stopwatch @@ -885,7 +896,7 @@ db $7f, $7f ; $308900 (0x180900) - $3089FF (0x1809FF) ; Fat Fairy Text org $308900 ; PC 0x180900 -FatFairyText: +PyramidFairyText: db $00, $b1, $00, $ae, $00, $c2, $00, $c7 db $76, $00, $b5, $00, $b2, $00, $bc, $00, $bd, $00, $ae, $00, $b7, $00, $c7 db $7f, $7f