Merged with upstream

This commit is contained in:
Nikolay Korolev
2019-06-29 18:05:16 +03:00
20 changed files with 248 additions and 70 deletions

View File

@ -3,6 +3,7 @@
#include "CarCtrl.h"
int &CCarCtrl::NumLawEnforcerCars = *(int*)0x8F1B38;
bool &CCarCtrl::bCarsGeneratedAroundCamera = *(bool*)0x95CD8A;
WRAPPER void CCarCtrl::SwitchVehicleToRealPhysics(CVehicle*) { EAXJMP(0x41F7F0); }
WRAPPER void CCarCtrl::AddToCarArray(int32 id, int32 vehclass) { EAXJMP(0x4182F0); }

View File

@ -11,4 +11,5 @@ public:
static int32 ChooseCarModel(int32 vehclass);
static int32 &NumLawEnforcerCars;
static bool &bCarsGeneratedAroundCamera;
};

View File

@ -212,7 +212,7 @@ void CReplay::RecordThisFrame(void)
tGeneralPacket* general = (tGeneralPacket*)&Record.m_pBase[Record.m_nOffset];
general->type = REPLAYPACKET_GENERAL;
general->camera_pos.CopyOnlyMatrix(&TheCamera.GetMatrix());
FindPlayerCoors(general->player_pos);
general->player_pos = FindPlayerCoors();
general->in_rcvehicle = CWorld::Players[CWorld::PlayerInFocus].m_pRemoteVehicle ? true : false;
Record.m_nOffset += sizeof(*general);
tClockPacket* clock = (tClockPacket*)&Record.m_pBase[Record.m_nOffset];
@ -727,8 +727,8 @@ void CReplay::RestoreStuffFromMem(void)
ped->m_modelIndex = -1;
ped->SetModelIndex(mi);
ped->m_pVehicleAnim = 0;
ped->uAudioEntityId = DMAudio.CreateEntity(0, ped);
DMAudio.SetEntityStatus(ped->uAudioEntityId, 1);
ped->m_audioEntityId = DMAudio.CreateEntity(0, ped);
DMAudio.SetEntityStatus(ped->m_audioEntityId, true);
CPopulation::UpdatePedCount(ped->m_nPedType, false);
if (ped->m_wepModelID >= 0)
ped->AddWeaponModel(ped->m_wepModelID);
@ -765,8 +765,8 @@ void CReplay::RestoreStuffFromMem(void)
car->SetDoorDamage(16, 4, true); /* DOOR_BACK_LEFT */
car->SetDoorDamage(12, 5, true); /* DOOR_BACK_RIGHT */
}
vehicle->uAudioEntityId = DMAudio.CreateEntity(0, vehicle);
DMAudio.SetEntityStatus(vehicle->uAudioEntityId, 1);
vehicle->m_audioEntityId = DMAudio.CreateEntity(0, vehicle);
DMAudio.SetEntityStatus(vehicle->m_audioEntityId, true);
CCarCtrl::UpdateCarCount(vehicle, false);
if ((mi == MI_AIRTRAIN || mi == MI_DEADDODO) && vehicle->m_rwObject){
CVehicleModelInfo* info = (CVehicleModelInfo*)CModelInfo::GetModelInfo(mi);