mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-14 07:44:10 +00:00
ControllerConfig done
Fix Cam enum
This commit is contained in:
parent
8baf410669
commit
537aaca5c2
18 changed files with 2872 additions and 275 deletions
|
@ -5,53 +5,191 @@
|
|||
|
||||
enum eControllerType
|
||||
{
|
||||
KEYBOARD,
|
||||
KEYBOARD = 0,
|
||||
OPTIONAL_EXTRA,
|
||||
MOUSE,
|
||||
JOYSTICK,
|
||||
MAX_CONTROLLERTYPES,
|
||||
};
|
||||
|
||||
enum e_ControllerAction
|
||||
{
|
||||
PED_FIREWEAPON = 0,
|
||||
PED_CYCLE_WEAPON_RIGHT,
|
||||
PED_CYCLE_WEAPON_LEFT,
|
||||
GO_FORWARD,
|
||||
GO_BACK,
|
||||
GO_LEFT,
|
||||
GO_RIGHT,
|
||||
PED_SNIPER_ZOOM_IN,
|
||||
PED_SNIPER_ZOOM_OUT,
|
||||
VEHICLE_ENTER_EXIT,
|
||||
CAMERA_CHANGE_VIEW_ALL_SITUATIONS,
|
||||
PED_JUMPING,
|
||||
PED_SPRINT,
|
||||
PED_LOOKBEHIND,
|
||||
VEHICLE_ACCELERATE,
|
||||
VEHICLE_BRAKE,
|
||||
VEHICLE_CHANGE_RADIO_STATION,
|
||||
VEHICLE_HORN,
|
||||
TOGGLE_SUBMISSIONS,
|
||||
VEHICLE_HANDBRAKE,
|
||||
PED_1RST_PERSON_LOOK_LEFT,
|
||||
PED_1RST_PERSON_LOOK_RIGHT,
|
||||
VEHICLE_LOOKLEFT,
|
||||
VEHICLE_LOOKRIGHT,
|
||||
VEHICLE_LOOKBEHIND,
|
||||
VEHICLE_TURRETLEFT,
|
||||
VEHICLE_TURRETRIGHT,
|
||||
VEHICLE_TURRETUP,
|
||||
VEHICLE_TURRETDOWN,
|
||||
PED_CYCLE_TARGET_LEFT,
|
||||
PED_CYCLE_TARGET_RIGHT,
|
||||
PED_CENTER_CAMERA_BEHIND_PLAYER,
|
||||
PED_LOCK_TARGET,
|
||||
NETWORK_TALK,
|
||||
PED_1RST_PERSON_LOOK_UP,
|
||||
PED_1RST_PERSON_LOOK_DOWN,
|
||||
_CONTROLLERACTION_36, // Unused
|
||||
TOGGLE_DPAD,
|
||||
SWITCH_DEBUG_CAM_ON,
|
||||
TAKE_SCREEN_SHOT,
|
||||
SHOW_MOUSE_POINTER_TOGGLE,
|
||||
MAX_CONTROLLERACTIONS,
|
||||
};
|
||||
|
||||
enum e_ControllerActionType
|
||||
{
|
||||
ACTIONTYPE_1RSTPERSON = 0,
|
||||
ACTIONTYPE_3RDPERSON,
|
||||
ACTIONTYPE_VEHICLE,
|
||||
ACTIONTYPE_VEHICLE_3RDPERSON,
|
||||
ACTIONTYPE_COMMON,
|
||||
ACTIONTYPE_1RST3RDPERSON,
|
||||
ACTIONTYPE_NONE,
|
||||
};
|
||||
|
||||
enum eContSetOrder
|
||||
{
|
||||
SETORDER_NONE = 0,
|
||||
SETORDER_1,
|
||||
SETORDER_2,
|
||||
SETORDER_3,
|
||||
SETORDER_4,
|
||||
MAX_SETORDERS,
|
||||
};
|
||||
|
||||
enum eSimCheckers
|
||||
{
|
||||
SIM_X1 = 0, SIM_Y1, // DPad
|
||||
SIM_X2, SIM_Y2, // LeftStick
|
||||
|
||||
MAX_SIMS
|
||||
};
|
||||
|
||||
class CMouseControllerState;
|
||||
class CControllerState;
|
||||
|
||||
|
||||
#define JOY_BUTTONS 16
|
||||
#define MAX_BUTTONS (JOY_BUTTONS+1)
|
||||
|
||||
class CControllerConfigManager
|
||||
{
|
||||
public:
|
||||
struct tControllerConfigBind
|
||||
{
|
||||
RsKeyCodes m_Key;
|
||||
int32 m_ContSetOrder;
|
||||
int32 m_Key;
|
||||
int32 m_ContSetOrder;
|
||||
|
||||
tControllerConfigBind()
|
||||
{
|
||||
m_Key = 0;
|
||||
m_ContSetOrder = 0;
|
||||
}
|
||||
};
|
||||
|
||||
bool firstCapture;
|
||||
bool m_bFirstCapture;
|
||||
char _pad0[3];
|
||||
DIJOYSTATE2 m_OldState;
|
||||
DIJOYSTATE2 m_NewState;
|
||||
wchar m_aActionNames[41][40];
|
||||
bool m_aButtonStates[17];
|
||||
#ifdef __DINPUT_INCLUDED__
|
||||
DIJOYSTATE2 m_OldState;
|
||||
DIJOYSTATE2 m_NewState;
|
||||
#endif
|
||||
wchar m_aActionNames[MAX_CONTROLLERACTIONS][40];
|
||||
bool m_aButtonStates[MAX_BUTTONS];
|
||||
char _pad1[3];
|
||||
tControllerConfigBind m_aSettings[41][4];
|
||||
uint8 m_aSimCheckers[4][4];
|
||||
bool m_bMouseAssociated;
|
||||
tControllerConfigBind m_aSettings[MAX_CONTROLLERACTIONS][MAX_CONTROLLERTYPES];
|
||||
bool m_aSimCheckers[MAX_SIMS][MAX_CONTROLLERTYPES];
|
||||
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);
|
||||
CControllerConfigManager();
|
||||
|
||||
void MakeControllerActionsBlank();
|
||||
|
||||
int32 GetJoyButtonJustDown();
|
||||
void LoadSettings(int32 file);
|
||||
void SaveSettings(int32 file);
|
||||
void MakeControllerActionsBlank();
|
||||
void InitDefaultControlConfiguration();
|
||||
void InitDefaultControlConfigMouse(CMouseControllerState const &mousestate);
|
||||
void InitDefaultControlConfigJoyPad(unsigned int buttons);
|
||||
void ClearSimButtonPressCheckers();
|
||||
void AffectPadFromKeyBoard();
|
||||
void AffectPadFromMouse();
|
||||
void ClearSettingsAssociatedWithAction(int, int);
|
||||
|
||||
void SaveSettings(int32 file);
|
||||
void LoadSettings(int32 file);
|
||||
|
||||
void InitDefaultControlConfiguration();
|
||||
void InitDefaultControlConfigMouse(CMouseControllerState const &availableButtons);
|
||||
void InitDefaultControlConfigJoyPad(uint32 buttons);
|
||||
void InitialiseControllerActionNameArray();
|
||||
|
||||
void UpdateJoyInConfigMenus_ButtonDown (int32 button, int32 padnumber);
|
||||
void AffectControllerStateOn_ButtonDown (int32 button, eControllerType type);
|
||||
void AffectControllerStateOn_ButtonDown_Driving (int32 button, eControllerType type, CControllerState &state);
|
||||
void AffectControllerStateOn_ButtonDown_FirstPersonOnly (int32 button, eControllerType type, CControllerState &state);
|
||||
void AffectControllerStateOn_ButtonDown_ThirdPersonOnly (int32 button, eControllerType type, CControllerState &state);
|
||||
void AffectControllerStateOn_ButtonDown_FirstAndThirdPersonOnly (int32 button, eControllerType type, CControllerState &state);
|
||||
void AffectControllerStateOn_ButtonDown_AllStates (int32 button, eControllerType type, CControllerState &state);
|
||||
void AffectControllerStateOn_ButtonDown_VehicleAndThirdPersonOnly(int32 button, eControllerType type, CControllerState &state);
|
||||
|
||||
void UpdateJoyInConfigMenus_ButtonUp(int32 button, int32 padnumber);
|
||||
void AffectControllerStateOn_ButtonUp(int32 button, eControllerType type);
|
||||
void AffectControllerStateOn_ButtonUp_All_Player_States(int32 button, eControllerType type, CControllerState &state);
|
||||
|
||||
void AffectPadFromKeyBoard();
|
||||
void AffectPadFromMouse();
|
||||
|
||||
void ClearSimButtonPressCheckers();
|
||||
|
||||
bool GetIsKeyboardKeyDown (RsKeyCodes keycode);
|
||||
bool GetIsKeyboardKeyJustDown(RsKeyCodes keycode);
|
||||
bool GetIsMouseButtonDown (RsKeyCodes keycode);
|
||||
bool GetIsMouseButtonUp (RsKeyCodes keycode);
|
||||
|
||||
|
||||
void DeleteMatchingCommonControls (e_ControllerAction action, int32 key, eControllerType type);
|
||||
void DeleteMatching3rdPersonControls (e_ControllerAction action, int32 key, eControllerType type);
|
||||
void DeleteMatching1rst3rdPersonControls (e_ControllerAction action, int32 key, eControllerType type);
|
||||
void DeleteMatchingVehicleControls (e_ControllerAction action, int32 key, eControllerType type);
|
||||
void DeleteMatchingVehicle_3rdPersonControls(e_ControllerAction action, int32 key, eControllerType type);
|
||||
void DeleteMatching1rstPersonControls (e_ControllerAction action, int32 key, eControllerType type);
|
||||
void DeleteMatchingActionInitiators (e_ControllerAction action, int32 key, eControllerType type);
|
||||
|
||||
bool GetIsKeyBlank(int32 key, eControllerType type);
|
||||
e_ControllerActionType GetActionType(e_ControllerAction action);
|
||||
|
||||
void ClearSettingsAssociatedWithAction (e_ControllerAction action, eControllerType type);
|
||||
wchar *GetControllerSettingTextWithOrderNumber(e_ControllerAction action, eContSetOrder setorder);
|
||||
wchar *GetControllerSettingTextKeyBoard (e_ControllerAction action, eControllerType type);
|
||||
wchar *GetControllerSettingTextMouse (e_ControllerAction action);
|
||||
wchar *GetControllerSettingTextJoystick (e_ControllerAction action);
|
||||
|
||||
int32 GetNumOfSettingsForAction(e_ControllerAction action);
|
||||
void GetWideStringOfCommandKeys(uint16 action, wchar *text, uint16 leight);
|
||||
int32 GetControllerKeyAssociatedWithAction(e_ControllerAction action, eControllerType type);
|
||||
|
||||
void UpdateJoyButtonState(int32 padnumber);
|
||||
|
||||
bool GetIsActionAButtonCombo (e_ControllerAction action);
|
||||
wchar *GetButtonComboText (e_ControllerAction action);
|
||||
void SetControllerKeyAssociatedWithAction(e_ControllerAction action, int32 key, eControllerType type);
|
||||
int32 GetMouseButtonAssociatedWithAction (e_ControllerAction action);
|
||||
void SetMouseButtonAssociatedWithAction (e_ControllerAction action, int32 button);
|
||||
void ResetSettingOrder (e_ControllerAction action);
|
||||
};
|
||||
|
||||
VALIDATE_SIZE(CControllerConfigManager, 0x143C);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue