Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-2-2013-Decompilation
Path: blob/main/RSDKv4/NativeObjects/MultiplayerScreen.hpp
817 views
1
#ifndef NATIVE_MULTIPLAYERSCREEN_H
2
#define NATIVE_MULTIPLAYERSCREEN_H
3
4
#if !RETRO_USE_ORIGINAL_CODE && RETRO_USE_NETWORKING
5
enum MultiplayerScreenStates {
6
MULTIPLAYERSCREEN_STATE_ENTER,
7
MULTIPLAYERSCREEN_STATE_MAIN,
8
MULTIPLAYERSCREEN_STATE_ACTION,
9
MULTIPLAYERSCREEN_STATE_EXIT,
10
MULTIPLAYERSCREEN_STATE_FLIP,
11
MULTIPLAYERSCREEN_STATE_HOSTSCR,
12
MULTIPLAYERSCREEN_STATE_JOINSCR,
13
MULTIPLAYERSCREEN_STATE_STARTGAME,
14
MULTIPLAYERSCREEN_STATE_DIALOGWAIT,
15
};
16
enum MultiplayerScreenDrawStates {
17
MULTIPLAYERSCREEN_STATEDRAW_NONE = -1,
18
MULTIPLAYERSCREEN_STATEDRAW_MAIN,
19
MULTIPLAYERSCREEN_STATEDRAW_HOST,
20
MULTIPLAYERSCREEN_STATEDRAW_JOIN
21
};
22
23
enum MultiplayerScreenButton {
24
MULTIPLAYERSCREEN_BUTTON_HOST,
25
MULTIPLAYERSCREEN_BUTTON_JOIN,
26
MULTIPLAYERSCREEN_BUTTON_COPY,
27
MULTIPLAYERSCREEN_BUTTON_JOINROOM,
28
MULTIPLAYERSCREEN_BUTTON_PASTE,
29
MULTIPLAYERSCREEN_BUTTON_COUNT,
30
};
31
32
struct NativeEntity_MultiplayerScreen : NativeEntityBase {
33
MultiplayerScreenStates state;
34
MultiplayerScreenStates nextState;
35
MultiplayerScreenDrawStates stateDraw;
36
MultiplayerScreenDrawStates nextStateDraw;
37
float timer;
38
float scale;
39
NativeEntity_MenuBG *bg;
40
NativeEntity_TextLabel *label;
41
NativeEntity_DialogPanel *dialog;
42
MeshInfo *meshPanel;
43
MeshAnimator animator;
44
MatrixF renderMatrix;
45
MatrixF matrixTemp;
46
MatrixF matrix3;
47
byte textureArrows;
48
byte backPressed;
49
int arrowAlpha;
50
sbyte touchedUpID;
51
sbyte touchedDownID;
52
NativeEntity_PushButton *buttons[MULTIPLAYERSCREEN_BUTTON_COUNT];
53
int selectedButton;
54
byte flipDir;
55
float rotationY;
56
NativeEntity_TextLabel *codeLabel[3];
57
int roomCode;
58
NativeEntity_TextLabel *enterCodeLabel[8];
59
NativeEntity_TextLabel *enterCodeSlider[2];
60
};
61
62
void MultiplayerScreen_Create(void *objPtr);
63
void MultiplayerScreen_Main(void *objPtr);
64
void MultiplayerScreen_Destroy(void *objPtr);
65
#endif
66
67
#endif // !NATIVE_MULTIPLAYERSCREEN_H
68
69