141 lines
4.4 KiB
C++
141 lines
4.4 KiB
C++
#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);
|
|
}; |