Merge pull request #334 from erorcun/erorcun

fix doors' swing direction and vehicle-bodycast collision
This commit is contained in:
erorcun 2020-02-23 02:08:12 +03:00 committed by GitHub
commit ff8fe7a261
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 9 deletions

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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);