mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-25 17:25:41 +00:00
Merge pull request #334 from erorcun/erorcun
fix doors' swing direction and vehicle-bodycast collision
This commit is contained in:
commit
ff8fe7a261
4 changed files with 9 additions and 9 deletions
|
@ -9,7 +9,7 @@ enum {
|
|||
PLAYERCONTROL_DISABLED_10 = 16,
|
||||
PLAYERCONTROL_DISABLED_20 = 32, // used on CPlayerInfo::MakePlayerSafe
|
||||
PLAYERCONTROL_DISABLED_40 = 64, // used on phone calls
|
||||
PLAYERCONTROL_DISABLED_80 = 128,
|
||||
PLAYERCONTROL_DISABLED_80 = 128,// used on cutscenes
|
||||
};
|
||||
|
||||
class CControllerState
|
||||
|
|
|
@ -2177,7 +2177,7 @@ CAutomobile::ProcessEntityCollision(CEntity *ent, CColPoint *colpoints)
|
|||
if(phys->bIsStatic){
|
||||
phys->bIsStatic = false;
|
||||
phys->m_nStaticFrames = 0;
|
||||
phys->ApplyMoveForce(m_vecMoveSpeed / speed);
|
||||
phys->ApplyMoveForce(m_vecMoveSpeed / Sqrt(speed));
|
||||
phys->AddToMovingList();
|
||||
}
|
||||
}
|
||||
|
@ -2318,7 +2318,7 @@ CAutomobile::ProcessControlInputs(uint8 pad)
|
|||
|
||||
// Brake if player isn't in control
|
||||
// BUG: game always uses pad 0 here
|
||||
if(CPad::GetPad(pad)->DisablePlayerControls){
|
||||
if(CPad::GetPad(pad)->ArePlayerControlsDisabled()){
|
||||
m_fBrakePedal = 1.0f;
|
||||
bIsHandbrakeOn = true;
|
||||
m_fGasPedal = 0.0f;
|
||||
|
|
|
@ -119,7 +119,7 @@ CDamageManager::GetComponentGroup(tComponent component, tComponentGroup *compone
|
|||
return true;
|
||||
}else if(component >= COMPONENT_DEFAULT){
|
||||
*componentGroup = COMPGROUP_DEFAULT;
|
||||
*subComp = component - COMPONENT_DEFAULT;
|
||||
*subComp = COMPONENT_DEFAULT;
|
||||
return true;
|
||||
}else
|
||||
return false;
|
||||
|
@ -141,7 +141,7 @@ bool
|
|||
CDamageManager::ProgressDoorDamage(uint8 door)
|
||||
{
|
||||
int status = GetDoorStatus(door);
|
||||
if(status == 3)
|
||||
if(status == PANEL_STATUS_MISSING)
|
||||
return false;
|
||||
SetDoorStatus(door, status+1);
|
||||
return true;
|
||||
|
@ -163,7 +163,7 @@ bool
|
|||
CDamageManager::ProgressPanelDamage(uint8 panel)
|
||||
{
|
||||
int status = GetPanelStatus(panel);
|
||||
if(status == 3)
|
||||
if(status == DOOR_STATUS_MISSING)
|
||||
return false;
|
||||
SetPanelStatus(panel, status+1);
|
||||
return true;
|
||||
|
@ -197,7 +197,7 @@ bool
|
|||
CDamageManager::ProgressWheelDamage(uint8 wheel)
|
||||
{
|
||||
int status = GetWheelStatus(wheel);
|
||||
if(status == 3)
|
||||
if(status == WHEEL_STATUS_MISSING)
|
||||
return false;
|
||||
SetWheelStatus(wheel, status+1);
|
||||
return true;
|
||||
|
|
|
@ -47,9 +47,9 @@ CDoor::Process(CVehicle *vehicle)
|
|||
|
||||
case 2: // z-axis
|
||||
if(m_nDirn)
|
||||
fSpeedDiff = -(vecSpeedDiff.x + vecSpeedDiff.y);
|
||||
fSpeedDiff = -(vecSpeedDiff.y + vecSpeedDiff.x);
|
||||
else
|
||||
fSpeedDiff = vecSpeedDiff.x + vecSpeedDiff.y;
|
||||
fSpeedDiff = vecSpeedDiff.y - vecSpeedDiff.x;
|
||||
break;
|
||||
}
|
||||
fSpeedDiff = clamp(fSpeedDiff, -0.2f, 0.2f);
|
||||
|
|
Loading…
Reference in a new issue