menu dark world location names

This commit is contained in:
scawful
2023-03-05 00:34:12 -06:00
parent 939ec60483
commit c3f26476d4
5 changed files with 183 additions and 110 deletions

View File

@@ -1,47 +1,51 @@
;===========================================================
; =============================================================================
; Key Block Object like Link's Awakening
; Overwrites the Prison Door
;
; Author: XaserLE
; Thanks: - PuzzleDude for finding a drawing bug and get rid of it
; - MathOnNapkins' Zelda Doc's
; - wiiqwertyuiop for his Zelda Disassembly
;
; WRITTEN: by XaserLE
; THANKS TO: -PuzzleDude for finding a drawing bug and get rid of it
; -MathOnNapkins' Zelda Doc's
; -wiiqwertyuiop for his Zelda Disassembly
; The blocks can be opened from up- or downside only
; left and right will not work (will try to fix this in the future).
;
; The blocks can be opened from up- or downside only, left and right will not work (will try to fix this in the future).
; The patch is "in place" so it doesn't overwrite other data or patches you added.
;
; PuzzleDudes Note:
; The key block must always be placed on EVEN x and y.
; The even x or y is: 00, 02, 04, 06, 08, 0A, 0C, 0E, 10, 12 etc.
; HM x and y value of the position of the key block must end with: 0, 2, 4, 6, 8, A, C, E.
;===========================================================
; 00, 02, 04, 06, 08, 0A, 0C, 0E
; =============================================================================
lorom
org $01EB8C
Object_KeyBlock:
{
LDA $7EF36F ; load the small key counter
AND #$00FF ; check if we have at least one small key (AND will not be zero)
BEQ $4C ; if not (AND is zero), do nothing
; otherwise we will decrement the small key counter
; and branch to the code that opens the prison door
ORG $01EB8C ; go to the code that loads the big key holding variable
LDA $7EF36F ; load the small key counter
AND #$00FF ; check if we have at least one small key (AND will not be zero)
BEQ $4C ; if not (AND is zero), don't do anything and especially don't give this "Eh? It's locked..." - message
; otherwise we will decrement the small key counter and branch to the code that opens the prison door
LDA $7EF36F ; reload small key counter
DEC A ; remove one key
STA $7EF36F ; save the new value at small key counter position
BRA $05 ; branch to the code that opens the prison door
LDA $7EF36F ; reload small key counter
DEC A ; remove one key
STA $7EF36F ; save the new value at small key counter position
BRA $05 ; branch to the code that opens the prison door
; now correct a drawing bug in the original game that causes the floor tile under the door drawed odd
ORG $01EBC8
LDA.w $9B5A,y
ORG $01EBD1
LDA.w $9B54,y
ORG $01EBDA
LDA.w $9B5C,y
; draw values representation
; 50- /
; 52- normal
; 54- x mirror
; 56- normal
; 58- x mirror
; 5A- y mirror
; 5C- xy mirror
; 5E- y mirror
; Fix draw bug from floor tile left by block after unlock.
org $01EBC8
LDA.w $9B5A,y
org $01EBD1
LDA.w $9B54,y
org $01EBDA
LDA.w $9B5C,y
; Draw Values
; 50 - /
; 52 - normal
; 54 - x mirror
; 56 - normal
; 58 - x mirror
; 5A - y mirror
; 5C - xy mirror
; 5E - y mirror
}

View File

