Level selection menu: don't make unique palette numbers and sprite anims for male and female; instead, load either red or blue into pal0 (#12)

This commit is contained in:
xCrystal 2024-02-03 15:09:45 +01:00
parent 435d441d58
commit d3b397fd37
10 changed files with 121 additions and 203 deletions

View File

@ -129,8 +129,8 @@ DEF NUM_PREDEF_PALS EQU const_value
const_def
const RGBFADE_TO_BLACK_6BGP
const RGBFADE_TO_LIGHTER_6BGP
const RGBFADE_TO_WHITE_6BGP_7OBP
const RGBFADE_TO_WHITE_6BGP_6OBP
const RGBFADE_TO_WHITE_8BGP_8OBP
const RGBFADE_TO_BLACK_6BGP_1OBP2
const RGBFADE_TO_LIGHTER_6BGP_1OBP2
const RGBFADE_TO_BLACK_6BGP_1OBP1
const RGBFADE_TO_LIGHTER_6BGP_1OBP1
DEF NUM_RGB_FADE_EFFECTS EQU const_value

View File

@ -80,18 +80,14 @@ DEF NUM_SPRITEANIMDICT_ENTRIES EQU 10
const SPRITE_ANIM_OBJ_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_OBJ_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_OBJ_CELEBI ; 2c
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_DOWN ; 2d
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN ; 2e
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_UP ; 2f
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_UP ; 30
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_LEFT ; 31
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT ; 32
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT ; 33
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT ; 34
const SPRITE_ANIM_OBJ_BOARD_MENU_BREAK_DIE ; 35
const SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER ; 36
const SPRITE_ANIM_OBJ_BOARD_MENU_MOVE_DIE_NUMBER ; 37
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_HIGHLIGHT_LEVEL ; 38
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_DOWN ; 2d
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_UP ; 2e
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_LEFT ; 2f
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_RIGHT ; 30
const SPRITE_ANIM_OBJ_BOARD_MENU_BREAK_DIE ; 31
const SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER ; 32
const SPRITE_ANIM_OBJ_BOARD_MENU_MOVE_DIE_NUMBER ; 33
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_HIGHLIGHT_LEVEL ; 34
DEF NUM_SPRITE_ANIM_OBJS EQU const_value
; DoSpriteAnimFrame.Jumptable indexes (see engine/sprite_anims/functions.asm)
@ -206,18 +202,14 @@ DEF NUM_SPRITE_ANIM_FUNCS EQU const_value
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_DOWN ; 42
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN ; 43
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_UP ; 44
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_UP ; 45
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_LEFT ; 46
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT ; 47
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT ; 48
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT ; 49
const SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE ; 50
const SPRITE_ANIM_FRAMESET_BOARD_MENU_APPEAR_DIE_NUMBER ; 51
const SPRITE_ANIM_FRAMESET_BOARD_MENU_MOVE_DIE_NUMBER ; 52
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_HIGHLIGHT_LEVEL ; 53
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_DOWN ; 42
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_UP ; 43
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_LEFT ; 44
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_RIGHT ; 45
const SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE ; 46
const SPRITE_ANIM_FRAMESET_BOARD_MENU_APPEAR_DIE_NUMBER ; 47
const SPRITE_ANIM_FRAMESET_BOARD_MENU_MOVE_DIE_NUMBER ; 48
const SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_HIGHLIGHT_LEVEL ; 49
DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value
; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
@ -362,29 +354,21 @@ DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_1 ; 8c
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_2 ; 8d
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_1 ; 8e
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_2 ; 8f
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_1 ; 90
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_2 ; 91
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_1 ; 92
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_2 ; 93
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_1 ; 94
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_2 ; 95
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_1 ; 96
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_2 ; 97
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_1 ; 98
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_2 ; 99
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_1 ; 9a
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_2 ; 9b
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_1 ; 9c
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_4 ; 9f
const SPRITE_ANIM_OAMSET_BOARD_MENU_DIE_NUMBER ; a0
const SPRITE_ANIM_OAMSET_LSM_HIGHLIGHT_LEVEL_1 ; a1
const SPRITE_ANIM_OAMSET_LSM_HIGHLIGHT_LEVEL_2 ; a2
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_1 ; 8c
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_2 ; 8d
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_1 ; 8e
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_2 ; 8f
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_1 ; 90
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_2 ; 91
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_1 ; 92
const SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_2 ; 93
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_1 ; 94
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2 ; 95
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3 ; 96
const SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4 ; 97
const SPRITE_ANIM_OAMSET_BOARD_MENU_DIE_NUMBER ; 98
const SPRITE_ANIM_OAMSET_LSM_HIGHLIGHT_LEVEL_1 ; 99
const SPRITE_ANIM_OAMSET_LSM_HIGHLIGHT_LEVEL_2 ; 9a
DEF NUM_SPRITE_ANIM_OAMSETS EQU const_value
assert NUM_SPRITE_ANIM_OAMSETS <= FIRST_OAM_CMD, \

