Cleaned up previous button binding MR for A & B buttons, added audible feedback for camera view changes.

This commit is contained in:
mark wallace
2025-03-25 00:05:28 +00:00
parent bcba2f1eae
commit 2fb88c56ef

View File

@@ -1732,6 +1732,7 @@ void CPad::Update(int16 pad)
#ifdef GTA_PS2
bObsoleteControllerMessage = false;
//int iPressureBtn;
int id;
int ext_id=0;
int state;
@@ -1859,11 +1860,13 @@ void CPad::Update(int16 pad)
Phase++;
break;
case 81:
if ( scePadGetState(pad, 0) != scePadStateExecCmd )
{
Phase = 99;
}
break;
default:
@@ -1990,9 +1993,14 @@ void CPad::Update(int16 pad)
#ifdef RW_DC
if (((NewState.RightStickY > 64 && OldState.RightStickY > 64)) || ((NewState.RightStickY) < -64 && (OldState.RightStickY < -64)))
{
// if (contMaple == nullptr)
// CPad::GetPad(0)->IsDualAnalog = false;
// else
CPad::GetPad(0)->IsDualAnalog = true;
}
//CPad::IsDualAnalog = cont_has_capabilities(contMaple, CONT_CAPABILITIES_DUAL_ANALOG); //Query controller about Dual analog capabilities
if (pad == 0)
{
if (contMaple == NULL)
@@ -2025,8 +2033,8 @@ void CPad::Update(int16 pad)
}
else
{
NewState.DPadUp = state->dpad_up;
NewState.DPadDown = state->dpad_down;
NewState.DPadUp = state->dpad_up; //This part could be inside a compiler directive to preserve the old code and just use this block if compil
NewState.DPadDown = state->dpad_down; //I also changed CControllerState inside Pad.h and created these values for DC controllers
NewState.DPadLeft = state->dpad_left;
NewState.DPadRight = state->dpad_right;
NewState.A = state->a;
@@ -2052,7 +2060,9 @@ void CPad::Update(int16 pad)
NewState.Circle = NewState.X; // Optional: X -> Circle
NewState.Square = NewState.Y; // Optional: Y -> Square
}
}
else
{
NewState.DPadUp = 0;
@@ -2080,6 +2090,31 @@ void CPad::Update(int16 pad)
NewState.Circle = 0; // Added for safety
NewState.Square = 0; // Added for safety
}
// if (old_contMaple == nullptr && contMaple != nullptr)
// {
// CPad::GetPad(0)->IsDualAnalog = false;
// NewState.DPadUp = 0;
// NewState.DPadDown = 0;
// NewState.DPadLeft = 0;
// NewState.DPadRight = 0;
// NewState.A = 0;
// NewState.B = 0;
// NewState.C = 0;
// NewState.D = 0;
// NewState.X = 0;
// NewState.Y = 0;
// NewState.Z = 0;
// NewState.Start = 0;
// NewState.RightTrigger = 0;
// NewState.LeftTrigger = 0;
// NewState.LeftStickX = 0;
// NewState.LeftStickY = 0;
// NewState.RightStickX = 0;
// NewState.RightStickY = 0;
// NewState.RightShock = 0;
// }
#else
NewState = ReconcileTwoControllersInput(PCTempKeyState, PCTempJoyState);
NewState = ReconcileTwoControllersInput(PCTempMouseState, NewState);
@@ -2110,8 +2145,12 @@ void CPad::Update(int16 pad)
if ( JustOutOfFrontend != 0 )
--JustOutOfFrontend;
//auto old_contMaple = contMaple;
//auto n_dev = maple_enum_count();
contMaple = maple_enum_type(0, MAPLE_FUNC_CONTROLLER);
state = (cont_state_t *)maple_dev_status(contMaple);
}
void CPad::DoCheats(void)
@@ -3492,7 +3531,7 @@ bool CPad::CycleCameraModeJustDown(void)
case 0: //audible feedback when changing camera ?
{
return !!(NewState.DPadUp && !OldState.DPadUp);
result = !!(NewState.DPadUp && !OldState.DPadUp);
break;
}
@@ -3514,7 +3553,7 @@ bool CPad::CycleCameraModeJustDown(void)
{
switch (CURMODE)
{
case 1:
case 1: //audible feedback when changing camera ?
{
result = !!(NewState.DPadUp && !OldState.DPadUp);
break;