summaryrefslogtreecommitdiffstats
path: root/src/weapons/Weapon.cpp
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-05-14 16:05:42 +0200
committerSergeanur <s.anureev@yandex.ua>2020-05-14 16:05:42 +0200
commit24875f34d0e0b21bc6ebd3ec2e184463d28d1522 (patch)
tree821cf46dd7aabd6af830462a36fac0e3ed062c5c /src/weapons/Weapon.cpp
parentfixed hanging boot (diff)
parentfixed hanging boot (diff)
downloadre3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.tar
re3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.tar.gz
re3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.tar.bz2
re3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.tar.lz
re3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.tar.xz
re3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.tar.zst
re3-24875f34d0e0b21bc6ebd3ec2e184463d28d1522.zip
Diffstat (limited to 'src/weapons/Weapon.cpp')
-rw-r--r--src/weapons/Weapon.cpp29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/weapons/Weapon.cpp b/src/weapons/Weapon.cpp
index 8ce39ceb..18c605bc 100644
--- a/src/weapons/Weapon.cpp
+++ b/src/weapons/Weapon.cpp
@@ -2284,27 +2284,32 @@ CWeapon::ProcessLineOfSight(CVector const &point1, CVector const &point2, CColPo
}
#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
CWeapon::Save(uint8*& buf)
{
- WriteSaveBuf<uint32>(buf, m_eWeaponType);
- WriteSaveBuf<uint32>(buf, m_eWeaponState);
- WriteSaveBuf<uint32>(buf, m_nAmmoInClip);
- WriteSaveBuf<uint32>(buf, m_nAmmoTotal);
- WriteSaveBuf<uint32>(buf, m_nTimer);
- WriteSaveBuf<bool>(buf, m_bAddRotOffset);
+ CopyToBuf(buf, m_eWeaponType);
+ CopyToBuf(buf, m_eWeaponState);
+ CopyToBuf(buf, m_nAmmoInClip);
+ CopyToBuf(buf, m_nAmmoTotal);
+ CopyToBuf(buf, m_nTimer);
+ CopyToBuf(buf, m_bAddRotOffset);
SkipSaveBuf(buf, 3);
}
void
CWeapon::Load(uint8*& buf)
{
- m_eWeaponType = (eWeaponType)ReadSaveBuf<uint32>(buf);
- m_eWeaponState = (eWeaponState)ReadSaveBuf<uint32>(buf);
- m_nAmmoInClip = ReadSaveBuf<uint32>(buf);
- m_nAmmoTotal = ReadSaveBuf<uint32>(buf);
- m_nTimer = ReadSaveBuf<uint32>(buf);
- m_bAddRotOffset = ReadSaveBuf<bool>(buf);
+ CopyFromBuf(buf, m_eWeaponType);
+ CopyFromBuf(buf, m_eWeaponState);
+ CopyFromBuf(buf, m_nAmmoInClip);
+ CopyFromBuf(buf, m_nAmmoTotal);
+ CopyFromBuf(buf, m_nTimer);
+ CopyFromBuf(buf, m_bAddRotOffset);
SkipSaveBuf(buf, 3);
}
+
+#undef CopyFromBuf
+#undef CopyToBuf
#endif