more securom fixes

This commit is contained in:
withmorten 2021-01-13 00:28:07 +01:00
parent 005ddf26c1
commit 6103677914
4 changed files with 13 additions and 17 deletions

View file

@ -1457,7 +1457,7 @@ void CReplay::SaveReplayToHD(void)
CFileMgr::SetDir("");
}
void PlayReplayFromHD(void)
void CReplay::PlayReplayFromHD(void)
{
CFileMgr::SetDirMyDocuments();
int fr = CFileMgr::OpenFile("replay.rep", "rb");
@ -1476,17 +1476,17 @@ void PlayReplayFromHD(void)
return;
}
int slot;
for (slot = 0; CFileMgr::Read(fr, (char*)CReplay::Buffers[slot], sizeof(CReplay::Buffers[slot])); slot++)
CReplay::BufferStatus[slot] = CReplay::REPLAYBUFFER_PLAYBACK;
CReplay::BufferStatus[slot - 1] = CReplay::REPLAYBUFFER_RECORD;
while (slot < CReplay::NUM_REPLAYBUFFERS)
CReplay::BufferStatus[slot++] = CReplay::REPLAYBUFFER_UNUSED;
for (slot = 0; CFileMgr::Read(fr, (char*)Buffers[slot], sizeof(Buffers[slot])); slot++)
BufferStatus[slot] = REPLAYBUFFER_PLAYBACK;
BufferStatus[slot - 1] = REPLAYBUFFER_RECORD;
while (slot < NUM_REPLAYBUFFERS)
BufferStatus[slot++] = REPLAYBUFFER_UNUSED;
CFileMgr::CloseFile(fr);
CFileMgr::SetDir("");
CReplay::TriggerPlayback(CReplay::REPLAYCAMMODE_ASSTORED, 0.0f, 0.0f, 0.0f, false);
CReplay::bPlayingBackFromFile = true;
CReplay::bAllowLookAroundCam = true;
CReplay::StreamAllNecessaryCarsAndPeds();
TriggerPlayback(REPLAYCAMMODE_ASSTORED, 0.0f, 0.0f, 0.0f, false);
bPlayingBackFromFile = true;
bAllowLookAroundCam = true;
StreamAllNecessaryCarsAndPeds();
}
void CReplay::StreamAllNecessaryCarsAndPeds(void)

View file

@ -61,8 +61,6 @@ struct CStoredDetailedAnimationState
uint16 aFlags2[NUM_PARTIAL_ANIMS_IN_REPLAY];
};
void PlayReplayFromHD(void);
#ifdef GTA_REPLAY
#define REPLAY_STUB
#else
@ -323,11 +321,9 @@ private:
static void EmptyAllPools(void);
static void MarkEverythingAsNew(void);
static void SaveReplayToHD(void);
static void PlayReplayFromHD(void); // out of class in III PC and later because of SecuROM
static void FindFirstFocusCoordinate(CVector *coord);
static void ProcessLookAroundCam(void);
static size_t FindSizeOfPacket(uint8);
/* Absolute nonsense, but how could this function end up being outside of class? */
friend void PlayReplayFromHD(void);
#endif
};

View file

@ -89,7 +89,7 @@ public:
static bool IsThisCarBeingCarriedByAnyCrane(CVehicle* pVehicle);
static bool IsThisCarBeingTargettedByAnyCrane(CVehicle* pVehicle);
static void Save(uint8* buf, uint32* size);
static void Load(uint8* buf, uint32 size); // on mobile it's CranesLoad outside of the class
static void Load(uint8* buf, uint32 size); // out of class in III PC and later because of SecuROM
static uint32 CarsCollectedMilitaryCrane;
static int32 NumCranes;

View file

@ -830,7 +830,7 @@ CHeli::GenerateHeli(bool catalina)
id++;
found = true;
for(i = 0; i < 4; i++)
if(CHeli::pHelis[i] && CHeli::pHelis[i]->m_nHeliId == id)
if(pHelis[i] && pHelis[i]->m_nHeliId == id)
found = false;
}
heli->m_nHeliId = id;