Show button help on map screen

This commit is contained in:
2026-01-16 12:26:29 -06:00
parent 043a2d83b2
commit d504e33d52
6 changed files with 169 additions and 12 deletions

View File

@@ -1442,6 +1442,33 @@ DoorsMapSelectCursor:
PLP
RTL
DoorsMapCurrentRoom:
PHP
REP #$30
JSL DetectLinksSection
INC A
XBA
ASL A : ASL A : ASL A : ASL A
ORA.b RoomIndex
STA.l CurrentDisplayedRoom
STZ.w GFXStripes
JSL ClearDoorsMapBG1
JSL ClearDoorsMapBG2
JSL DrawCurrentSupertile
SEP #$30
LDA.b #$08
STA.b $17
LDA.b #$20
STA.w $012F
PLP
RTL
DoorsMapNextEntrance:
PHP
REP #$30
@@ -1456,8 +1483,19 @@ DoorsMapNextEntrance:
+
TYA
CMP.l CurrentDoorEntrance
BNE +
TYA
ASL A
TAX
LDA.l EntranceData_room_id, X
STA.b $CA
JSR GetSpecificRoomVisibility
BNE .acceptable
BEQ .done
+
TYX
LDA.l $82D1EF, X
AND.w #$00FF

View File

@@ -20,6 +20,9 @@ CheckSwitchMap:
BIT.b #$20
BNE .next_entrance
BIT.b #$40
BNE .current_room
AND.b #$0F
BEQ .doors_done
BIT.b #$08 : BEQ + : LDA.b #$00 : BRA .doors_move_cursor : +
@@ -44,6 +47,13 @@ CheckSwitchMap:
JSL DoorsMapChangeDungeon
BRA .doors_done
.current_room
LDA.l CachedDungeonID
CMP.w DungeonID
BNE .doors_done
JSL DoorsMapCurrentRoom
BRA .doors_done
.doors_done
REP #$20
LDA.w #$0002 ; ignore input! nothing to see here!
@@ -204,6 +214,7 @@ DrawDungeonLabel:
LDY.b #$20
+
; Dungeon Label
REP #$20
LDA.w #$E660
STA.w GFXStripes+$02, Y
@@ -214,9 +225,110 @@ DrawDungeonLabel:
STA.w GFXStripes+$06, Y
LDA.l DungeonLabels+2, X
STA.w GFXStripes+$08, Y
TYA
CLC : ADC.w #$0008
TAY
; L/R switch indicators
LDA.w #$E310
STA.w GFXStripes+$02, Y
LDA.w #$E910
STA.w GFXStripes+$0A, Y
LDA.w #$E318
STA.w GFXStripes+$12, Y
LDA.w #$E918
STA.w GFXStripes+$1A, Y
LDA.w #$0300
STA.w GFXStripes+$04, Y
STA.w GFXStripes+$0C, Y
STA.w GFXStripes+$14, Y
STA.w GFXStripes+$1C, Y
LDA.w #$49AF
STA.w GFXStripes+$06, Y
STA.w GFXStripes+$16, Y
LDA.w #$099E
STA.w GFXStripes+$08, Y
STA.w GFXStripes+$18, Y
LDA.w #$099F
STA.w GFXStripes+$0E, Y
STA.w GFXStripes+$1E, Y
LDA.w #$09AF
STA.w GFXStripes+$10, Y
STA.w GFXStripes+$20, Y
TYA
CLC : ADC.w #$0020
TAY
LDA.l DRMode
BEQ .not_doors
LDA.l DungeonMapMode
BEQ .doors
.not_doors
JMP .skip_doors
.doors
; Select for Next Entrance indicator
LDA.w #$E311
STA.w GFXStripes+$02, Y
LDA.w #$E319
STA.w GFXStripes+$16, Y
LDA.w #$0F00
STA.w GFXStripes+$04, Y
STA.w GFXStripes+$18, Y
LDA.w #$09B8
LDX.b #$07
-
STA.w GFXStripes+$06, Y
STA.w GFXStripes+$1A, Y
INC A
INY : INY
DEX
BPL -
TYA
CLC : ADC.w #$0018
TAY
LDA.l CachedDungeonID
AND.w #$00FF
CMP.w DungeonID
BNE .skip_doors
; Y for Current Location indicator
LDA.w #$A411
STA.w GFXStripes+$02, Y
LDA.w #$A419
STA.w GFXStripes+$12, Y
LDA.w #$0B00
STA.w GFXStripes+$04, Y
STA.w GFXStripes+$14, Y
LDA.w #$09A9
LDX.b #$05
-
STA.w GFXStripes+$06, Y
STA.w GFXStripes+$16, Y
INC A
INY : INY
DEX
BPL -
TYA
CLC : ADC.w #$0014
TAY
.skip_doors
SEP #$20
LDA.b #$FF
STA.w GFXStripes+$0A, Y
STA.w GFXStripes+$02, Y
LDA.b #$01
STA.b NMISTRIPES

View File

@@ -5,7 +5,7 @@ db $08
; use AA1 = $1C for map stuff
org $80E193
skip 4
db $61, $62, $62, $D6
db $61, $62, $63, $D6
org $8AE11D
LDA.b #$1C

View File

@@ -203,11 +203,11 @@ dw $1E60, $3EC0, $2111
dw $1F60, $3EC0, $2111
; left side border
dw $6260, $2AC0, $2110
dw $6B60, $2AC0, $6110
dw $2263, $0100, $A100
dw $2363, $0E40, $A101
dw $2B63, $0100, $E100
dw $6260, $1AC0, $2110
dw $6B60, $1AC0, $6110
dw $2262, $0100, $A100
dw $2362, $0E40, $A101
dw $2B62, $0100, $E100
; right side top area border
dw $4E60, $0100, $2100
@@ -229,12 +229,19 @@ dw $2E63, $0100, $A100
dw $2F63, $1A40, $A101
dw $3D63, $0100, $E100
; blank between right side areas
dw $4E62, $1E40, $2111
dw $6E62, $1E40, $2111
; blank below left side
dw $4262, $4440, $2111
dw $6262, $4440, $2111
dw $4063, $4640, $2111
dw $6063, $4640, $2111
dw $8262, $1240, $2111
dw $A262, $1240, $2111
dw $C262, $1240, $2111
dw $E262, $1240, $2111
dw $0263, $1240, $2111
dw $2263, $1240, $2111
dw $4263, $4440, $2111
dw $6263, $4440, $2111
; map area inside top area
dw $6F60, $1A40, $1D11

Binary file not shown.

Binary file not shown.