From 98d69d4e0424756b22a88a92714cbbdc1a29a808 Mon Sep 17 00:00:00 2001 From: xCrystal Date: Tue, 26 Sep 2023 20:09:13 +0200 Subject: [PATCH] Board menu: break die and appear die number animations (#11) --- charmap.asm | 3 +- constants/gfx_constants.asm | 3 ++ constants/sprite_anim_constants.asm | 17 ++++++- data/sprite_anims/framesets.asm | 23 ++++++++++ data/sprite_anims/oam.asm | 40 ++++++++++++++++ data/sprite_anims/objects.asm | 6 +++ engine/board/menu.asm | 68 ++++++++++++++++++++++++++-- engine/gfx/load_board_gfx.asm | 15 +++++- engine/overworld/map_objects.asm | 7 +++ engine/sprite_anims/functions.asm | 12 +++++ gfx/board/die_numbers.png | Bin 0 -> 926 bytes main.asm | 2 +- 12 files changed, 188 insertions(+), 8 deletions(-) create mode 100755 gfx/board/die_numbers.png diff --git a/charmap.asm b/charmap.asm index 2b4d57d6f..9f78eea89 100644 --- a/charmap.asm +++ b/charmap.asm @@ -188,4 +188,5 @@ DEF BOARD_MENU_BG_FIRST_TILE EQU "A" ; Object tile locations (vTiles0) DEF SECONDARY_SPRITES_FIRST_TILE EQU $20 DEF BOARD_MENU_OAM_FIRST_TILE EQU SECONDARY_SPRITES_FIRST_TILE -DEF DIE_ROLL_OAM_FIRST_TILE EQU BOARD_MENU_OAM_FIRST_TILE + 45 ; BOARD_MENU_ITEM_SIZE * NUM_BOARD_MENU_ITEMS +DEF DIE_ROLL_OAM_FIRST_TILE EQU BOARD_MENU_OAM_FIRST_TILE + 45 ; max(BOARD_MENU_ITEM_SIZE * NUM_BOARD_MENU_ITEMS, DIE_SIZE * 10) +DEF DIE_NUMBERS_OAM_FIRST_TILE EQU BOARD_MENU_OAM_FIRST_TILE diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index cafed0baa..57f22cb47 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -71,3 +71,6 @@ BOARD_MENU_ITEM_SIZE EQU BOARD_MENU_ITEM_WIDTH * BOARD_MENU_ITEM_HEIGHT DIE_WIDTH EQU 2 DIE_HEIGHT EQU 2 DIE_SIZE EQU DIE_WIDTH * DIE_HEIGHT +DIE_NUMBER_WIDTH EQU 2 +DIE_NUMBER_HEIGHT EQU 2 +DIE_NUMBER_SIZE EQU DIE_NUMBER_WIDTH * DIE_NUMBER_HEIGHT diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm index 18fae7e2b..904780b46 100644 --- a/constants/sprite_anim_constants.asm +++ b/constants/sprite_anim_constants.asm @@ -23,7 +23,8 @@ DEF NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs ; UnusedSpriteAnimGFX indexes (see data/sprite_anims/unused_gfx.asm) const_def const SPRITE_ANIM_DICT_DEFAULT ; 0 - const_skip 4 ; unused + const SPRITE_ANIM_DICT_BOARD_MENU ; 1 + const_skip 3 ; unused const SPRITE_ANIM_DICT_TEXT_CURSOR ; 5 const SPRITE_ANIM_DICT_GS_SPLASH ; 6 const SPRITE_ANIM_DICT_SLOTS ; 7 @@ -88,6 +89,9 @@ DEF NUM_SPRITEANIMDICT_ENTRIES EQU 10 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 DEF NUM_SPRITE_ANIM_OBJS EQU const_value ; DoSpriteAnimFrame.Jumptable indexes (see engine/sprite_anims/functions.asm) @@ -131,6 +135,9 @@ 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_LEFT ; 25 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_APPEAR_DIE_NUMBER ; 28 + const SPRITE_ANIM_FUNC_BOARD_MENU_MOVE_DIE_NUMBER ; 29 DEF NUM_SPRITE_ANIM_FUNCS EQU const_value ; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm) @@ -209,6 +216,9 @@ DEF NUM_SPRITE_ANIM_FUNCS EQU const_value 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 DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value ; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm) @@ -369,6 +379,11 @@ DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value 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_APPEAR_DIE_NUMBER ; a0 DEF NUM_SPRITE_ANIM_OAMSETS EQU const_value assert NUM_SPRITE_ANIM_OAMSETS <= FIRST_OAM_CMD, \ diff --git a/data/sprite_anims/framesets.asm b/data/sprite_anims/framesets.asm index a2d0fe99a..ef72def54 100644 --- a/data/sprite_anims/framesets.asm +++ b/data/sprite_anims/framesets.asm @@ -75,6 +75,9 @@ SpriteAnimFrameData: dw .Frameset_LevelSelectionMenuFemaleWalkLeft dw .Frameset_LevelSelectionMenuMaleWalkRight dw .Frameset_LevelSelectionMenuFemaleWalkRight + dw .Frameset_BoardMenuBreakDie + dw .Frameset_BoardMenuAppearDieNumber + dw .Frameset_BoardMenuMoveDieNumber assert_table_length NUM_SPRITE_ANIM_FRAMESETS .Frameset_00: @@ -561,3 +564,23 @@ SpriteAnimFrameData: 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 oamrestart + +.Frameset_BoardMenuBreakDie: + oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_1, 2 + 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_4, 6 + oamwait 2 + oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6 + oamwait 2 + oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6 + oamwait 2 + oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4, 6 + oamdelete + +.Frameset_BoardMenuAppearDieNumber: + oamframe SPRITE_ANIM_OAMSET_BOARD_MENU_APPEAR_DIE_NUMBER, 44 + oamdelete + +.Frameset_BoardMenuMoveDieNumber: + oamdelete diff --git a/data/sprite_anims/oam.asm b/data/sprite_anims/oam.asm index 421d2d6f8..c0f9df109 100644 --- a/data/sprite_anims/oam.asm +++ b/data/sprite_anims/oam.asm @@ -163,6 +163,11 @@ SpriteAnimOAMData: 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_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 + spriteanimoam $00, .OAMData_BreakDie4 ; SPRITE_ANIM_OAMSET_BOARD_MENU_BREAK_DIE_4 + spriteanimoam $00, .OAMData_AppearDieNumber ; SPRITE_ANIM_OAMSET_BOARD_MENU_APPEAR_DIE_NUMBER assert_table_length NUM_SPRITE_ANIM_OAMSETS @@ -631,6 +636,41 @@ SpriteAnimOAMData: dbsprite -2, 0, 0, 0, $02, PAL_OW_TREE dbsprite 1, 0, 0, 0, $03, PAL_OW_TREE +.OAMData_BreakDie1: + db 4 + dbsprite -1, -1, 0, 0, $00, PAL_OW_MISC + dbsprite 0, -1, 0, 0, $01, PAL_OW_MISC + dbsprite -1, 0, 0, 0, $14, PAL_OW_MISC + dbsprite 0, 0, 0, 0, $15, PAL_OW_MISC + +.OAMData_BreakDie2: + db 4 + dbsprite -2, -1, 6, 0, $00, PAL_OW_MISC + dbsprite 0, -1, 2, 0, $01, PAL_OW_MISC + dbsprite -2, 0, 6, 0, $14, PAL_OW_MISC + dbsprite 0, 0, 2, 0, $15, PAL_OW_MISC + +.OAMData_BreakDie3: + db 4 + dbsprite -2, -1, 4, 0, $00, PAL_OW_MISC + dbsprite 0, -1, 4, 0, $01, PAL_OW_MISC + dbsprite -2, 0, 4, 0, $14, PAL_OW_MISC + dbsprite 0, 0, 4, 0, $15, PAL_OW_MISC + +.OAMData_BreakDie4: + db 4 + dbsprite -2, -1, 0, 0, $00, PAL_OW_MISC + dbsprite 1, -1, 0, 0, $01, PAL_OW_MISC + dbsprite -2, 0, 0, 0, $14, PAL_OW_MISC + dbsprite 1, 0, 0, 0, $15, PAL_OW_MISC + +.OAMData_AppearDieNumber: + db 4 + dbsprite -1, -1, 0, 0, $00, PAL_OW_MISC + dbsprite 0, -1, 0, 0, $01, PAL_OW_MISC + dbsprite -1, 0, 0, 0, $14, PAL_OW_MISC + dbsprite 0, 0, 0, 0, $15, PAL_OW_MISC + .OAMData_GSIntroHoOhLugia1: db 19 dbsprite -4, -1, 0, 0, $00, 0 diff --git a/data/sprite_anims/objects.asm b/data/sprite_anims/objects.asm index b9bbbae10..9e762a64b 100644 --- a/data/sprite_anims/objects.asm +++ b/data/sprite_anims/objects.asm @@ -108,5 +108,11 @@ SpriteAnimObjects: 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_BOARD_MENU_BREAK_DIE + db SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE, SPRITE_ANIM_FUNC_BOARD_MENU_BREAK_DIE, SPRITE_ANIM_DICT_BOARD_MENU +; 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 +; 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 assert_table_length NUM_SPRITE_ANIM_OBJS diff --git a/engine/board/menu.asm b/engine/board/menu.asm index b51e34e75..7c433e515 100755 --- a/engine/board/menu.asm +++ b/engine/board/menu.asm @@ -226,6 +226,71 @@ DIE_MAX_NUMBER EQU 6 ld [wScriptVar], a ret +BoardMenu_BreakDieAnimation: + farcall LoadBoardMenuDieNumbersGFX + ld a, [wDieRoll] + dec a + add a + ld c, a + ld a, SPRITE_ANIM_DICT_BOARD_MENU + ld hl, wSpriteAnimDict ; wSpriteAnimDict[0] + ld [hli], a + ld a, DIE_ROLL_OAM_FIRST_TILE + add c + ld [hli], a + xor a ; SPRITE_ANIM_DICT_DEFAULT + ld [hli], a ; wSpriteAnimDict[1] + ld a, DIE_NUMBERS_OAM_FIRST_TILE + add c + ld [hl], a + +; initialize break die animation + depixel 8, 10, 0, 0 + ld a, SPRITE_ANIM_OBJ_BOARD_MENU_BREAK_DIE + call InitSpriteAnimStruct + +; initialize appear die number animation, but only if there is enough +; OAM space without pushing aside some NPC (aesthetic failsafe). + ldh a, [hUsedSpriteIndex] + cp (NUM_SPRITE_OAM_STRUCTS * SPRITEOAMSTRUCT_LENGTH) - (4 * SPRITEOAMSTRUCT_LENGTH) + 1 + jr nc, .anims_initialized + depixel 8, 10, 0, 0 + ld a, SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER + call InitSpriteAnimStruct + +.anims_initialized + ld hl, wDisplaySecondarySprites + res SECONDARYSPRITES_DIE_ROLL_F, [hl] + + ld hl, wVramState + set 2, [hl] ; do not clear wShadowOAM during DoNextFrameForAllSprites +; animation plays above NPCs so draw the graphics at the beginning of OAM. +; begin placing NPC sprites in OAM after all objects allocated to animations. + ld a, [wSpriteAnim2Index] + and a + ld a, $8 * SPRITEOAMSTRUCT_LENGTH ; with SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER + jr nz, .go + ld a, $4 * SPRITEOAMSTRUCT_LENGTH ; w/o SPRITE_ANIM_OBJ_BOARD_MENU_APPEAR_DIE_NUMBER + ldh [hUsedSpriteIndex], a +.go + farcall _UpdateSpritesAfterOffset + + ld a, 44 ; total duration of SPRITE_ANIM_FRAMESET_BOARD_MENU_BREAK_DIE + ld [wFrameCounter], a +.loop + farcall PlaySpriteAnimationsAndDelayFrame + ld hl, wFrameCounter + ld a, [hl] + and a + jr z, .done + dec [hl] + jr .loop + +.done + ld hl, wVramState + res 2, [hl] + ret + BoardMenu_Party: ld a, [wPartyCount] and a @@ -247,9 +312,6 @@ BoardMenu_Party: ldh [hMenuReturn], a ret -BoardMenu_BreakDieAnimation: - ret - BoardMenu_Pack: call BoardMenu_OpenSubmenu farcall Pack diff --git a/engine/gfx/load_board_gfx.asm b/engine/gfx/load_board_gfx.asm index 808d6271b..8af37c8fd 100755 --- a/engine/gfx/load_board_gfx.asm +++ b/engine/gfx/load_board_gfx.asm @@ -9,7 +9,7 @@ LoadBoardMenuGFX:: call Get2bppViaHDMA ld de, .DieRollOAMGFX ld hl, vTiles0 + DIE_ROLL_OAM_FIRST_TILE * LEN_2BPP_TILE - lb bc, BANK(.BoardMenuOAMGFX), DIE_SIZE * 10 + lb bc, BANK(.DieRollOAMGFX), DIE_SIZE * 10 call Get2bppViaHDMA ret @@ -26,4 +26,15 @@ INCBIN "gfx/board/menu_exit.2bpp" assert_table_length NUM_BOARD_MENU_ITEMS .DieRollOAMGFX: -INCBIN "gfx/board/die_roll.2bpp" \ No newline at end of file +INCBIN "gfx/board/die_roll.2bpp" + +LoadBoardMenuDieNumbersGFX:: + ld de, .DieNumbersOAMGFX +; overwrite in vTiles0 the no-longer-needed BoardMenuOAMGFX, but keep DieRollOAMGFX + ld hl, vTiles0 + DIE_NUMBERS_OAM_FIRST_TILE * LEN_2BPP_TILE + lb bc, BANK(.DieNumbersOAMGFX), DIE_NUMBER_SIZE * 10 + call Get2bppViaHDMA + ret + +.DieNumbersOAMGFX: +INCBIN "gfx/board/die_numbers.2bpp" diff --git a/engine/overworld/map_objects.asm b/engine/overworld/map_objects.asm index 2728c4afc..301dff7c9 100644 --- a/engine/overworld/map_objects.asm +++ b/engine/overworld/map_objects.asm @@ -2754,12 +2754,19 @@ ResetObject: db SPRITEMOVEDATA_STANDING_LEFT db SPRITEMOVEDATA_STANDING_RIGHT +_UpdateSpritesAfterOffset:: + ld a, [wVramState] + bit 0, a + ret z + jr _UpdateSprites.go + _UpdateSprites:: ld a, [wVramState] bit 0, a ret z xor a ldh [hUsedSpriteIndex], a +.go ldh a, [hOAMUpdate] push af ld a, 1 diff --git a/engine/sprite_anims/functions.asm b/engine/sprite_anims/functions.asm index 7b52cf7ee..8f18782d7 100644 --- a/engine/sprite_anims/functions.asm +++ b/engine/sprite_anims/functions.asm @@ -53,6 +53,9 @@ DoSpriteAnimFrame: dw SpriteAnimFunc_LevelSelectionMenuWalkUp dw SpriteAnimFunc_LevelSelectionMenuWalkLeft dw SpriteAnimFunc_LevelSelectionMenuWalkRight + dw SpriteAnimFunc_BoardMenuBreakDie + dw SpriteAnimFunc_BoardMenuAppearDieNumber + dw SpriteAnimFunc_BoardMenuMoveDieNumber assert_table_length NUM_SPRITE_ANIM_FUNCS SpriteAnimFunc_Null: @@ -877,6 +880,15 @@ SpriteAnimFunc_LevelSelectionMenuWalkRight: inc [hl] ret +SpriteAnimFunc_BoardMenuBreakDie: + ret + +SpriteAnimFunc_BoardMenuAppearDieNumber: + ret + +SpriteAnimFunc_BoardMenuMoveDieNumber: + ret + LevelSelectionMenuHandleTransition: ; return carry if apply x/y displacement during this frame ld a, [wLevelSelectionMenuStandingStill] diff --git a/gfx/board/die_numbers.png b/gfx/board/die_numbers.png new file mode 100755 index 0000000000000000000000000000000000000000..f9b81a154cd0ce0b35745cdf60db69904c1fe8f1 GIT binary patch literal 926 zcmV;P17ZA$P)000mO1^@s6kp*;E00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&12aiPK~!i%?U+Hb z(?ASF6E@B<*ul|Qauk*v4R#zOSwVW@b}8-YNY3Q{go0P)vOS}gG#dR$^7p^b?EZ01 zr_=njjcJ~m zcIO5@JN{efVZ#RO`Q`ko0ks&M=D3(QoJPrfldbw5F5lj`vvsI_H7{rPD)GryeQYv} z!ER}=SrdK6u@CL(3q?<0f`H852MX6 zqJP9X7+VOtYH5DJu1|KKAOL2NP?ilr> zc2ym@N6-15o%)I_-vPBdk3TN=>C>gNIp6Da&N)ryOJgg`X8*bz^@q>xc9n~Z#RcD5 zhmKLhI12OOm+-B6QeJY2;KMr+PQI!&v?Yv!!@AEvsyn#re7K`G}q%!z!@!C#A(PaEy!YKxn%Jbr+3^N zzncH*1Tyv{JppH`@gI@@asr;g{Hg&t9-g7M|A=-}?Er!>SwQU;A6sC&cqzRxg5t#M z)xf5*`CbV2P?zzIw&6P#sB~S07*qoM6N<$g2+C< AzW@LL literal 0 HcmV?d00001 diff --git a/main.asm b/main.asm index a3cab65eb..208251401 100644 --- a/main.asm +++ b/main.asm @@ -132,6 +132,7 @@ INCLUDE "engine/pokemon/print_move_description.asm" INCLUDE "engine/events/pokerus/pokerus.asm" INCLUDE "engine/battle/start_battle.asm" INCLUDE "engine/gfx/place_graphic.asm" +INCLUDE "engine/battle/battle_transition.asm" SECTION "Effect Commands", ROMX @@ -273,7 +274,6 @@ INCLUDE "engine/events/dratini.asm" SECTION "bank23", ROMX INCLUDE "engine/tilesets/timeofday_pals.asm" -INCLUDE "engine/battle/battle_transition.asm" INCLUDE "engine/events/field_moves.asm" INCLUDE "engine/events/magnet_train.asm" INCLUDE "engine/sprite_anims/core.asm"