Affine background now turns red on game over + other WIP changes for game over screen
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
+7
-12
@@ -52,13 +52,8 @@
|
||||
// By default TTE characters occupy a single tile
|
||||
#define TTE_CHAR_SIZE TILE_SIZE
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int left;
|
||||
int top;
|
||||
int right;
|
||||
int bottom;
|
||||
} Rect;
|
||||
// When making this, missed that it already exists in tonc_math.h
|
||||
typedef RECT Rect;
|
||||
|
||||
/* Gets the screenblock tile for the given coordinates (x, y).
|
||||
* x and y are in number of tiles.
|
||||
@@ -68,15 +63,15 @@ u16 main_bg_se_get_tile(BG_POINT pos);
|
||||
|
||||
INLINE int rect_width(const Rect* rect)
|
||||
{
|
||||
/* Extra parens to avoid issues in case compiler turns INLINE into macro
|
||||
* Not sure if necessary, could be just paranoia
|
||||
*/
|
||||
return (((rect)->right) - ((rect)->left) + 1);
|
||||
/* Extra parens to avoid issues in case compiler turns INLINE into macro
|
||||
* Not sure if necessary, could be just paranoia
|
||||
*/
|
||||
return (((rect)->right) - ((rect)->left) + 1);
|
||||
}
|
||||
|
||||
INLINE int rect_height(const Rect* rect)
|
||||
{
|
||||
return (((rect)->bottom) - ((rect)->top) + 1);
|
||||
return (((rect)->bottom) - ((rect)->top) + 1);
|
||||
}
|
||||
|
||||
/* Clears a rect in the main background.
|
||||
|
||||
+15
-8
@@ -205,6 +205,8 @@ static const Rect TOP_LEFT_PANEL_ANIM_RECT = {0, 0, 8, 4 };
|
||||
static const BG_POINT TOP_LEFT_BLIND_TITLE_POINT = {0, 21, };
|
||||
static const Rect BIG_BLIND_TITLE_SRC_RECT = {0, 26, 8, 26 };
|
||||
static const Rect BOSS_BLIND_TITLE_SRC_RECT = {0, 27, 8, 27 };
|
||||
// static const BG_POINT GAME_OVER_SRC_RECT_3X3_POS = {25, 29};
|
||||
// static const Rect GAME_OVER_MSG_DEST_RECT = {10, 6, 24, 10 };
|
||||
|
||||
// Rects for TTE (in pixels)
|
||||
static const Rect HAND_SIZE_RECT = {128, 128, 152, 160 }; // Seems to include both SELECT and PLAYING
|
||||
@@ -236,7 +238,8 @@ static const Rect ROUND_END_BLIND_REWARD_RECT = { 168, 96, UNDEFINED, UNDEF
|
||||
static const Rect ROUND_END_NUM_HANDS_RECT = {88, 116, UNDEFINED, UNDEFINED };
|
||||
static const Rect HAND_REWARD_RECT = {168, UNDEFINED, UNDEFINED, UNDEFINED };
|
||||
static const Rect CASHOUT_RECT = {88, 72, UNDEFINED, UNDEFINED };
|
||||
static const Rect SHOP_REROLL_RECT = {88, 96, UNDEFINED, UNDEFINED };
|
||||
static const Rect SHOP_REROLL_RECT = {88, 96, UNDEFINED, UNDEFINED };
|
||||
// static const Rect GAME_OVER_MSG_TEXT_RECT = {104, 56, UNDEFINED, UNDEFINED};
|
||||
|
||||
static const BG_POINT HELD_JOKERS_POS = {108, 10};
|
||||
static const BG_POINT JOKER_DISCARD_TARGET = {240, 30};
|
||||
@@ -974,6 +977,12 @@ void game_round_init()
|
||||
deck_shuffle(); // Shuffle the deck at the start of the round
|
||||
}
|
||||
|
||||
void game_lose_init()
|
||||
{
|
||||
affine_background_set_color(CLR_RED); // TODO: Use text color?
|
||||
|
||||
}
|
||||
|
||||
void init_game_state(enum GameState game_state_to_init)
|
||||
{
|
||||
// Switch written out, add init for states as needed
|
||||
@@ -989,6 +998,7 @@ void init_game_state(enum GameState game_state_to_init)
|
||||
case GAME_BLIND_SELECT:
|
||||
break;
|
||||
case GAME_LOSE:
|
||||
game_lose_init();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1753,6 +1763,10 @@ static void played_cards_update_loop(bool* discarded_card, int* played_selection
|
||||
display_ante(++ante);
|
||||
}
|
||||
}
|
||||
else if (hands <= 0)
|
||||
{
|
||||
game_set_state(GAME_LOSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
hand_state = HAND_DRAW;
|
||||
@@ -1870,13 +1884,6 @@ static void game_round_end_cashout()
|
||||
|
||||
void game_playing()
|
||||
{
|
||||
// TODO: Blind rect sliding into view animation...
|
||||
if (hand_state == HAND_SELECT && hands == 0)
|
||||
{
|
||||
// TODO: Check if it's safe to change to game_set_state() without side effects
|
||||
game_state = GAME_LOSE;
|
||||
}
|
||||
|
||||
// Background logic (thissss might be moved to the card'ssss logic later. I'm a sssssnake)
|
||||
if (hand_state == HAND_DRAW || hand_state == HAND_DISCARD || hand_state == HAND_SELECT)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user