#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "scenes/flipchess_scene.h" #include "views/flipchess_startscreen.h" #include "views/flipchess_scene_1.h" #define FLIPCHESS_VERSION "v1.12" #define TEXT_BUFFER_SIZE 96 #define TEXT_SIZE (TEXT_BUFFER_SIZE - 1) typedef struct { Gui* gui; NotificationApp* notification; ViewDispatcher* view_dispatcher; Submenu* submenu; SceneManager* scene_manager; VariableItemList* variable_item_list; TextInput* text_input; FlipChessStartscreen* flipchess_startscreen; FlipChessScene1* flipchess_scene_1; // Settings options int haptic; int white_mode; int black_mode; // Startscreen options uint8_t sound; // Main menu options uint8_t import_game; // Text input uint8_t input_state; char import_game_text[TEXT_BUFFER_SIZE]; char input_text[TEXT_BUFFER_SIZE]; } FlipChess; typedef enum { FlipChessViewIdStartscreen, FlipChessViewIdMenu, FlipChessViewIdScene1, FlipChessViewIdSettings, FlipChessViewIdTextInput, } FlipChessViewId; typedef enum { FlipChessHapticOff, FlipChessHapticOn, } FlipChessHapticState; typedef enum { FlipChessPlayerHuman = 0, FlipChessPlayerAI1 = 1, FlipChessPlayerAI2 = 2, FlipChessPlayerAI3 = 3, } FlipChessPlayerMode; typedef enum { FlipChessTextInputDefault, FlipChessTextInputGame } FlipChessTextInputState; typedef enum { FlipChessStatusNone = 0, FlipChessStatusMovePlayer = 1, FlipChessStatusMoveAI = 2, FlipChessStatusMoveUndo = 3, FlipChessStatusReturn = 10, FlipChessStatusLoadError = 11, FlipChessStatusSaveError = 12, } FlipChessStatus;