summaryrefslogtreecommitdiffstats
path: root/src/core/Zones.cpp
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-10-12 21:54:46 +0200
committerSergeanur <s.anureev@yandex.ua>2020-10-12 21:54:46 +0200
commit6450fd269232a1b60adaecf37a401c4f39ff1956 (patch)
treeadcf805651da4a1123a661cd7a177f3cdcb695ba /src/core/Zones.cpp
parentMerge pull request #762 from Nick007J/miami (diff)
downloadre3-6450fd269232a1b60adaecf37a401c4f39ff1956.tar
re3-6450fd269232a1b60adaecf37a401c4f39ff1956.tar.gz
re3-6450fd269232a1b60adaecf37a401c4f39ff1956.tar.bz2
re3-6450fd269232a1b60adaecf37a401c4f39ff1956.tar.lz
re3-6450fd269232a1b60adaecf37a401c4f39ff1956.tar.xz
re3-6450fd269232a1b60adaecf37a401c4f39ff1956.tar.zst
re3-6450fd269232a1b60adaecf37a401c4f39ff1956.zip
Diffstat (limited to 'src/core/Zones.cpp')
-rw-r--r--src/core/Zones.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/Zones.cpp b/src/core/Zones.cpp
index 288b975e..45fe6fff 100644
--- a/src/core/Zones.cpp
+++ b/src/core/Zones.cpp
@@ -633,14 +633,17 @@ CTheZones::SaveAllZones(uint8 *buffer, uint32 *size)
INITSAVEBUF
int i;
+#define CZONE_SAVE_SIZE (sizeof(char)*8+sizeof(float)+sizeof(float)+sizeof(float)+sizeof(float)+sizeof(float)+sizeof(float)+sizeof(eZoneType)+sizeof(eLevelName)+sizeof(int16)+sizeof(int16)+sizeof(int32)+sizeof(int32)+sizeof(int32))
+
*size = SAVE_HEADER_SIZE
+ sizeof(m_CurrLevel) + sizeof(FindIndex)
+ sizeof(int16) // padding
- + sizeof(NavigationZoneArray) + sizeof(InfoZoneArray) + sizeof(ZoneInfoArray)
+ + CZONE_SAVE_SIZE * ARRAY_SIZE(NavigationZoneArray) + CZONE_SAVE_SIZE * ARRAY_SIZE(InfoZoneArray) + sizeof(ZoneInfoArray)
+ sizeof(TotalNumberOfNavigationZones) + sizeof(TotalNumberOfInfoZones) + sizeof(TotalNumberOfZoneInfos)
+ sizeof(int16) // padding
- + sizeof(MapZoneArray) + sizeof(AudioZoneArray)
+ + CZONE_SAVE_SIZE * ARRAY_SIZE(MapZoneArray) + sizeof(AudioZoneArray)
+ sizeof(TotalNumberOfMapZones) + sizeof(NumberOfAudioZones);
+#undef CZONE_SAVE_SIZE
uint32 length = 0;
WriteSaveHeaderWithLength(buffer, length, 'Z', 'N', 'S', '\0', *size - SAVE_HEADER_SIZE);