Merge in beta changes to pikit mode #4
@@ -213,6 +213,7 @@ incsrc gk/variable_ganon_vulnerability.asm
|
|||||||
incsrc gk/pseudoflute.asm
|
incsrc gk/pseudoflute.asm
|
||||||
incsrc gk/fast_junk.asm
|
incsrc gk/fast_junk.asm
|
||||||
incsrc gk/dungeon_maps.asm
|
incsrc gk/dungeon_maps.asm
|
||||||
|
incsrc gk/dungeon_indicator.asm
|
||||||
print "End of B9: ", pc
|
print "End of B9: ", pc
|
||||||
|
|
||||||
warnpc $B9EE00
|
warnpc $B9EE00
|
||||||
|
|||||||
@@ -599,7 +599,7 @@ skip $10
|
|||||||
BigKeyStatus: ;27f040 (status 2 indicate BnC guard)
|
BigKeyStatus: ;27f040 (status 2 indicate BnC guard)
|
||||||
dw $0002, $0002, $0001, $0001, $0000, $0001, $0001, $0001, $0001, $0001, $0001, $0001, $0001, $0001, $0000, $0000
|
dw $0002, $0002, $0001, $0001, $0000, $0001, $0001, $0001, $0001, $0001, $0001, $0001, $0001, $0001, $0000, $0000
|
||||||
DungeonReminderTable: ;27f060
|
DungeonReminderTable: ;27f060
|
||||||
dw $2D50, $2D50, $2D51, $2D52, $2D54, $2D56, $2D55, $2D5A, $2D57, $2D59, $2D53, $2D58, $2D5B, $2D5C, $0000, $0000
|
dw $2DA4, $2DA4, $2DA5, $2DA6, $2DA8, $2DAA, $2DA9, $2DAE, $2DAB, $2DAD, $2DA7, $2DAC, $2DAF, $2DB0, $0000, $0000
|
||||||
TotalLocationsLow: ;27f080
|
TotalLocationsLow: ;27f080
|
||||||
db $08, $08, $06, $06, $02, $00, $04, $08, $08, $08, $06, $08, $02, $07, $00, $00
|
db $08, $08, $06, $06, $02, $00, $04, $08, $08, $08, $06, $08, $02, $07, $00, $00
|
||||||
TotalLocationsHigh: ;27f090
|
TotalLocationsHigh: ;27f090
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
!HyphenTile = $2405
|
!HyphenTile = $2405
|
||||||
!LTile = $2D68
|
!LTile = $2D68
|
||||||
!DTile = $2D60
|
!DTile = $2D60
|
||||||
!RedSquare = $345E
|
|
||||||
!BlueSquare = $2C5E
|
!BlueSquare = $2C5E
|
||||||
|
!BossIcon = $253C
|
||||||
|
|
||||||
DrHudOverride:
|
DrHudOverride:
|
||||||
PHB
|
PHB
|
||||||
@@ -47,7 +47,7 @@ DRHUD_BossIndicator:
|
|||||||
SEP #$20
|
SEP #$20
|
||||||
BEQ .draw_indicator
|
BEQ .draw_indicator
|
||||||
LDA.l CompassBossIndicator, x : CMP.b RoomIndex : BNE .draw_indicator
|
LDA.l CompassBossIndicator, x : CMP.b RoomIndex : BNE .draw_indicator
|
||||||
LDY.w #!RedSquare
|
LDY.w #!BossIcon
|
||||||
.draw_indicator
|
.draw_indicator
|
||||||
STY.w HUDMultiIndicator
|
STY.w HUDMultiIndicator
|
||||||
BRA DRHUD_DrawCurrentDungeonIndicator
|
BRA DRHUD_DrawCurrentDungeonIndicator
|
||||||
@@ -72,8 +72,7 @@ DRHUD_DrawCurrentDungeonIndicator: ; mX
|
|||||||
CMP.b #$06 : BEQ .draw_indicator
|
CMP.b #$06 : BEQ .draw_indicator
|
||||||
|
|
||||||
.get_indicator
|
.get_indicator
|
||||||
REP #$20 : LDA.l DungeonReminderTable,X : TAY
|
LDY.w #$2C28
|
||||||
SEP #$20
|
|
||||||
.draw_indicator
|
.draw_indicator
|
||||||
STY.w HUDCurrentDungeonWorld
|
STY.w HUDCurrentDungeonWorld
|
||||||
|
|
||||||
|
|||||||
+20
-15
@@ -17,7 +17,7 @@ CheckLoot:
|
|||||||
STA.b $0E
|
STA.b $0E
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -31,6 +31,9 @@ CheckLoot:
|
|||||||
STA.b $0E
|
STA.b $0E
|
||||||
|
|
||||||
+ LDA.w DungeonID
|
+ LDA.w DungeonID
|
||||||
|
CMP.w #$0010
|
||||||
|
BCS .skip_dungeon_checks
|
||||||
|
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
LDA.l MapField
|
LDA.l MapField
|
||||||
@@ -52,6 +55,8 @@ CheckLoot:
|
|||||||
STA.b $0E
|
STA.b $0E
|
||||||
+
|
+
|
||||||
|
|
||||||
|
.skip_dungeon_checks
|
||||||
|
|
||||||
LDA.l ItemSources : BIT.w #$0001 : BEQ +
|
LDA.l ItemSources : BIT.w #$0001 : BEQ +
|
||||||
JSR CheckChests
|
JSR CheckChests
|
||||||
+
|
+
|
||||||
@@ -82,7 +87,7 @@ CheckLoot:
|
|||||||
|
|
||||||
CheckChests:
|
CheckChests:
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
STA.b $00
|
STA.b $00
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
@@ -141,7 +146,7 @@ CheckBoss:
|
|||||||
|
|
||||||
+
|
+
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
STA.b $04
|
STA.b $04
|
||||||
|
|
||||||
LDX.w #$FFFA
|
LDX.w #$FFFA
|
||||||
@@ -196,7 +201,7 @@ CheckBoss:
|
|||||||
|
|
||||||
CheckPrize:
|
CheckPrize:
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
STA.b $04
|
STA.b $04
|
||||||
|
|
||||||
LDX.w #$FFFD
|
LDX.w #$FFFD
|
||||||
@@ -232,7 +237,7 @@ CheckPrize:
|
|||||||
|
|
||||||
CheckPots:
|
CheckPots:
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -298,7 +303,7 @@ CheckPots:
|
|||||||
+
|
+
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
if !FEATURE_FIX_BASEROM
|
if !FEATURE_FIX_BASEROM
|
||||||
@@ -336,7 +341,7 @@ CheckJunkPot:
|
|||||||
+
|
+
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
LDA.l PotCollectionRateTable, X
|
LDA.l PotCollectionRateTable, X
|
||||||
@@ -364,7 +369,7 @@ endif
|
|||||||
|
|
||||||
CheckEnemies:
|
CheckEnemies:
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -454,7 +459,7 @@ CheckEnemies:
|
|||||||
+
|
+
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
@@ -532,7 +537,7 @@ macro DefineGetFooSection(type, offset)
|
|||||||
Get<type>Section:
|
Get<type>Section:
|
||||||
PHX
|
PHX
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
LDA.l SplitRooms, X
|
LDA.l SplitRooms, X
|
||||||
@@ -580,13 +585,13 @@ Check<type>Section:
|
|||||||
STA.b $CC
|
STA.b $CC
|
||||||
|
|
||||||
LDA.b $CB
|
LDA.b $CB
|
||||||
AND.w #$00FF
|
AND.w #$00F0
|
||||||
BEQ .yes
|
BEQ .yes
|
||||||
|
|
||||||
JSR Get<type>Section
|
JSR Get<type>Section
|
||||||
|
|
||||||
LDA.b $CB
|
LDA.b $CB
|
||||||
AND.w #$00FF
|
AND.w #$00F0
|
||||||
LSR A : LSR A : LSR A : LSR A
|
LSR A : LSR A : LSR A : LSR A
|
||||||
DEC A
|
DEC A
|
||||||
CMP.b $CE
|
CMP.b $CE
|
||||||
@@ -623,21 +628,21 @@ GetIncomingStairSection:
|
|||||||
STA.b $CC
|
STA.b $CC
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
LDA.l SplitRooms, X
|
LDA.l SplitRooms, X
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
LDA.l SplitRooms, X
|
LDA.l SplitRooms, X
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
STA.b $CE
|
STA.b $CE
|
||||||
BEQ .found
|
BEQ .found
|
||||||
|
|
||||||
INX
|
INX
|
||||||
.check_next_section
|
.check_next_section
|
||||||
LDA.l SplitRooms+0, X
|
LDA.l SplitRooms+0, X
|
||||||
AND.w #$00FF
|
AND.w #$01FF
|
||||||
AND.b $CC
|
AND.b $CC
|
||||||
BNE .found
|
BNE .found
|
||||||
TXA : CLC : ADC.w #$000D : TAX
|
TXA : CLC : ADC.w #$000D : TAX
|
||||||
|
|||||||
+341
-1
@@ -61,7 +61,24 @@ SplitRooms:
|
|||||||
%d(.no) : %d(.d1) : %d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.d6) : %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(.db) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
%d(.no) : %d(.no) : %d(.no) : %d(.db) : %d(.no) : %d(.no) : %d(.no) : %d(.no)
|
||||||
|
|
||||||
%d(.no)
|
; E0
|
||||||
|
%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)
|
||||||
|
|
||||||
|
; F0
|
||||||
|
%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)
|
||||||
|
|
||||||
|
; 100
|
||||||
|
%d(.no) : %d(.101) : %d(.no) : %d(.103) : %d(.no) : %d(.no) : %d(.106) : %d(.107)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.no) : %d(.10c) : %d(.no) : %d(.10e) : %d(.no)
|
||||||
|
|
||||||
|
; 110
|
||||||
|
%d(.no) : %d(.no) : %d(.112) : %d(.no) : %d(.114) : %d(.115) : %d(.no) : %d(.no)
|
||||||
|
%d(.no) : %d(.no) : %d(.no) : %d(.11b) : %d(.11c) : %d(.no) : %d(.11e) : %d(.11f)
|
||||||
|
|
||||||
|
; 120
|
||||||
|
%d(.120) : %d(.no) : %d(.122) : %d(.no) : %d(.124) : %d(.125) : %d(.126) : %d(.no)
|
||||||
|
|
||||||
.no
|
.no
|
||||||
db $00
|
db $00
|
||||||
@@ -569,3 +586,326 @@ db $FF
|
|||||||
..chests
|
..chests
|
||||||
db $01
|
db $01
|
||||||
db $FF
|
db $FF
|
||||||
|
|
||||||
|
.101 ; East Snitch House (2) // West Snitch House (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(..pots) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.103 ; Man With Beds (3) // Front of Tavern (2) // Back of Tavern (1)
|
||||||
|
db $02
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas3) : %d(..doors3) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies3)
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas2) : %d(..doors2) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(..pots2) : %d(..enemies2)
|
||||||
|
..areas3
|
||||||
|
db $03, $80, $FF, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors3
|
||||||
|
db $08
|
||||||
|
db $FF
|
||||||
|
..enemies3
|
||||||
|
db $02
|
||||||
|
db $FF
|
||||||
|
..areas2
|
||||||
|
db $03, $00, $7F, $50, $FF
|
||||||
|
db $FF
|
||||||
|
..doors2
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..pots2
|
||||||
|
db $02
|
||||||
|
db $FF
|
||||||
|
..enemies2
|
||||||
|
db $00
|
||||||
|
db $01
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.106 ; VoO Chest Game (2) // Brewery (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.107 ; Library (2) // Bomb Refill Hut (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(.no_items)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.10c ; Mimic Cave (2) // Hookshot Fairy Pot (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(..chests) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..chests
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $04
|
||||||
|
db $05
|
||||||
|
db $06
|
||||||
|
db $07
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.10e ; Storyteller (2) // Storyteller (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..chests
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.112 ; Dark Chapel (2) // Store (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.114 ; Waterfall Fairy (2) // Hint NPC (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(..chests) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..chests
|
||||||
|
db $00
|
||||||
|
db $01
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.115 ; Capacity Fairy (1) // Healing Fairy (2)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $80, $FF, $80, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $08
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.11b ; Cave 45 (2) // Graveyard Ledge (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(..pots) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $00
|
||||||
|
db $01
|
||||||
|
db $02
|
||||||
|
db $03
|
||||||
|
db $04
|
||||||
|
db $05
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $01
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.11c ; Bomb Shop (2) // C-Shaped House (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.11e ; Long Fairy Cave (2) // Hype Cave (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $01
|
||||||
|
db $02
|
||||||
|
db $03
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.11f ; Lumberjack House (1) // Store (2)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $80, $FF, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $08
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.120 ; Ice Rod Cave (1) // Cool Bee Cave (2)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $80, $FF, $00, $FF
|
||||||
|
db $03, $80, $FF, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $08
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $01
|
||||||
|
db $02
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.122 ; Fortune Teller (2) // Other Fortune Teller (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.124 ; 50-Rupee Cave (1) // Bonk Rocks (2)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(..chests) : %d(.no_items) : %d(.no_items)
|
||||||
|
..areas
|
||||||
|
db $03, $80, $FF, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $08
|
||||||
|
db $FF
|
||||||
|
..chests
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.125 ; 20-Rupee Cave (2) // Spiky Hint Cave (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(..pots) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..pots
|
||||||
|
db $00
|
||||||
|
db $01
|
||||||
|
db $02
|
||||||
|
db $03
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $00
|
||||||
|
db $FF
|
||||||
|
|
||||||
|
.126 ; Bonk Fairy Pool (2) // Checkerboard Cave (1)
|
||||||
|
db $01
|
||||||
|
%sq($00)
|
||||||
|
%d(..areas) : %d(..doors) : %d(.no_items)
|
||||||
|
%d(.no_items) : %d(.no_items) : %d(..enemies)
|
||||||
|
..areas
|
||||||
|
db $03, $00, $7F, $00, $FF
|
||||||
|
db $FF
|
||||||
|
..doors
|
||||||
|
db $06
|
||||||
|
db $FF
|
||||||
|
..enemies
|
||||||
|
db $01
|
||||||
|
db $02
|
||||||
|
db $03
|
||||||
|
db $04
|
||||||
|
db $FF
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ DrawSingleRoomLoot:
|
|||||||
STA.w GFXStripes+$0C, Y
|
STA.w GFXStripes+$0C, Y
|
||||||
|
|
||||||
LDA.b $CA
|
LDA.b $CA
|
||||||
|
AND.w #$F0FF
|
||||||
JSL CheckLoot
|
JSL CheckLoot
|
||||||
|
|
||||||
ASL A : ASL A : ASL A
|
ASL A : ASL A : ASL A
|
||||||
@@ -2105,6 +2106,13 @@ DrawDoorsStairs:
|
|||||||
|
|
||||||
DetectLinksSection:
|
DetectLinksSection:
|
||||||
LDA.b RoomIndex
|
LDA.b RoomIndex
|
||||||
|
CMP.w #$0128
|
||||||
|
BCC +
|
||||||
|
|
||||||
|
LDA.w #$0000
|
||||||
|
RTL
|
||||||
|
+
|
||||||
|
|
||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
LDA.l SplitRooms, X
|
LDA.l SplitRooms, X
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
LoadDungeonIndicator:
|
||||||
|
; what we wrote over
|
||||||
|
JSL InitializeTilesets
|
||||||
|
|
||||||
|
LDA.w DungeonID
|
||||||
|
CMP.b #DungeonIndicatorMap_end-DungeonIndicatorMap : BCS .done
|
||||||
|
TAX
|
||||||
|
LDA.l DungeonIndicatorMap, X
|
||||||
|
TAX
|
||||||
|
|
||||||
|
LDA.b #$80
|
||||||
|
STA.w $2115
|
||||||
|
|
||||||
|
REP #$20
|
||||||
|
LDA.w #$7140
|
||||||
|
STA.w $2116
|
||||||
|
|
||||||
|
LDY.b #$10
|
||||||
|
|
||||||
|
- LDA.l DungeonIndicatorGfx, X
|
||||||
|
STA.w $2118
|
||||||
|
INX #2
|
||||||
|
DEY #2
|
||||||
|
BNE -
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
|
|
||||||
|
DungeonIndicatorMap:
|
||||||
|
dw $0000
|
||||||
|
dw $0000
|
||||||
|
dw $0010
|
||||||
|
dw $0020
|
||||||
|
dw $0040
|
||||||
|
dw $0060
|
||||||
|
dw $0050
|
||||||
|
dw $00A0
|
||||||
|
dw $0070
|
||||||
|
dw $0090
|
||||||
|
dw $0030
|
||||||
|
dw $0080
|
||||||
|
dw $00B0
|
||||||
|
dw $00C0
|
||||||
|
.end
|
||||||
|
|
||||||
|
DungeonIndicatorGfx:
|
||||||
|
incbin "menu/dr_dungeon_indicators.2bpp"
|
||||||
|
.end
|
||||||
|
|
||||||
@@ -34,6 +34,7 @@ incsrc map_bg3.asm
|
|||||||
incsrc dungeon_switch.asm
|
incsrc dungeon_switch.asm
|
||||||
incsrc draw_loot.asm
|
incsrc draw_loot.asm
|
||||||
incsrc check_loot.asm
|
incsrc check_loot.asm
|
||||||
|
incsrc loot_hud.asm
|
||||||
incsrc blink_loot.asm
|
incsrc blink_loot.asm
|
||||||
incsrc data/doors_display.asm
|
incsrc data/doors_display.asm
|
||||||
incsrc data/spiral_stairs.asm
|
incsrc data/spiral_stairs.asm
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
UpdateLootHUD:
|
||||||
|
PHP
|
||||||
|
REP #$30
|
||||||
|
PHX : PHY
|
||||||
|
SEP #$30
|
||||||
|
|
||||||
|
LDA.l ShowLootInHUD : BEQ .setting_off
|
||||||
|
LDA.b IndoorsFlag : BEQ .done
|
||||||
|
|
||||||
|
REP #$30
|
||||||
|
LDA.b $00 : PHA
|
||||||
|
LDA.b $02 : PHA
|
||||||
|
LDA.b $04 : PHA
|
||||||
|
LDA.b $06 : PHA
|
||||||
|
LDA.b $08 : PHA
|
||||||
|
LDA.b $0E : PHA
|
||||||
|
|
||||||
|
JSL DetectLinksSection
|
||||||
|
INC A
|
||||||
|
XBA
|
||||||
|
ASL A : ASL A : ASL A : ASL A
|
||||||
|
ORA.b RoomIndex
|
||||||
|
JSL CheckLoot
|
||||||
|
|
||||||
|
ASL A : TAX
|
||||||
|
LDA.l HUDLootTypeIcons, X
|
||||||
|
STA.w EnemyDropIndicator
|
||||||
|
|
||||||
|
REP #$30
|
||||||
|
PLA : STA.b $0E
|
||||||
|
PLA : STA.b $08
|
||||||
|
PLA : STA.b $06
|
||||||
|
PLA : STA.b $04
|
||||||
|
PLA : STA.b $02
|
||||||
|
PLA : STA.b $00
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
.setting_off
|
||||||
|
JSL SetupEnemyDropIndicator
|
||||||
|
|
||||||
|
.done
|
||||||
|
REP #$30
|
||||||
|
PLY : PLX
|
||||||
|
PLP
|
||||||
|
RTL
|
||||||
@@ -146,6 +146,25 @@ dw $25A4, $25A4 ; Reserved
|
|||||||
dw $25A4, $25A4 ; Reserved
|
dw $25A4, $25A4 ; Reserved
|
||||||
|
|
||||||
; $B9FB40
|
; $B9FB40
|
||||||
|
HUDLootTypeIcons:
|
||||||
|
dw $287F ; 00 - nothing
|
||||||
|
dw $295C ; 01 - unknown - dot
|
||||||
|
dw $2954 ; 02 - junk - pot
|
||||||
|
dw $2950 ; 03 - small key
|
||||||
|
dw $2952 ; 04 - triforce piece
|
||||||
|
dw $2955 ; 05 - safety - plus
|
||||||
|
dw $2953 ; 06 - less important item - small chest
|
||||||
|
dw $2957 ; 07 - map
|
||||||
|
dw $2D56 ; 08 - compass
|
||||||
|
dw $2950 ; 09 - small key
|
||||||
|
dw $2951 ; 0A - big key
|
||||||
|
dw $295A ; 0B - important inventory item - big chest
|
||||||
|
dw $2D58 ; 0C - pendant
|
||||||
|
dw $2D59 ; 0D - crystal
|
||||||
|
dw $2952 ; 0E - triforce piece
|
||||||
|
dw $295B ; 0F - triforce
|
||||||
|
|
||||||
|
; $B9FB60
|
||||||
|
|
||||||
warnpc $B9FE00
|
warnpc $B9FE00
|
||||||
org $B9FE00
|
org $B9FE00
|
||||||
@@ -206,3 +225,7 @@ ItemSources:
|
|||||||
; $B9FF11
|
; $B9FF11
|
||||||
AlwaysShowCompass:
|
AlwaysShowCompass:
|
||||||
db $01
|
db $01
|
||||||
|
|
||||||
|
; $B9FF12
|
||||||
|
ShowLootInHUD:
|
||||||
|
db $01
|
||||||
|
|||||||
@@ -2758,6 +2758,13 @@ JSL MimicDirection
|
|||||||
org $828068
|
org $828068
|
||||||
JSL AdjustDefaultGraphics
|
JSL AdjustDefaultGraphics
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; Dungeon Indicator VRAM overwrite
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $828190
|
||||||
|
JSL LoadDungeonIndicator
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Special Weapons Modes
|
; Special Weapons Modes
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ AddInventory:
|
|||||||
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
|
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
|
||||||
REP #$30
|
REP #$30
|
||||||
LDA.l TotalItemCounter : INC : TAY
|
LDA.l TotalItemCounter : INC : TAY
|
||||||
|
JSL UpdateLootHUD
|
||||||
LDA.l BootsEquipment : AND.w #$00FF : BNE +
|
LDA.l BootsEquipment : AND.w #$00FF : BNE +
|
||||||
TYA : STA.l PreBootsLocations
|
TYA : STA.l PreBootsLocations
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -221,7 +221,8 @@ RevealPotItem:
|
|||||||
STZ.w SpawnedItemIsMultiWorld
|
STZ.w SpawnedItemIsMultiWorld
|
||||||
BIT.b Scrap08
|
BIT.b Scrap08
|
||||||
BVS LoadMultiWorldPotItem
|
BVS LoadMultiWorldPotItem
|
||||||
BMI LoadMajorPotItem
|
BPL .normal_secret
|
||||||
|
JMP LoadMajorPotItem
|
||||||
|
|
||||||
.normal_secret
|
.normal_secret
|
||||||
STA.b Scrap08
|
STA.b Scrap08
|
||||||
@@ -242,6 +243,7 @@ RevealPotItem:
|
|||||||
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
||||||
+ REP #$10
|
+ REP #$10
|
||||||
LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total
|
LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total
|
||||||
|
JSL UpdateLootHUD
|
||||||
LDA.w #$0001 : STA.l UpdateHUDFlag
|
LDA.w #$0001 : STA.l UpdateHUDFlag
|
||||||
.obtained
|
.obtained
|
||||||
PLY : PLX
|
PLY : PLX
|
||||||
@@ -341,6 +343,7 @@ IncrementCountsForSubstitute:
|
|||||||
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
||||||
+
|
+
|
||||||
LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total
|
LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total
|
||||||
|
JSL UpdateLootHUD
|
||||||
LDA.w #$0001 : STA.l UpdateHUDFlag
|
LDA.w #$0001 : STA.l UpdateHUDFlag
|
||||||
.obtained
|
.obtained
|
||||||
SEP #$30 : PLX
|
SEP #$30 : PLX
|
||||||
@@ -357,7 +360,7 @@ ClearSpriteData:
|
|||||||
STZ.w SprSourceItemId, X : STZ.w SprItemReceipt, X : STZ.w SprItemMWPlayer, X
|
STZ.w SprSourceItemId, X : STZ.w SprItemReceipt, X : STZ.w SprItemMWPlayer, X
|
||||||
STZ.w SprRedrawFlag, X
|
STZ.w SprRedrawFlag, X
|
||||||
DEX : BPL .loop
|
DEX : BPL .loop
|
||||||
JSR SetupEnemyDropIndicator
|
JSL UpdateLootHUD
|
||||||
PLX
|
PLX
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
@@ -404,7 +407,7 @@ SetupEnemyDropIndicator:
|
|||||||
|
|
||||||
.done
|
.done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
RTS
|
RTL
|
||||||
|
|
||||||
|
|
||||||
; Runs during sprite load of the room
|
; Runs during sprite load of the room
|
||||||
@@ -571,7 +574,7 @@ IncrementCountForMinor:
|
|||||||
LDA.l SpriteDropData, X : BIT.b Scrap0A : BNE .obtained
|
LDA.l SpriteDropData, X : BIT.b Scrap0A : BNE .obtained
|
||||||
ORA.b Scrap0A : STA.l SpriteDropData, X
|
ORA.b Scrap0A : STA.l SpriteDropData, X
|
||||||
SEP #$10
|
SEP #$10
|
||||||
JSR SetupEnemyDropIndicator
|
JSL UpdateLootHUD
|
||||||
REP #$20
|
REP #$20
|
||||||
LDX.w DungeonID : CPX.b #$FF : BEQ +
|
LDX.w DungeonID : CPX.b #$FF : BEQ +
|
||||||
CPX.b #$00 : BNE ++
|
CPX.b #$00 : BNE ++
|
||||||
@@ -627,10 +630,10 @@ MarkSRAMForItem:
|
|||||||
TYX
|
TYX
|
||||||
LDA.w SpawnedItemFlag : CMP.w #$0001 : BEQ +
|
LDA.w SpawnedItemFlag : CMP.w #$0001 : BEQ +
|
||||||
LDA.l SpriteDropData, X : ORA.b Scrap00 : STA.l SpriteDropData, X
|
LDA.l SpriteDropData, X : ORA.b Scrap00 : STA.l SpriteDropData, X
|
||||||
SEP #$10 : JSR SetupEnemyDropIndicator
|
|
||||||
BRA .end
|
BRA .end
|
||||||
+ LDA.l RoomPotData, X : ORA.b Scrap00 : STA.l RoomPotData, X
|
+ LDA.l RoomPotData, X : ORA.b Scrap00 : STA.l RoomPotData, X
|
||||||
.end
|
.end
|
||||||
|
JSL UpdateLootHUD
|
||||||
SEP #$30 : PLY : PLX
|
SEP #$30 : PLY : PLX
|
||||||
LDA.w RoomItemsTaken
|
LDA.w RoomItemsTaken
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -9,7 +9,7 @@ UploadMenuOnlyIcons:
|
|||||||
REP #$20
|
REP #$20
|
||||||
LDA.w #MenuOnlyIcons : STA.w $4342
|
LDA.w #MenuOnlyIcons : STA.w $4342
|
||||||
LDA.w #$1801 : STA.w $4340
|
LDA.w #$1801 : STA.w $4340
|
||||||
LDA.w #$0240 : STA.w $4345
|
LDA.w #$0310 : STA.w $4345
|
||||||
LDA.w #$0F800>>1 : STA.w $2116
|
LDA.w #$0F800>>1 : STA.w $2116
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|||||||
@@ -291,10 +291,10 @@ RTL
|
|||||||
REP #$30
|
REP #$30
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
; dungeon names
|
; dungeon names
|
||||||
LDA.w #$2D50
|
LDA.w #$2DA4
|
||||||
LDY.w #00
|
LDY.w #00
|
||||||
|
|
||||||
.next_dungeon_name
|
.next_dungeon_name
|
||||||
LDX.w .dungeon_positions,Y
|
LDX.w .dungeon_positions,Y
|
||||||
STA.w GFXStripes+$0646,X
|
STA.w GFXStripes+$0646,X
|
||||||
INC
|
INC
|
||||||
@@ -310,10 +310,10 @@ RTL
|
|||||||
STA.w GFXStripes+$0706,X
|
STA.w GFXStripes+$0706,X
|
||||||
|
|
||||||
DEX : DEX
|
DEX : DEX
|
||||||
BPL --
|
BPL --
|
||||||
|
|
||||||
LDA.l HudFlag : AND.w #$0020 : BEQ +
|
LDA.l HudFlag : AND.w #$0020 : BEQ +
|
||||||
JMP .maps_and_compasses
|
JMP .maps_and_compasses
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
+
|
+
|
||||||
LDA.l HUDDungeonItems : AND.w #$0001 : BNE +
|
LDA.l HUDDungeonItems : AND.w #$0001 : BNE +
|
||||||
|
|||||||
Reference in New Issue
Block a user