Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-2-2013-Decompilation
Path: blob/main/RSDKv4/NativeObjects/OptionsMenu.hpp
817 views
1
#ifndef NATIVE_OPTIONSMENU_H
2
#define NATIVE_OPTIONSMENU_H
3
4
enum OptionsMenuStates {
5
OPTIONSMENU_STATE_SETUP,
6
OPTIONSMENU_STATE_ENTER,
7
OPTIONSMENU_STATE_MAIN,
8
OPTIONSMENU_STATE_EXIT,
9
OPTIONSMENU_STATE_ACTION,
10
OPTIONSMENU_STATE_ENTERSUBMENU,
11
OPTIONSMENU_STATE_SUBMENU,
12
OPTIONSMENU_STATE_EXITSUBMENU
13
};
14
15
enum OptionsMenuButtons {
16
OPTIONSMENU_BUTTON_INSTRUCTIONS,
17
OPTIONSMENU_BUTTON_SETTINGS,
18
OPTIONSMENU_BUTTON_ABOUT,
19
OPTIONSMENU_BUTTON_CREDITS,
20
OPTIONSMENU_BUTTON_COUNT,
21
};
22
23
struct NativeEntity_OptionsMenu : NativeEntityBase {
24
OptionsMenuStates state;
25
float timer;
26
int unused1; // Used for checking if the dev menu should be entered in the decomp
27
NativeEntity_MenuControl *menuControl;
28
NativeEntity_InstructionsScreen *instructionsScreen;
29
NativeEntity_SettingsScreen *settingsScreen;
30
NativeEntity_AboutScreen *aboutScreen;
31
NativeEntity_StaffCredits *staffCredits;
32
NativeEntity_TextLabel *labelPtr;
33
float labelRotateY;
34
float targetLabelRotateY;
35
float labelRotateYVelocity;
36
MatrixF matrix1;
37
NativeEntity_SubMenuButton *buttons[OPTIONSMENU_BUTTON_COUNT];
38
float buttonRotateY[OPTIONSMENU_BUTTON_COUNT];
39
int selectedButton;
40
float targetButtonRotateY[OPTIONSMENU_BUTTON_COUNT];
41
float buttonRotateYVelocity[OPTIONSMENU_BUTTON_COUNT];
42
};
43
44
void OptionsMenu_Create(void *objPtr);
45
void OptionsMenu_Main(void *objPtr);
46
47
#endif // !NATIVE_OPTIONSMENU_H
48
49