summaryrefslogtreecommitdiffstats
path: root/src/peds/PlayerPed.cpp
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-05-13 16:34:09 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2020-05-13 16:34:09 +0200
commit94bf7d9ea1318464b4ad5820ce118d32cf3dee1e (patch)
treec94c7c55f37cb426f15bf570ed07c356ee6f920d /src/peds/PlayerPed.cpp
parentfixed traffic lights (diff)
parentMore save/load alignment fixes (diff)
downloadre3-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.cpp24
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