First batch of fixes (CallAndMessage)

This commit is contained in:
Filip Gawin
2021-01-31 20:44:39 +01:00
parent 5de4e88d7a
commit 7a3b80a9b7
15 changed files with 139 additions and 49 deletions

View File

@ -1699,10 +1699,12 @@ CCamera::CamControl(void)
Cams[ActiveCam].CamTargetEntity = pTargetEntity;
// Ped visibility
if((Cams[ActiveCam].Mode == CCam::MODE_1STPERSON ||
Cams[ActiveCam].Mode == CCam::MODE_SNIPER ||
Cams[ActiveCam].Mode == CCam::MODE_M16_1STPERSON ||
Cams[ActiveCam].Mode == CCam::MODE_ROCKETLAUNCHER) && pTargetEntity->IsPed() ||
if(((Cams[ActiveCam].Mode == CCam::MODE_1STPERSON || Cams[ActiveCam].Mode == CCam::MODE_SNIPER || Cams[ActiveCam].Mode == CCam::MODE_M16_1STPERSON ||
Cams[ActiveCam].Mode == CCam::MODE_ROCKETLAUNCHER) &&
#ifdef FIX_BUGS
pTargetEntity &&
#endif
pTargetEntity->IsPed()) ||
Cams[ActiveCam].Mode == CCam::MODE_FLYBY)
FindPlayerPed()->bIsVisible = false;
else
@ -1754,14 +1756,15 @@ CCamera::UpdateTargetEntity(void)
PLAYER->m_pMyVehicle &&
PLAYER->m_pMyVehicle->CanPedOpenLocks(PLAYER))
cantOpen = false;
if(PLAYER->GetPedState() == PED_ENTER_CAR && !cantOpen){
if(!enteringCar && CarZoomIndicator != CAM_ZOOM_1STPRS){
pTargetEntity = PLAYER->m_pMyVehicle;
if(PLAYER->m_pMyVehicle == nil)
pTargetEntity = PLAYER;
#ifdef FIX_BUGS
if(PLAYER)
#endif
if(PLAYER->GetPedState() == PED_ENTER_CAR && !cantOpen) {
if(!enteringCar && CarZoomIndicator != CAM_ZOOM_1STPRS) {
pTargetEntity = PLAYER->m_pMyVehicle;
if(PLAYER->m_pMyVehicle == nil) pTargetEntity = PLAYER;
}
}
}
if((PLAYER->GetPedState() == PED_CARJACK || PLAYER->GetPedState() == PED_OPEN_DOOR) && !cantOpen){
if(!enteringCar && CarZoomIndicator != CAM_ZOOM_1STPRS)

View File

@ -1090,6 +1090,9 @@ CFileLoader::LoadObject(const char *line)
char model[24], txd[24];
float dist[3];
uint32 flags;
#ifdef FIX_BUGS
flags = 0;
#endif
int damaged;
CSimpleModelInfo *mi;
@ -1186,6 +1189,9 @@ CFileLoader::LoadTimeObject(const char *line)
char model[24], txd[24];
float dist[3];
uint32 flags;
#ifdef FIX_BUGS
flags = 0;
#endif
int timeOn, timeOff;
int damaged;
CTimeModelInfo *mi, *other;
@ -1790,6 +1796,9 @@ CFileLoader::ReloadObject(const char *line)
char model[24], txd[24];
float dist[3];
uint32 flags;
#ifdef FIX_BUGS
flags = 0;
#endif
CSimpleModelInfo *mi;
if(sscanf(line, "%d %s %s %d", &id, model, txd, &numObjs) != 4)

View File

@ -144,8 +144,11 @@ INITSAVEBUF
pVehicle = new(slot) CBoat(model, RANDOM_VEHICLE);
else if (type == VEHICLE_TYPE_CAR)
pVehicle = new(slot) CAutomobile(model, RANDOM_VEHICLE);
else
else {
assert(0);
debug("This shouldn't happen");
return;
}
--CCarCtrl::NumRandomCars;
pVehicle->Load(buf);
CWorld::Add(pVehicle);
@ -518,8 +521,11 @@ INITSAVEBUF
if (pedtype == PEDTYPE_PLAYER1)
pPed = new(ref) CPlayerPed();
else
else {
assert(0);
debug("This shouldn't happen");
return;
}
pPed->Load(buf);
if (pedtype == PEDTYPE_PLAYER1) {

View File

@ -404,6 +404,9 @@ void CRadar::Draw3dMarkers()
case BLIP_CHAR:
{
CEntity *entity = CPools::GetPedPool()->GetAt(ms_RadarTrace[i].m_nEntityHandle);
#ifdef FIX_BUGS
if(!entity) break;
#endif
if (entity != nil) {
if (((CPed*)entity)->InVehicle())
entity = ((CPed * )entity)->m_pMyVehicle;