Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Menu/TimeAttackMenu.h
338 views
1
#ifndef OBJ_TIMEATTACKMENU_H
2
#define OBJ_TIMEATTACKMENU_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectTimeAttackMenu {
9
RSDK_OBJECT
10
EntityUIControl *timeAttackControl;
11
EntityUIControl *timeAttackControl_Legacy;
12
EntityUIControl *taZoneSelControl;
13
EntityUIButtonPrompt *switchModePrompt;
14
EntityUIControl *taDetailsControl;
15
EntityUITABanner *detailsBanner;
16
EntityUIControl *leaderboardsControl;
17
EntityUILeaderboard *leaderboard;
18
EntityUIButtonPrompt *topRankPrompt;
19
EntityUITABanner *leaderboardsBanner;
20
EntityUIControl *replaysControl;
21
EntityUIReplayCarousel *replayCarousel;
22
EntityUIButtonPrompt *replayPrompt;
23
EntityUIDialog *connectingDlg;
24
bool32 encoreMode;
25
bool32 prevIsUser;
26
int32 isUser;
27
};
28
29
// Entity Class
30
struct EntityTimeAttackMenu {
31
RSDK_ENTITY
32
StateMachine(state);
33
StateMachine(callback);
34
int32 delay;
35
};
36
37
// Object Struct
38
extern ObjectTimeAttackMenu *TimeAttackMenu;
39
40
// Standard Entity Events
41
void TimeAttackMenu_Update(void);
42
void TimeAttackMenu_LateUpdate(void);
43
void TimeAttackMenu_StaticUpdate(void);
44
void TimeAttackMenu_Draw(void);
45
void TimeAttackMenu_Create(void *data);
46
void TimeAttackMenu_StageLoad(void);
47
#if GAME_INCLUDE_EDITOR
48
void TimeAttackMenu_EditorDraw(void);
49
void TimeAttackMenu_EditorLoad(void);
50
#endif
51
void TimeAttackMenu_Serialize(void);
52
53
// Extra Entity Functions
54
void TimeAttackMenu_Initialize(void);
55
void TimeAttackMenu_HandleUnlocks(void);
56
void TimeAttackMenu_SetupActions(void);
57
void TimeAttackMenu_HandleMenuReturn(void);
58
void TimeAttackMenu_SetEncoreLayouts(bool32 enabled);
59
void TimeAttackMenu_DeleteReplayActionCB(void);
60
void TimeAttackMenu_ConfirmDeleteReplay_Yes_CB(void);
61
void TimeAttackMenu_DeleteReplayCB(bool32 success);
62
void TimeAttackMenu_MenuUpdateCB_LB(void);
63
void TimeAttackMenu_SetupLeaderboards(int32 zoneID, int32 characterID, int32 act, bool32 isEncore, bool32 isUser, void (*callback)(void));
64
void TimeAttackMenu_ReplayCarousel_ActionCB(void);
65
void TimeAttackMenu_WatchReplay(int32 row, bool32 showGhost);
66
void TimeAttackMenu_ReplayLoad_CB(bool32 success);
67
void TimeAttackMenu_WatchReplayActionCB_ReplaysMenu(void);
68
void TimeAttackMenu_ChallengeReplayActionCB_ReplaysMenu(void);
69
void TimeAttackMenu_WatchReplayCB_RanksMenu(void);
70
void TimeAttackMenu_ChallengeReplayCB_RanksMenu(void);
71
void TimeAttackMenu_LoadScene_Fadeout(void);
72
void TimeAttackMenu_MenuSetupCB_Replay(void);
73
void TimeAttackMenu_MenuUpdateCB_Replay(void);
74
void TimeAttackMenu_MenuUpdateCB(void);
75
void TimeAttackMenu_ReplayButton_ActionCB(void);
76
void TimeAttackMenu_YPressCB_Replay(void);
77
void TimeAttackMenu_SortReplayChoiceCB(void);
78
void TimeAttackMenu_SetupDetailsView(void);
79
void TimeAttackMenu_TAModule_ActionCB(void);
80
void TimeAttackMenu_StartTAAttempt(void);
81
void TimeAttackMenu_LoadScene(void);
82
void TimeAttackMenu_YPressCB_ZoneSel(void);
83
bool32 TimeAttackMenu_BackPressCB_ZoneSel(void);
84
void TimeAttackMenu_YPressCB_Details(void);
85
void TimeAttackMenu_ResetTimes_YesCB(void);
86
void TimeAttackMenu_XPressCB_Details(void);
87
void TimeAttackMenu_TAZoneModule_ActionCB(void);
88
void TimeAttackMenu_RankButton_ActionCB(void);
89
void TimeAttackMenu_MenuSetupCB_Details(void);
90
void TimeAttackMenu_TAZoneModule_ChoiceChangeCB(void);
91
void TimeAttackMenu_CharButton_ActionCB(void);
92
void TimeAttackMenu_TransitionToDetailsCB(void);
93
bool32 TimeAttackMenu_LeaderboardsBackPressCB(void);
94
void TimeAttackMenu_YPressCB_LB(void);
95
void TimeAttackMenu_State_SetupLeaderboards(void);
96
void TimeAttackMenu_SetupLeaderboardsCarousel(EntityUICarousel *carousel);
97
98
#endif
99
100
#endif //! OBJ_TIMEATTACKMENU_H
101
102