aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIScene_ControlsMenu.h
blob: 538207fe06e139e4179e569364f44e074d7038cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#pragma once

#include "UIScene.h"

class UIScene_ControlsMenu : public UIScene
{
private:
	enum EControl
	{
		// Buttons must be first three controls here
		eControl_Button0,
		eControl_Button1,
		eControl_Button2,
		eControl_InvertLook,
		eControl_Southpaw,
	};

	enum EPadButtons
	{	
		e_PadBack=0,
		e_PadLT,
		e_PadLB,
		e_PadDPadLeft,
		e_PadDPadRight,
		e_PadDPadUp,
		e_PadDPadDown,
		e_PadLS_1,
		e_PadLS_2,
		e_PadStart,		
		e_PadRT,
		e_PadRB,
		e_PadY,
		e_PadB,
		e_PadA,
		e_PadX,
		e_PadRS_1,
		e_PadRS_2,
		e_PadTouch,

		e_PadCOUNT,
	};

	int m_iSchemeTextA[3];	
	int m_iCurrentNavigatedControlsLayout;
	bool m_bCreativeMode;
	bool m_bLayoutChanged;

	UIControl_Label m_labelCurrentLayout;
	UIControl_Label m_labelVersion;
	UIControl_Label m_labelsPad[e_PadCOUNT];
	UIControl m_controlLines[e_PadCOUNT];
	UIControl_Button m_buttonLayouts[3];
	UIControl_CheckBox m_checkboxInvert, m_checkboxSouthpaw;
	IggyName m_funcSetPlatform, m_funcSetControllerLayout;
	UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)

#ifndef __PSVITA__
#ifdef __ORBIS__
	if (!InputManager.UsingRemoteVita())
#endif
	{
		UI_MAP_ELEMENT( m_labelCurrentLayout, "CurrentLayout")

		UI_MAP_ELEMENT( m_buttonLayouts[0], "Button1")
		UI_MAP_ELEMENT( m_buttonLayouts[1], "Button2")
		UI_MAP_ELEMENT( m_buttonLayouts[2], "Button3")
	}
#endif

		UI_MAP_ELEMENT( m_labelsPad[e_PadBack], "LabelBack")
		UI_MAP_ELEMENT( m_labelsPad[e_PadLT], "LabelLT")
		UI_MAP_ELEMENT( m_labelsPad[e_PadLB], "LabelLB")
		UI_MAP_ELEMENT( m_labelsPad[e_PadDPadLeft], "LabelDPadLeft")
		UI_MAP_ELEMENT( m_labelsPad[e_PadDPadRight], "LabelDPadRight")
		UI_MAP_ELEMENT( m_labelsPad[e_PadDPadUp], "LabelDPadUp")
		UI_MAP_ELEMENT( m_labelsPad[e_PadDPadDown], "LabelDPadDown")
		UI_MAP_ELEMENT( m_labelsPad[e_PadLS_1], "LabelLS_1")
		UI_MAP_ELEMENT( m_labelsPad[e_PadLS_2], "LabelLS_2")
		UI_MAP_ELEMENT( m_labelsPad[e_PadStart], "LabelStart")
		UI_MAP_ELEMENT( m_labelsPad[e_PadRT], "LabelRT")
		UI_MAP_ELEMENT( m_labelsPad[e_PadRB], "LabelRB")
		UI_MAP_ELEMENT( m_labelsPad[e_PadY], "LabelY")
		UI_MAP_ELEMENT( m_labelsPad[e_PadB], "LabelB")
		UI_MAP_ELEMENT( m_labelsPad[e_PadA], "LabelA")
		UI_MAP_ELEMENT( m_labelsPad[e_PadX], "LabelX")
		UI_MAP_ELEMENT( m_labelsPad[e_PadRS_1], "LabelRS_1")
		UI_MAP_ELEMENT( m_labelsPad[e_PadRS_2], "LabelRS_2")
		UI_MAP_ELEMENT( m_labelsPad[e_PadTouch], "LabelTouch")

		UI_MAP_ELEMENT( m_controlLines[e_PadBack], "LineBack")
		UI_MAP_ELEMENT( m_controlLines[e_PadLT], "LineLT")
		UI_MAP_ELEMENT( m_controlLines[e_PadLB], "LineLB")
		UI_MAP_ELEMENT( m_controlLines[e_PadDPadLeft], "LineDpadLeft")
		UI_MAP_ELEMENT( m_controlLines[e_PadDPadRight], "LineDpadRight")
		UI_MAP_ELEMENT( m_controlLines[e_PadDPadUp], "LineDpadUp")
		UI_MAP_ELEMENT( m_controlLines[e_PadDPadDown], "LineDpadDown")
		UI_MAP_ELEMENT( m_controlLines[e_PadLS_1], "LineL3")
		UI_MAP_ELEMENT( m_controlLines[e_PadLS_2], "LineLeftStick")
		UI_MAP_ELEMENT( m_controlLines[e_PadStart], "LineStart")
		UI_MAP_ELEMENT( m_controlLines[e_PadRT], "LineRT")
		UI_MAP_ELEMENT( m_controlLines[e_PadRB], "LineRB")
		UI_MAP_ELEMENT( m_controlLines[e_PadY], "LineY")
		UI_MAP_ELEMENT( m_controlLines[e_PadB], "LineB")
		UI_MAP_ELEMENT( m_controlLines[e_PadA], "LineA")
		UI_MAP_ELEMENT( m_controlLines[e_PadX], "LineX")
		UI_MAP_ELEMENT( m_controlLines[e_PadRS_1], "LineR3")
		UI_MAP_ELEMENT( m_controlLines[e_PadRS_2], "LineRightStick")
		UI_MAP_ELEMENT( m_controlLines[e_PadTouch], "LineTouch")

		UI_MAP_ELEMENT( m_checkboxInvert, "InvertLook")
		UI_MAP_ELEMENT( m_checkboxSouthpaw, "SouthPaw")

		UI_MAP_NAME( m_funcSetPlatform, L"SetPlatform")
		UI_MAP_NAME( m_funcSetControllerLayout, L"SetControllerLayout")
		UI_MAP_ELEMENT( m_labelVersion, "Version")
	UI_END_MAP_ELEMENTS_AND_NAMES()
public:
	UIScene_ControlsMenu(int iPad, void *initData, UILayer *parentLayer);

	virtual EUIScene getSceneType() { return eUIScene_ControlsMenu;}
	
	virtual void updateTooltips();
	virtual void tick();

protected:
	// TODO: This should be pure virtual in this class
	virtual wstring getMoviePath();

public:
	// INPUT
	virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);

	virtual void handleCheckboxToggled(F64 controlId, bool selected);	
	virtual void handlePress(F64 controlId, F64 childId);
	virtual void handleFocusChange(F64 controlId, F64 childId);

private:
	void PositionText(int iPad,int iTextID, unsigned char ucAction);
	void PositionTextDirect(int iPad,int iTextID, int iControlDetailsIndex, bool bShow);
	void PositionAllText(int iPad);
};