2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-10 08:27:43 +00:00

Input handling for CGuiFrame

This commit is contained in:
Jack Andersen
2016-03-14 13:32:44 -10:00
parent aa207d3e5f
commit 66247cfe79
18 changed files with 501 additions and 93 deletions

View File

@@ -52,6 +52,7 @@ private:
bool x0_controllerStatus[4] = {};
std::string x4_name;
TResId x14_id;
u32 x18_ = 0;
CGuiFrameTransitionOptions x1c_transitionOpts;
u32 x34_ = 0;
u32 x38_ = 0;
@@ -75,6 +76,10 @@ private:
bool xbc_24_flag1 : 1;
bool xbd_flag2 = false;
static void InterpretGUIControllerState(const CFinalInput& input,
CGuiPhysicalMsg::PhysicalMap& state,
char& lx, char& ly, char& rx, char& ry);
public:
CGuiFrame(TResId id, const std::string& name, CGuiSys& sys, int a, int b, int c);
@@ -88,12 +93,9 @@ public:
void SetFrameBackground(CGuiWidget* bg) {x50_background = bg;}
void SetFrameCamera(CGuiCamera* camr) {x4c_camera = camr;}
void SetHeadWidget(CGuiHeadWidget* hwig) {x44_headWidget = hwig;}
void InterpretGUIControllerState(const CFinalInput& input,
CGuiPhysicalMsg::PhysicalMap& state,
char&, char&, char&, char&);
WidgetToLogicalEventMap* FindWidget2LogicalEventMap(u64 events);
LogicalEventList* FindLogicalEventList(u64 events, s16 id);
void SendWidgetMessage(s16,
bool SendWidgetMessage(s16,
std::list<std::unique_ptr<CGuiFrameMessageMapNode>>&,
CGuiPhysicalMsg::PhysicalMap& state,
CGuiControllerInfo::CGuiControllerStateInfo& csInfo);