From 720abca8269dfeb725c58d016eb88f2c124170b9 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sat, 17 Oct 2020 20:45:07 +0300 Subject: finished save/load --- src/core/Pools.cpp | 7 ++++--- src/core/Radar.cpp | 4 ++-- src/core/Radar.h | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/core') diff --git a/src/core/Pools.cpp b/src/core/Pools.cpp index e0c45982..774f406d 100644 --- a/src/core/Pools.cpp +++ b/src/core/Pools.cpp @@ -345,8 +345,9 @@ INITSAVEBUF ++nObjects; } *size = nObjects * (sizeof(int16) + sizeof(int) + sizeof(CCompressedMatrix) + - sizeof(float) + sizeof(CCompressedMatrix) + sizeof(int8) + 7 * sizeof(bool) + sizeof(float) + - sizeof(int8) + sizeof(int8) + sizeof(uint32) + 2 * sizeof(uint32)) + sizeof(int); + sizeof(float) + sizeof(CCompressedMatrix) + sizeof(int8) + 7 * sizeof(bool) + sizeof(int16) + + + sizeof(int8) * 2 + sizeof(float) + sizeof(int8) + sizeof(int8) + + sizeof(uint32) + 2 * sizeof(uint32)) + sizeof(int); CopyToBuf(buf, nObjects); for (int i = 0; i < nPoolSize; i++) { CObject* pObject = GetObjectPool()->GetSlot(i); @@ -370,7 +371,6 @@ INITSAVEBUF tmp.CompressFromFullMatrix(pObject->m_objectMatrix); CopyToBuf(buf, tmp); CopyToBuf(buf, pObject->ObjectCreatedBy); - SkipSaveBuf(buf, 1); CopyToBuf(buf, bIsPickup); CopyToBuf(buf, bPickupObjWithMessage); CopyToBuf(buf, bOutOfStock); @@ -380,6 +380,7 @@ INITSAVEBUF CopyToBuf(buf, bUseVehicleColours); CopyToBuf(buf, pObject->m_unk); CopyToBuf(buf, pObject->m_nBonusValue); + SkipSaveBuf(buf, 1); CopyToBuf(buf, pObject->m_fCollisionDamageMultiplier); CopyToBuf(buf, pObject->m_nCollisionDamageEffect); CopyToBuf(buf, pObject->m_nSpecialCollisionResponseCases); diff --git a/src/core/Radar.cpp b/src/core/Radar.cpp index 78166252..3ddf8337 100644 --- a/src/core/Radar.cpp +++ b/src/core/Radar.cpp @@ -924,6 +924,7 @@ INITSAVEBUF for (int i = 0; i < NUMRADARBLIPS; i++) { ms_RadarTrace[i].m_nColor = ReadSaveBuf(buf); + ms_RadarTrace[i].m_Radius = ReadSaveBuf(buf); ms_RadarTrace[i].m_eBlipType = ReadSaveBuf(buf); ms_RadarTrace[i].m_nEntityHandle = ReadSaveBuf(buf); ms_RadarTrace[i].m_vec2DPos.x = ReadSaveBuf(buf); // CVector2D @@ -934,7 +935,6 @@ INITSAVEBUF ms_RadarTrace[i].m_bInUse = ReadSaveBuf(buf); ms_RadarTrace[i].m_bShortRange = ReadSaveBuf(buf); ms_RadarTrace[i].m_unused = ReadSaveBuf(buf); - ms_RadarTrace[i].m_Radius = ReadSaveBuf(buf); ms_RadarTrace[i].m_wScale = ReadSaveBuf(buf); ms_RadarTrace[i].m_eBlipDisplay = ReadSaveBuf(buf); ms_RadarTrace[i].m_eRadarSprite = ReadSaveBuf(buf); @@ -961,6 +961,7 @@ INITSAVEBUF sRadarTraceSave *saveStruct = (sRadarTraceSave*) buf; saveStruct->m_nColor = ms_RadarTrace[i].m_nColor; + saveStruct->m_Radius = ms_RadarTrace[i].m_Radius; saveStruct->m_eBlipType = ms_RadarTrace[i].m_eBlipType; saveStruct->m_nEntityHandle = ms_RadarTrace[i].m_nEntityHandle; saveStruct->m_vec2DPos = ms_RadarTrace[i].m_vec2DPos; @@ -970,7 +971,6 @@ INITSAVEBUF saveStruct->m_bInUse = ms_RadarTrace[i].m_bInUse; saveStruct->m_bShortRange = ms_RadarTrace[i].m_bShortRange; saveStruct->m_unused = ms_RadarTrace[i].m_unused; - saveStruct->m_Radius = ms_RadarTrace[i].m_Radius; saveStruct->m_wScale = ms_RadarTrace[i].m_wScale; saveStruct->m_eBlipDisplay = ms_RadarTrace[i].m_eBlipDisplay; saveStruct->m_eRadarSprite = ms_RadarTrace[i].m_eRadarSprite; diff --git a/src/core/Radar.h b/src/core/Radar.h index b5f34f1f..8f2e7069 100644 --- a/src/core/Radar.h +++ b/src/core/Radar.h @@ -137,6 +137,7 @@ struct sRadarTrace struct sRadarTraceSave { uint32 m_nColor; + float m_Radius; uint32 m_eBlipType; // eBlipType int32 m_nEntityHandle; CVector2D m_vec2DPos; @@ -146,7 +147,6 @@ struct sRadarTraceSave bool m_bInUse; bool m_bShortRange; bool m_unused; - float m_Radius; int16 m_wScale; uint16 m_eBlipDisplay; // eBlipDisplay uint16 m_eRadarSprite; // eRadarSprite -- cgit v1.2.3