View File

@ -35,3 +35,12 @@ DEF NUM_SPRITEDATA_FIELDS EQU _RS
const PAL_NPC_TREE ; d
const PAL_NPC_ROCK ; e
const PAL_NPC_MISC ; f
; level selection menu sprite palettes
const_def
const PAL_LSM_PLAYER ; 0
const PAL_LSM_TOD ; 1
const PAL_LSM_TROPHY_1 ; 2
const PAL_LSM_TROPHY_2 ; 3
const PAL_LSM_TROPHY_3 ; 4
const PAL_LSM_TROPHY_4 ; 5

View File

@ -67,14 +67,10 @@ SpriteAnimFrameData:
dw .Frameset_IntroUnownF
dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight
dw .Frameset_LevelSelectionMenuMaleWalkDown
dw .Frameset_LevelSelectionMenuFemaleWalkDown
dw .Frameset_LevelSelectionMenuMaleWalkUp
dw .Frameset_LevelSelectionMenuFemaleWalkUp
dw .Frameset_LevelSelectionMenuMaleWalkLeft
dw .Frameset_LevelSelectionMenuFemaleWalkLeft
dw .Frameset_LevelSelectionMenuMaleWalkRight
dw .Frameset_LevelSelectionMenuFemaleWalkRight
dw .Frameset_LevelSelectionMenuWalkDown
dw .Frameset_LevelSelectionMenuWalkUp
dw .Frameset_LevelSelectionMenuWalkLeft
dw .Frameset_LevelSelectionMenuWalkRight
dw .Frameset_BoardMenuBreakDie
dw .Frameset_BoardMenuAppearDieNumber
dw .Frameset_BoardMenuMoveDieNumber
@ -510,60 +506,32 @@ SpriteAnimFrameData:
oamframe SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP
oamend
.Frameset_LevelSelectionMenuMaleWalkDown:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_2, 6, OAM_X_FLIP
.Frameset_LevelSelectionMenuWalkDown:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_2, 6, OAM_X_FLIP
oamrestart
.Frameset_LevelSelectionMenuFemaleWalkDown:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_2, 6, OAM_X_FLIP
.Frameset_LevelSelectionMenuWalkUp:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_2, 6, OAM_X_FLIP
oamrestart
.Frameset_LevelSelectionMenuMaleWalkUp:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_2, 6, OAM_X_FLIP
.Frameset_LevelSelectionMenuWalkLeft:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_2, 6
oamrestart
.Frameset_LevelSelectionMenuFemaleWalkUp:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_2, 6, OAM_X_FLIP
oamrestart
.Frameset_LevelSelectionMenuMaleWalkLeft:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_2, 6
oamrestart
.Frameset_LevelSelectionMenuFemaleWalkLeft:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_2, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_1, 6
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_2, 6
oamrestart
.Frameset_LevelSelectionMenuMaleWalkRight:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_1, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_2, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_1, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_2, 6, OAM_X_FLIP
oamrestart
.Frameset_LevelSelectionMenuFemaleWalkRight:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_1, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_2, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_1, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_2, 6, OAM_X_FLIP
.Frameset_LevelSelectionMenuWalkRight:
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_1, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_2, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_1, 6, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_2, 6, OAM_X_FLIP
oamrestart
.Frameset_BoardMenuBreakDie:

View File

