From 7f030fc3ee6681496cafbefb5d1868ffb3707ebe Mon Sep 17 00:00:00 2001 From: Nelsson Huotari Date: Sun, 6 Oct 2019 13:23:49 +0300 Subject: [PATCH 1/4] copy mWnam record in copy constructor and custom assignment operator --- components/esm/loadland.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/components/esm/loadland.cpp b/components/esm/loadland.cpp index 722154757a..5673e17b23 100644 --- a/components/esm/loadland.cpp +++ b/components/esm/loadland.cpp @@ -323,7 +323,12 @@ namespace ESM : mFlags (land.mFlags), mX (land.mX), mY (land.mY), mPlugin (land.mPlugin), mContext (land.mContext), mDataTypes (land.mDataTypes), mLandData (land.mLandData ? new LandData (*land.mLandData) : 0) - {} + { + for (int i = 0; i < LAND_GLOBAL_MAP_LOD_SIZE; ++i) + { + mWnam[i] = static_cast(land.mWnam[i]); + } + } Land& Land::operator= (Land land) { @@ -340,6 +345,10 @@ namespace ESM std::swap (mContext, land.mContext); std::swap (mDataTypes, land.mDataTypes); std::swap (mLandData, land.mLandData); + for (int i = 0; i < LAND_GLOBAL_MAP_LOD_SIZE; ++i) + { + std::swap (mWnam[i], land.mWnam[i]); + } } const Land::LandData *Land::getLandData (int flags) const From e35ed960ee217b6ee87c7ea4162cc658ed86bd53 Mon Sep 17 00:00:00 2001 From: Nelsson Huotari Date: Sun, 6 Oct 2019 21:57:10 +0300 Subject: [PATCH 2/4] for -> std::copy --- components/esm/loadland.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/components/esm/loadland.cpp b/components/esm/loadland.cpp index 5673e17b23..00c2efe418 100644 --- a/components/esm/loadland.cpp +++ b/components/esm/loadland.cpp @@ -324,10 +324,7 @@ namespace ESM mContext (land.mContext), mDataTypes (land.mDataTypes), mLandData (land.mLandData ? new LandData (*land.mLandData) : 0) { - for (int i = 0; i < LAND_GLOBAL_MAP_LOD_SIZE; ++i) - { - mWnam[i] = static_cast(land.mWnam[i]); - } + std::copy(land.mWnam, land.mWnam + LAND_GLOBAL_MAP_LOD_SIZE, mWnam); } Land& Land::operator= (Land land) From 2fdaacf23c78f9f70735e6c2235d9a9588aa0a2a Mon Sep 17 00:00:00 2001 From: Nelsson Huotari Date: Sun, 6 Oct 2019 23:50:16 +0300 Subject: [PATCH 3/4] remove for array, just std::swap --- components/esm/loadland.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/components/esm/loadland.cpp b/components/esm/loadland.cpp index 00c2efe418..c52483681b 100644 --- a/components/esm/loadland.cpp +++ b/components/esm/loadland.cpp @@ -342,10 +342,7 @@ namespace ESM std::swap (mContext, land.mContext); std::swap (mDataTypes, land.mDataTypes); std::swap (mLandData, land.mLandData); - for (int i = 0; i < LAND_GLOBAL_MAP_LOD_SIZE; ++i) - { - std::swap (mWnam[i], land.mWnam[i]); - } + std::swap (mWnam, land.mWnam); } const Land::LandData *Land::getLandData (int flags) const From 39e21c618428b71ed36f498f105ef630fe33324c Mon Sep 17 00:00:00 2001 From: Nelsson Huotari Date: Mon, 7 Oct 2019 01:31:49 +0300 Subject: [PATCH 4/4] changelog: Map corruption bugfix --- CHANGELOG.md | 1 + CHANGELOG_PR.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa84ec10ae..bbed2fa815 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -138,6 +138,7 @@ Bug #5134: Doors rotation by "Lock" console command is inconsistent Bug #5137: Textures with Clamp Mode set to Clamp instead of Wrap are too dark outside the boundaries Bug #5149: Failing lock pick attempts isn't always a crime + Bug #5177: Editor: Unexplored map tiles get corrupted after a file with terrain is saved Feature #1774: Handle AvoidNode Feature #2229: Improve pathfinding AI Feature #3025: Analogue gamepad movement controls diff --git a/CHANGELOG_PR.md b/CHANGELOG_PR.md index afd2dafcc4..3062cc9d24 100644 --- a/CHANGELOG_PR.md +++ b/CHANGELOG_PR.md @@ -102,6 +102,7 @@ Editor Bug Fixes: - Cloned, added, or moved instances no longer disappear at load-time (#4748) - "Clear" function in the content selector no longer tries to execute a "Remove" action on an empty file list (#4757) - Engine no longer tries to swap buffers of windows which weren't exposed to Qt's window management system (#4911) +- Minimap doesn't get corrupted, when editing new omwgame (#5177) Miscellaneous: - Upgraded to FFMPEG3 for media decoding (#4686)