diff --git a/constants/cgb_pal_constants.asm b/constants/cgb_pal_constants.asm index 238a024fa..1f1ec939a 100644 --- a/constants/cgb_pal_constants.asm +++ b/constants/cgb_pal_constants.asm @@ -129,7 +129,7 @@ DEF NUM_PREDEF_PALS EQU const_value const_def const RGBFADE_TO_BLACK_6BGP const RGBFADE_TO_LIGHTER_6BGP - const RGBFADE_TO_WHITE_6BGP_3OBP + const RGBFADE_TO_WHITE_6BGP_7OBP const RGBFADE_TO_WHITE_8BGP_8OBP const RGBFADE_TO_BLACK_6BGP_1OBP2 const RGBFADE_TO_LIGHTER_6BGP_1OBP2 diff --git a/engine/gfx/rgb_fade.asm b/engine/gfx/rgb_fade.asm index 1eb375796..58664e84b 100755 --- a/engine/gfx/rgb_fade.asm +++ b/engine/gfx/rgb_fade.asm @@ -277,12 +277,16 @@ RGBFadeEffectJumptable: table_width 2, RGBFadeEffectJumptable dw _RGBFadeToBlack_6BGP ; RGBFADE_TO_BLACK_6BGP dw _RGBFadeToLighter_6BGP ; RGBFADE_TO_LIGHTER_6BGP - dw _RGBFadeToWhite_6BGP_3OBP ; RGBFADE_TO_WHITE_6BGP_3OBP + dw _RGBFadeToWhite_6BGP_7OBP ; RGBFADE_TO_WHITE_6BGP_7OBP 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 assert_table_length NUM_RGB_FADE_EFFECTS +; in RGBFadeEffectJumptable functions, use DelayFrame calls appropriately +; inside the loop to adjust loop duration, accounting for whether a loop +; takes up less or more than one frame. + _RGBFadeToBlack_6BGP: ld c, 32 / 2 .loop @@ -376,7 +380,7 @@ _RGBFadeToLighter_6BGP_1OBP2: jr nz, .loop ret -_RGBFadeToWhite_6BGP_3OBP: +_RGBFadeToWhite_6BGP_7OBP: ld c, 32 / 2 .loop push bc @@ -388,13 +392,12 @@ _RGBFadeToWhite_6BGP_3OBP: ; fade OBP to white ld de, wOBPals2 - ld c, 3 * NUM_PAL_COLORS + ld c, 7 * NUM_PAL_COLORS call FadeStepColorsToWhite ; commit pals ld a, TRUE ldh [hCGBPalUpdate], a - call DelayFrame pop bc dec c diff --git a/engine/menus/level_selection_menu.asm b/engine/menus/level_selection_menu.asm index 4a1443d3a..9402d82b5 100755 --- a/engine/menus/level_selection_menu.asm +++ b/engine/menus/level_selection_menu.asm @@ -195,7 +195,7 @@ LevelSelectionMenu:: ret .EnterLevelFadeOut: - ld b, RGBFADE_TO_WHITE_6BGP_3OBP + ld b, RGBFADE_TO_WHITE_6BGP_7OBP jp DoRGBFadeEffect .exit