mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Board menu: move die number animation (#11)
This commit is contained in:
parent
98d69d4e04
commit
1f2be83ebc
@ -135,9 +135,7 @@ DEF NUM_SPRITE_ANIM_OBJS EQU const_value
|
|||||||
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP ; 24
|
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP ; 24
|
||||||
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT ; 25
|
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT ; 25
|
||||||
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT ; 26
|
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT ; 26
|
||||||
const SPRITE_ANIM_FUNC_BOARD_MENU_BREAK_DIE ; 27
|
const SPRITE_ANIM_FUNC_BOARD_MENU_MOVE_DIE_NUMBER ; 27
|
||||||
const SPRITE_ANIM_FUNC_BOARD_MENU_APPEAR_DIE_NUMBER ; 28
|
|
||||||
const SPRITE_ANIM_FUNC_BOARD_MENU_MOVE_DIE_NUMBER ; 29
|
|
||||||
DEF NUM_SPRITE_ANIM_FUNCS EQU const_value
|
DEF NUM_SPRITE_ANIM_FUNCS EQU const_value
|
||||||
|
|
||||||
; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
|
; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
|
||||||
@ -383,7 +381,7 @@ DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value
|
|||||||
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2 ; 9d
|
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2 ; 9d
|
||||||
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3 ; 9e
|
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3 ; 9e
|
||||||
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4 ; 9f
|
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4 ; 9f
|
||||||
const SPRITE_ANIM_OAMSET_BOARD_MENU_APPEAR_DIE_NUMBER ; a0
|
const SPRITE_ANIM_OAMSET_BOARD_MENU_DIE_NUMBER ; a0
|
||||||
DEF NUM_SPRITE_ANIM_OAMSETS EQU const_value
|
DEF NUM_SPRITE_ANIM_OAMSETS EQU const_value
|
||||||
|
|
||||||
assert NUM_SPRITE_ANIM_OAMSETS <= FIRST_OAM_CMD, \
|
assert NUM_SPRITE_ANIM_OAMSETS <= FIRST_OAM_CMD, \
|
||||||
|
@ -8,8 +8,9 @@ DEF AUTO_INPUT EQU $ff
|
|||||||
|
|
||||||
; wDisplaySecondarySprites
|
; wDisplaySecondarySprites
|
||||||
const_def
|
const_def
|
||||||
const SECONDARYSPRITES_BOARD_MENU_F ; 0
|
const SECONDARYSPRITES_BOARD_MENU_F ; 0
|
||||||
const SECONDARYSPRITES_DIE_ROLL_F ; 1
|
const SECONDARYSPRITES_DIE_ROLL_F ; 1
|
||||||
|
const SECONDARYSPRITES_SPACES_LEFT_F ; 2
|
||||||
|
|
||||||
; wCurDexMode::
|
; wCurDexMode::
|
||||||
const_def
|
const_def
|
||||||
|
@ -566,21 +566,23 @@ SpriteAnimFrameData:
|
|||||||
oamrestart
|
oamrestart
|
||||||
|
|
||||||
.Frameset_BoardMenuBreakDie:
|
.Frameset_BoardMenuBreakDie:
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_1, 2
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_1, 9
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2, 6
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2, 6
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3, 6
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3, 6
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 5
|
||||||
oamwait 2
|
oamwait 2
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 5
|
||||||
oamwait 2
|
oamwait 2
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 5
|
||||||
oamwait 2
|
oamwait 2
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 5
|
||||||
|
oamwait 3
|
||||||
oamdelete
|
oamdelete
|
||||||
|
|
||||||
.Frameset_BoardMenuAppearDieNumber:
|
.Frameset_BoardMenuAppearDieNumber:
|
||||||
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_APPEAR_DIE_NUMBER, 44
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_DIE_NUMBER, 60
|
||||||
oamdelete
|
oamdelete
|
||||||
|
|
||||||
.Frameset_BoardMenuMoveDieNumber:
|
.Frameset_BoardMenuMoveDieNumber:
|
||||||
|
oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_DIE_NUMBER, 40
|
||||||
oamdelete
|
oamdelete
|
||||||
|
@ -167,7 +167,7 @@ SpriteAnimOAMData:
|
|||||||
spriteanimoam $00, .OAMData_BreakDie2 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2
|
spriteanimoam $00, .OAMData_BreakDie2 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2
|
||||||
spriteanimoam $00, .OAMData_BreakDie3 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3
|
spriteanimoam $00, .OAMData_BreakDie3 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3
|
||||||
spriteanimoam $00, .OAMData_BreakDie4 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4
|
spriteanimoam $00, .OAMData_BreakDie4 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4
|
||||||
spriteanimoam $00, .OAMData_AppearDieNumber ; SPRITE_ANIM_OAMSET_BOARD_MENU_APPEAR_DIE_NUMBER
|
spriteanimoam $00, .OAMData_DieNumber ; SPRITE_ANIM_OAMSET_BOARD_MENU_DIE_NUMBER
|
||||||
|
|
||||||
assert_table_length NUM_SPRITE_ANIM_OAMSETS
|
assert_table_length NUM_SPRITE_ANIM_OAMSETS
|
||||||
|
|
||||||
@ -664,7 +664,7 @@ SpriteAnimOAMData:
|
|||||||
dbsprite -2, 0, 0, 0, $14, PAL_OW_MISC
|
dbsprite -2, 0, 0, 0, $14, PAL_OW_MISC
|
||||||
dbsprite 1, 0, 0, 0, $15, PAL_OW_MISC
|
dbsprite 1, 0, 0, 0, $15, PAL_OW_MISC
|
||||||
|
|
||||||
.OAMData_AppearDieNumber:
|
.OAMData_DieNumber:
|
||||||
db 4
|
db 4
|
||||||
dbsprite -1, -1, 0, 0, $00, PAL_OW_MISC
|
dbsprite -1, -1, 0, 0, $00, PAL_OW_MISC
|
||||||
dbsprite 0, -1, 0, 0, $01, PAL_OW_MISC
|
dbsprite 0, -1, 0, 0, $01, PAL_OW_MISC
|
||||||
|
@ -109,9 +109,9 @@ SpriteAnimObjects:
|
|||||||
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT
|
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT
|
||||||
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
|
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
|
||||||
; SPRITE_ANIM_OBJ_BOARD_MENU_BREAK_DIE
|
; SPRITE_ANIM_OBJ_BOARD_MENU_BREAK_DIE
|
||||||
db SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE, SPRITE_ANIM_FUNC_BOARD_MENU_BREAK_DIE, SPRITE_ANIM_DICT_BOARD_MENU
|
db SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_BOARD_MENU
|
||||||
; SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER
|
; SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER
|
||||||
db SPRITE_ANIM_FRAMESET_BOARD_MENU_APPEAR_DIE_NUMBER, SPRITE_ANIM_FUNC_BOARD_MENU_APPEAR_DIE_NUMBER, SPRITE_ANIM_DICT_DEFAULT
|
db SPRITE_ANIM_FRAMESET_BOARD_MENU_APPEAR_DIE_NUMBER, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
|
||||||
; SPRITE_ANIM_OBJ_BOARD_MENU_MOVE_DIE_NUMBER
|
; SPRITE_ANIM_OBJ_BOARD_MENU_MOVE_DIE_NUMBER
|
||||||
db SPRITE_ANIM_FRAMESET_BOARD_MENU_MOVE_DIE_NUMBER, SPRITE_ANIM_FUNC_BOARD_MENU_MOVE_DIE_NUMBER, SPRITE_ANIM_DICT_DEFAULT
|
db SPRITE_ANIM_FRAMESET_BOARD_MENU_MOVE_DIE_NUMBER, SPRITE_ANIM_FUNC_BOARD_MENU_MOVE_DIE_NUMBER, SPRITE_ANIM_DICT_DEFAULT
|
||||||
|
|
||||||
|
@ -10,13 +10,13 @@ BoardMenuOAM:
|
|||||||
dbsprite 3, 18, 4, 0, BOARD_MENU_OAM_FIRST_TILE + 7, PAL_OW_MISC
|
dbsprite 3, 18, 4, 0, BOARD_MENU_OAM_FIRST_TILE + 7, PAL_OW_MISC
|
||||||
dbsprite 4, 18, 4, 0, BOARD_MENU_OAM_FIRST_TILE + 8, PAL_OW_MISC
|
dbsprite 4, 18, 4, 0, BOARD_MENU_OAM_FIRST_TILE + 8, PAL_OW_MISC
|
||||||
; BOARDMENUITEM_PARTY
|
; BOARDMENUITEM_PARTY
|
||||||
dbsprite 6, 16, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 9, PAL_OW_MISC
|
dbsprite 3, 16, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 9, PAL_OW_MISC
|
||||||
dbsprite 7, 16, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 10, PAL_OW_MISC
|
dbsprite 7, 16, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 10, PAL_OW_MISC
|
||||||
dbsprite 8, 16, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 11, PAL_OW_MISC
|
dbsprite 8, 16, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 11, PAL_OW_MISC
|
||||||
dbsprite 6, 17, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 12, PAL_OW_MISC
|
dbsprite 3, 17, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 12, PAL_OW_MISC
|
||||||
dbsprite 7, 17, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 13, PAL_OW_MISC
|
dbsprite 7, 17, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 13, PAL_OW_MISC
|
||||||
dbsprite 8, 17, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 14, PAL_OW_MISC
|
dbsprite 8, 17, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 14, PAL_OW_MISC
|
||||||
dbsprite 6, 18, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 15, PAL_OW_MISC
|
dbsprite 3, 18, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 15, PAL_OW_MISC
|
||||||
dbsprite 7, 18, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 16, PAL_OW_MISC
|
dbsprite 7, 18, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 16, PAL_OW_MISC
|
||||||
dbsprite 8, 18, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 17, PAL_OW_MISC
|
dbsprite 8, 18, 0, 0, BOARD_MENU_OAM_FIRST_TILE + 17, PAL_OW_MISC
|
||||||
; BOARDMENUITEM_PACK
|
; BOARDMENUITEM_PACK
|
||||||
@ -81,3 +81,35 @@ DieRollOAM:
|
|||||||
dbsprite 10, 7, 0, 0, DIE_ROLL_OAM_FIRST_TILE + 11, PAL_OW_MISC
|
dbsprite 10, 7, 0, 0, DIE_ROLL_OAM_FIRST_TILE + 11, PAL_OW_MISC
|
||||||
dbsprite 9, 8, 0, 0, DIE_ROLL_OAM_FIRST_TILE + 30, PAL_OW_MISC
|
dbsprite 9, 8, 0, 0, DIE_ROLL_OAM_FIRST_TILE + 30, PAL_OW_MISC
|
||||||
dbsprite 10, 8, 0, 0, DIE_ROLL_OAM_FIRST_TILE + 31, PAL_OW_MISC
|
dbsprite 10, 8, 0, 0, DIE_ROLL_OAM_FIRST_TILE + 31, PAL_OW_MISC
|
||||||
|
|
||||||
|
SpacesLeftNumberOAM:
|
||||||
|
; 1
|
||||||
|
dbsprite 1, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE, PAL_OW_MISC
|
||||||
|
dbsprite 2, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 1, PAL_OW_MISC
|
||||||
|
dbsprite 1, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 20, PAL_OW_MISC
|
||||||
|
dbsprite 2, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 21, PAL_OW_MISC
|
||||||
|
; 2
|
||||||
|
dbsprite 1, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 2, PAL_OW_MISC
|
||||||
|
dbsprite 2, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 3, PAL_OW_MISC
|
||||||
|
dbsprite 1, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 22, PAL_OW_MISC
|
||||||
|
dbsprite 2, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 23, PAL_OW_MISC
|
||||||
|
; 3
|
||||||
|
dbsprite 1, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 4, PAL_OW_MISC
|
||||||
|
dbsprite 2, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 5, PAL_OW_MISC
|
||||||
|
dbsprite 1, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 24, PAL_OW_MISC
|
||||||
|
dbsprite 2, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 25, PAL_OW_MISC
|
||||||
|
; 4
|
||||||
|
dbsprite 1, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 6, PAL_OW_MISC
|
||||||
|
dbsprite 2, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 7, PAL_OW_MISC
|
||||||
|
dbsprite 1, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 26, PAL_OW_MISC
|
||||||
|
dbsprite 2, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 27, PAL_OW_MISC
|
||||||
|
; 5
|
||||||
|
dbsprite 1, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 8, PAL_OW_MISC
|
||||||
|
dbsprite 2, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 9, PAL_OW_MISC
|
||||||
|
dbsprite 1, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 28, PAL_OW_MISC
|
||||||
|
dbsprite 2, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 29, PAL_OW_MISC
|
||||||
|
; 6
|
||||||
|
dbsprite 1, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 10, PAL_OW_MISC
|
||||||
|
dbsprite 2, 3, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 11, PAL_OW_MISC
|
||||||
|
dbsprite 1, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 30, PAL_OW_MISC
|
||||||
|
dbsprite 2, 4, 4, 4, DIE_NUMBERS_OAM_FIRST_TILE + 31, PAL_OW_MISC
|
||||||
|
@ -221,7 +221,6 @@ DIE_MAX_NUMBER EQU 6
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.confirm_roll
|
.confirm_roll
|
||||||
call PlayClickSFX
|
|
||||||
ld a, TRUE
|
ld a, TRUE
|
||||||
ld [wScriptVar], a
|
ld [wScriptVar], a
|
||||||
ret
|
ret
|
||||||
@ -275,20 +274,53 @@ BoardMenu_BreakDieAnimation:
|
|||||||
.go
|
.go
|
||||||
farcall _UpdateSpritesAfterOffset
|
farcall _UpdateSpritesAfterOffset
|
||||||
|
|
||||||
ld a, 44 ; total duration of SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE
|
ld de, SFX_STRENGTH
|
||||||
|
call PlaySFX
|
||||||
|
|
||||||
|
; play break die and appear die number animations
|
||||||
|
ld a, 61 ; total duration of SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE.
|
||||||
|
; the total duration is the sum of all durations in the frameset
|
||||||
|
; plus one for each oam* entry in the frameset.
|
||||||
ld [wFrameCounter], a
|
ld [wFrameCounter], a
|
||||||
.loop
|
.loop1
|
||||||
|
farcall PlaySpriteAnimationsAndDelayFrame
|
||||||
|
ld hl, wFrameCounter
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
jr z, .next
|
||||||
|
dec [hl]
|
||||||
|
jr .loop1
|
||||||
|
|
||||||
|
.next
|
||||||
|
; initialize move die number animation
|
||||||
|
depixel 8, 10, 0, 0
|
||||||
|
ld a, SPRITE_ANIM_OBJ_BOARD_MENU_MOVE_DIE_NUMBER
|
||||||
|
call InitSpriteAnimStruct
|
||||||
|
|
||||||
|
ld a, $4 * SPRITEOAMSTRUCT_LENGTH
|
||||||
|
ldh [hUsedSpriteIndex], a
|
||||||
|
farcall _UpdateSpritesAfterOffset
|
||||||
|
|
||||||
|
; play move die number animation
|
||||||
|
ld a, 41 ; total duration of SPRITE_ANIM_FRAMESET_BOARD_MENU_MOVE_DIE_NUMBER
|
||||||
|
ld [wFrameCounter], a
|
||||||
|
.loop2
|
||||||
farcall PlaySpriteAnimationsAndDelayFrame
|
farcall PlaySpriteAnimationsAndDelayFrame
|
||||||
ld hl, wFrameCounter
|
ld hl, wFrameCounter
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
jr z, .done
|
jr z, .done
|
||||||
dec [hl]
|
dec [hl]
|
||||||
jr .loop
|
jr .loop2
|
||||||
|
|
||||||
.done
|
.done
|
||||||
ld hl, wVramState
|
ld hl, wVramState
|
||||||
res 2, [hl]
|
res 2, [hl]
|
||||||
|
ld hl, wDisplaySecondarySprites
|
||||||
|
set SECONDARYSPRITES_SPACES_LEFT_F, [hl]
|
||||||
|
ld a, [wDieRoll]
|
||||||
|
ld [wSpacesLeft], a
|
||||||
|
call UpdateSprites
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BoardMenu_Party:
|
BoardMenu_Party:
|
||||||
|
@ -3084,6 +3084,8 @@ InitSecondarySprites:
|
|||||||
call nz, InitBoardMenuSprites
|
call nz, InitBoardMenuSprites
|
||||||
bit SECONDARYSPRITES_DIE_ROLL_F, a
|
bit SECONDARYSPRITES_DIE_ROLL_F, a
|
||||||
call nz, InitRollDieSprites
|
call nz, InitRollDieSprites
|
||||||
|
bit SECONDARYSPRITES_SPACES_LEFT_F, a
|
||||||
|
call nz, InitSpacesLeftNumberSprites
|
||||||
ret
|
ret
|
||||||
|
|
||||||
InitBoardMenuSprites:
|
InitBoardMenuSprites:
|
||||||
@ -3137,4 +3139,30 @@ InitRollDieSprites:
|
|||||||
pop af
|
pop af
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
InitSpacesLeftNumberSprites:
|
||||||
|
push af
|
||||||
|
|
||||||
|
ld hl, SpacesLeftNumberOAM
|
||||||
|
ld a, [wSpacesLeft]
|
||||||
|
dec a
|
||||||
|
ld bc, DIE_NUMBER_SIZE * SPRITEOAMSTRUCT_LENGTH
|
||||||
|
call AddNTimes
|
||||||
|
; find the beginning of free space in OAM, and assure there's space for a DIE_NUMBER_SIZE object
|
||||||
|
ldh a, [hUsedSpriteIndex]
|
||||||
|
cp (NUM_SPRITE_OAM_STRUCTS * SPRITEOAMSTRUCT_LENGTH) - (DIE_NUMBER_SIZE * SPRITEOAMSTRUCT_LENGTH) + 1
|
||||||
|
jr nc, .oam_full
|
||||||
|
; copy the sprite data (DIE_NUMBER_SIZE objects) of that item to the available space in OAM
|
||||||
|
ld e, a
|
||||||
|
ld d, HIGH(wShadowOAM)
|
||||||
|
ld bc, DIE_NUMBER_SIZE * SPRITEOAMSTRUCT_LENGTH
|
||||||
|
call CopyBytes
|
||||||
|
|
||||||
|
ldh a, [hUsedSpriteIndex]
|
||||||
|
add (DIE_NUMBER_SIZE * SPRITEOAMSTRUCT_LENGTH)
|
||||||
|
ldh [hUsedSpriteIndex], a
|
||||||
|
|
||||||
|
.oam_full
|
||||||
|
pop af
|
||||||
|
ret
|
||||||
|
|
||||||
INCLUDE "data/sprites/secondary_sprites.asm"
|
INCLUDE "data/sprites/secondary_sprites.asm"
|
||||||
|
@ -53,8 +53,6 @@ DoSpriteAnimFrame:
|
|||||||
dw SpriteAnimFunc_LevelSelectionMenuWalkUp
|
dw SpriteAnimFunc_LevelSelectionMenuWalkUp
|
||||||
dw SpriteAnimFunc_LevelSelectionMenuWalkLeft
|
dw SpriteAnimFunc_LevelSelectionMenuWalkLeft
|
||||||
dw SpriteAnimFunc_LevelSelectionMenuWalkRight
|
dw SpriteAnimFunc_LevelSelectionMenuWalkRight
|
||||||
dw SpriteAnimFunc_BoardMenuBreakDie
|
|
||||||
dw SpriteAnimFunc_BoardMenuAppearDieNumber
|
|
||||||
dw SpriteAnimFunc_BoardMenuMoveDieNumber
|
dw SpriteAnimFunc_BoardMenuMoveDieNumber
|
||||||
assert_table_length NUM_SPRITE_ANIM_FUNCS
|
assert_table_length NUM_SPRITE_ANIM_FUNCS
|
||||||
|
|
||||||
@ -880,13 +878,43 @@ SpriteAnimFunc_LevelSelectionMenuWalkRight:
|
|||||||
inc [hl]
|
inc [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
SpriteAnimFunc_BoardMenuBreakDie:
|
|
||||||
ret
|
|
||||||
|
|
||||||
SpriteAnimFunc_BoardMenuAppearDieNumber:
|
|
||||||
ret
|
|
||||||
|
|
||||||
SpriteAnimFunc_BoardMenuMoveDieNumber:
|
SpriteAnimFunc_BoardMenuMoveDieNumber:
|
||||||
|
ld hl, SPRITEANIMSTRUCT_YCOORD
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
; 10 frames
|
||||||
|
ld e, 2
|
||||||
|
ld d, 0
|
||||||
|
cp 44 + 2
|
||||||
|
jr nc, .move
|
||||||
|
; 2 frames
|
||||||
|
ld e, 2
|
||||||
|
ld d, 1
|
||||||
|
cp 40 + 1
|
||||||
|
jr nc, .move
|
||||||
|
; 2 frames
|
||||||
|
ld e, 1
|
||||||
|
ld d, 1
|
||||||
|
cp 38 + 1
|
||||||
|
jr nc, .move
|
||||||
|
; 2 frames
|
||||||
|
ld e, 1
|
||||||
|
ld d, 2
|
||||||
|
cp 36 + 1
|
||||||
|
jr nc, .move
|
||||||
|
; 26 frames
|
||||||
|
ld e, 0
|
||||||
|
ld d, 2
|
||||||
|
.move
|
||||||
|
sub e
|
||||||
|
ld [hl], a
|
||||||
|
ld hl, SPRITEANIMSTRUCT_XCOORD
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
cp 20 + 1
|
||||||
|
ret c
|
||||||
|
sub d
|
||||||
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LevelSelectionMenuHandleTransition:
|
LevelSelectionMenuHandleTransition:
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 571 B |
@ -109,5 +109,5 @@ Level1_Map1_MapEvents:
|
|||||||
object_event 4, 2, SPRITE_CONSOLE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_GameConsoleScript, -1
|
object_event 4, 2, SPRITE_CONSOLE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_GameConsoleScript, -1
|
||||||
object_event 4, 4, SPRITE_DOLL_1, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_Doll1Script, -1
|
object_event 4, 4, SPRITE_DOLL_1, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_Doll1Script, -1
|
||||||
object_event 5, 4, SPRITE_DOLL_2, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_Doll2Script, -1
|
object_event 5, 4, SPRITE_DOLL_2, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_Doll2Script, -1
|
||||||
object_event 0, 1, SPRITE_BIG_DOLL, SPRITEMOVEDATA_BIGDOLL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_BigDollScript, -1
|
; object_event 0, 1, SPRITE_BIG_DOLL, SPRITEMOVEDATA_BIGDOLL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Level1_Map1_BigDollScript, -1
|
||||||
object_event 6, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, Level1_Map1_TrainerYoungsterMikey, -1
|
; object_event 6, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, Level1_Map1_TrainerYoungsterMikey, -1
|
||||||
|
Loading…
Reference in New Issue
Block a user