diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2020-05-13 16:34:09 +0200 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2020-05-13 16:34:09 +0200 |
commit | 94bf7d9ea1318464b4ad5820ce118d32cf3dee1e (patch) | |
tree | c94c7c55f37cb426f15bf570ed07c356ee6f920d /src/peds/PlayerPed.cpp | |
parent | fixed traffic lights (diff) | |
parent | More save/load alignment fixes (diff) | |
download | re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.tar re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.tar.gz re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.tar.bz2 re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.tar.lz re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.tar.xz re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.tar.zst re3-94bf7d9ea1318464b4ad5820ce118d32cf3dee1e.zip |
Diffstat (limited to 'src/peds/PlayerPed.cpp')
-rw-r--r-- | src/peds/PlayerPed.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/peds/PlayerPed.cpp b/src/peds/PlayerPed.cpp index 92e3d358..3c6fad57 100644 --- a/src/peds/PlayerPed.cpp +++ b/src/peds/PlayerPed.cpp @@ -1513,17 +1513,19 @@ CPlayerPed::ProcessControl(void) } #ifdef COMPATIBLE_SAVES +#define CopyFromBuf(buf, data) memcpy(&data, buf, sizeof(data)); SkipSaveBuf(buf, sizeof(data)); +#define CopyToBuf(buf, data) memcpy(buf, &data, sizeof(data)); SkipSaveBuf(buf, sizeof(data)); void CPlayerPed::Save(uint8*& buf) { CPed::Save(buf); SkipSaveBuf(buf, 16); - WriteSaveBuf<float>(buf, m_fMaxStamina); + CopyToBuf(buf, m_fMaxStamina); SkipSaveBuf(buf, 28); - WriteSaveBuf<int32>(buf, m_nTargettableObjects[0]); - WriteSaveBuf<int32>(buf, m_nTargettableObjects[1]); - WriteSaveBuf<int32>(buf, m_nTargettableObjects[2]); - WriteSaveBuf<int32>(buf, m_nTargettableObjects[3]); + CopyToBuf(buf, m_nTargettableObjects[0]); + CopyToBuf(buf, m_nTargettableObjects[1]); + CopyToBuf(buf, m_nTargettableObjects[2]); + CopyToBuf(buf, m_nTargettableObjects[3]); SkipSaveBuf(buf, 116); } @@ -1532,12 +1534,14 @@ CPlayerPed::Load(uint8*& buf) { CPed::Load(buf); SkipSaveBuf(buf, 16); - m_fMaxStamina = ReadSaveBuf<float>(buf); + CopyFromBuf(buf, m_fMaxStamina); SkipSaveBuf(buf, 28); - m_nTargettableObjects[0] = ReadSaveBuf<int32>(buf); - m_nTargettableObjects[1] = ReadSaveBuf<int32>(buf); - m_nTargettableObjects[2] = ReadSaveBuf<int32>(buf); - m_nTargettableObjects[3] = ReadSaveBuf<int32>(buf); + CopyFromBuf(buf, m_nTargettableObjects[0]); + CopyFromBuf(buf, m_nTargettableObjects[1]); + CopyFromBuf(buf, m_nTargettableObjects[2]); + CopyFromBuf(buf, m_nTargettableObjects[3]); SkipSaveBuf(buf, 116); } +#undef CopyFromBuf +#undef CopyToBuf #endif |