@ -147,22 +147,14 @@ SpriteAnimOAMData:
spriteanimoam $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
spriteanimoam $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
spriteanimoam $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
spriteanimoam $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_1
spriteanimoam $0c, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_DOWN_2
spriteanimoam $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_1
spriteanimoam $0c, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_DOWN_2
spriteanimoam $04, .OAMData_RedWalkUp ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_1
spriteanimoam $10, .OAMData_RedWalkUp ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_UP_2
spriteanimoam $04, .OAMData_BlueWalkUp ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_1
spriteanimoam $10, .OAMData_BlueWalkUp ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_UP_2
spriteanimoam $08, .OAMData_RedWalkLeft ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_1
spriteanimoam $14, .OAMData_RedWalkLeft ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_LEFT_2
spriteanimoam $08, .OAMData_BlueWalkLeft ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_1
spriteanimoam $14, .OAMData_BlueWalkLeft ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_LEFT_2
spriteanimoam $08, .OAMData_RedWalkRight ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_1
spriteanimoam $14, .OAMData_RedWalkRight ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_MALE_RIGHT_2
spriteanimoam $08, .OAMData_BlueWalkRight ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_1
spriteanimoam $14, .OAMData_BlueWalkRight ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_FEMALE_RIGHT_2
spriteanimoam $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_1
spriteanimoam $0c, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_DOWN_2
spriteanimoam $04, .OAMData_RedWalkUp ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_1
spriteanimoam $10, .OAMData_RedWalkUp ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_UP_2
spriteanimoam $08, .OAMData_RedWalkLeft ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_1
spriteanimoam $14, .OAMData_RedWalkLeft ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_LEFT_2
spriteanimoam $08, .OAMData_RedWalkRight ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_1
spriteanimoam $14, .OAMData_RedWalkRight ; SPRITE_ANIM_OAMSET_LEVEL_SELECTION_MENU_RIGHT_2
spriteanimoam $00, .OAMData_BreakDie1 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_1
spriteanimoam $00, .OAMData_BreakDie2 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_2
spriteanimoam $00, .OAMData_BreakDie3 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_3
@ -788,27 +780,6 @@ SpriteAnimOAMData:
dbsprite -1, 0, 0, 0, $02, PAL_OW_BLUE
dbsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
.OAMData_BlueWalkUp:
db 4
dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE
dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE
dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE
dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
.OAMData_BlueWalkLeft:
db 4
dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE
dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE
dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE
dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
.OAMData_BlueWalkRight:
db 4
dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE
dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE
dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE
dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
.OAMData_MagnetTrainBlue:
db 4
dbsprite -1, -1, 0, 0, $00, PAL_OW_BLUE | PRIORITY

View File

@ -92,22 +92,14 @@ SpriteAnimObjects:
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_FUNC_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_DOWN, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_UP, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_UP, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_LEFT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
; 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
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_RIGHT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_BOARD_MENU_BREAK_DIE
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

View File

@ -572,17 +572,20 @@ _CGB_GSTitleScreen:
ret
_CGB_LevelSelectionMenu:
; load daytime-based player sprite pals (male and female)
; load daytime-based player sprite pal (male or female)
ld a, [wTimeOfDay]
maskbits NUM_DAYTIMES
ld bc, 8 palettes
ld hl, MapObjectPals
call AddNTimes
gender_to_pal
ld bc, 1 palettes
call AddNTimes
ld de, wOBPals1
ld bc, 2 palettes
ld bc, 1 palettes
ld a, BANK(wOBPals1)
call FarCopyWRAM
; load daytime-based ToD symbol pals (pal2)
; load daytime-based ToD symbol pals (pal1)
ld a, [wTimeOfDay]
maskbits NUM_DAYTIMES
ld bc, 1 palettes
@ -591,7 +594,7 @@ _CGB_LevelSelectionMenu:
ld bc, 1 palettes
ld a, BANK(wOBPals1)
call FarCopyWRAM
; load stage trophy pals (pal3 to pal6)
; load stage trophy pals (pal2 to pal5)
ld hl, LevelSelectionMenuStageTrophiesPals
ld bc, 4 palettes
ld a, BANK(wOBPals1)

View File

