mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-15 14:14:09 +00:00
rw skeleton
This commit is contained in:
parent
84204471a5
commit
28fce310d5
19 changed files with 2422 additions and 332 deletions
79
src/ControllerConfig.h
Normal file
79
src/ControllerConfig.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
#pragma once
|
||||
|
||||
// dinput.h
|
||||
typedef struct DIJOYSTATE2 {
|
||||
LONG lX; /* x-axis position */
|
||||
LONG lY; /* y-axis position */
|
||||
LONG lZ; /* z-axis position */
|
||||
LONG lRx; /* x-axis rotation */
|
||||
LONG lRy; /* y-axis rotation */
|
||||
LONG lRz; /* z-axis rotation */
|
||||
LONG rglSlider[2]; /* extra axes positions */
|
||||
DWORD rgdwPOV[4]; /* POV directions */
|
||||
BYTE rgbButtons[128]; /* 128 buttons */
|
||||
LONG lVX; /* x-axis velocity */
|
||||
LONG lVY; /* y-axis velocity */
|
||||
LONG lVZ; /* z-axis velocity */
|
||||
LONG lVRx; /* x-axis angular velocity */
|
||||
LONG lVRy; /* y-axis angular velocity */
|
||||
LONG lVRz; /* z-axis angular velocity */
|
||||
LONG rglVSlider[2]; /* extra axes velocities */
|
||||
LONG lAX; /* x-axis acceleration */
|
||||
LONG lAY; /* y-axis acceleration */
|
||||
LONG lAZ; /* z-axis acceleration */
|
||||
LONG lARx; /* x-axis angular acceleration */
|
||||
LONG lARy; /* y-axis angular acceleration */
|
||||
LONG lARz; /* z-axis angular acceleration */
|
||||
LONG rglASlider[2]; /* extra axes accelerations */
|
||||
LONG lFX; /* x-axis force */
|
||||
LONG lFY; /* y-axis force */
|
||||
LONG lFZ; /* z-axis force */
|
||||
LONG lFRx; /* x-axis torque */
|
||||
LONG lFRy; /* y-axis torque */
|
||||
LONG lFRz; /* z-axis torque */
|
||||
LONG rglFSlider[2]; /* extra axes forces */
|
||||
} DIJOYSTATE2, *LPDIJOYSTATE2;
|
||||
|
||||
|
||||
// based on x-gtasa
|
||||
|
||||
enum eControllerType
|
||||
{
|
||||
KEYBOARD,
|
||||
OPTIONAL_EXTRA,
|
||||
MOUSE,
|
||||
JOYSTICK,
|
||||
};
|
||||
|
||||
class CControllerConfigManager
|
||||
{
|
||||
public:
|
||||
struct tControllerConfigBind
|
||||
{
|
||||
RsKeyCodes m_Key;
|
||||
Int32 m_ContSetOrder;
|
||||
};
|
||||
|
||||
Bool field_0;
|
||||
char _pad0[3];
|
||||
DIJOYSTATE2 m_OldState;
|
||||
DIJOYSTATE2 m_NewState;
|
||||
WChar m_aActionNames[41][40];
|
||||
Bool m_aButtonStates[17];
|
||||
char _pad1[3];
|
||||
tControllerConfigBind m_aSettings[41][4];
|
||||
UInt8 m_aSimCheckers[4][4];
|
||||
Bool m_bMouseAssociated;
|
||||
char _pad2[3];
|
||||
|
||||
void UpdateJoyButtonState(int padnumber);
|
||||
void UpdateJoyInConfigMenus_ButtonDown(int button, int padnumber);
|
||||
void AffectControllerStateOn_ButtonDown(int button, eControllerType type);
|
||||
void UpdateJoyInConfigMenus_ButtonUp(int button, int padnumber);
|
||||
void AffectControllerStateOn_ButtonUp(int button, int padnumber);
|
||||
|
||||
};
|
||||
|
||||
VALIDATE_SIZE(CControllerConfigManager, 0x143C);
|
||||
|
||||
extern CControllerConfigManager &ControlsManager;
|
Loading…
Add table
Add a link
Reference in a new issue