Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-2-2013-Decompilation
Path: blob/main/RSDKv4/NativeObjects/MenuControl.hpp
817 views
1
#ifndef NATIVE_MENUCONTROL_H
2
#define NATIVE_MENUCONTROL_H
3
4
enum MenuButtonIDs { BUTTON_STARTGAME = 1, BUTTON_TIMEATTACK, BUTTON_MULTIPLAYER, BUTTON_ACHIEVEMENTS, BUTTON_LEADERBOARDS, BUTTON_OPTIONS };
5
6
enum MenuControlStates {
7
MENUCONTROL_STATE_MAIN,
8
MENUCONTROL_STATE_ACTION,
9
MENUCONTROL_STATE_NONE,
10
MENUCONTROL_STATE_ENTERSUBMENU,
11
MENUCONTROL_STATE_SUBMENU,
12
MENUCONTROL_STATE_EXITSUBMENU,
13
MENUCONTROL_STATE_DIALOGWAIT
14
};
15
enum MenuControlInputStates {
16
MENUCONTROL_STATEINPUT_CHECKTOUCH,
17
MENUCONTROL_STATEINPUT_HANDLEDRAG,
18
MENUCONTROL_STATEINPUT_HANDLEMOVEMENT,
19
MENUCONTROL_STATEINPUT_MOVE,
20
MENUCONTROL_STATEINPUT_HANDLERELEASE
21
};
22
23
struct NativeEntity_MenuControl : NativeEntityBase {
24
MenuControlStates state;
25
float timer;
26
float buttonMovePos;
27
float targetButtonMovePos;
28
float lastButtonMovePos;
29
float buttonMoveVelocity;
30
float buttonIncline;
31
float buttonSpacing;
32
float menuEndPos;
33
int buttonCount;
34
NativeEntity_AchievementsButton *buttons[8];
35
NativeEntity_BackButton *backButton;
36
char buttonFlags[8];
37
byte buttonID;
38
MenuControlInputStates stateInput;
39
float dragTouchX;
40
float autoButtonMoveVelocity;
41
float lastDragTouchDistance;
42
float dragTouchDistance;
43
float releaseTouchX;
44
NativeEntity_SegaIDButton *segaIDButton;
45
int unused13;
46
NativeEntity_DialogPanel *dialog;
47
int dialogTimer;
48
};
49
50
void MenuControl_Create(void *objPtr);
51
void MenuControl_Main(void *objPtr);
52
53
#endif // !NATIVE_NENTITY_H
54
55