@ -277,10 +277,10 @@ RGBFadeEffectJumptable:
table_width 2, RGBFadeEffectJumptable
dw _RGBFadeToBlack_6BGP ; RGBFADE_TO_BLACK_6BGP
dw _RGBFadeToLighter_6BGP ; RGBFADE_TO_LIGHTER_6BGP
dw _RGBFadeToWhite_6BGP_7OBP ; RGBFADE_TO_WHITE_6BGP_7OBP
dw _RGBFadeToWhite_6BGP_6OBP ; RGBFADE_TO_WHITE_6BGP_6OBP
dw _RGBFadeToWhite_8BGP_8OBP ; RGBFADE_TO_WHITE_8BGP_8OBP
dw _RGBFadeToBlack_6BGP_1OBP2 ; RGBFADE_TO_BLACK_6BGP_1OBP2
dw _RGBFadeToLighter_6BGP_1OBP2 ; RGBFADE_TO_LIGHTER_6BGP_1OBP2
dw _RGBFadeToBlack_6BGP_1OBP1 ; RGBFADE_TO_BLACK_6BGP_1OBP1
dw _RGBFadeToLighter_6BGP_1OBP1 ; RGBFADE_TO_LIGHTER_6BGP_1OBP1
assert_table_length NUM_RGB_FADE_EFFECTS
; in RGBFadeEffectJumptable functions, use DelayFrame calls appropriately
@ -307,7 +307,7 @@ _RGBFadeToBlack_6BGP:
jr nz, .loop
ret
_RGBFadeToBlack_6BGP_1OBP2:
_RGBFadeToBlack_6BGP_1OBP1:
ld c, 32 / 2
.loop
push bc
@ -318,7 +318,7 @@ _RGBFadeToBlack_6BGP_1OBP2:
call FadeStepColorsToBlack
; fade OBP to black
ld de, wOBPals2 + 2 palettes
ld de, wOBPals2 + 1 palettes
ld c, NUM_PAL_COLORS
call FadeStepColorsToBlack
@ -353,7 +353,7 @@ _RGBFadeToLighter_6BGP:
jr nz, .loop
ret
_RGBFadeToLighter_6BGP_1OBP2:
_RGBFadeToLighter_6BGP_1OBP1:
ld c, 32 / 2
.loop
push bc
@ -365,8 +365,8 @@ _RGBFadeToLighter_6BGP_1OBP2:
call FadeStepColorsToLighter
; fade OBP to lighter (towards wOBPals1)
ld de, wOBPals2 + 2 palettes
ld hl, wOBPals1 + 2 palettes
ld de, wOBPals2 + 1 palettes
ld hl, wOBPals1 + 1 palettes
ld c, NUM_PAL_COLORS
call FadeStepColorsToLighter
@ -380,7 +380,7 @@ _RGBFadeToLighter_6BGP_1OBP2:
jr nz, .loop
ret
_RGBFadeToWhite_6BGP_7OBP:
_RGBFadeToWhite_6BGP_6OBP:
ld c, 32 / 2
.loop
push bc
@ -392,7 +392,7 @@ _RGBFadeToWhite_6BGP_7OBP:
; fade OBP to white
ld de, wOBPals2
ld c, 7 * NUM_PAL_COLORS
ld c, 6 * NUM_PAL_COLORS
call FadeStepColorsToWhite
; commit pals

View File

