Identify more bit flags (#1153)

This commit is contained in:
Sylvie
2024-11-29 19:29:30 -05:00
committed by GitHub
parent 8894e29da2
commit 644bd42fb0
78 changed files with 539 additions and 472 deletions

View File

@@ -68,7 +68,7 @@ Get2DMenuSelection:
call MenuClickSound
Mobile_GetMenuSelection:
ld a, [wMenuDataFlags]
bit 1, a
bit STATICMENU_ENABLE_SELECT_F, a
jr z, .skip
call GetMenuJoypad
bit SELECT_F, a
@@ -76,7 +76,7 @@ Mobile_GetMenuSelection:
.skip
ld a, [wMenuDataFlags]
bit 0, a
bit STATICMENU_DISABLE_B_F, a
jr nz, .skip2
call GetMenuJoypad
bit B_BUTTON_F, a
@@ -218,10 +218,10 @@ Init2DMenuCursorPosition:
ld [hli], a
ld [hld], a
ld a, [wMenuDataFlags]
bit 5, a
bit STATICMENU_WRAP_F, a
ret z
set 5, [hl]
set 4, [hl]
set _2DMENU_WRAP_UP_DOWN_F, [hl]
set _2DMENU_WRAP_LEFT_RIGHT_F, [hl]
ret
.InitFlags_b:
@@ -233,11 +233,11 @@ Init2DMenuCursorPosition:
.InitFlags_c:
ld hl, wMenuDataFlags
ld a, A_BUTTON
bit 0, [hl]
bit STATICMENU_DISABLE_B_F, [hl]
jr nz, .skip
or B_BUTTON
.skip
bit 1, [hl]
bit STATICMENU_ENABLE_SELECT_F, [hl]
jr z, .skip2
or SELECT
.skip2
@@ -248,7 +248,7 @@ _StaticMenuJoypad::
call Place2DMenuCursor
_ScrollingMenuJoypad::
ld hl, w2DMenuFlags2
res 7, [hl]
res _2DMENU_DISABLE_JOYPAD_FILTER_F, [hl]
ldh a, [hBGMapMode]
push af
call MenuJoypadLoop
@@ -258,7 +258,7 @@ _ScrollingMenuJoypad::
MobileMenuJoypad:
ld hl, w2DMenuFlags2
res 7, [hl]
res _2DMENU_DISABLE_JOYPAD_FILTER_F, [hl]
ldh a, [hBGMapMode]
push af
call Move2DMenuCursor
@@ -282,7 +282,7 @@ Function241d5: ; unreferenced
call _2DMenuInterpretJoypad
jr c, .done
ld a, [w2DMenuFlags1]
bit 7, a
bit _2DMENU_DISABLE_JOYPAD_FILTER_F, a
jr nz, .done
call GetMenuJoypad
ld c, a
@@ -303,7 +303,7 @@ Function241d5: ; unreferenced
farcall Function100337
ret c
ld a, [w2DMenuFlags1]
bit 7, a
bit _2DMENU_DISABLE_JOYPAD_FILTER_F, a
jr z, .loop2
and a
ret
@@ -317,7 +317,7 @@ MenuJoypadLoop:
call _2DMenuInterpretJoypad
jr c, .done
ld a, [w2DMenuFlags1]
bit 7, a
bit _2DMENU_DISABLE_JOYPAD_FILTER_F, a
jr nz, .done
call GetMenuJoypad
ld b, a
@@ -346,14 +346,14 @@ Do2DMenuRTCJoypad:
call Menu_WasButtonPressed
ret c
ld a, [w2DMenuFlags1]
bit 7, a
bit _2DMENU_DISABLE_JOYPAD_FILTER_F, a
jr z, .loopRTC
and a
ret
Menu_WasButtonPressed:
ld a, [w2DMenuFlags1]
bit 6, a
bit _2DMENU_ENABLE_SPRITE_ANIMS_F, a
jr z, .skip_to_joypad
callfar PlaySpriteAnimationsAndDelayFrame
@@ -390,7 +390,7 @@ _2DMenuInterpretJoypad:
.set_bit_7
ld hl, w2DMenuFlags2
set 7, [hl]
set _2DMENU_EXITING_F, [hl]
scf
ret
@@ -405,9 +405,9 @@ _2DMenuInterpretJoypad:
.check_wrap_around_down
ld a, [w2DMenuFlags1]
bit 5, a
bit _2DMENU_WRAP_UP_DOWN_F, a
jr nz, .wrap_around_down
bit 3, a
bit _2DMENU_EXIT_DOWN_F, a
jp nz, .set_bit_7
xor a
ret
@@ -428,9 +428,9 @@ _2DMenuInterpretJoypad:
.check_wrap_around_up
ld a, [w2DMenuFlags1]
bit 5, a
bit _2DMENU_WRAP_UP_DOWN_F, a
jr nz, .wrap_around_up
bit 2, a
bit _2DMENU_EXIT_UP_F, a
jp nz, .set_bit_7
xor a
ret
@@ -452,9 +452,9 @@ _2DMenuInterpretJoypad:
.check_wrap_around_left
ld a, [w2DMenuFlags1]
bit 4, a
bit _2DMENU_WRAP_LEFT_RIGHT_F, a
jr nz, .wrap_around_left
bit 1, a
bit _2DMENU_EXIT_LEFT_F, a
jp nz, .set_bit_7
xor a
ret
@@ -476,9 +476,9 @@ _2DMenuInterpretJoypad:
.check_wrap_around_right
ld a, [w2DMenuFlags1]
bit 4, a
bit _2DMENU_WRAP_LEFT_RIGHT_F, a
jr nz, .wrap_around_right
bit 0, a
bit _2DMENU_EXIT_RIGHT_F, a
jp nz, .set_bit_7
xor a
ret
@@ -575,34 +575,35 @@ _PushWindow::
dec b
jr nz, .loop
; If bit 6 or 7 of the menu flags is set, set bit 0 of the address
; at 7:[wWindowStackPointer], and draw the menu using the coordinates from the header.
; Otherwise, reset bit 0 of 7:[wWindowStackPointer].
; If bit MENU_BACKUP_TILES_F or MENU_BACKUP_TILES_2_F of the menu flags is set,
; also set bit MENU_RESTORE_TILES_F of the address at 7:[wWindowStackPointer],
; and draw the menu using the coordinates from the header.
; Otherwise, reset bit MENU_RESTORE_TILES_F of 7:[wWindowStackPointer].
ld a, [wMenuFlags]
bit 6, a
jr nz, .bit_6
bit 7, a
jr z, .not_bit_7
bit MENU_BACKUP_TILES_F, a
jr nz, .backup_tiles
bit MENU_BACKUP_TILES_2_F, a
jr z, .no_backup_tiles
.bit_6
.backup_tiles
ld hl, wWindowStackPointer
ld a, [hli]
ld h, [hl]
ld l, a
set 0, [hl]
set MENU_RESTORE_TILES_F, [hl]
call MenuBoxCoord2Tile
call .copy
call MenuBoxCoord2Attr
call .copy
jr .done
.not_bit_7
.no_backup_tiles
pop hl ; last-pushed register was de
push hl
ld a, [hld]
ld l, [hl]
ld h, a
res 0, [hl]
res MENU_RESTORE_TILES_F, [hl]
.done
pop hl
@@ -672,7 +673,7 @@ _ExitMenu::
ld [wWindowStackPointer + 1], a
call PopWindow
ld a, [wMenuFlags]
bit 0, a
bit MENU_RESTORE_TILES_F, a
jr z, .loop
ld d, h
ld e, l
@@ -741,7 +742,7 @@ _InitVerticalMenuCursor::
ld hl, w2DMenuCursorInitY
ld a, [wMenuBorderTopCoord]
inc a
bit 6, b
bit STATICMENU_NO_TOP_SPACING_F, b
jr nz, .skip_offset
inc a
.skip_offset
@@ -757,15 +758,15 @@ _InitVerticalMenuCursor::
ld a, 1
ld [hli], a
; w2DMenuFlags1
ld [hl], $0
bit 5, b
ld [hl], 0
bit STATICMENU_WRAP_F, b
jr z, .skip_bit_5
set 5, [hl]
set _2DMENU_WRAP_UP_DOWN_F, [hl]
.skip_bit_5
ld a, [wMenuFlags]
bit 4, a
bit MENU_SPRITE_ANIMS_F, a
jr z, .skip_bit_6
set 6, [hl]
set _2DMENU_ENABLE_SPRITE_ANIMS_F, [hl]
.skip_bit_6
inc hl
; w2DMenuFlags2
@@ -776,7 +777,7 @@ _InitVerticalMenuCursor::
ld [hli], a
; wMenuJoypadFilter
ld a, A_BUTTON
bit 0, b
bit STATICMENU_DISABLE_B_F, b
jr nz, .skip_bit_1
add B_BUTTON
.skip_bit_1