mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Replace the notifications with a bare-bones progress bar
This commit is contained in:
parent
e00a41702c
commit
1cf2a161a0
3 changed files with 33 additions and 3 deletions
|
@ -19,6 +19,7 @@
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/Serialize/Serializer.h"
|
#include "Common/Serialize/Serializer.h"
|
||||||
#include "Common/Serialize/SerializeFuncs.h"
|
#include "Common/Serialize/SerializeFuncs.h"
|
||||||
|
#include "Common/System/OSD.h"
|
||||||
#include "Core/ELF/ParamSFO.h"
|
#include "Core/ELF/ParamSFO.h"
|
||||||
#include "Core/MemMapHelpers.h"
|
#include "Core/MemMapHelpers.h"
|
||||||
#include "Core/Reporting.h"
|
#include "Core/Reporting.h"
|
||||||
|
@ -38,6 +39,8 @@ const static u32 GAMEDATA_BYTES_PER_READ = 32768;
|
||||||
// If this is too high, some games (e.g. Senjou no Valkyria 3) will lag.
|
// If this is too high, some games (e.g. Senjou no Valkyria 3) will lag.
|
||||||
const static u32 GAMEDATA_READS_PER_UPDATE = 20;
|
const static u32 GAMEDATA_READS_PER_UPDATE = 20;
|
||||||
|
|
||||||
|
const u32 PSP_UTILITY_GAMEDATA_MODE_SHOW_PROGRESS = 1;
|
||||||
|
|
||||||
const u32 ERROR_UTILITY_GAMEDATA_MEMSTRICK_REMOVED = 0x80111901;
|
const u32 ERROR_UTILITY_GAMEDATA_MEMSTRICK_REMOVED = 0x80111901;
|
||||||
const u32 ERROR_UTILITY_GAMEDATA_MEMSTRICK_WRITE_PROTECTED = 0x80111903;
|
const u32 ERROR_UTILITY_GAMEDATA_MEMSTRICK_WRITE_PROTECTED = 0x80111903;
|
||||||
const u32 ERROR_UTILITY_GAMEDATA_INVALID_MODE = 0x80111908;
|
const u32 ERROR_UTILITY_GAMEDATA_INVALID_MODE = 0x80111908;
|
||||||
|
@ -272,13 +275,38 @@ void PSPGamedataInstallDialog::UpdateProgress() {
|
||||||
progressValue = (int)((allReadSize * 100) / allFilesSize);
|
progressValue = (int)((allReadSize * 100) / allFilesSize);
|
||||||
else
|
else
|
||||||
progressValue = 100;
|
progressValue = 100;
|
||||||
auto di = GetI18NCategory("Dialog");
|
|
||||||
std::string temp = di->T("Save");
|
if (param->mode == PSP_UTILITY_GAMEDATA_MODE_SHOW_PROGRESS) {
|
||||||
osm.Show(temp + " " + std::to_string(progressValue) + " / 100", 0.5f);
|
RenderProgress(progressValue);
|
||||||
|
}
|
||||||
|
|
||||||
param->progress = progressValue;
|
param->progress = progressValue;
|
||||||
param.NotifyWrite("DialogResult");
|
param.NotifyWrite("DialogResult");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PSPGamedataInstallDialog::RenderProgress(int percentage) {
|
||||||
|
StartDraw();
|
||||||
|
|
||||||
|
float barWidth = 380;
|
||||||
|
float barX = (480 - barWidth) / 2;
|
||||||
|
float barWidthDone = barWidth * percentage / 100;
|
||||||
|
float barH = 10.0;
|
||||||
|
float barY = 272 / 2 - barH / 2;
|
||||||
|
|
||||||
|
PPGeDrawRect(barX - 3, barY - 3, barX + barWidth + 3, barY + barH + 3, 0x30000000);
|
||||||
|
PPGeDrawRect(barX, barY, barX + barWidth, barY + barH, 0xFF707070);
|
||||||
|
PPGeDrawRect(barX, barY, barX + barWidthDone, barY + barH, 0xFFE0E0E0);
|
||||||
|
|
||||||
|
auto di = GetI18NCategory(I18NCat::DIALOG);
|
||||||
|
|
||||||
|
fadeValue = 255;
|
||||||
|
PPGeStyle textStyle = FadedStyle(PPGeAlign::BOX_HCENTER, 0.6f);
|
||||||
|
|
||||||
|
PPGeDrawText(di->T("Installing..."), 480 / 2, barY + barH + 10, textStyle);
|
||||||
|
|
||||||
|
EndDraw();
|
||||||
|
}
|
||||||
|
|
||||||
void PSPGamedataInstallDialog::DoState(PointerWrap &p) {
|
void PSPGamedataInstallDialog::DoState(PointerWrap &p) {
|
||||||
auto s = p.Section("PSPGamedataInstallDialog", 0, 4);
|
auto s = p.Section("PSPGamedataInstallDialog", 0, 4);
|
||||||
if (!s)
|
if (!s)
|
||||||
|
|
|
@ -54,6 +54,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void UpdateProgress();
|
void UpdateProgress();
|
||||||
|
void RenderProgress(int percentage);
|
||||||
void OpenNextFile();
|
void OpenNextFile();
|
||||||
void CopyCurrentFileData();
|
void CopyCurrentFileData();
|
||||||
void CloseCurrentFile();
|
void CloseCurrentFile();
|
||||||
|
|
|
@ -395,6 +395,7 @@ Finish = Finish
|
||||||
GE Frame Dumps = GE Frame Dumps
|
GE Frame Dumps = GE Frame Dumps
|
||||||
Grid = Grid
|
Grid = Grid
|
||||||
Inactive = Inactive
|
Inactive = Inactive
|
||||||
|
Installing... = Installing...
|
||||||
InternalError = An internal error has occurred.
|
InternalError = An internal error has occurred.
|
||||||
Load = Load
|
Load = Load
|
||||||
Load completed = Load completed.
|
Load completed = Load completed.
|
||||||
|
|
Loading…
Add table
Reference in a new issue