@ -85,7 +85,7 @@ LevelSelectionMenu::
farcall ClearSpriteAnims
; fade to the next unlocked level, or to the regular level selection menu
ld b, RGBFADE_TO_BLACK_6BGP_1OBP2
ld b, RGBFADE_TO_BLACK_6BGP_1OBP1
call DoRGBFadeEffect
ld c, 30 ;
call DelayFrames ; black screen --> next landmark shown
@ -213,7 +213,7 @@ LevelSelectionMenu::
ret
.EnterLevelFadeOut:
ld b, RGBFADE_TO_WHITE_6BGP_7OBP
ld b, RGBFADE_TO_WHITE_6BGP_6OBP
jp DoRGBFadeEffect
.exit
@ -321,9 +321,7 @@ LevelSelectionMenu_InitPlayerSprite:
; because ClearSpriteAnims was called before, it's always loaded to wSpriteAnim1
depixel 0, 0
; all the SPRITE_ANIM_* related to the level selection menu are sorted by direction, then by gender
ld b, SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
ld a, [wPlayerGender]
add b
ld a, SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_WALK_DOWN
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -514,10 +512,10 @@ LevelSelectionMenu_DrawTimeOfDaySymbol:
ret
.OAM:
db 3 * TILE_WIDTH, 2 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 0, 2
db 3 * TILE_WIDTH, 3 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 1, 2
db 4 * TILE_WIDTH, 2 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 8, 2
db 4 * TILE_WIDTH, 3 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 9, 2
db 3 * TILE_WIDTH, 2 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 0, PAL_LSM_TOD
db 3 * TILE_WIDTH, 3 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 1, PAL_LSM_TOD
db 4 * TILE_WIDTH, 2 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 8, PAL_LSM_TOD
db 4 * TILE_WIDTH, 3 * TILE_WIDTH, 24 + NUM_DIRECTIONS + NUM_LEVEL_STAGES * 2 + 9, PAL_LSM_TOD
LevelSelectionMenu_DrawDirectionalArrows:
; Draw directional arrows OAM around player sprite for the valid directions.
@ -559,8 +557,8 @@ LevelSelectionMenu_DrawDirectionalArrows:
ld a, [hli]
ld [de], a ; tile id
inc de
gender_to_pal
ld [de], a ; attr (use the same pal as player sprite)
xor a ; PAL_LSM_PLAYER
ld [de], a ; attr (uses the same pal as player sprite)
inc de
ret
@ -684,14 +682,14 @@ LevelSelectionMenu_DrawStageTrophies:
db 18 * TILE_WIDTH, 19 * TILE_WIDTH
.BaseOAMTilesAttrs:
db 24 + NUM_DIRECTIONS + 0, 3
db 24 + NUM_DIRECTIONS + 4, 3
db 24 + NUM_DIRECTIONS + 1, 4
db 24 + NUM_DIRECTIONS + 5, 4
db 24 + NUM_DIRECTIONS + 2, 5
db 24 + NUM_DIRECTIONS + 6, 5
db 24 + NUM_DIRECTIONS + 3, 6
db 24 + NUM_DIRECTIONS + 7, 6
db 24 + NUM_DIRECTIONS + 0, PAL_LSM_TROPHY_1
db 24 + NUM_DIRECTIONS + 4, PAL_LSM_TROPHY_1
db 24 + NUM_DIRECTIONS + 1, PAL_LSM_TROPHY_2
db 24 + NUM_DIRECTIONS + 5, PAL_LSM_TROPHY_2
db 24 + NUM_DIRECTIONS + 2, PAL_LSM_TROPHY_3
db 24 + NUM_DIRECTIONS + 6, PAL_LSM_TROPHY_3
db 24 + NUM_DIRECTIONS + 3, PAL_LSM_TROPHY_4
db 24 + NUM_DIRECTIONS + 7, PAL_LSM_TROPHY_4
LevelSelectionMenu_ClearTextboxOAM:
ld hl, wShadowOAM + $8 * SPRITEOAMSTRUCT_LENGTH
@ -710,12 +708,8 @@ LevelSelectionMenu_SetAnimSeqAndFrameset:
ld [hl], a
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [wPlayerGender]
ld d, a
ld a, SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
add e
ld a, SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_DOWN
add e ; add direction
add d ; add gender
ld [hl], a
ret
@ -840,11 +834,11 @@ ENDM
ret
.PageChangeFadeOut:
ld b, RGBFADE_TO_BLACK_6BGP_1OBP2
ld b, RGBFADE_TO_BLACK_6BGP_1OBP1
jp DoRGBFadeEffect
.PageChangeFadeIn:
ld b, RGBFADE_TO_LIGHTER_6BGP_1OBP2
ld b, RGBFADE_TO_LIGHTER_6BGP_1OBP1
jp DoRGBFadeEffect
LevelSelectionMenu_GetLandmarkPage:
@ -1127,10 +1121,7 @@ _LevelSelectionMenuHandleTransition:
ld [hl], a
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [wPlayerGender]
ld d, a
ld a, SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
add d
ld a, SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_WALK_DOWN
ld [hl], a
; return nc to signal back not to apply a displacement during this frame
xor a

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 232 B