From 2be4293dff9ecc18b03487ccc2911670f282ed75 Mon Sep 17 00:00:00 2001 From: elexis Date: Thu, 1 Mar 2018 12:06:55 +0000 Subject: [PATCH] Complain if an RMS tries to revert the loading progress. Also increase estimated mapgen time, refs 942a45372c, 0e0ed94926. Differential Revision: https://code.wildfiregames.com/D1341 Proposed By: Vladislav in D1340 This was SVN commit r21400. --- source/graphics/MapGenerator.cpp | 6 +++++- source/graphics/MapReader.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/graphics/MapGenerator.cpp b/source/graphics/MapGenerator.cpp index 2777325af5..e158211953 100644 --- a/source/graphics/MapGenerator.cpp +++ b/source/graphics/MapGenerator.cpp @@ -214,7 +214,11 @@ void CMapGeneratorWorker::SetProgress(ScriptInterface::CxPrivate* pCxPrivate, in // Copy data CScopeLock lock(self->m_WorkerMutex); - self->m_Progress = progress; + + if (progress >= self->m_Progress) + self->m_Progress = progress; + else + LOGWARNING("The random map script tried to reduce the loading progress from %d to %d", self->m_Progress, progress); } CParamNode CMapGeneratorWorker::GetTemplate(ScriptInterface::CxPrivate* pCxPrivate, const std::string& templateName) diff --git a/source/graphics/MapReader.cpp b/source/graphics/MapReader.cpp index 77b1253d8e..d3b69c5501 100644 --- a/source/graphics/MapReader.cpp +++ b/source/graphics/MapReader.cpp @@ -176,7 +176,7 @@ void CMapReader::LoadRandomMap(const CStrW& scriptFile, JSRuntime* rt, JS::Handl RegMemFun(this, &CMapReader::LoadPlayerSettings, L"CMapReader::LoadPlayerSettings", 50); // load map generator with random map script - RegMemFun(this, &CMapReader::GenerateMap, L"CMapReader::GenerateMap", 5000); + RegMemFun(this, &CMapReader::GenerateMap, L"CMapReader::GenerateMap", 20000); // parse RMS results into terrain structure RegMemFun(this, &CMapReader::ParseTerrain, L"CMapReader::ParseTerrain", 500);