diff options
author | Sergeanur <s.anureev@yandex.ua> | 2020-05-14 16:05:42 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2020-05-14 16:05:42 +0200 |
commit | 24875f34d0e0b21bc6ebd3ec2e184463d28d1522 (patch) | |
tree | 821cf46dd7aabd6af830462a36fac0e3ed062c5c /src/weapons/Weapon.cpp | |
parent | fixed hanging boot (diff) | |
parent | fixed hanging boot (diff) | |
download | re3-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.cpp | 29 |
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 |