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);