mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-13 10:04:08 +00:00
Merge branch 'master' of https://github.com/GTAmodding/re3
This commit is contained in:
commit
0bea6d039b
98 changed files with 2783 additions and 2201 deletions
|
@ -10,6 +10,10 @@
|
|||
#include "DMAudio.h"
|
||||
#include "Draw.h"
|
||||
#include "FileMgr.h"
|
||||
#ifdef FIX_BUGS
|
||||
#include "Fire.h"
|
||||
#include "Garages.h"
|
||||
#endif
|
||||
#include "Heli.h"
|
||||
#include "main.h"
|
||||
#include "Matrix.h"
|
||||
|
@ -22,6 +26,10 @@
|
|||
#include "Plane.h"
|
||||
#include "Pools.h"
|
||||
#include "Population.h"
|
||||
#ifdef FIX_BUGS
|
||||
#include "Projectile.h"
|
||||
#include "ProjectileInfo.h"
|
||||
#endif
|
||||
#include "Replay.h"
|
||||
#include "References.h"
|
||||
#include "Pools.h"
|
||||
|
@ -102,6 +110,11 @@ float CReplay::fDistanceLookAroundCam;
|
|||
float CReplay::fBetaAngleLookAroundCam;
|
||||
float CReplay::fAlphaAngleLookAroundCam;
|
||||
#ifdef FIX_BUGS
|
||||
uint8* CReplay::pGarages;
|
||||
CFire* CReplay::FireArray;
|
||||
uint32 CReplay::NumOfFires;
|
||||
uint8* CReplay::paProjectileInfo;
|
||||
uint8* CReplay::paProjectiles;
|
||||
int CReplay::nHandleOfPlayerPed[NUMPLAYERS];
|
||||
#endif
|
||||
|
||||
|
@ -1025,10 +1038,10 @@ void CReplay::ProcessReplayCamera(void)
|
|||
TheCamera.GetUp() = CVector(0.0f, 1.0f, 0.0f);
|
||||
TheCamera.GetRight() = CVector(1.0f, 0.0f, 0.0f);
|
||||
RwMatrix* pm = RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera));
|
||||
pm->pos = *(RwV3d*)&TheCamera.GetPosition();
|
||||
pm->at = *(RwV3d*)&TheCamera.GetForward();
|
||||
pm->up = *(RwV3d*)&TheCamera.GetUp();
|
||||
pm->right = *(RwV3d*)&TheCamera.GetRight();
|
||||
pm->pos = TheCamera.GetPosition();
|
||||
pm->at = TheCamera.GetForward();
|
||||
pm->up = TheCamera.GetUp();
|
||||
pm->right = TheCamera.GetRight();
|
||||
break;
|
||||
}
|
||||
case REPLAYCAMMODE_FIXED:
|
||||
|
@ -1044,10 +1057,10 @@ void CReplay::ProcessReplayCamera(void)
|
|||
TheCamera.GetMatrix().GetUp() = up;
|
||||
TheCamera.GetMatrix().GetRight() = right;
|
||||
RwMatrix* pm = RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera));
|
||||
pm->pos = *(RwV3d*)&TheCamera.GetMatrix().GetPosition();
|
||||
pm->at = *(RwV3d*)&TheCamera.GetMatrix().GetForward();
|
||||
pm->up = *(RwV3d*)&TheCamera.GetMatrix().GetUp();
|
||||
pm->right = *(RwV3d*)&TheCamera.GetMatrix().GetRight();
|
||||
pm->pos = TheCamera.GetMatrix().GetPosition();
|
||||
pm->at = TheCamera.GetMatrix().GetForward();
|
||||
pm->up = TheCamera.GetMatrix().GetUp();
|
||||
pm->right = TheCamera.GetMatrix().GetRight();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -1156,6 +1169,17 @@ void CReplay::StoreStuffInMem(void)
|
|||
if (ped)
|
||||
StoreDetailedPedAnimation(ped, &pPedAnims[i]);
|
||||
}
|
||||
#ifdef FIX_BUGS
|
||||
pGarages = new uint8[sizeof(CGarages::aGarages)];
|
||||
memcpy(pGarages, CGarages::aGarages, sizeof(CGarages::aGarages));
|
||||
FireArray = new CFire[NUM_FIRES];
|
||||
memcpy(FireArray, gFireManager.m_aFires, sizeof(gFireManager.m_aFires));
|
||||
NumOfFires = gFireManager.m_nTotalFires;
|
||||
paProjectileInfo = new uint8[sizeof(gaProjectileInfo)];
|
||||
memcpy(paProjectileInfo, gaProjectileInfo, sizeof(gaProjectileInfo));
|
||||
paProjectiles = new uint8[sizeof(CProjectileInfo::ms_apProjectile)];
|
||||
memcpy(paProjectiles, CProjectileInfo::ms_apProjectile, sizeof(CProjectileInfo::ms_apProjectile));
|
||||
#endif
|
||||
}
|
||||
|
||||
void CReplay::RestoreStuffFromMem(void)
|
||||
|
@ -1206,7 +1230,7 @@ void CReplay::RestoreStuffFromMem(void)
|
|||
ped->m_rwObject = nil;
|
||||
ped->m_modelIndex = -1;
|
||||
ped->SetModelIndex(mi);
|
||||
ped->m_pVehicleAnim = 0;
|
||||
ped->m_pVehicleAnim = nil;
|
||||
ped->m_audioEntityId = DMAudio.CreateEntity(AUDIOTYPE_PHYSICAL, ped);
|
||||
DMAudio.SetEntityStatus(ped->m_audioEntityId, true);
|
||||
CPopulation::UpdatePedCount((ePedType)ped->m_nPedType, false);
|
||||
|
@ -1322,6 +1346,22 @@ void CReplay::RestoreStuffFromMem(void)
|
|||
}
|
||||
delete[] pPedAnims;
|
||||
pPedAnims = nil;
|
||||
#ifdef FIX_BUGS
|
||||
memcpy(CGarages::aGarages, pGarages, sizeof(CGarages::aGarages));
|
||||
delete[] pGarages;
|
||||
pGarages = nil;
|
||||
memcpy(gFireManager.m_aFires, FireArray, sizeof(gFireManager.m_aFires));
|
||||
delete[] FireArray;
|
||||
FireArray = nil;
|
||||
gFireManager.m_nTotalFires = NumOfFires;
|
||||
memcpy(gaProjectileInfo, paProjectileInfo, sizeof(gaProjectileInfo));
|
||||
delete[] paProjectileInfo;
|
||||
paProjectileInfo = nil;
|
||||
memcpy(CProjectileInfo::ms_apProjectile, paProjectiles, sizeof(CProjectileInfo::ms_apProjectile));
|
||||
delete[] paProjectiles;
|
||||
paProjectiles = nil;
|
||||
//CExplosion::ClearAllExplosions(); not in III
|
||||
#endif
|
||||
DMAudio.ChangeMusicMode(MUSICMODE_FRONTEND);
|
||||
DMAudio.SetRadioInCar(OldRadioStation);
|
||||
DMAudio.ChangeMusicMode(MUSICMODE_GAME);
|
||||
|
@ -1541,10 +1581,10 @@ void CReplay::ProcessLookAroundCam(void)
|
|||
TheCamera.GetRight() = right;
|
||||
TheCamera.SetPosition(camera_pt);
|
||||
RwMatrix* pm = RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera));
|
||||
pm->pos = *(RwV3d*)&TheCamera.GetPosition();
|
||||
pm->at = *(RwV3d*)&TheCamera.GetForward();
|
||||
pm->up = *(RwV3d*)&TheCamera.GetUp();
|
||||
pm->right = *(RwV3d*)&TheCamera.GetRight();
|
||||
pm->pos = TheCamera.GetPosition();
|
||||
pm->at = TheCamera.GetForward();
|
||||
pm->up = TheCamera.GetUp();
|
||||
pm->right = TheCamera.GetRight();
|
||||
TheCamera.CalculateDerivedValues();
|
||||
RwMatrixUpdate(RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera)));
|
||||
RwFrameUpdateObjects(RwCameraGetFrame(TheCamera.m_pRwCamera));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue