the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "UIScene.h"
4
5class UIScene_ControlsMenu : public UIScene
6{
7private:
8 enum EControl
9 {
10 // Buttons must be first three controls here
11 eControl_Button0,
12 eControl_Button1,
13 eControl_Button2,
14 eControl_InvertLook,
15 eControl_Southpaw,
16 };
17
18 enum EPadButtons
19 {
20 e_PadBack=0,
21 e_PadLT,
22 e_PadLB,
23 e_PadDPadLeft,
24 e_PadDPadRight,
25 e_PadDPadUp,
26 e_PadDPadDown,
27 e_PadLS_1,
28 e_PadLS_2,
29 e_PadStart,
30 e_PadRT,
31 e_PadRB,
32 e_PadY,
33 e_PadB,
34 e_PadA,
35 e_PadX,
36 e_PadRS_1,
37 e_PadRS_2,
38 e_PadTouch,
39
40 e_PadCOUNT,
41 };
42
43 int m_iSchemeTextA[3];
44 int m_iCurrentNavigatedControlsLayout;
45 bool m_bCreativeMode;
46 bool m_bLayoutChanged;
47
48 UIControl_Label m_labelCurrentLayout;
49 UIControl_Label m_labelVersion;
50 UIControl_Label m_labelsPad[e_PadCOUNT];
51 UIControl m_controlLines[e_PadCOUNT];
52 UIControl_Button m_buttonLayouts[3];
53 UIControl_CheckBox m_checkboxInvert, m_checkboxSouthpaw;
54 IggyName m_funcSetPlatform, m_funcSetControllerLayout;
55 UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
56
57#ifndef __PSVITA__
58#ifdef __ORBIS__
59 if (!InputManager.UsingRemoteVita())
60#endif
61 {
62 UI_MAP_ELEMENT( m_labelCurrentLayout, "CurrentLayout")
63
64 UI_MAP_ELEMENT( m_buttonLayouts[0], "Button1")
65 UI_MAP_ELEMENT( m_buttonLayouts[1], "Button2")
66 UI_MAP_ELEMENT( m_buttonLayouts[2], "Button3")
67 }
68#endif
69
70 UI_MAP_ELEMENT( m_labelsPad[e_PadBack], "LabelBack")
71 UI_MAP_ELEMENT( m_labelsPad[e_PadLT], "LabelLT")
72 UI_MAP_ELEMENT( m_labelsPad[e_PadLB], "LabelLB")
73 UI_MAP_ELEMENT( m_labelsPad[e_PadDPadLeft], "LabelDPadLeft")
74 UI_MAP_ELEMENT( m_labelsPad[e_PadDPadRight], "LabelDPadRight")
75 UI_MAP_ELEMENT( m_labelsPad[e_PadDPadUp], "LabelDPadUp")
76 UI_MAP_ELEMENT( m_labelsPad[e_PadDPadDown], "LabelDPadDown")
77 UI_MAP_ELEMENT( m_labelsPad[e_PadLS_1], "LabelLS_1")
78 UI_MAP_ELEMENT( m_labelsPad[e_PadLS_2], "LabelLS_2")
79 UI_MAP_ELEMENT( m_labelsPad[e_PadStart], "LabelStart")
80 UI_MAP_ELEMENT( m_labelsPad[e_PadRT], "LabelRT")
81 UI_MAP_ELEMENT( m_labelsPad[e_PadRB], "LabelRB")
82 UI_MAP_ELEMENT( m_labelsPad[e_PadY], "LabelY")
83 UI_MAP_ELEMENT( m_labelsPad[e_PadB], "LabelB")
84 UI_MAP_ELEMENT( m_labelsPad[e_PadA], "LabelA")
85 UI_MAP_ELEMENT( m_labelsPad[e_PadX], "LabelX")
86 UI_MAP_ELEMENT( m_labelsPad[e_PadRS_1], "LabelRS_1")
87 UI_MAP_ELEMENT( m_labelsPad[e_PadRS_2], "LabelRS_2")
88 UI_MAP_ELEMENT( m_labelsPad[e_PadTouch], "LabelTouch")
89
90 UI_MAP_ELEMENT( m_controlLines[e_PadBack], "LineBack")
91 UI_MAP_ELEMENT( m_controlLines[e_PadLT], "LineLT")
92 UI_MAP_ELEMENT( m_controlLines[e_PadLB], "LineLB")
93 UI_MAP_ELEMENT( m_controlLines[e_PadDPadLeft], "LineDpadLeft")
94 UI_MAP_ELEMENT( m_controlLines[e_PadDPadRight], "LineDpadRight")
95 UI_MAP_ELEMENT( m_controlLines[e_PadDPadUp], "LineDpadUp")
96 UI_MAP_ELEMENT( m_controlLines[e_PadDPadDown], "LineDpadDown")
97 UI_MAP_ELEMENT( m_controlLines[e_PadLS_1], "LineL3")
98 UI_MAP_ELEMENT( m_controlLines[e_PadLS_2], "LineLeftStick")
99 UI_MAP_ELEMENT( m_controlLines[e_PadStart], "LineStart")
100 UI_MAP_ELEMENT( m_controlLines[e_PadRT], "LineRT")
101 UI_MAP_ELEMENT( m_controlLines[e_PadRB], "LineRB")
102 UI_MAP_ELEMENT( m_controlLines[e_PadY], "LineY")
103 UI_MAP_ELEMENT( m_controlLines[e_PadB], "LineB")
104 UI_MAP_ELEMENT( m_controlLines[e_PadA], "LineA")
105 UI_MAP_ELEMENT( m_controlLines[e_PadX], "LineX")
106 UI_MAP_ELEMENT( m_controlLines[e_PadRS_1], "LineR3")
107 UI_MAP_ELEMENT( m_controlLines[e_PadRS_2], "LineRightStick")
108 UI_MAP_ELEMENT( m_controlLines[e_PadTouch], "LineTouch")
109
110 UI_MAP_ELEMENT( m_checkboxInvert, "InvertLook")
111 UI_MAP_ELEMENT( m_checkboxSouthpaw, "SouthPaw")
112
113 UI_MAP_NAME( m_funcSetPlatform, L"SetPlatform")
114 UI_MAP_NAME( m_funcSetControllerLayout, L"SetControllerLayout")
115 UI_MAP_ELEMENT( m_labelVersion, "Version")
116 UI_END_MAP_ELEMENTS_AND_NAMES()
117public:
118 UIScene_ControlsMenu(int iPad, void *initData, UILayer *parentLayer);
119
120 virtual EUIScene getSceneType() { return eUIScene_ControlsMenu;}
121
122 virtual void updateTooltips();
123 virtual void tick();
124
125protected:
126 // TODO: This should be pure virtual in this class
127 virtual wstring getMoviePath();
128
129public:
130 // INPUT
131 virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
132
133 virtual void handleCheckboxToggled(F64 controlId, bool selected);
134 virtual void handlePress(F64 controlId, F64 childId);
135 virtual void handleFocusChange(F64 controlId, F64 childId);
136
137private:
138 void PositionText(int iPad,int iTextID, unsigned char ucAction);
139 void PositionTextDirect(int iPad,int iTextID, int iControlDetailsIndex, bool bShow);
140 void PositionAllText(int iPad);
141};