Refactor/main menu (#416)
* Add basic common_ui background gfx functions * Move game main menu to separate file * clang format * tmp commit basic docs * clang format * scope vars and cleanup * Quick consistency update. Finalize. This branch is based on: https://github.com/GBALATRO/balatro-gba/pull/363 Co-authored-by: emiyl <me@emiyl.com> * Simplify global struct * clang-format * Add clang-format to subdirs * Move timer definitions into their own file * clang-format * Fix action yml * docs * Update for PR * Move game start to a state * Remove lag switch * Remove GameVariables pointer for callbacks * Make game_vars a global * move declaration of game vars in header * Fix multiple game_vars * fix for pr * remove change_background in update again * clang format * Make bgCallbacks table static const --------- Co-authored-by: emiyl <me@emiyl.com>
This commit is contained in:
+13
-3
@@ -1,22 +1,32 @@
|
||||
#include "game/common_ui.h"
|
||||
|
||||
#include "game.h"
|
||||
#include "game/main_menu.h"
|
||||
|
||||
typedef void (*BackgroundRenderCallback)(void);
|
||||
|
||||
static enum BackgroundId background = BG_NONE;
|
||||
|
||||
// Map to fill in for refactor
|
||||
BackgroundRenderCallback bgCallbacks[] =
|
||||
{
|
||||
static const BackgroundRenderCallback bgCallbacks[] = {
|
||||
[BG_NONE] = NULL,
|
||||
[BG_CARD_SELECTING] = NULL,
|
||||
[BG_CARD_PLAYING] = NULL,
|
||||
[BG_ROUND_END] = NULL,
|
||||
[BG_SHOP] = NULL,
|
||||
[BG_BLIND_SELECT] = NULL,
|
||||
[BG_MAIN_MENU] = NULL,
|
||||
[BG_MAIN_MENU] = game_main_menu_change_background,
|
||||
};
|
||||
|
||||
void change_background(enum BackgroundId id)
|
||||
{
|
||||
if (id == BG_MAIN_MENU)
|
||||
{
|
||||
if (id != background)
|
||||
{
|
||||
bgCallbacks[id]();
|
||||
}
|
||||
}
|
||||
change_background_legacy(id);
|
||||
background = id;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user