Vc ped ports and Frontend fixes

This commit is contained in:
eray orçunus 2020-04-18 21:28:49 +03:00
parent 522d14814f
commit 2f63e5e751
3 changed files with 27 additions and 11 deletions

View file

@ -118,7 +118,6 @@ const CRGBA TEXT_COLOR = CRGBA(150, 110, 30, 255);
const CRGBA TEXT_COLOR = CRGBA(235, 170, 50, 255); // PC briefs text color const CRGBA TEXT_COLOR = CRGBA(235, 170, 50, 255); // PC briefs text color
#endif #endif
const float menuXYpadding = MENUACTION_POS_Y; // TODO this is non-existant, remove it
float MENU_TEXT_SIZE_X = SMALLTEXT_X_SCALE; float MENU_TEXT_SIZE_X = SMALLTEXT_X_SCALE;
float MENU_TEXT_SIZE_Y = SMALLTEXT_Y_SCALE; float MENU_TEXT_SIZE_Y = SMALLTEXT_Y_SCALE;
@ -231,8 +230,7 @@ ScaleAndCenterX(float x)
else { else {
if (x > DEFAULT_SCREEN_WIDTH / 2) { if (x > DEFAULT_SCREEN_WIDTH / 2) {
return SCREEN_WIDTH / 2 + SCREEN_SCALE_X(x - DEFAULT_SCREEN_WIDTH / 2); return SCREEN_WIDTH / 2 + SCREEN_SCALE_X(x - DEFAULT_SCREEN_WIDTH / 2);
} } else {
else {
return SCREEN_WIDTH / 2 - SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH / 2 - x); return SCREEN_WIDTH / 2 - SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH / 2 - x);
} }
} }
@ -1257,7 +1255,8 @@ CMenuManager::Draw()
break; break;
} }
nextYToUse += lineHeight * CFont::GetNumberLines(menuXYpadding, nextYToUse, leftText); // 60.0 is silly
nextYToUse += lineHeight * CFont::GetNumberLines(MENU_X_LEFT_ALIGNED(60.0f), MENU_Y(nextYToUse), leftText);
// Radio icons // Radio icons
if (aScreens[m_nCurrScreen].m_aEntries[i].m_Action == MENUACTION_RADIO) { if (aScreens[m_nCurrScreen].m_aEntries[i].m_Action == MENUACTION_RADIO) {
@ -3385,8 +3384,7 @@ CMenuManager::Process(void)
DMAudio.SetEffectsFadeVol(0); DMAudio.SetEffectsFadeVol(0);
DMAudio.SetMusicFadeVol(0); DMAudio.SetMusicFadeVol(0);
DMAudio.ResetTimers(CTimer::GetTimeInMilliseconds()); DMAudio.ResetTimers(CTimer::GetTimeInMilliseconds());
} } else
else
SaveLoadFileError_SetUpErrorScreen(); SaveLoadFileError_SetUpErrorScreen();
} }

View file

