Path: blob/master/SonicMania/Objects/Menu/MenuSetup.h
338 views
#ifndef OBJ_MENUSETUP_H1#define OBJ_MENUSETUP_H23#include "Game.h"45typedef enum {6MAINMENU_MAIN,7MAINMENU_TIMEATTACK,8MAINMENU_COMPETITION,9MAINMENU_SAVESELECT,10#if MANIA_USE_PLUS11MAINMENU_SAVESELECT_ENCORE,12#endif13} MainMenuIDs;1415// Object Class16struct ObjectMenuSetup {17RSDK_OBJECT18int32 unused1;19bool32 initializedMenuReturn;20bool32 initializedMenu;21bool32 initializedAPI;22bool32 initializedSaves;23int32 unused2;24int32 unused3;25EntityFXFade *fxFade;26#if !MANIA_USE_PLUS27EntityUIButtonPrompt *delSavePrompt;28EntityUIControl *mainMenu;29EntityUIControl *timeAttack;30EntityUIControl *timeAttackZones;31EntityUIControl *leaderboards;32EntityUILeaderboard *leaderboardWidget;33EntityUIButtonPrompt *leaderboardPrompt;34EntityUIControl *competition;35EntityUIControl *competitionRules;36EntityUIControl *competitionZones;37EntityUIControl *competitionRound;38EntityUIInfoLabel *roundLabel;39EntityUIVsScoreboard *roundScoreboard;40EntityUIControl *competitionTotal;41EntityUIInfoLabel *totalLabel;42EntityUIVsScoreboard *totalScoreboard;43EntityUIControl *saveSelect;44EntityUIControl *noSaveMode;45EntityUIControl *secrets;46EntityUIControl *extras;47EntityUIControl *options;48EntityUIButtonPrompt *optionsPrompt;49EntityUIControl *video;50EntityUIControl *video_win;51EntityUIControl *sound;52EntityUIControl *controls_win;53EntityUIControl *controls_KB;54EntityUIControl *controls_PS4;55EntityUIControl *controls_XB1;56EntityUIControl *controls_NX;57EntityUIControl *controls_NX_Grip;58EntityUIControl *controls_NX_JoyCon;59EntityUIControl *controls_NX_Pro;60EntityUIControl *language;61int32 unused4;62int32 unused5;63int32 vsTotalTimer;64int32 unused6;65EntityUIDialog *connectingDlg;66#endif67};6869// Entity Class70struct EntityMenuSetup {71RSDK_ENTITY72StateMachine(state);73StateMachine(callback);74int32 timer;75int32 delay;76int32 fadeShift;77int32 fadeTimer;78int32 fadeColor;79};8081// Object Struct82extern ObjectMenuSetup *MenuSetup;8384// Standard Entity Events85void MenuSetup_Update(void);86void MenuSetup_LateUpdate(void);87void MenuSetup_StaticUpdate(void);88void MenuSetup_Draw(void);89void MenuSetup_Create(void *data);90void MenuSetup_StageLoad(void);91#if GAME_INCLUDE_EDITOR92void MenuSetup_EditorDraw(void);93void MenuSetup_EditorLoad(void);94#endif95void MenuSetup_Serialize(void);9697// Extra Entity Functions98void MenuSetup_StartTransition(void (*callback)(void), int32 delay);99100#if !MANIA_USE_PLUS101// Setup102void MenuSetup_Initialize(void);103bool32 MenuSetup_InitAPI(void);104void MenuSetup_SetupActions(void);105void MenuSetup_HandleUnlocks(void);106void MenuSetup_HandleMenuReturn(void);107int32 MenuSetup_GetActiveMenu(void);108void MenuSetup_ChangeMenuTrack(void);109void MenuSetup_SetBGColors(void);110void MenuSetup_MenuButton_ActionCB(void);111void MenuSetup_StartTransitionLB(void (*callback)(void), int32 delay);112113// Main Menu114bool32 MenuSetup_BackPressCB_ReturnToTitle(void);115void MenuSetup_StartReturnToTitle(void);116void MenuSetup_ReturnToTitle(void);117void MenuSetup_ExitGame(void);118void MenuSetup_ExitGame_ActionCB(void);119void MenuSetup_ExitGame_CB(void);120void MenuSetup_State_HandleTransition(void);121122// Save Select123int32 MenuSetup_GetMedalMods(void);124void MenuSetup_OpenSaveSelectMenu(void);125void MenuSetup_SaveFileCB(void);126void MenuSetup_SaveSlot_ActionCB(void);127void MenuSetup_SaveSel_MenuUpdateCB(void);128void MenuSetup_OpenSecretsMenu(void);129void MenuSetup_SaveSel_YPressCB(void);130131// Time Attack132void MenuSetup_TA_OpenZoneList_Sonic(void);133void MenuSetup_TA_OpenZoneList_Tails(void);134void MenuSetup_TA_OpenZoneList_Knux(void);135void MenuSetup_TA_TAZoneModule_ActionCB(void);136void MenuSetup_TA_StartAttempt(void);137void MenuSetup_TA_Leaderboards_TransitionCB(void);138bool32 MenuSetup_TA_Leaderboards_BackPressCB(void);139void MenuSetup_TA_Leaderboards_YPressCB(void);140void MenuSetup_State_SetupLeaderboards(void);141142// Comptetition143void MenuSetup_VS_OpenCompRules(void);144void MenuSetup_VS_OpenCompZones(void);145void MenuSetup_VS_ProcessButtonCB(void);146void MenuSetup_VS_MenuSetupCB(void);147void MenuSetup_VS_StartMatch(void);148void MenuSetup_VS_StartMatch_ActionCB(void);149void MenuSetup_VS_RulesButton_ActionCB(void);150void MenuSetup_VS_OpenCompTotal(void);151void MenuSetup_VS_Round_ProcessButtonCB(void);152void MenuSetup_VS_Round_MenuSetupCB(void);153void MenuSetup_VS_GotoCompetition(void);154void MenuSetup_VS_Total_ProcessButtonCB(void);155void MenuSetup_VS_Total_MenuSetupCB(void);156void MenuSetup_VS_Total_MenuUpdateCB(void);157void MenuSetup_VS_ExitComp_TransitionCB(void);158void MenuSetup_VS_BackoutFromVsCharSelect_CB(void);159bool32 MenuSetup_VS_BackoutFromVsCharSelect(void);160void MenuSetup_VS_ExitComp_YesCB(void);161bool32 MenuSetup_VS_CompZones_BackPressCB(void);162void MenuSetup_VS_StartPuyoMatch(void);163164// Options165void MenuSetup_Options_VideoMenuButton_ActionCB(void);166void MenuSetup_Options_SoundMenuButton_ActionCB(void);167void MenuSetup_Options_LanguageMenuButton_ActionCB(void);168void MenuSetup_Options_ControlsMenuButton_ActionCB(void);169void MenuSetup_Options_SetDefaultMappings_P1(void);170void MenuSetup_Options_SetDefaultMappings_P2(void);171void MenuSetup_Options_SetupKBControlsMenu(int32 playerID);172void MenuSetup_OptionsVideo_Win_MenuUpdateCB(void);173void MenuSetup_OptionsVideo_Win_InitVideoOptionsMenu(void);174void MenuSetup_Options_OpenKBControlsMenu(void);175void MenuSetup_Options_MenuSetupCB(void);176void MenuSetup_Options_SaveOptionsCB_Load(void);177void MenuSetup_Options_LaunchManual(void);178void MenuSetup_OptionsLanguage_LanguageButton_ActionCB(void);179void MenuSetup_OptionsVideo_ShaderButton_ActionCB(void);180void MenuSetup_OptionsVideo_WindowScaleButton_ActionCB(void);181void MenuSetup_OptionsVideo_BorderlessButton_ActionCB(void);182void MenuSetup_OptionsVideo_FullscreenButton_ActionCB(void);183void MenuSetup_OptionsVideo_VSyncButton_ActionCB(void);184void MenuSetup_OptionsVideo_TripleBufferButton_ActionCB(void);185void MenuSetup_OptionsVideo_UISlider_ChangedCB(void);186187// Extras188void MenuSetup_OpenExtrasMenu_ActionCB(void);189void MenuSetup_Extras_ProcessButtonCB(void);190void MenuSetup_Extras_Start_Puyo_vsAI(void);191void MenuSetup_Extras_Puyo_vsAI_ActionCB(void);192void MenuSetup_Extras_Start_Puyo_vs2P(void);193void MenuSetup_Extras_Puyo_vs2P_ActionCB(void);194void MenuSetup_Extras_Start_Credits(void);195void MenuSetup_Extras_Credits_ActionCB(void);196void MenuSetup_Extras_StartDAGarden(void);197void MenuSetup_Extras_DAGarden_ActionCB(void);198void MenuSetup_Extras_Start_BSS_3K(void);199void MenuSetup_Extras_BSS_3K_ActionCB(void);200void MenuSetup_Extras_Start_BSS_Mania(void);201void MenuSetup_Extras_BSS_Mania_ActionCB(void);202#endif203204#endif //! OBJ_MENUSETUP_H205206207