1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-28 21:06:40 +00:00

Merge branch 'launcher_navmesh_cache_progress' into 'master'

Fix navmesh cache progress bar jumps (#6499)

Closes #6499

See merge request OpenMW/openmw!1485
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);
if (!match.hasMatch())
return;
int maximum = match.captured(2).toInt();
int value = match.captured(1).toInt();
const int maximum = match.captured(2).toInt();
if (text.contains("cell"))
maximum *= 100;
ui.navMeshProgressBar->setMaximum(std::max(ui.navMeshProgressBar->maximum(), maximum));
ui.navMeshProgressBar->setValue(match.captured(1).toInt());
ui.navMeshProgressBar->setMaximum(maximum * 100);
else if (maximum > ui.navMeshProgressBar->maximum())
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)