merge with newest update
This commit is contained in:
119
home/menu.asm
119
home/menu.asm
@@ -1,14 +1,14 @@
|
||||
; Functions used in displaying and handling menus.
|
||||
|
||||
|
||||
LoadMenuDataHeader:: ; 0x1d35
|
||||
LoadMenuDataHeader::
|
||||
call CopyMenuDataHeader
|
||||
call Function1c00
|
||||
call BackUpTiles
|
||||
ret
|
||||
|
||||
CopyMenuDataHeader:: ; 0x1d3c
|
||||
CopyMenuDataHeader::
|
||||
ld de, wcf81
|
||||
ld bc, $0010
|
||||
ld bc, 16
|
||||
call CopyBytes
|
||||
ld a, [hROMBank]
|
||||
ld [wcf8a], a
|
||||
@@ -16,7 +16,7 @@ CopyMenuDataHeader:: ; 0x1d3c
|
||||
; 0x1d4b
|
||||
|
||||
Function1d4b:: ; 1d4b
|
||||
ld [wcf88], a
|
||||
ld [wPocketCursorBuffer], a
|
||||
ret
|
||||
; 1d4f
|
||||
|
||||
@@ -71,7 +71,7 @@ Call_ExitMenu:: ; 1d7d
|
||||
ret
|
||||
; 1d81
|
||||
|
||||
InterpretMenu2:: ; 0x1d81
|
||||
InterpretMenu2::
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call Function1cbb
|
||||
@@ -81,16 +81,16 @@ InterpretMenu2:: ; 0x1d81
|
||||
call Function1c66
|
||||
ld a, [wcf91]
|
||||
bit 7, a
|
||||
jr z, .asm_1da7 ; 0x1d98 $d
|
||||
jr z, .cancel
|
||||
call Function1c10
|
||||
call Function1bc9
|
||||
call Function1ff8
|
||||
bit 1, a
|
||||
jr z, .asm_1da9 ; 0x1da5 $2
|
||||
.asm_1da7
|
||||
jr z, .okay
|
||||
.cancel
|
||||
scf
|
||||
ret
|
||||
.asm_1da9
|
||||
.okay
|
||||
and a
|
||||
ret
|
||||
; 0x1dab
|
||||
@@ -103,7 +103,7 @@ GetMenu2:: ; 1dab
|
||||
ret
|
||||
; 1db8
|
||||
|
||||
Function1db8:: ; 0x1db8
|
||||
Function1db8::
|
||||
push hl
|
||||
push bc
|
||||
push af
|
||||
@@ -131,9 +131,9 @@ YesNoBox:: ; 1dcf
|
||||
PlaceYesNoBox:: ; 1dd2
|
||||
jr _YesNoBox
|
||||
|
||||
Function1dd4:: ; 1dd4
|
||||
PlaceGenericTwoOptionBox:: ; 1dd4
|
||||
call LoadMenuDataHeader
|
||||
jr Function1dfe
|
||||
jr InterpretTwoOptionMenu
|
||||
|
||||
_YesNoBox:: ; 1dd9
|
||||
; Return nc (yes) or c (no).
|
||||
@@ -141,39 +141,41 @@ _YesNoBox:: ; 1dd9
|
||||
ld hl, YesNoMenuDataHeader
|
||||
call CopyMenuDataHeader
|
||||
pop bc
|
||||
; This seems to be an overflow prevention, but
|
||||
; it was coded wrong.
|
||||
ld a, b
|
||||
cp $e
|
||||
jr nz, .asm_1de9
|
||||
ld a, $e
|
||||
cp SCREEN_WIDTH - 6
|
||||
jr nz, .okay ; should this be "jr nc"?
|
||||
ld a, SCREEN_WIDTH - 6
|
||||
ld b, a
|
||||
|
||||
.asm_1de9
|
||||
.okay
|
||||
ld a, b
|
||||
ld [wcf83], a
|
||||
ld [wMenuBorderLeftCoord], a
|
||||
add $5
|
||||
ld [wcf85], a
|
||||
ld [wMenuBorderRightCoord], a
|
||||
ld a, c
|
||||
ld [wcf82], a
|
||||
ld [wMenuBorderTopCoord], a
|
||||
add $4
|
||||
ld [wcf84], a
|
||||
call Function1c00
|
||||
ld [wMenuBorderBottomCoord], a
|
||||
call BackUpTiles
|
||||
|
||||
Function1dfe:: ; 1dfe
|
||||
InterpretTwoOptionMenu:: ; 1dfe
|
||||
call InterpretMenu2
|
||||
push af
|
||||
ld c, $f
|
||||
call DelayFrames
|
||||
call WriteBackup
|
||||
pop af
|
||||
jr c, .asm_1e16
|
||||
jr c, .no
|
||||
ld a, [wcfa9]
|
||||
cp 2 ; no
|
||||
jr z, .asm_1e16
|
||||
jr z, .no
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_1e16
|
||||
ld a, $2
|
||||
.no
|
||||
ld a, 2
|
||||
ld [wcfa9], a
|
||||
scf
|
||||
ret
|
||||
@@ -196,7 +198,7 @@ YesNoMenuData2:: ; 1e25
|
||||
|
||||
Function1e2e:: ; 1e2e
|
||||
call Function1e35
|
||||
call Function1c00
|
||||
call BackUpTiles
|
||||
ret
|
||||
; 1e35
|
||||
|
||||
@@ -204,24 +206,24 @@ Function1e35:: ; 1e35
|
||||
push de
|
||||
call CopyMenuDataHeader
|
||||
pop de
|
||||
ld a, [wcf83]
|
||||
ld a, [wMenuBorderLeftCoord]
|
||||
ld h, a
|
||||
ld a, [wcf85]
|
||||
ld a, [wMenuBorderRightCoord]
|
||||
sub h
|
||||
ld h, a
|
||||
ld a, d
|
||||
ld [wcf83], a
|
||||
ld [wMenuBorderLeftCoord], a
|
||||
add h
|
||||
ld [wcf85], a
|
||||
ld a, [wcf82]
|
||||
ld [wMenuBorderRightCoord], a
|
||||
ld a, [wMenuBorderTopCoord]
|
||||
ld l, a
|
||||
ld a, [wcf84]
|
||||
ld a, [wMenuBorderBottomCoord]
|
||||
sub l
|
||||
ld l, a
|
||||
ld a, e
|
||||
ld [wcf82], a
|
||||
ld [wMenuBorderTopCoord], a
|
||||
add l
|
||||
ld [wcf84], a
|
||||
ld [wMenuBorderBottomCoord], a
|
||||
ret
|
||||
; 1e5d
|
||||
|
||||
@@ -243,14 +245,14 @@ SetUpMenu:: ; 1e70
|
||||
set 7, [hl]
|
||||
ret
|
||||
|
||||
MenuFunc_1e7f:: ; 0x1e7f
|
||||
MenuFunc_1e7f::
|
||||
call Function1c66
|
||||
call Function1ebd
|
||||
call Function1ea6
|
||||
call Function1cbb
|
||||
ret
|
||||
|
||||
MenuWriteText:: ; 0x1e8c
|
||||
MenuWriteText::
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call Function1ebd ; sort out the text
|
||||
@@ -267,18 +269,18 @@ MenuWriteText:: ; 0x1e8c
|
||||
; 0x1ea6
|
||||
|
||||
Function1ea6:: ; 1ea6
|
||||
ld a, [wcf83]
|
||||
ld a, [wMenuBorderLeftCoord]
|
||||
ld c, a
|
||||
ld a, [wcf85]
|
||||
ld a, [wMenuBorderRightCoord]
|
||||
sub c
|
||||
ld c, a
|
||||
ld a, [wcf92]
|
||||
add a
|
||||
inc a
|
||||
ld b, a
|
||||
ld a, [wcf82]
|
||||
ld a, [wMenuBorderTopCoord]
|
||||
add b
|
||||
ld [wcf84], a
|
||||
ld [wMenuBorderBottomCoord], a
|
||||
ret
|
||||
; 1ebd
|
||||
|
||||
@@ -308,7 +310,7 @@ Function1ebd:: ; 1ebd
|
||||
; 1eda
|
||||
|
||||
Function1eda:: ; 1eda
|
||||
call Function1cfd
|
||||
call GetMemTileCoord
|
||||
ld bc, $002a
|
||||
add hl, bc
|
||||
.asm_1ee1
|
||||
@@ -408,7 +410,7 @@ Function1f2a:: ; 1f2a
|
||||
ld a, [hl]
|
||||
ld [MenuSelection], a
|
||||
ld a, [wcfa9]
|
||||
ld [wcf88], a
|
||||
ld [wPocketCursorBuffer], a
|
||||
and a
|
||||
ret
|
||||
|
||||
@@ -484,21 +486,23 @@ endr
|
||||
ret
|
||||
; 1fbf
|
||||
|
||||
Function1fbf:: ; 1fbf
|
||||
ResetTextRelatedRAM:: ; 1fbf
|
||||
ld hl, wcf71
|
||||
call Function1ff0
|
||||
call .bytefill
|
||||
ld hl, wcf81
|
||||
call Function1ff0
|
||||
call .bytefill
|
||||
ld hl, wcf91
|
||||
call Function1ff0
|
||||
call .bytefill
|
||||
ld hl, wcfa1
|
||||
call Function1ff0
|
||||
call .bytefill
|
||||
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $7
|
||||
ld [rSVBK], a
|
||||
|
||||
xor a
|
||||
ld hl, $dfff
|
||||
ld hl, w7_dfff
|
||||
rept 2
|
||||
ld [hld], a
|
||||
endr
|
||||
@@ -506,12 +510,13 @@ endr
|
||||
ld [wcf71], a
|
||||
ld a, h
|
||||
ld [wcf72], a
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
; 1ff0
|
||||
|
||||
Function1ff0:: ; 1ff0
|
||||
.bytefill: ; 1ff0
|
||||
ld bc, $0010
|
||||
xor a
|
||||
call ByteFill
|
||||
@@ -521,13 +526,13 @@ Function1ff0:: ; 1ff0
|
||||
Function1ff8:: ; 1ff8
|
||||
push af
|
||||
and $3
|
||||
jr z, .asm_2007
|
||||
jr z, .nosound
|
||||
ld hl, wcf81
|
||||
bit 3, [hl]
|
||||
jr nz, .asm_2007
|
||||
jr nz, .nosound
|
||||
call PlayClickSFX
|
||||
|
||||
.asm_2007
|
||||
.nosound
|
||||
pop af
|
||||
ret
|
||||
; 2009
|
||||
@@ -566,7 +571,7 @@ InterpretMenu:: ; 202a
|
||||
ld a, [hROMBank]
|
||||
ld [wcf94], a
|
||||
callba Function2400e
|
||||
ld a, [wcf88]
|
||||
ld a, [wPocketCursorBuffer]
|
||||
ret
|
||||
; 2039
|
||||
|
||||
@@ -574,7 +579,7 @@ Function2039:: ; 2039
|
||||
ld a, [hROMBank]
|
||||
ld [wcf94], a
|
||||
callba Function24022
|
||||
ld a, [wcf88]
|
||||
ld a, [wPocketCursorBuffer]
|
||||
ret
|
||||
; 2048
|
||||
|
||||
@@ -582,7 +587,7 @@ Function2048:: ; 2048
|
||||
ld a, [hROMBank]
|
||||
ld [wcf94], a
|
||||
callba Function2403c
|
||||
ld a, [wcf88]
|
||||
ld a, [wPocketCursorBuffer]
|
||||
ret
|
||||
; 2057
|
||||
|
||||
|
Reference in New Issue
Block a user