1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-04-09 20:36:42 +00:00

Merge branch 'launcher_navmesh_cache_progress' into 'master'

Fix navmesh cache progress bar jumps ()

Closes 

See merge request 
This commit is contained in:
psi29a 2021-12-17 07:23:08 +00:00
commit 307bc57cde

View file

@ -457,11 +457,18 @@ void Launcher::DataFilesPage::updateNavMeshProgress()
QRegularExpressionMatch match = pattern.match(text); QRegularExpressionMatch match = pattern.match(text);
if (!match.hasMatch()) if (!match.hasMatch())
return; return;
int maximum = match.captured(2).toInt(); int value = match.captured(1).toInt();
const int maximum = match.captured(2).toInt();
if (text.contains("cell")) if (text.contains("cell"))
maximum *= 100; ui.navMeshProgressBar->setMaximum(maximum * 100);
ui.navMeshProgressBar->setMaximum(std::max(ui.navMeshProgressBar->maximum(), maximum)); else if (maximum > ui.navMeshProgressBar->maximum())
ui.navMeshProgressBar->setValue(match.captured(1).toInt()); ui.navMeshProgressBar->setMaximum(maximum);
else
value += static_cast<int>(std::round(
(ui.navMeshProgressBar->maximum() - maximum)
* (static_cast<float>(value) / static_cast<float>(maximum))
));
ui.navMeshProgressBar->setValue(value);
} }
void Launcher::DataFilesPage::navMeshToolFinished(int exitCode, QProcess::ExitStatus exitStatus) void Launcher::DataFilesPage::navMeshToolFinished(int exitCode, QProcess::ExitStatus exitStatus)