summaryrefslogtreecommitdiffstats
path: root/src/control/Replay.cpp
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2019-07-20 15:30:34 +0200
committerGitHub <noreply@github.com>2019-07-20 15:30:34 +0200
commit33a18ef68882006e01d6d52d003f26a7a3121997 (patch)
treeff6255442bf8f0235a7c5d5d5aad6c3249d5069a /src/control/Replay.cpp
parentone more fix (diff)
parentfixed script issues (diff)
downloadre3-33a18ef68882006e01d6d52d003f26a7a3121997.tar
re3-33a18ef68882006e01d6d52d003f26a7a3121997.tar.gz
re3-33a18ef68882006e01d6d52d003f26a7a3121997.tar.bz2
re3-33a18ef68882006e01d6d52d003f26a7a3121997.tar.lz
re3-33a18ef68882006e01d6d52d003f26a7a3121997.tar.xz
re3-33a18ef68882006e01d6d52d003f26a7a3121997.tar.zst
re3-33a18ef68882006e01d6d52d003f26a7a3121997.zip
Diffstat (limited to 'src/control/Replay.cpp')
-rw-r--r--src/control/Replay.cpp50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/control/Replay.cpp b/src/control/Replay.cpp
index cc4432a1..d9453ad6 100644
--- a/src/control/Replay.cpp
+++ b/src/control/Replay.cpp
@@ -625,9 +625,9 @@ void CReplay::StoreCarUpdate(CVehicle *vehicle, int id)
vp->health = vehicle->m_fHealth / 4.0f; /* Not anticipated that health can be > 1000. */
vp->acceleration = vehicle->m_fGasPedal * 100.0f;
vp->panels = vehicle->IsCar() ? ((CAutomobile*)vehicle)->Damage.m_panelStatus : 0;
- vp->velocityX = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetSpeed().x)); /* 8000!? */
- vp->velocityY = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetSpeed().y));
- vp->velocityZ = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetSpeed().z));
+ vp->velocityX = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetMoveSpeed().x)); /* 8000!? */
+ vp->velocityY = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetMoveSpeed().y));
+ vp->velocityZ = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetMoveSpeed().z));
vp->mi = vehicle->GetModelIndex();
vp->primary_color = vehicle->m_currentColour1;
vp->secondary_color = vehicle->m_currentColour2;
@@ -850,10 +850,10 @@ bool CReplay::PlayBackThisFrameInterpolation(CAddressInReplayBuffer *buffer, flo
TheCamera.GetMatrix().GetPosition() *= split;
TheCamera.GetMatrix() += CMatrix(interpolation) * pg->camera_pos;
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 = *(RwV3d*)TheCamera.GetPosition();
+ pm->at = *(RwV3d*)TheCamera.GetForward();
+ pm->up = *(RwV3d*)TheCamera.GetUp();
+ pm->right = *(RwV3d*)TheCamera.GetRight();
CameraFocusX = split * CameraFocusX + interpolation * pg->player_pos.x;
CameraFocusY = split * CameraFocusY + interpolation * pg->player_pos.y;
CameraFocusZ = split * CameraFocusZ + interpolation * pg->player_pos.z;
@@ -979,15 +979,15 @@ void CReplay::ProcessReplayCamera(void)
switch (CameraMode) {
case REPLAYCAMMODE_TOPDOWN:
{
- TheCamera.GetMatrix().GetPosition() = CVector(CameraFocusX, CameraFocusY, CameraFocusZ + 15.0f);
- TheCamera.GetMatrix().GetForward() = CVector(0.0f, 0.0f, -1.0f);
- TheCamera.GetMatrix().GetUp() = CVector(0.0f, 1.0f, 0.0f);
- TheCamera.GetMatrix().GetRight() = CVector(1.0f, 0.0f, 0.0f);
+ TheCamera.GetPosition() = CVector(CameraFocusX, CameraFocusY, CameraFocusZ + 15.0f);
+ TheCamera.GetForward() = CVector(0.0f, 0.0f, -1.0f);
+ 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.GetMatrix().GetPosition();
- pm->at = *(RwV3d*)&TheCamera.GetMatrix().GetForward();
- pm->up = *(RwV3d*)&TheCamera.GetMatrix().GetUp();
- pm->right = *(RwV3d*)&TheCamera.GetMatrix().GetRight();
+ pm->pos = *(RwV3d*)&TheCamera.GetPosition();
+ pm->at = *(RwV3d*)&TheCamera.GetForward();
+ pm->up = *(RwV3d*)&TheCamera.GetUp();
+ pm->right = *(RwV3d*)&TheCamera.GetRight();
break;
}
case REPLAYCAMMODE_FIXED:
@@ -1113,7 +1113,7 @@ void CReplay::StoreStuffInMem(void)
TimeStep = CTimer::GetTimeStep();
TimeScale = CTimer::GetTimeScale();
int size = CPools::GetPedPool()->GetSize();
- pPedAnims = (CStoredDetailedAnimationState*)malloc(size * sizeof(CStoredDetailedAnimationState));
+ pPedAnims = new CStoredDetailedAnimationState[size];
for (int i = 0; i < size; i++) {
CPed* ped = CPools::GetPedPool()->GetSlot(i);
if (ped)
@@ -1279,7 +1279,7 @@ void CReplay::RestoreStuffFromMem(void)
continue;
RetrieveDetailedPedAnimation(ped, &pPedAnims[i]);
}
- free(pPedAnims);
+ delete[] pPedAnims;
pPedAnims = nil;
DMAudio.ChangeMusicMode(0);
DMAudio.SetRadioInCar(OldRadioStation);
@@ -1525,15 +1525,15 @@ void CReplay::ProcessLookAroundCam(void)
right.Normalise();
CVector up = CrossProduct(forward, right);
up.Normalise();
- TheCamera.GetMatrix().GetForward() = forward;
- TheCamera.GetMatrix().GetUp() = up;
- TheCamera.GetMatrix().GetRight() = right;
- TheCamera.GetMatrix().GetPosition() = camera_pt;
+ TheCamera.GetForward() = forward;
+ TheCamera.GetUp() = up;
+ TheCamera.GetRight() = right;
+ TheCamera.GetPosition() = camera_pt;
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 = *(RwV3d*)&TheCamera.GetPosition();
+ pm->at = *(RwV3d*)&TheCamera.GetForward();
+ pm->up = *(RwV3d*)&TheCamera.GetUp();
+ pm->right = *(RwV3d*)&TheCamera.GetRight();
TheCamera.CalculateDerivedValues();
RwMatrixUpdate(RwFrameGetMatrix(RwCameraGetFrame(TheCamera.m_pRwCamera)));
RwFrameUpdateObjects(RwCameraGetFrame(TheCamera.m_pRwCamera));