Warn if trying to run some games that are known to require buffered rendering with it not enabled.

This commit is contained in:
Henrik Rydgard 2017-03-14 10:36:51 +01:00
parent 45a99bbe33
commit e37decc9a8
4 changed files with 35 additions and 0 deletions

View file

@ -52,6 +52,7 @@ void Compatibility::CheckSettings(IniFile &iniFile, const std::string &gameID) {
CheckSetting(iniFile, gameID, "Force04154000Download", &flags_.Force04154000Download);
CheckSetting(iniFile, gameID, "DrawSyncEatCycles", &flags_.DrawSyncEatCycles);
CheckSetting(iniFile, gameID, "FakeMipmapChange", &flags_.FakeMipmapChange);
CheckSetting(iniFile, gameID, "RequireBufferedRendering", &flags_.RequireBufferedRendering);
}
void Compatibility::CheckSetting(IniFile &iniFile, const std::string &gameID, const char *option, bool *flag) {

View file

@ -52,6 +52,7 @@ struct CompatFlags {
bool Force04154000Download;
bool DrawSyncEatCycles;
bool FakeMipmapChange;
bool RequireBufferedRendering;
};
class IniFile;

View file

@ -208,6 +208,7 @@ void EmuScreen::bootGame(const std::string &filename) {
coreParam.pixelWidth = pixel_xres;
coreParam.pixelHeight = pixel_yres;
std::string error_string;
if (!PSP_InitStart(coreParam, &error_string)) {
bootPending_ = false;
@ -216,6 +217,11 @@ void EmuScreen::bootGame(const std::string &filename) {
ERROR_LOG(BOOT, "%s", errorMessage_.c_str());
System_SendMessage("event", "failstartgame");
}
if (PSP_CoreParameter().compat.flags().RequireBufferedRendering && g_Config.iRenderingMode == FB_NON_BUFFERED_MODE) {
I18NCategory *gr = GetI18NCategory("Graphics");
host->NotifyUserMessage(gr->T("BufferedRenderingRequired", "Warning: This game requires Rendering Mode to be set to Buffered."), 15.0f);
}
}
void EmuScreen::bootComplete() {

View file

@ -162,3 +162,30 @@ NPJH50843 = true
ULJM05753 = true
NPJH50348 = true
ULJM06009 = true
[RequireBufferedRendering]
# Warn the user that the game will not work, if buffered rendering is not enabled.
# Midnight Club: LA Remix
ULUS10383 = true
ULES01144 = true
ULJS00180 = true
ULJS00267 = true
ULJM05904 = true
NPJH50440 = true
# Midnight Club 3 : DUB edition
ULUS10021 = true
ULES00108 = true
# GTA : VCS
ULUS10160 = true
ULES00502 = true
ULJM05297 = true
ULJM05395 = true
ULJM05884 = true
NPJH50827 = true
# GTA : LCS
ULUS10041 = true
ULES00151 = true
ULJM05255 = true
ULJM05359 = true
ULJM05885 = true
NPJH50825 = true