Board menu: die roll input and animation (#11)

This commit is contained in:
xCrystal
2023-09-25 21:57:47 +02:00
parent 2cbe0e1764
commit db7d9c7063
11 changed files with 134 additions and 9 deletions

View File

@@ -11,7 +11,9 @@ BoardMenuScript::
end
.Die:
closetext
callasm BoardMenu_Die
iffalse BoardMenuScript
callasm BoardMenu_BreakDieAnimation
end
.Party:
@@ -180,6 +182,50 @@ GetBoardMenuSelection:
xor a
ret ; nc
BoardMenu_Die:
DIE_MAX_NUMBER EQU 6
ld hl, wDisplaySecondarySprites
set SECONDARYSPRITES_DIE_ROLL_F, [hl]
ld a, 1
ld [wDieRoll], a
call HDMATransferTilemapAndAttrmap_OpenAndCloseMenu ;
call CloseText ; closetext
.rotate_die_loop
call IsSFXPlaying
ld de, SFX_KINESIS
call c, PlaySFX
call Random
.sample_die_loop
sub DIE_MAX_NUMBER
jr nc, .sample_die_loop
add DIE_MAX_NUMBER
add $1
ld [wDieRoll], a
farcall _UpdateSprites
call GetJoypad
ldh a, [hJoyPressed]
bit B_BUTTON_F, a
jr nz, .back_to_menu
bit A_BUTTON_F, a
jr nz, .confirm_roll
call DelayFrame
jr .rotate_die_loop
.back_to_menu
call PlayClickSFX
ld hl, wDisplaySecondarySprites
res SECONDARYSPRITES_DIE_ROLL_F, [hl]
xor a ; FALSE
ld [wScriptVar], a
ret
.confirm_roll
call PlayClickSFX
ld a, TRUE
ld [wScriptVar], a
ret
BoardMenu_Party:
ld a, [wPartyCount]
and a
@@ -201,6 +247,9 @@ BoardMenu_Party:
ldh [hMenuReturn], a
ret
BoardMenu_BreakDieAnimation:
ret
BoardMenu_Pack:
call BoardMenu_OpenSubmenu
farcall Pack