@@ -1,65 +0,0 @@
OverworldLocationNames:
dw "RANCH___________" ; 00
dw "RANCH___________" ; 01
dw "PYRAMID_________" ; 02
dw "LAND_OF_TREE____" ; 03
dw "SNOW_MOUNTAIN___" ; 04
dw "SNOW_MOUNTAIN___" ; 05
dw "SNOW_MOUNTAIN___" ; 06
dw "SNOW_MOUNTAIN___" ; 07
dw "RANCH___________" ; 08
dw "RANCH___________" ; 09
dw "INN_____________" ; 0A
dw "KALYXO_CASTLE___" ; 0B
dw "KALYXO_CASTLE___" ; 0C
dw "POTION_SHOP_____" ; 0D
dw "HALL_OF_SECRETS_" ; 0E
dw "CEMETERY________" ; 0F
dw "TOADSTOOL_WOODS_" ; 10
dw "RANCH_PATH______" ; 11
dw "CROSSROADS______" ; 12
dw "KALYXO_CASTLE___" ; 13
dw "KALYXO_CASTLE___" ; 14
dw "MOUNTAINSIDE____" ; 15
dw "PATH_OF_SECRETS_" ; 16
dw "ANCIENT_SHRINE__" ; 17
dw "TOADSTOOL_WOODS_" ; 18
dw "TOADSTOOL_WOODS_" ; 19
dw "CROSSROADS______" ; 1A
dw "KALYXO_CASTLE___" ; 1B
dw "KALYXO_ROAD_____" ; 1C
dw "CROSSROADS______" ; 1D
dw "SUNKEN_CITY_____" ; 1E
dw "SUNKEN_CITY_____" ; 1F
dw "TOADSTOOL_WOODS_" ; 20
dw "TOADSTOOL_WOODS_" ; 21
dw "SWORDSMITHS_____" ; 22
dw "WAYWARD_VILLAGE_" ; 23
dw "WAYWARD_VILLAGE_" ; 24
dw "VILLAGE_ROAD____" ; 25
dw "SUNKEN_CITY_____" ; 26
dw "SUNKEN_CITY_____" ; 27
dw "TOADSTOOL_WOODS_" ; 28
dw "TOADSTOOL_WOODS_" ; 29
dw "VILLAGE_ROAD____" ; 2A
dw "WAYWARD_VILLAGE_" ; 2B
dw "WAYWARD_VILLAGE_" ; 2C
dw "VALLEY__________" ; 2D
dw "CITY_ROAD_______" ; 2E
dw "TAIL_PALACE_____" ; 2F
dw "PHANTOM_SHIP____" ; 30
dw "PHANTOM_SHIP____" ; 31
dw "SECRET_BEACH____" ; 32
dw "LOOM_BEACH______" ; 33
dw "LOOM_BEACH______" ; 34
dw "BEACH_PATH______" ; 35
dw "GARO_DESERT_____" ; 36
dw "GARO_DESERT_____" ; 37
dw "PHANTOM_SHIP____" ; 38
dw "PHANTOM_SHIP____" ; 39
dw "LOST_SEA________" ; 3A
dw "LOOM_BEACH______" ; 3B
dw "LOOM_BEACH______" ; 3C
dw "LOOM_WATERFALL__" ; 3D
dw "GARO_DESERT_____" ; 3E
dw "GARO_DESERT_____" ; 3F

View File

@@ -12,7 +12,6 @@ NothingGFX:
; -------------------------------------
BowsGFX:
dw $20F5, $20F5, $20F5, $20F5
dw $28BA, $28E9, $28E8, $28CB ; Empty bow
dw $28BA, $284A, $2849, $28CB ; Bow and arrows
dw $28BA, $28E9, $28E8, $28CB ; Empty silvers bow
@@ -134,6 +133,9 @@ StoneMaskGFX:
WolfMaskGFX:
dw $3086, $7086, $3087, $7087
dw $3086, $7086, $3087, $7087
dw $3086, $7086, $3087, $7087
dw $3086, $7086, $3087, $7087
; -------------------------------------

131
Menu/menu_map_names.asm Normal file
View File

