Start tracking separated sections
This commit is contained in:
@@ -5,7 +5,7 @@ CheckLoot:
|
|||||||
REP #$30
|
REP #$30
|
||||||
PHB : PHX : PHY
|
PHB : PHX : PHY
|
||||||
|
|
||||||
STA.b $00
|
STA.b $CA
|
||||||
|
|
||||||
LDA.b $06 : PHA
|
LDA.b $06 : PHA
|
||||||
LDA.b $0E : PHA
|
LDA.b $0E : PHA
|
||||||
@@ -16,7 +16,8 @@ CheckLoot:
|
|||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
STA.b $0E
|
STA.b $0E
|
||||||
|
|
||||||
LDA.b $00
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -80,7 +81,9 @@ CheckLoot:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
CheckChests:
|
CheckChests:
|
||||||
LDA.b $00
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
|
STA.b $00
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -90,6 +93,7 @@ CheckChests:
|
|||||||
|
|
||||||
LDA.w #$0008
|
LDA.w #$0008
|
||||||
STA.b $04
|
STA.b $04
|
||||||
|
STZ.b $06
|
||||||
|
|
||||||
LDY.w #$FFFD
|
LDY.w #$FFFD
|
||||||
.increment_mask
|
.increment_mask
|
||||||
@@ -106,6 +110,10 @@ CheckChests:
|
|||||||
CMP.b $00
|
CMP.b $00
|
||||||
BNE .next_chest
|
BNE .next_chest
|
||||||
|
|
||||||
|
JSR CheckChestSection
|
||||||
|
INC.b $06
|
||||||
|
BCC .increment_mask
|
||||||
|
|
||||||
LDA.l SaveDataWRAM, X
|
LDA.l SaveDataWRAM, X
|
||||||
AND.b $04
|
AND.b $04
|
||||||
BNE .increment_mask ; already got item
|
BNE .increment_mask ; already got item
|
||||||
@@ -119,6 +127,10 @@ CheckChests:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
CheckBoss:
|
CheckBoss:
|
||||||
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
|
STA.b $04
|
||||||
|
|
||||||
LDX.w #$FFFA
|
LDX.w #$FFFA
|
||||||
.next_boss
|
.next_boss
|
||||||
INX #6
|
INX #6
|
||||||
@@ -127,7 +139,7 @@ CheckBoss:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
.check
|
.check
|
||||||
CMP.b $00
|
CMP.b $04
|
||||||
BNE .next_boss
|
BNE .next_boss
|
||||||
|
|
||||||
TXY
|
TXY
|
||||||
@@ -170,6 +182,10 @@ CheckBoss:
|
|||||||
BRA .next_boss
|
BRA .next_boss
|
||||||
|
|
||||||
CheckPrize:
|
CheckPrize:
|
||||||
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
|
STA.b $04
|
||||||
|
|
||||||
LDX.w #$FFFD
|
LDX.w #$FFFD
|
||||||
.next_prize
|
.next_prize
|
||||||
INX #3
|
INX #3
|
||||||
@@ -178,7 +194,7 @@ CheckPrize:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
.check
|
.check
|
||||||
CMP.b $00
|
CMP.b $04
|
||||||
BNE .next_prize
|
BNE .next_prize
|
||||||
|
|
||||||
TXY
|
TXY
|
||||||
@@ -202,7 +218,8 @@ CheckPrize:
|
|||||||
BRA .next_prize
|
BRA .next_prize
|
||||||
|
|
||||||
CheckPots:
|
CheckPots:
|
||||||
LDA.b $00
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -242,7 +259,18 @@ CheckPots:
|
|||||||
LDA.l DungeonMask, X : STA.b $08
|
LDA.l DungeonMask, X : STA.b $08
|
||||||
|
|
||||||
.mask_set
|
.mask_set
|
||||||
LDA.b $00 : ASL A : TAX
|
TXA
|
||||||
|
JSR CheckPotSection
|
||||||
|
BCS +
|
||||||
|
PLX
|
||||||
|
PLA
|
||||||
|
BRA .next_pot
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
|
ASL A
|
||||||
|
TAX
|
||||||
if !FEATURE_FIX_BASEROM
|
if !FEATURE_FIX_BASEROM
|
||||||
LDA.l SpriteDropData, X
|
LDA.l SpriteDropData, X
|
||||||
else
|
else
|
||||||
@@ -264,7 +292,8 @@ endif
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
CheckEnemies:
|
CheckEnemies:
|
||||||
LDA.b $00
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -279,7 +308,10 @@ CheckEnemies:
|
|||||||
.next_enemy
|
.next_enemy
|
||||||
LDA.b [$04], Y
|
LDA.b [$04], Y
|
||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
CMP.w #$00FF : BEQ .done
|
CMP.w #$00FF
|
||||||
|
BNE +
|
||||||
|
JMP .done
|
||||||
|
+
|
||||||
LDA.b [$04], Y
|
LDA.b [$04], Y
|
||||||
BIT.w #$8000 : BNE .overlord
|
BIT.w #$8000 : BNE .overlord
|
||||||
INY : INY
|
INY : INY
|
||||||
@@ -333,13 +365,25 @@ CheckEnemies:
|
|||||||
LDA.l DungeonMask, X : STA.b $08
|
LDA.l DungeonMask, X : STA.b $08
|
||||||
|
|
||||||
.mask_set
|
.mask_set
|
||||||
LDA.b $00 : ASL A : TAX
|
TXA
|
||||||
|
JSR CheckEnemySection
|
||||||
|
BCS +
|
||||||
|
PLX
|
||||||
|
PLA
|
||||||
|
BRA .next_enemy
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
|
ASL A
|
||||||
|
TAX
|
||||||
|
|
||||||
LDA.l SpriteDropData, X
|
LDA.l SpriteDropData, X
|
||||||
PLX
|
PLX
|
||||||
AND.b $08
|
AND.b $08
|
||||||
BEQ .not_obtained
|
BEQ .not_obtained
|
||||||
PLA
|
PLA
|
||||||
BRA .next_enemy
|
JMP .next_enemy
|
||||||
|
|
||||||
.not_obtained
|
.not_obtained
|
||||||
PLA
|
PLA
|
||||||
@@ -380,3 +424,86 @@ GetLootClass:
|
|||||||
.done
|
.done
|
||||||
PLX
|
PLX
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
macro DefineGetFooSection(type, offset)
|
||||||
|
Get<type>Section:
|
||||||
|
PHX
|
||||||
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
|
ASL A
|
||||||
|
TAX
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
TAX
|
||||||
|
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
AND.w #$00FF
|
||||||
|
STA.b $CE
|
||||||
|
BEQ .found
|
||||||
|
|
||||||
|
INX
|
||||||
|
.check_next_section
|
||||||
|
PHX
|
||||||
|
LDA.l SplitRooms+<offset>, X
|
||||||
|
TAX
|
||||||
|
-
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.w #$00FF
|
||||||
|
BEQ .not_this_section
|
||||||
|
CMP.b $CC
|
||||||
|
BEQ .plx_found
|
||||||
|
|
||||||
|
INX
|
||||||
|
BRA -
|
||||||
|
|
||||||
|
.not_this_section
|
||||||
|
PLX
|
||||||
|
TXA : CLC : ADC.w #$000A : TAX
|
||||||
|
DEC.b $CE
|
||||||
|
BNE .check_next_section
|
||||||
|
BRA .found
|
||||||
|
|
||||||
|
.plx_found
|
||||||
|
PLX
|
||||||
|
|
||||||
|
.found
|
||||||
|
PLX
|
||||||
|
LDA.b $CE
|
||||||
|
RTS
|
||||||
|
endmacro
|
||||||
|
|
||||||
|
macro DefineCheckFooSection(type)
|
||||||
|
Check<type>Section:
|
||||||
|
STA.b $CC
|
||||||
|
|
||||||
|
LDA.b $CB
|
||||||
|
AND.w #$00FF
|
||||||
|
BEQ .yes
|
||||||
|
|
||||||
|
JSR Get<type>Section
|
||||||
|
|
||||||
|
LDA.b $CB
|
||||||
|
AND.w #$00FF
|
||||||
|
LSR A : LSR A : LSR A : LSR A
|
||||||
|
DEC A
|
||||||
|
CMP.b $CE
|
||||||
|
BEQ .yes
|
||||||
|
|
||||||
|
.no
|
||||||
|
CLC
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.yes
|
||||||
|
SEC
|
||||||
|
RTS
|
||||||
|
endmacro
|
||||||
|
|
||||||
|
%DefineGetFooSection(Door, 2)
|
||||||
|
%DefineGetFooSection(Chest, 4)
|
||||||
|
%DefineGetFooSection(Pot, 6)
|
||||||
|
%DefineGetFooSection(Enemy, 8)
|
||||||
|
|
||||||
|
%DefineCheckFooSection(Door)
|
||||||
|
%DefineCheckFooSection(Chest)
|
||||||
|
%DefineCheckFooSection(Pot)
|
||||||
|
%DefineCheckFooSection(Enemy)
|
||||||
|
|||||||
@@ -8,8 +8,11 @@ DrawWackyDoorRandoStuff:
|
|||||||
|
|
||||||
STZ.w GFXStripes
|
STZ.w GFXStripes
|
||||||
|
|
||||||
LDA.b RoomIndex
|
JSL DetectLinksSection
|
||||||
AND.w #$00FF
|
INC A
|
||||||
|
XBA
|
||||||
|
ASL A : ASL A : ASL A : ASL A
|
||||||
|
ORA.b RoomIndex
|
||||||
STA.l CurrentDisplayedRoom
|
STA.l CurrentDisplayedRoom
|
||||||
|
|
||||||
DrawCurrentSupertile:
|
DrawCurrentSupertile:
|
||||||
@@ -28,6 +31,7 @@ DrawCurrentSupertile:
|
|||||||
|
|
||||||
; multiply room id by 24 to get index in doors table
|
; multiply room id by 24 to get index in doors table
|
||||||
LDA.l CurrentDisplayedRoom
|
LDA.l CurrentDisplayedRoom
|
||||||
|
AND.w #$00FF
|
||||||
TAX
|
TAX
|
||||||
LDA.l DoorOffset, X
|
LDA.l DoorOffset, X
|
||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
@@ -70,6 +74,7 @@ ClearDoorSlotScratch:
|
|||||||
|
|
||||||
DrawFullRoomTile:
|
DrawFullRoomTile:
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
|
AND.w #$00FF
|
||||||
PHX
|
PHX
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
@@ -81,6 +86,8 @@ DrawFullRoomTile:
|
|||||||
PLY
|
PLY
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
|
AND.w #$0FFF
|
||||||
|
|
||||||
CMP.w #$003F : BEQ .top_right
|
CMP.w #$003F : BEQ .top_right
|
||||||
CMP.w #$0096 : BEQ .top_right
|
CMP.w #$0096 : BEQ .top_right
|
||||||
CMP.w #$007E : BEQ .top_left
|
CMP.w #$007E : BEQ .top_left
|
||||||
@@ -207,7 +214,10 @@ CheckEdgesTable:
|
|||||||
CLC : ADC.b $00
|
CLC : ADC.b $00
|
||||||
ADC.b $02
|
ADC.b $02
|
||||||
XBA
|
XBA
|
||||||
ORA.l CurrentDisplayedRoom
|
STA.b $0C
|
||||||
|
LDA.l CurrentDisplayedRoom
|
||||||
|
AND.w #$00FF
|
||||||
|
ORA.b $0C
|
||||||
STA.b $0C
|
STA.b $0C
|
||||||
|
|
||||||
PHX
|
PHX
|
||||||
@@ -236,7 +246,10 @@ CheckInRoomTable:
|
|||||||
CLC : ADC.b $00
|
CLC : ADC.b $00
|
||||||
ADC.b $02
|
ADC.b $02
|
||||||
XBA
|
XBA
|
||||||
ORA.l CurrentDisplayedRoom
|
STA.b $0C
|
||||||
|
LDA.l CurrentDisplayedRoom
|
||||||
|
AND.w #$00FF
|
||||||
|
ORA.b $0C
|
||||||
STA.b $0C
|
STA.b $0C
|
||||||
|
|
||||||
PHX
|
PHX
|
||||||
@@ -270,13 +283,32 @@ GetConnection:
|
|||||||
BEQ .not_found
|
BEQ .not_found
|
||||||
|
|
||||||
STA.b $0C
|
STA.b $0C
|
||||||
|
STA.b $CA
|
||||||
LDA.b $08
|
LDA.b $08
|
||||||
JSR GetWhichDoorPosition
|
JSR GetWhichDoorPosition
|
||||||
|
PHA
|
||||||
XBA
|
XBA
|
||||||
ORA.b $0C
|
ORA.b $0C
|
||||||
STA.b $0C
|
STA.b $0C
|
||||||
|
|
||||||
|
PLA
|
||||||
|
CLC : ADC.b $00 : ADC.b $00 : ADC.b $00
|
||||||
|
PHX
|
||||||
|
TAX
|
||||||
|
LDA.l IncomingDoorMap, X
|
||||||
|
AND.w #$00FF
|
||||||
|
PLX
|
||||||
|
STA.b $CC
|
||||||
|
JSR GetDoorSection
|
||||||
|
INC A
|
||||||
|
ASL A : ASL A : ASL A : ASL A
|
||||||
|
XBA
|
||||||
|
ORA.b $0C
|
||||||
|
STA.b $0C
|
||||||
|
|
||||||
JSR CheckCanSeeConnector
|
JSR CheckCanSeeConnector
|
||||||
BCC .nope
|
BCC .nope
|
||||||
|
|
||||||
LDA.b $0C
|
LDA.b $0C
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
@@ -380,6 +412,15 @@ DrawSide:
|
|||||||
LDY.w #$0002
|
LDY.w #$0002
|
||||||
|
|
||||||
-
|
-
|
||||||
|
LDA.l CurrentDisplayedRoom
|
||||||
|
STA.b $CA
|
||||||
|
LDA.b $00
|
||||||
|
ASL A
|
||||||
|
CLC : ADC.b $00
|
||||||
|
ADC.b $02
|
||||||
|
JSR CheckDoorSection
|
||||||
|
BCC +
|
||||||
|
|
||||||
JSR GetConnection
|
JSR GetConnection
|
||||||
BMI +
|
BMI +
|
||||||
INC.b $06
|
INC.b $06
|
||||||
@@ -459,6 +500,7 @@ DrawSide:
|
|||||||
DrawStairs:
|
DrawStairs:
|
||||||
PHX
|
PHX
|
||||||
LDA.l CurrentDisplayedRoom
|
LDA.l CurrentDisplayedRoom
|
||||||
|
AND.w #$00FF
|
||||||
TAX
|
TAX
|
||||||
LDA.w SpiralPropsIndex, X
|
LDA.w SpiralPropsIndex, X
|
||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
@@ -571,6 +613,7 @@ GetSpecificRoomVisibility:
|
|||||||
DrawDropOrWarp:
|
DrawDropOrWarp:
|
||||||
PHX
|
PHX
|
||||||
LDA.l CurrentDisplayedRoom
|
LDA.l CurrentDisplayedRoom
|
||||||
|
AND.w #$00FF
|
||||||
STA.b $00
|
STA.b $00
|
||||||
|
|
||||||
LDX.w #$0000
|
LDX.w #$0000
|
||||||
@@ -644,7 +687,7 @@ DrawSingleConnectedRoom:
|
|||||||
|
|
||||||
TYX
|
TYX
|
||||||
LDA.l DoorSlots+1, X
|
LDA.l DoorSlots+1, X
|
||||||
AND.w #$00FF
|
AND.w #$000F
|
||||||
CMP.w #$0003
|
CMP.w #$0003
|
||||||
BNE +
|
BNE +
|
||||||
LDA.l DoorSlots, X
|
LDA.l DoorSlots, X
|
||||||
@@ -1305,10 +1348,12 @@ DoorsMapSelectCursor:
|
|||||||
|
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
LDA.l DoorSlots, X
|
|
||||||
|
|
||||||
STA.l CurrentDisplayedRoom
|
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
|
LDA.l DoorSlots, X
|
||||||
|
AND.w #$F0FF
|
||||||
|
STA.l CurrentDisplayedRoom
|
||||||
STZ.w GFXStripes
|
STZ.w GFXStripes
|
||||||
JSL ClearDoorsMapBG1
|
JSL ClearDoorsMapBG1
|
||||||
JSL ClearDoorsMapBG2
|
JSL ClearDoorsMapBG2
|
||||||
@@ -1416,7 +1461,7 @@ ClearDoorsMapBG2:
|
|||||||
|
|
||||||
GetRoomEntrance:
|
GetRoomEntrance:
|
||||||
PHX : PHY
|
PHX : PHY
|
||||||
LDY.w #$0085
|
LDY.w #$0076 ; entrance IDs 76 - 82 are dropdowns, handle those later
|
||||||
-
|
-
|
||||||
DEY
|
DEY
|
||||||
BMI .not_found
|
BMI .not_found
|
||||||
@@ -1581,3 +1626,87 @@ DrawDoorsStairs:
|
|||||||
|
|
||||||
.done
|
.done
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
DetectLinksSection:
|
||||||
|
LDA.b RoomIndex
|
||||||
|
ASL A
|
||||||
|
TAX
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
TAX
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
AND.w #$00FF
|
||||||
|
STA.b $00
|
||||||
|
BEQ .done
|
||||||
|
|
||||||
|
LDA.b LinkPosX
|
||||||
|
LSR A
|
||||||
|
AND.w #$00FF
|
||||||
|
INC A
|
||||||
|
STA.b $02
|
||||||
|
|
||||||
|
LDA.b LinkPosY
|
||||||
|
LSR A
|
||||||
|
AND.w #$00FF
|
||||||
|
INC A
|
||||||
|
STA.b $04
|
||||||
|
|
||||||
|
LDA.b LinkLayer
|
||||||
|
AND.w #$00FF
|
||||||
|
INC A
|
||||||
|
STA.b $06
|
||||||
|
|
||||||
|
INX
|
||||||
|
.next_section
|
||||||
|
PHX
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
TAX
|
||||||
|
.next_area
|
||||||
|
LDA.l SplitRooms, X
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.w #$00FF
|
||||||
|
BEQ .not_this_section
|
||||||
|
|
||||||
|
AND.w $06
|
||||||
|
BEQ .not_this_area
|
||||||
|
|
||||||
|
LDA.l SplitRooms+1, X ; x minimum
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.b $02
|
||||||
|
BCS .not_this_area
|
||||||
|
|
||||||
|
LDA.l SplitRooms+2, X ; x maximum
|
||||||
|
AND.w #$00FF
|
||||||
|
INC A
|
||||||
|
CMP.b $02
|
||||||
|
BCC .not_this_area
|
||||||
|
|
||||||
|
LDA.l SplitRooms+3, X ; y minimum
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.b $04
|
||||||
|
BCS .not_this_area
|
||||||
|
|
||||||
|
LDA.l SplitRooms+4, X ; y maximum
|
||||||
|
AND.w #$00FF
|
||||||
|
INC A
|
||||||
|
CMP.b $04
|
||||||
|
BCC .not_this_area
|
||||||
|
|
||||||
|
BRA .found
|
||||||
|
|
||||||
|
.not_this_area
|
||||||
|
INX #5
|
||||||
|
BRA .next_area
|
||||||
|
|
||||||
|
.not_this_section
|
||||||
|
PLX
|
||||||
|
TXA : CLC : ADC.w #$000A : TAX
|
||||||
|
DEC.b $00
|
||||||
|
BNE .next_section
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
.found
|
||||||
|
PLX
|
||||||
|
|
||||||
|
.done
|
||||||
|
LDA.b $00
|
||||||
|
RTL
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ db $00, $07, $00, $04, $00, $00, $00, $01, $7D, $0A, $00, $00, $00, $00, $04, $0
|
|||||||
db $01, $00, $04, $00, $00, $01, $07, $00, $00, $00, $00, $0A, $00, $00, $07, $00
|
db $01, $00, $04, $00, $00, $01, $07, $00, $00, $00, $00, $0A, $00, $00, $07, $00
|
||||||
db $80, $00, $00, $00, $00, $01, $01, $00, $00, $00, $00, $00, $01, $00, $07, $00
|
db $80, $00, $00, $00, $00, $01, $01, $00, $00, $00, $00, $00, $01, $00, $07, $00
|
||||||
db $85, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $85, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||||
db $8A, $04, $8F, $00, $00, $00, $00, $00, $00, $00, $0A, $00, $00, $00, $00, $00
|
db $8A, $92, $8F, $00, $00, $00, $00, $00, $00, $00, $0A, $00, $00, $00, $00, $00
|
||||||
db $04
|
db $04
|
||||||
|
|
||||||
SpiralProps:
|
SpiralProps:
|
||||||
@@ -52,6 +52,7 @@ db $02, $00, $02, $02, $09 ; ($80) Tower Usains (2nd value unused)
|
|||||||
db $02, $00, $02, $02, $09 ; ($85) Tower Dark2 (2nd value unused)
|
db $02, $00, $02, $02, $09 ; ($85) Tower Dark2 (2nd value unused)
|
||||||
db $02, $00, $02, $02, $09 ; ($8A) Tower Dark1 (2nd value unused)
|
db $02, $00, $02, $02, $09 ; ($8A) Tower Dark1 (2nd value unused)
|
||||||
db $01, $00, $09 ; ($8F) Mire2
|
db $01, $00, $09 ; ($8F) Mire2
|
||||||
|
db $01, $00, $0A ; ($92) Mire south of Torch Room
|
||||||
|
|
||||||
SpiralLabelOffsets:
|
SpiralLabelOffsets:
|
||||||
db 1, -9
|
db 1, -9
|
||||||
|
|||||||
214
dungeon_map/data/split_room.asm
Normal file
214
dungeon_map/data/split_room.asm
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
IncomingDoorMap:
|
||||||
|
; north
|
||||||
|
db $06, $07, $08
|
||||||
|
; west
|
||||||
|
db $09, $0A, $0B
|
||||||
|
; south
|
||||||
|
db $00, $01, $02
|
||||||
|
; east
|
||||||
|
db $03, $04, $05
|
||||||
|
|
||||||
|
macro d(label)
|
||||||
|
dw <label>-SplitRooms
|
||||||
|
endmacro
|
||||||
|
|
||||||
|
SplitRooms:
|
||||||
|
; 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.14) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.75) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.7d) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
; 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.a9) : %d(.aa) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.b2) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.b9) : %d(.no) : %d(.no) : %d(.bc) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no) : %d(.d1) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.d6) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
|
%d(.no)
|
||||||
|
|
||||||
|
.no
|
||||||
|
db $00
|
||||||
|
|
||||||
|
.no_items
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.14
|
||||||
|
db $02
|
||||||
|
%d(..areas3) : %d(..doors3) : %d(.no_items) : %d(.no_items) : %d(.no_items)
|
||||||
|
%d(..areas2) : %d(..doors2) : %d(.no_items) : %d(.no_items) : %d(.no_items)
|
||||||
|
..areas3
|
||||||
|
db $03, $C0, $FF, $00, $50
|
||||||
|
db $03, $00, $28, $30, $50
|
||||||
|
db $03, $30, $50, $D0, $FF
|
||||||
|
db $FF
|
||||||
|
..doors3
|
||||||
|
db $03, $06, $09
|
||||||
|
db $FF
|
||||||
|
..areas2
|
||||||
|
db $FF
|
||||||
|
..doors2
|
||||||
|
db $05, $0B
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.75
|
||||||
|
db $02
|
||||||
|
%d(..areas) : %d(..doors) : %d(..chests) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $80, $FF, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $08
|
||||||
|
db $FF
|
||||||
|
..chests
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $06, $07
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.7d ; GT warp maze (section next to rando room)
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(..pots) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $FF, $00, $80
|
||||||
|
db $03, $00, $80, $80, $FF
|
||||||
|
db $03, $CA, $DA, $9A, $A6
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $05
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $00, $01, $02, $03
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00, $01, $02, $03, $09
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.a9
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(..pots) : %d(.no_items)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $40, $70, $FF
|
||||||
|
db $03, $00, $FF, $A0, $FF
|
||||||
|
db $03, $C0, $FF, $70, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $04, $07, $0A
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $04, $05, $06, $07
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.aa
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(.no_items) : %d(.no_items)
|
||||||
|
..areas
|
||||||
|
db $02, $00, $80, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $03, $06
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.b2
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(..pots) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $02, $00, $FF, $00, $80
|
||||||
|
db $03, $60, $A0, $00, $40
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $01, $09
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $00, $01, $02, $03, $04, $05, $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00, $01, $02, $03, $04
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.b9
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(.no_items) : %d(.no_items)
|
||||||
|
..areas
|
||||||
|
db $01, $00, $20, $28, $60
|
||||||
|
db $01, $00, $20, $28, $60
|
||||||
|
db $01, $E0, $FF, $58, $60
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $03, $09
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.bc
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(..pots) : %d(.no_items)
|
||||||
|
..areas
|
||||||
|
db $03, $2C, $4C, $CA, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $0C, $0D
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.d1
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(..pots) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $80, $FF, $00, $A8
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $02
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $02, $03, $04, $05
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00, $01, $07
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.d6
|
||||||
|
db $01
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $80, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00, $01, $02
|
||||||
|
db $FF
|
||||||
@@ -37,3 +37,4 @@ incsrc blink_loot.asm
|
|||||||
incsrc data/doors_display.asm
|
incsrc data/doors_display.asm
|
||||||
incsrc data/spiral_stairs.asm
|
incsrc data/spiral_stairs.asm
|
||||||
incsrc data/fall_warps.asm
|
incsrc data/fall_warps.asm
|
||||||
|
incsrc data/split_room.asm
|
||||||
|
|||||||
Reference in New Issue
Block a user