From 3dde5bcbbd4572217540a35bbcdb0174d8b351a5 Mon Sep 17 00:00:00 2001 From: Smallhacker Date: Thu, 4 Jan 2018 01:17:20 -0500 Subject: [PATCH] Added Bombos platform in first Ice Palace room --- LTTP_RND_GeneralBugfixes.asm | 2 +- graphicsoverride.asm | 62 ----------------------------------- hooks.asm | 18 +++------- ice_bombos_floor.bin | Bin 128 -> 0 bytes ice_palace_floor.bin | Bin 0 -> 2048 bytes icepalacegraphics.asm | 47 ++++++++++++++++++++++++++ 6 files changed, 53 insertions(+), 76 deletions(-) delete mode 100644 graphicsoverride.asm delete mode 100644 ice_bombos_floor.bin create mode 100644 ice_palace_floor.bin create mode 100644 icepalacegraphics.asm diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 2a80069..8d62bbc 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -124,7 +124,7 @@ incsrc doorframefixes.asm ;incsrc shopkeeper.asm incsrc cuccostorm.asm incsrc roomloading.asm -incsrc graphicsoverride.asm +incsrc icepalacegraphics.asm incsrc hashalphabet.asm ; <- TAKE OUT THE EXTRA ORGS IN HERE - THIS IS WHY WE COULDN'T ADD MORE FILES EARLIER warnpc $A18000 diff --git a/graphicsoverride.asm b/graphicsoverride.asm deleted file mode 100644 index 830d319..0000000 --- a/graphicsoverride.asm +++ /dev/null @@ -1,62 +0,0 @@ -macro OverwriteVramTile(firstTileIndex, count) - LDA.w #+512*8*8*4/16 - LDX.b # - JSR UploadTileToVram -endmacro - -GraphicsOverrideHook: - JSL .resumeOriginalCode - - LDA $0A ; Floor tileset loaded - CMP #$0A ; Floor tileset index used by Ice and Mire - BEQ .loadedIceOrMireFloor - RTL - -.loadedIceOrMireFloor - LDA $040C ; Load dungeon number - CMP #$12 ; Ice Palace - BEQ .isInIcePalace - RTL - -.isInIcePalace - ; We've just loading the floor tiles in Ice Palace. - ; Replace the bridge tiles with the bombos medallion - - LDA.b #IcePalaceMedallionGfx>>16 - STA $02 - REP #$20 - LDA.w #IcePalaceMedallionGfx - STA $00 - - %OverwriteVramTile($CA, 2) - %OverwriteVramTile($DA, 2) - - SEP #$20 - RTL - -.resumeOriginalCode - ; Overwritten instructions: - PHB - LDA.b #$00 - PHA - PLB - LDA.b #$80 - JML GraphicsOverrideResume - -; A = VRAM word address to upload to (Actual VRAM address / 2) -; X = Tiles to upload -; $00-$02 = Pointer to graphics data -UploadTileToVram: - ; TODO: This should probably be optimized with a DMA - STA $2116 - TXA : ASL #4 : TAX ; X = Amount of words to upload (Tiles to upload * 16) -- LDA [$00] - STA $2118 - INC $00 - INC $00 - DEX - BNE - - RTS - -IcePalaceMedallionGfx: - incbin ice_bombos_floor.bin \ No newline at end of file diff --git a/hooks.asm b/hooks.asm index 08b75bd..c08a101 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1945,17 +1945,9 @@ org $02C2F3 ; <- Bank02.asm:10391 (JSL Dungeon_LoadRoom) ;================================================================================ ; Hook for graphicsoverride.asm ;-------------------------------------------------------------------------------- -org $00E1DB ; <- Bank00.asm:4866 (PHB : PHK : PLB : LDA.b #$80) - JML GraphicsOverrideHook - NOP - GraphicsOverrideResume: -;-------------------------------------------------------------------------------- -org $028BE7 ; <- Bank02.asm:2299 (JSL Dungeon_LoadRoom) - JSL LoadRoomHook -;-------------------------------------------------------------------------------- -org $029309 ; <- Bank02.asm:3533 (JSL Dungeon_LoadRoom) - JSL LoadRoomHook -;-------------------------------------------------------------------------------- -org $02C2F3 ; <- Bank02.asm:10391 (JSL Dungeon_LoadRoom) - JSL LoadRoomHook +org $00E64D ; <- Bank00.asm:5656 (STZ $00 : STX $01 : STA $02) + JML BgGraphicsLoading + BgGraphicsLoadingCancel: + RTS : NOP + BgGraphicsLoadingResume: ;================================================================================ \ No newline at end of file diff --git a/ice_bombos_floor.bin b/ice_bombos_floor.bin deleted file mode 100644 index 87b992bf9ebe4598c0d5dede8cfc6c3361046da8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmcEDQ&armz2^N$``i0>)$gfy{?q?K{(=30{|)sG{~7)>+>y07ed62q-@pGh{Ym_1 z`R|ea7yh5@f0+L<{$~Wq#cibOuzkdGY^*qVkCqQCAoelK|;vdZaVE)JUU+lkI fe`f!k{+siw@!@lNAo>4{{}}%;|6>2cf6*QQ7;#E+ diff --git a/ice_palace_floor.bin b/ice_palace_floor.bin new file mode 100644 index 0000000000000000000000000000000000000000..4729f171f6d08793f8dbb1327d02948a79d69cb8 GIT binary patch literal 2048 zcmbtVeM}Q)7=Mp$woFFZH1mvzfK@be2Ej>*l`Ca_O*37VDdGnhw)T%1U^79CdLLpm zW?RsiWy2PWTbNtog7YJ;3LNAX#UK)AGKUpgK0C&gvQDtJch8<{RrD|a@Sfb;%RTS= z-t+u^zxUTk$^>~{h#oWgwz)4gRf#jdOycH5P#-xezrkm&mH8tw<$E>Dg#&;_OeTT6?EiUT7Azy}gkLk=h)5J|9F zOa_{mXsbc82!bS8ttJyqn@m=#B$4M_!-?)iCwG0;exZNW*`dk92_85PyPzHV;Veu6 zH^{Gy&h;cKlpHgri$DWE!4KfXFAriJ08GQ~?f&7po(+s!yudYZdEqMm3@_6RJjbi^ zZ%;S2wT_O3Lh|15RwY~MVgAzxwP6kRiroS+x+b=M6jOa7Rv;kH#tX6Sl|xcM8vg3{B&V)zDP+K8h{McVP=vkYa86OW zQF)R2n7*ZRtysllZ}Z?CI10018DjjR>jhhG_eU1E*?pE9Up%JQY8WDOfINv}YXOaw5N~tbT1Hlw$`Oumv{2 zc32NU8ZFcMI?{b~ATFW+WL}2FsDKU_LLEA|{amhC$kaQJ)W;Q1Y*mRv=6SBU(ChSP zg_kIsm0MxE{7oqKex`J7euP*`p~9Mn+OYmQBbnZ9NZoYwyuz{NmJb`rb~DD?*+%t~Cq|t0Tbv_AS~I$IZNw@xO751f z$}{mLQU9=j0rjyO9X1DMIH$Qa#e$1(AXc1c0!}J=Wo9aPGOpnrjjNIB2>i0P(`c_aQg)=Qy5blsROmsA zp~ui-e_G^+;0kq*fa-`;l-0+(DB#z3CrPFQJL3aMz08#z4nKII8M}|#rw(e@|5#90 zc&_x<9ioxPl2^b|M6d|TkR=Xl@Fow;9$f@PG3=m<8kEy zxC8^}9wzMadH&NA;kS@W-?@NOl@sNchyB>2iiOYjd57I|8N#v*$L?H}X*`|D_&x^j z6dV(~Xg9G|iY;B>16 + STA $02 + REP #$20 + LDA.w #IcePalaceFloorGfx + STA $00 + LDX.b #64*2 ; Tiles to load * 2 +- + ; Unrolled loop to upload half a tile + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + LDA [$00] : STA $2118 : INC $00 : INC $00 + DEX + BNE - + + SEP #$20 + JML BgGraphicsLoadingCancel + +IcePalaceFloorGfx: + incbin ice_palace_floor.bin \ No newline at end of file