From 5c3bd34472345f834a6ed63af7d44d2f6730479a Mon Sep 17 00:00:00 2001 From: Karkat Date: Sun, 4 Feb 2018 00:28:19 -0500 Subject: [PATCH] let's dev 2/4/18 updates to shops started dev on inverted --- LTTP_RND_GeneralBugfixes.asm | 5 ++++- hooks.asm | 18 ++++++++++++------ msu.asm | 2 +- shopkeeper.asm | 18 +++++++++++++++++- tables.asm | 20 +++++++++++++++++--- 5 files changed, 51 insertions(+), 12 deletions(-) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index a8a8dd3..2ad0946 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, #$01, #$29 ; year/month/day +db #$20, #$18, #$02, #$04 ; year/month/day ;================================================================================ @@ -309,6 +309,9 @@ db GFX_HUD_Main>>8 org $00D25B ; 0x525B - HUD Main L db GFX_HUD_Main ;================================================================================ +org $008781 +UseImplicitRegIndexedLocalJumpTable: + org $008333 Vram_EraseTilemaps_triforce: diff --git a/hooks.asm b/hooks.asm index b8ce934..3bb2506 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1071,14 +1071,20 @@ spc_continue: ;================================================================================ ; Replacement Shopkeeper ;-------------------------------------------------------------------------------- -;org $068BEB ; <- 30BEB - Bank07.asm:1125 - (INC $0BA0, X) -;JSL.l SpritePrep_ShopKeeper : RTS +org $068BEB ; <- 30BEB - sprite_prep.asm:1125 - (INC $0BA0, X) +JSL.l SpritePrep_ShopKeeper : RTS : NOP +ShopkeeperFinishInit: ;-------------------------------------------------------------------------------- -;org $1EEEE3 ; <- F6EE3 - sprite_shopkeeper.asm:7 - (LDA $0E80, X) -;JSL.l Sprite_ShopKeeper : RTS +org $1EEEE3 ; <- F6EE3 - sprite_shopkeeper.asm:7 - (LDA $0E80, X) +JSL.l Sprite_ShopKeeper : RTS : NOP +ShopkeeperJumpTable: ;-------------------------------------------------------------------------------- -;org $00D55E ; <- 555E - Bank00.asm:3491 (LDX.w #$2D40) -;JSL.l LoadModifiedTileBufferAddress : NOP #2 + +;================================================================================ +; Tile Target Loader +;-------------------------------------------------------------------------------- +org $00D55E ; <- 555E - Bank00.asm:3491 (LDX.w #$2D40) +JSL.l LoadModifiedTileBufferAddress : NOP #2 ;-------------------------------------------------------------------------------- ;================================================================================ diff --git a/msu.asm b/msu.asm index 8f741d7..c2ff499 100644 --- a/msu.asm +++ b/msu.asm @@ -177,7 +177,7 @@ spc_fallback: JML spc_continue msu_play: - LDA.l track_list,x + LDA.l MSUTrackList, X STA !REG_MSU_CONTROL STX !REG_CURRENT_MSU_TRACK JML spc_continue \ No newline at end of file diff --git a/shopkeeper.asm b/shopkeeper.asm index 29cbeca..b3f391f 100644 --- a/shopkeeper.asm +++ b/shopkeeper.asm @@ -145,7 +145,8 @@ SpritePrep_ShopKeeper: LDX.w #$0000 - LDA ShopTable+1, X : CMP $A0 : BNE + - LDA ShopTable+3, X : CMP $010E : BNE + + ;LDA ShopTable+3, X : CMP $010E : BNE + + LDA $7F5099 : AND #$00FF : CMP ShopTable+3, X : BNE + SEP #$20 ; set 8-bit accumulator LDA ShopTable, X : STA !SHOP_ID LDA ShopTable+5, X : STA !SHOP_TYPE @@ -214,6 +215,11 @@ SpritePrep_ShopKeeper: .done LDA.b #$00 : STA !SHOP_STATE PLP : PLY : PLX + + LDA.l !SHOP_TYPE : CMP.b #$FF : BNE + + PLA : PLA : PLA + JML.l ShopkeeperFinishInit + + RTL .tile_offsets dw $0000, $0000 @@ -305,10 +311,20 @@ UploadVRAMTiles: PLA : STA $4300 ; restore DMA parameters RTS ;-------------------------------------------------------------------------------- +Shopkepeer_CallOriginal: + PLA : PLA : PLA + LDA.b #ShopkeeperJumpTable>>16 : PHA + LDA.b #ShopkeeperJumpTable>>8 : PHA + LDA.b #ShopkeeperJumpTable : PHA + LDA $0E80, X + JML.l UseImplicitRegIndexedLocalJumpTable +;-------------------------------------------------------------------------------- ;!SHOP_TYPE = "$7F5051" ;!SCRATCH_CAPACITY = "$7F5020" ;!SCRATCH_TEMP_X = "$7F5021" Sprite_ShopKeeper: + LDA.l !SHOP_TYPE : CMP.b #$FF : BNE + : JMP.w Shopkepeer_CallOriginal : + + PHB : PHK : PLB JSL.l Sprite_PlayerCantPassThrough diff --git a/tables.asm b/tables.asm index 77120c6..7af601d 100644 --- a/tables.asm +++ b/tables.asm @@ -1229,6 +1229,18 @@ db $04 ;-------------------------------------------------------------------------------- org $308400 ; PC 0x180400 ;================================================================================ +;Vortexes +org $05AF79 ; PC 0x2AF79 (sprite_warp_vortex.asm:18) (BNE) +db #$D0 ; #$D0 - Light-to-Dark (Default), #$F0 - Dark-to-Light, #$42 - Both Directions +;Mirror +org $07A943 ; PC 013A943 (Bank07.asm:6548) (BNE) +db #$D0 ; #$D0 - Dark-to-Light (Default), #$F0 - Light-to-Dark, #$42 - Both Directions +;Residual Portal +org $07A96D ; PC 013A96D (Bank07.asm:6579) (BEQ) +db #$F0 ; #$F0 - Light Side (Default), #$D0 - Dark Side, #$42 - Both Sides +org $07A9A7 ; PC 013A9A7 (Bank07.asm:6622) (BNE) +db #$D0 ; #$D0 - Light Side (Default), #$F0 - Dark Side, #$42 - Both Sides +;================================================================================ org $0DDBEC ; <- 6DBEC dw #10000 ; Rupee Limit +1 org $0DDBF1 ; <- 6DBF1 @@ -1296,6 +1308,7 @@ dw #9999 ; Rupee Limit ; $7F5097 - Dialog Offset Pointer Return (High) ; $7F5098 - Water Entry Index ; $7F5099 - Last Entered Overworld Door ID +; $7F509A - (Reserved) ; $7F50A0 - Event Parameter 1 @@ -1398,8 +1411,8 @@ db $FF, $FF, $FF, $FF ; qq - # of items for sale org $30C800 ; PC 0x184800 - 0x184FFF ShopTable: -;db [id][roomID-low][roomID-high][entranceID-low][entranceID-high][shop_config][pad][pad] -db $FF, $12, $01, $58, $00, $03, $00, $00 +;db [id][roomID-low][roomID-high][doorID][zero][shop_config][pad][pad] +db $FF, $FF, $FF, $FF, $00, $03, $00, $00 ShopContentsTable: ;db [id][item][price-low][price-high][max][repl_id][repl_price-low][repl_price-high] db $FF, $AF, $50, $00, $00, $FF, $00, $00 @@ -1407,7 +1420,8 @@ db $FF, $27, $0A, $00, $00, $FF, $00, $00 db $FF, $12, $F4, $01, $01, $2F, $3C, $00 db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ;================================================================================ -track_list: +org $30D000 +MSUTrackList: db $00,$01,$03,$03,$03,$03,$03,$03 db $01,$03,$01,$03,$03,$03,$03,$03 db $03,$03,$03,$01,$03,$03,$03,$03