@ -3038,7 +3038,6 @@ CPed::QuitEnteringCar(void)
if (animAssoc) { if (animAssoc) {
animAssoc->blendDelta = -4.0f; animAssoc->blendDelta = -4.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT; animAssoc->flags |= ASSOC_DELETEFADEDOUT;
animAssoc = m_pVehicleAnim;
animAssoc->flags &= ~ASSOC_RUNNING; animAssoc->flags &= ~ASSOC_RUNNING;
} }
} else } else
@ -3047,7 +3046,11 @@ CPed::QuitEnteringCar(void)
m_pVehicleAnim = nil; m_pVehicleAnim = nil;
if (veh) { if (veh) {
#ifdef VC_PED_PORTS
if (veh->AutoPilot.m_nCruiseSpeed == 0 && veh->VehicleCreatedBy == RANDOM_VEHICLE)
#else
if (veh->AutoPilot.m_nCruiseSpeed == 0) if (veh->AutoPilot.m_nCruiseSpeed == 0)
#endif
veh->AutoPilot.m_nCruiseSpeed = 17; veh->AutoPilot.m_nCruiseSpeed = 17;
} }
} }
@ -4146,7 +4149,7 @@ CPed::SetGetUp(void)
CVehicle *veh = (CVehicle*)CPedPlacement::IsPositionClearOfCars(&GetPosition()); CVehicle *veh = (CVehicle*)CPedPlacement::IsPositionClearOfCars(&GetPosition());
if (veh && veh->m_vehType != VEHICLE_TYPE_BIKE || if (veh && veh->m_vehType != VEHICLE_TYPE_BIKE ||
collidingVeh && collidingVeh->IsVehicle() && collidingVeh->m_vehType != VEHICLE_TYPE_BIKE collidingVeh && collidingVeh->IsVehicle() && collidingVeh->m_vehType != VEHICLE_TYPE_BIKE
&& ((CTimer::GetFrameCounter() + m_randomSeed % 256 + 5) % 8 && ((uint8)(CTimer::GetFrameCounter() + m_randomSeed + 5) % 8
|| CCollision::ProcessColModels(GetMatrix(), *CModelInfo::GetModelInfo(m_modelIndex)->GetColModel(), || CCollision::ProcessColModels(GetMatrix(), *CModelInfo::GetModelInfo(m_modelIndex)->GetColModel(),
collidingVeh->GetMatrix(), *CModelInfo::GetModelInfo(collidingVeh->m_modelIndex)->GetColModel(), collidingVeh->GetMatrix(), *CModelInfo::GetModelInfo(collidingVeh->m_modelIndex)->GetColModel(),
aTempPedColPts, nil, nil) > 0)) { aTempPedColPts, nil, nil) > 0)) {
@ -10729,6 +10732,9 @@ CPed::PedAnimDoorCloseCB(CAnimBlendAssociation *animAssoc, void *arg)
ped->m_pVehicleAnim->SetFinishCallback(PedSetInCarCB, ped); ped->m_pVehicleAnim->SetFinishCallback(PedSetInCarCB, ped);
} }
} else { } else {
#ifdef VC_PED_PORTS
if (ped->m_nPedState != PED_DRIVING)
#endif
ped->QuitEnteringCar(); ped->QuitEnteringCar();
} }
} }
@ -11014,6 +11020,9 @@ CPed::PedAnimGetInCB(CAnimBlendAssociation *animAssoc, void *arg)
return; return;
if (!ped->EnteringCar()) { if (!ped->EnteringCar()) {
#ifdef VC_PED_PORTS
if(ped->m_nPedState != PED_DRIVING)
#endif
ped->QuitEnteringCar(); ped->QuitEnteringCar();
return; return;
} }
@ -13733,7 +13742,12 @@ CPed::ProcessObjective(void)
// fall through // fall through
case OBJECTIVE_LEAVE_VEHICLE: case OBJECTIVE_LEAVE_VEHICLE:
if (CTimer::GetTimeInMilliseconds() > m_leaveCarTimer) { if (CTimer::GetTimeInMilliseconds() > m_leaveCarTimer) {
if (InVehicle()) { if (InVehicle()
#ifdef VC_PED_PORTS
&& (FindPlayerPed() != this || !CPad::GetPad(0)->GetAccelerate()
|| bBusJacked)
#endif
) {
if (m_nPedState != PED_EXIT_CAR && m_nPedState != PED_DRAG_FROM_CAR && m_nPedState != PED_EXIT_TRAIN if (m_nPedState != PED_EXIT_CAR && m_nPedState != PED_DRAG_FROM_CAR && m_nPedState != PED_EXIT_TRAIN
&& (m_nPedType != PEDTYPE_COP && (m_nPedType != PEDTYPE_COP
#ifdef VC_PED_PORTS #ifdef VC_PED_PORTS

View file

@ -787,6 +787,10 @@ CVehicle::CanPedExitCar(void)
{ {
CVector up = GetUp(); CVector up = GetUp();
if(up.z > 0.1f || up.z < -0.1f){ if(up.z > 0.1f || up.z < -0.1f){
#ifdef VC_PED_PORTS
if (IsBoat())
return true;
#endif
// can't exit when car is moving too fast // can't exit when car is moving too fast
if(m_vecMoveSpeed.MagnitudeSqr() > 0.005f) if(m_vecMoveSpeed.MagnitudeSqr() > 0.005f)
return false; return false;