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 #ifdef GTA_PS2
bObsoleteControllerMessage = false; bObsoleteControllerMessage = false;
//int iPressureBtn;
int id; int id;
int ext_id=0; int ext_id=0;
int state; int state;
@@ -1859,11 +1860,13 @@ void CPad::Update(int16 pad)
Phase++; Phase++;
break; break;
case 81: case 81:
if ( scePadGetState(pad, 0) != scePadStateExecCmd ) if ( scePadGetState(pad, 0) != scePadStateExecCmd )
{ {
Phase = 99; Phase = 99;
} }
break; break;
default: default:
@@ -1990,9 +1993,14 @@ void CPad::Update(int16 pad)
#ifdef RW_DC #ifdef RW_DC
if (((NewState.RightStickY > 64 && OldState.RightStickY > 64)) || ((NewState.RightStickY) < -64 && (OldState.RightStickY < -64))) 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::GetPad(0)->IsDualAnalog = true;
} }
//CPad::IsDualAnalog = cont_has_capabilities(contMaple, CONT_CAPABILITIES_DUAL_ANALOG); //Query controller about Dual analog capabilities
if (pad == 0) if (pad == 0)
{ {
if (contMaple == NULL) if (contMaple == NULL)
@@ -2025,8 +2033,8 @@ void CPad::Update(int16 pad)
} }
else else
{ {
NewState.DPadUp = state->dpad_up; 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; 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.DPadLeft = state->dpad_left;
NewState.DPadRight = state->dpad_right; NewState.DPadRight = state->dpad_right;
NewState.A = state->a; NewState.A = state->a;
@@ -2052,7 +2060,9 @@ void CPad::Update(int16 pad)
NewState.Circle = NewState.X; // Optional: X -> Circle NewState.Circle = NewState.X; // Optional: X -> Circle
NewState.Square = NewState.Y; // Optional: Y -> Square NewState.Square = NewState.Y; // Optional: Y -> Square
} }
} }
else else
{ {
NewState.DPadUp = 0; NewState.DPadUp = 0;
@@ -2080,6 +2090,31 @@ void CPad::Update(int16 pad)
NewState.Circle = 0; // Added for safety NewState.Circle = 0; // Added for safety
NewState.Square = 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 #else
NewState = ReconcileTwoControllersInput(PCTempKeyState, PCTempJoyState); NewState = ReconcileTwoControllersInput(PCTempKeyState, PCTempJoyState);
NewState = ReconcileTwoControllersInput(PCTempMouseState, NewState); NewState = ReconcileTwoControllersInput(PCTempMouseState, NewState);
@@ -2110,8 +2145,12 @@ void CPad::Update(int16 pad)
if ( JustOutOfFrontend != 0 ) if ( JustOutOfFrontend != 0 )
--JustOutOfFrontend; --JustOutOfFrontend;
//auto old_contMaple = contMaple;
//auto n_dev = maple_enum_count();
contMaple = maple_enum_type(0, MAPLE_FUNC_CONTROLLER); contMaple = maple_enum_type(0, MAPLE_FUNC_CONTROLLER);
state = (cont_state_t *)maple_dev_status(contMaple); state = (cont_state_t *)maple_dev_status(contMaple);
} }
void CPad::DoCheats(void) void CPad::DoCheats(void)
@@ -3492,7 +3531,7 @@ bool CPad::CycleCameraModeJustDown(void)
case 0: //audible feedback when changing camera ? case 0: //audible feedback when changing camera ?
{ {
return !!(NewState.DPadUp && !OldState.DPadUp); result = !!(NewState.DPadUp && !OldState.DPadUp);
break; break;
} }
@@ -3514,7 +3553,7 @@ bool CPad::CycleCameraModeJustDown(void)
{ {
switch (CURMODE) switch (CURMODE)
{ {
case 1: case 1: //audible feedback when changing camera ?
{ {
result = !!(NewState.DPadUp && !OldState.DPadUp); result = !!(NewState.DPadUp && !OldState.DPadUp);
break; break;