@@ -0,0 +1,131 @@
OverworldLocationNames:
dw "RANCH___________" ; 00
dw "RANCH___________" ; 01
dw "PYRAMID_________" ; 02
dw "LAND_OF_TREE____" ; 03
dw "SNOW_MOUNTAIN___" ; 04
dw "SNOW_MOUNTAIN___" ; 05
dw "SNOW_MOUNTAIN___" ; 06
dw "SNOW_MOUNTAIN___" ; 07
dw "RANCH___________" ; 08
dw "RANCH___________" ; 09
dw "INN_____________" ; 0A
dw "KALYXO_CASTLE___" ; 0B
dw "KALYXO_CASTLE___" ; 0C
dw "POTION_SHOP_____" ; 0D
dw "HALL_OF_SECRETS_" ; 0E
dw "CEMETERY________" ; 0F
dw "TOADSTOOL_WOODS_" ; 10
dw "RANCH_PATH______" ; 11
dw "CROSSROADS______" ; 12
dw "KALYXO_CASTLE___" ; 13
dw "KALYXO_CASTLE___" ; 14
dw "MOUNTAINSIDE____" ; 15
dw "PATH_OF_SECRETS_" ; 16
dw "ANCIENT_SHRINE__" ; 17
dw "TOADSTOOL_WOODS_" ; 18
dw "TOADSTOOL_WOODS_" ; 19
dw "CROSSROADS______" ; 1A
dw "KALYXO_CASTLE___" ; 1B
dw "KALYXO_ROAD_____" ; 1C
dw "CROSSROADS______" ; 1D
dw "SUNKEN_CITY_____" ; 1E
dw "SUNKEN_CITY_____" ; 1F
dw "TOADSTOOL_WOODS_" ; 20
dw "TOADSTOOL_WOODS_" ; 21
dw "SWORDSMITHS_____" ; 22
dw "WAYWARD_VILLAGE_" ; 23
dw "WAYWARD_VILLAGE_" ; 24
dw "VILLAGE_ROAD____" ; 25
dw "SUNKEN_CITY_____" ; 26
dw "SUNKEN_CITY_____" ; 27
dw "TOADSTOOL_WOODS_" ; 28
dw "TOADSTOOL_WOODS_" ; 29
dw "VILLAGE_ROAD____" ; 2A
dw "WAYWARD_VILLAGE_" ; 2B
dw "WAYWARD_VILLAGE_" ; 2C
dw "VALLEY__________" ; 2D
dw "CITY_ROAD_______" ; 2E
dw "TAIL_PALACE_____" ; 2F
dw "PHANTOM_SHIP____" ; 30
dw "PHANTOM_SHIP____" ; 31
dw "SECRET_BEACH____" ; 32
dw "LOOM_BEACH______" ; 33
dw "LOOM_BEACH______" ; 34
dw "BEACH_PATH______" ; 35
dw "GARO_DESERT_____" ; 36
dw "GARO_DESERT_____" ; 37
dw "PHANTOM_SHIP____" ; 38
dw "PHANTOM_SHIP____" ; 39
dw "LOST_SEA________" ; 3A
dw "LOOM_BEACH______" ; 3B
dw "LOOM_BEACH______" ; 3C
dw "LOOM_WATERFALL__" ; 3D
dw "GARO_DESERT_____" ; 3E
dw "GARO_DESERT_____" ; 3F
DarkWorldLocationNames:
dw "_______________" ; 00
dw "_______________" ; 01
dw "_______________" ; 02
dw "_______________" ; 03
dw "_______________" ; 04
dw "_______________" ; 05
dw "_______________" ; 06
dw "_______________" ; 07
dw "_______________" ; 08
dw "_______________" ; 09
dw "_______________" ; 0A
dw "_______________" ; 0B
dw "_______________" ; 0C
dw "_______________" ; 0D
dw "_______________" ; 0E
dw "_______________" ; 0F
dw "_______________" ; 10
dw "_______________" ; 11
dw "_______________" ; 12
dw "_______________" ; 13
dw "_______________" ; 14
dw "_______________" ; 15
dw "_______________" ; 16
dw "_______________" ; 17
dw "_______________" ; 18
dw "_______________" ; 19
dw "_______________" ; 1A
dw "_______________" ; 1B
dw "_______________" ; 1C
dw "_______________" ; 1D
dw "_______________" ; 1E
dw "_______________" ; 1F
dw "_______________" ; 20
dw "_______________" ; 21
dw "_______________" ; 22
dw "_______________" ; 23
dw "_______________" ; 24
dw "_______________" ; 25
dw "_______________" ; 26
dw "_______________" ; 27
dw "_______________" ; 28
dw "_______________" ; 29
dw "_______________" ; 2A
dw "_______________" ; 2B
dw "_______________" ; 2C
dw "_______________" ; 2D
dw "_______________" ; 2E
dw "_______________" ; 2F
dw "_______________" ; 30
dw "_______________" ; 31
dw "_______________" ; 32
dw "_______________" ; 33
dw "_______________" ; 34
dw "_______________" ; 35
dw "_______________" ; 36
dw "_______________" ; 37
dw "_______________" ; 38
dw "_______________" ; 39
dw "_______________" ; 3A
dw "_______________" ; 3B
dw "_______________" ; 3C
dw "_______________" ; 3D
dw "_______________" ; 3E
dw "_______________" ; 3F

View File

@@ -143,10 +143,10 @@ Menu_DrawItemName:
; =============================================================================
; ;LDX.w $7E00A0 ; load room number
;-------------------------------------
; -------------------------------------
TestLocationName:
dw "YOUR_HOUSE__"
;-------------------------------------
; -------------------------------------
DrawLocationName:
{
@@ -160,22 +160,23 @@ DrawLocationName:
ASL : ASL : ASL : ASL : ASL
LDY.w #$000
TAX
.loop
.draw_overworld_loop
LDA.w OverworldLocationNames, X ; Load your text character
STA.w $12CC, Y ; Store into the buffer
INX : INX
INY : INY : CPY #$0020 : BCC .loop
INY : INY : CPY #$0020 : BCC .draw_overworld_loop
RTS
.indoors
LDX.w #$16
.loop2
.draw_indoors_loop
LDA.w TestLocationName, X
STA.w $12CC, X
DEX : DEX
BPL .loop2
BPL .draw_indoors_loop
RTS
}