diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 6cff0c6da0..e542cd6888 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -385,9 +385,10 @@ namespace pdone = pdone_new; // Compute new progress in percents - const u32 total = ftotal + ptotal; - const u32 done = fdone + pdone; - const double value = double(done) * 100. / double(total ? total : 1); + // Assume not all programs were found if files were not compiled (as it may contain more) + const u64 total = std::max(ptotal, 1) * std::max(ftotal, 1); + const u64 done = pdone * std::max(fdone, 1); + const double value = std::fmin(done * 100. / total, 100.); // Changes detected, send update Emu.CallAfter([=]()