109 lines
2.8 KiB
C++
109 lines
2.8 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,
|
|
eControl_SafeCam,
|
|
eControl_ABSwap,
|
|
};
|
|
|
|
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_Button m_buttonLayouts[3];
|
|
UIControl_CheckBox m_checkboxInvert, m_checkboxSouthpaw, m_checkboxSafeCam, m_checkboxAbswap;
|
|
IggyName m_funcSetPlatform, m_funcSetControllerLayout;
|
|
IggyName m_funcSetLineAndText, m_funcClearAllKeyLines;
|
|
IggyName m_funcSetABSwapCheckBox, m_funcRemoveSafeSprint;
|
|
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_checkboxInvert, "InvertLook")
|
|
UI_MAP_ELEMENT( m_checkboxSouthpaw, "SouthPaw")
|
|
UI_MAP_ELEMENT( m_checkboxSafeCam, "SafeCam")
|
|
UI_MAP_ELEMENT( m_checkboxAbswap, "ABSwap")
|
|
|
|
UI_MAP_NAME( m_funcSetPlatform, L"SetPlatform")
|
|
UI_MAP_NAME( m_funcSetControllerLayout, L"SetControllerLayout")
|
|
UI_MAP_NAME( m_funcSetLineAndText, L"SetLineAndText")
|
|
UI_MAP_NAME( m_funcClearAllKeyLines, L"ClearAllKeyLines")
|
|
UI_MAP_NAME( m_funcSetABSwapCheckBox, L"SetABSwapCheckBox")
|
|
UI_MAP_NAME( m_funcRemoveSafeSprint, L"RemoveSafeSprint")
|
|
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);
|
|
}; |