Merge remote-tracking branch 'baserom/master' into MergeDecompression

# Conflicts:
#	LTTP_RND_GeneralBugfixes.asm
#	bookofmudora.asm
#	build.bat
#	catfish.asm
#	compasses.asm
#	contrib.asm
#	darkworldspawn.asm
#	entrances.asm
#	events.asm
#	floodgatesoftlock.asm
#	flute.asm
#	framehook.asm
#	goalitem.asm
#	halfmagicbat.asm
#	heartpieces.asm
#	hooks.asm
#	inventory.asm
#	invertedmaps.asm
#	itemtext_lower.asm
#	lampmantlecone.asm
#	mantle.asm
#	msu.asm
#	music.asm
#	newhud.asm
#	newitems.asm
#	pendantcrystalhud.asm
#	ram.asm
#	rngfixes.asm
#	roomloading.asm
#	shopkeeper.asm
#	stats.asm
#	stats/credits.asm
#	stats/creditsnew.asm
#	stats/statConfig.asm
#	tables.asm
#	tablets.asm
#	utilities.asm
#	zoraking.asm
This commit is contained in:
aerinon
2023-08-23 13:02:39 -06:00
186 changed files with 24631 additions and 15312 deletions

View File

@@ -4,10 +4,10 @@ LoadRoomHook:
.noStats
JSL Dungeon_LoadRoom
REP #$10 ; 16 bit XY
LDX $A0 ; Room ID
LDX.b RoomIndex ; Room ID
LDA.l RoomCallbackTable, X
SEP #$10 ; 8 bit XY
JSL UseImplicitRegIndexedLongJumpTable
JSL JumpTableLong
; Callback routines:
dl NoCallback ; 00
dl IcePalaceBombosSE ; 01
@@ -19,9 +19,6 @@ LoadRoomHook:
NoCallback:
RTL
!RL_TILE = 2
!RL_LINE = 128
macro setTilePointer(roomX, roomY, quadX, quadY)
; Left-to-right math. Should be equivalent to 0x7e2000+(roomX*2)+(roomY*128)+(quadX*64)+(quadY*4096)
LDX.w #<quadY>*32+<roomY>*2+<quadX>*32+<roomX>*2
@@ -36,15 +33,15 @@ macro writeTileAt(roomX, roomY, quadX, quadY)
STA.l <quadY>*32+<roomY>*2+<quadX>*32+<roomX>*2+$7E2000
endmacro
!BOMBOS_BORDER = #$08D0
!BOMBOS_ICON_1 = #$0CCA
!BOMBOS_ICON_2 = #$0CCB
!BOMBOS_ICON_3 = #$0CDA
!BOMBOS_ICON_4 = #$0CDB
!BOMBOS_BORDER = $08D0
!BOMBOS_ICON_1 = $0CCA
!BOMBOS_ICON_2 = $0CCB
!BOMBOS_ICON_3 = $0CDA
!BOMBOS_ICON_4 = $0CDB
macro DrawBombosPlatform(roomX, roomY, quadX, quadY)
REP #$30 ; 16 AXY
%setTilePointer(<roomX>, <roomY>, <quadX>, <quadY>)
LDA.w !BOMBOS_BORDER
LDA.w #!BOMBOS_BORDER
%writeTile()
%writeTile()
%writeTile()
@@ -52,15 +49,15 @@ macro DrawBombosPlatform(roomX, roomY, quadX, quadY)
%setTilePointer(<roomX>, <roomY>+1, <quadX>, <quadY>)
%writeTile()
LDA.w !BOMBOS_ICON_1 : %writeTile()
LDA.w !BOMBOS_ICON_2 : %writeTile()
LDA.w !BOMBOS_BORDER : %writeTile()
LDA.w #!BOMBOS_ICON_1 : %writeTile()
LDA.w #!BOMBOS_ICON_2 : %writeTile()
LDA.w #!BOMBOS_BORDER : %writeTile()
%setTilePointer(<roomX>, <roomY>+2, <quadX>, <quadY>)
%writeTile()
LDA.w !BOMBOS_ICON_3 : %writeTile()
LDA.w !BOMBOS_ICON_4 : %writeTile()
LDA.w !BOMBOS_BORDER : %writeTile()
LDA.w #!BOMBOS_ICON_3 : %writeTile()
LDA.w #!BOMBOS_ICON_4 : %writeTile()
LDA.w #!BOMBOS_BORDER : %writeTile()
%setTilePointer(<roomX>, <roomY>+3, <quadX>, <quadY>)
%writeTile()
@@ -71,15 +68,15 @@ macro DrawBombosPlatform(roomX, roomY, quadX, quadY)
endMacro
IcePalaceBombosSE:
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
LDA.l AllowSwordlessMedallionUse : CMP.b #$01 : BEQ + : RTL : +
%DrawBombosPlatform(14, 18, 1, 1)
RTL
IcePalaceBombosSW:
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
LDA.l AllowSwordlessMedallionUse : CMP.b #$01 : BEQ + : RTL : +
%DrawBombosPlatform(14, 18, 0, 1)
RTL
IcePalaceBombosNE:
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
LDA.l AllowSwordlessMedallionUse : CMP.b #$01 : BEQ + : RTL : +
%DrawBombosPlatform(14, 18, 1, 0)
RTL