Added move version (...)se_move_rect_1_tile_vert(), switched to use it in down pop-out animations, updated copy version, and removed my POP_MENU_ANIM_RECT UP/DOWN hack

This commit is contained in:
MeirGavish
2025-07-13 21:20:57 +03:00
parent f34444b3db
commit e7589f27dc
3 changed files with 47 additions and 20 deletions
+11 -12
View File
@@ -120,15 +120,12 @@ static const Rect ROUND_END_MENU_RECT = {9, 7, 24, 21 };
//static const Rect POP_MENU_ANIM_RECT_SRC = {9, 19, 24, 31 };
//static const Rect POP_MENU_ANIM_RECT_DEST = {9, 7, 24, 19 };
static const Rect POP_MENU_ANIM_RECT_DOWN = {9, 6, 24, 31 };
static const Rect POP_MENU_ANIM_RECT_UP = {9, 7, 24, 31 };
// The rects for popping menu animations (round end, shop, blinds)
static const Rect POP_MENU_ANIM_RECT = {9, 7, 24, 31 };
// The rect for popping menu animations (round end, shop, blinds)
// - extends beyond the visible screen to the end of the screenblock
// It includes both the target and source position rects.
// This is because when popping, the target position is blank so we just animate
// the whole rect so we don't have to track its position
//
// In the down version we include another row above the menu assuming it's blank so it's copied into it
static const Rect SINGLE_BLIND_SELECT_RECT = {9, 7, 13, 31 };
@@ -430,7 +427,7 @@ void change_background(int id)
for (int i = 0; i <= 2; i++)
{
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_UP, SE_DOWN);
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT, SE_DOWN);
}
tte_erase_rect_wrapper(HAND_SIZE_RECT_SELECT);
@@ -1949,7 +1946,7 @@ void game_round_end() // Writing this kind a made me want to kms. If somewone wa
case 8: // Shift the round end panel back out of view and go to the next state
{
sequence_step++;
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_DOWN, SE_DOWN);
main_bg_se_move_rect_1_tile_vert(POP_MENU_ANIM_RECT, SE_DOWN);
if (sequence_step >= 20)
{
@@ -2013,7 +2010,7 @@ void game_shop()
{
case 0: // Intro sequence (menu and shop icon coming into frame)
{
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_UP, SE_UP);
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT, SE_UP);
if (timer >= 7) // Shift the shop icon
{
@@ -2112,7 +2109,7 @@ void game_shop()
case 2: // Outro sequence (menu and shop icon going out of frame)
{
// Shift the shop panel
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_DOWN, SE_DOWN);
main_bg_se_move_rect_1_tile_vert(POP_MENU_ANIM_RECT, SE_DOWN);
main_bg_se_copy_rect_1_tile_vert(TOP_LEFT_PANEL_ANIM_RECT, SE_UP);
@@ -2167,7 +2164,7 @@ void game_blind_select()
{
case 0: // Intro sequence (menu coming into frame)
{
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_UP, SE_UP);
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT, SE_UP);
for (int i = 0; i < MAX_BLINDS; i++)
{
@@ -2209,7 +2206,7 @@ void game_blind_select()
for (int i = 0; i < 12; i++)
{
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_UP, SE_UP);
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT, SE_UP);
}
for (int i = 0; i < MAX_BLINDS; i++)
@@ -2238,7 +2235,9 @@ void game_blind_select()
{
if (timer < 15)
{
main_bg_se_copy_rect_1_tile_vert(POP_MENU_ANIM_RECT_DOWN, SE_DOWN);
Rect blinds_rect = POP_MENU_ANIM_RECT;
blinds_rect.top -= 1; // Because of the raised blind
main_bg_se_move_rect_1_tile_vert(blinds_rect, SE_DOWN);
for (int i = 0; i < MAX_BLINDS; i++)
{