mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 05:19:56 +00:00
Add warning simulate block transfer , setting info
Add some games compatibility required buffered rendering and warning required simulate block transfer set to on
This commit is contained in:
parent
892a7a5caa
commit
ea0aab9340
@ -53,6 +53,7 @@ void Compatibility::CheckSettings(IniFile &iniFile, const std::string &gameID) {
|
||||
CheckSetting(iniFile, gameID, "DrawSyncEatCycles", &flags_.DrawSyncEatCycles);
|
||||
CheckSetting(iniFile, gameID, "FakeMipmapChange", &flags_.FakeMipmapChange);
|
||||
CheckSetting(iniFile, gameID, "RequireBufferedRendering", &flags_.RequireBufferedRendering);
|
||||
CheckSetting(iniFile, gameID, "RequireBlockTransfer", &flags_.RequireBlockTransfer);
|
||||
}
|
||||
|
||||
void Compatibility::CheckSetting(IniFile &iniFile, const std::string &gameID, const char *option, bool *flag) {
|
||||
|
@ -53,6 +53,7 @@ struct CompatFlags {
|
||||
bool DrawSyncEatCycles;
|
||||
bool FakeMipmapChange;
|
||||
bool RequireBufferedRendering;
|
||||
bool RequireBlockTransfer;
|
||||
};
|
||||
|
||||
class IniFile;
|
||||
|
@ -222,6 +222,11 @@ void EmuScreen::bootGame(const std::string &filename) {
|
||||
I18NCategory *gr = GetI18NCategory("Graphics");
|
||||
host->NotifyUserMessage(gr->T("BufferedRenderingRequired", "Warning: This game requires Rendering Mode to be set to Buffered."), 15.0f);
|
||||
}
|
||||
|
||||
if (PSP_CoreParameter().compat.flags().RequireBlockTransfer && g_Config.bBlockTransferGPU == false) {
|
||||
I18NCategory *gr = GetI18NCategory("Graphics");
|
||||
host->NotifyUserMessage(gr->T("BlockTransferRequired", "Warning: This game requires Simulate Block Transfer Mode to be set to On."), 15.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void EmuScreen::bootComplete() {
|
||||
|
@ -211,6 +211,10 @@ void GameSettingsScreen::CreateViews() {
|
||||
renderingModeChoice->OnChoice.Handle(this, &GameSettingsScreen::OnRenderingMode);
|
||||
renderingModeChoice->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
CheckBox *blockTransfer = graphicsSettings->Add(new CheckBox(&g_Config.bBlockTransferGPU, gr->T("Simulate Block Transfer", "Simulate Block Transfer (unfinished)")));
|
||||
blockTransfer->OnClick.Add([=](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("BlockTransfer Tip", "Some games require that"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
blockTransfer->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
graphicsSettings->Add(new ItemHeader(gr->T("Frame Rate Control")));
|
||||
@ -277,6 +281,10 @@ void GameSettingsScreen::CreateViews() {
|
||||
hwTransform->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
CheckBox *swSkin = graphicsSettings->Add(new CheckBox(&g_Config.bSoftwareSkinning, gr->T("Software Skinning")));
|
||||
swSkin->OnClick.Add([=](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("SoftwareSkinning Tip", "Reduce drawcalls and faster in games that use the advanced skinning technique, but some games slower"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
swSkin->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
CheckBox *vtxCache = graphicsSettings->Add(new CheckBox(&g_Config.bVertexCache, gr->T("Vertex Cache")));
|
||||
@ -311,7 +319,7 @@ void GameSettingsScreen::CreateViews() {
|
||||
PopupMultiChoice *beziersChoice = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iSplineBezierQuality, gr->T("LowCurves", "Spline/Bezier curves quality"), quality, 0, ARRAY_SIZE(quality), gr->GetName(), screenManager()));
|
||||
beziersChoice->OnChoice.Add([=](EventParams &e) {
|
||||
if (g_Config.iSplineBezierQuality != 0) {
|
||||
settingInfo_->Show(gr->T("LowCurves Tip", "This option will significantly improve/reduce the quality of rendered splines and bezier curves"), e.v);
|
||||
settingInfo_->Show(gr->T("LowCurves Tip", "Improve/Reduce the quality of rendered splines and bezier curves"), e.v);
|
||||
}
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
@ -321,6 +329,7 @@ void GameSettingsScreen::CreateViews() {
|
||||
CheckBox *tessellationHW = graphicsSettings->Add(new CheckBox(&g_Config.bHardwareTessellation, gr->T("Hardware Tessellation")));
|
||||
tessellationHW->OnClick.Add([=](EventParams &e) {
|
||||
bezierChoiceDisable_ = g_Config.bSoftwareRendering || g_Config.bHardwareTessellation;
|
||||
settingInfo_->Show(gr->T("HardwareTessellation Tip", "Using hardware to tessellate, can't work together with Spline/Bezier curves setting "), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
tessHWEnable_ = IsBackendSupportHWTess() && !g_Config.bSoftwareRendering && g_Config.bHardwareTransform;
|
||||
@ -357,7 +366,11 @@ void GameSettingsScreen::CreateViews() {
|
||||
|
||||
CheckBox *deposterize = graphicsSettings->Add(new CheckBox(&g_Config.bTexDeposterize, gr->T("Deposterize")));
|
||||
deposterize->OnClick.Add([=](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("Deposterize Tip", "Fixes small in-texture glitches that may happen when the texture is upscaled"), e.v);
|
||||
if (g_Config.bTexDeposterize == true) {
|
||||
settingInfo_->Show(gr->T("Deposterize Tip", "Fixes small in-texture glitches that may happen when the texture is upscaled"), e.v);
|
||||
} else {
|
||||
settingInfo_->Show(gr->T("Deposterize Tip", "You may seem to have some artifacts in the game if you uncheck that after you have set the Upscale Level"), e.v);
|
||||
}
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
deposterize->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
@ -165,7 +165,7 @@ NPJH50348 = true
|
||||
ULJM06009 = true
|
||||
|
||||
[RequireBufferedRendering]
|
||||
# Warn the user that the game will not work, if buffered rendering is not enabled.
|
||||
# Warn the user that the game will not work and have issue, if buffered rendering is not enabled.
|
||||
# Midnight Club: LA Remix
|
||||
ULUS10383 = true
|
||||
ULES01144 = true
|
||||
@ -189,4 +189,79 @@ ULES00151 = true
|
||||
ULJM05255 = true
|
||||
ULJM05359 = true
|
||||
ULJM05885 = true
|
||||
NPJH50825 = true
|
||||
NPJH50825 = true
|
||||
# GOW : Chains Of Olympus
|
||||
UCUS98653 = true
|
||||
UCUS98705 = true
|
||||
UCES00842 = true
|
||||
ULJM05438 = true
|
||||
ULJM05348 = true
|
||||
UCKS45084 = true
|
||||
NPUG80325 = true
|
||||
NPEG00023 = true
|
||||
NPHG00028 = true
|
||||
NPJG00120 = true
|
||||
# Daxter
|
||||
UCUS98618 = true
|
||||
UCES00044 = true
|
||||
NPUG80329 = true
|
||||
NPEG00025 = true
|
||||
# Ys Seven
|
||||
ULUS10551 = true
|
||||
ULJM05475 = true
|
||||
NPEH00065 = true
|
||||
NPJH50350 = true
|
||||
ULJM08041 = true
|
||||
NPEH00065 = true
|
||||
# The Legend of Heroes: Trails in the Sky
|
||||
ULUS10540 = true
|
||||
ULUS10578 = true
|
||||
ULES01556 = true
|
||||
ULJM05170 = true
|
||||
ULJM08033 = true
|
||||
NPJH50373 = true
|
||||
# Grand Knights History
|
||||
ULJS00394 = true
|
||||
ULJS19068 = true
|
||||
NPJH50518 = true
|
||||
# Tactics Orge
|
||||
ULUS10565 = true
|
||||
ULES01500 = true
|
||||
ULJM05753 = true
|
||||
NPJH50348 = true
|
||||
ULJM06009 = true
|
||||
UCKS45164 = true
|
||||
# Metal Gear Solid : Peace Walker
|
||||
ULUS10509 = true
|
||||
ULES01372 = true
|
||||
ULJM08038 = true
|
||||
NPJH50045 = true
|
||||
ULJM05630 = true
|
||||
# Star Ocean : Second Evolution
|
||||
ULUS10375 = true
|
||||
ULES01187 = true
|
||||
ULJM05591 = true
|
||||
ULJM05325 = true
|
||||
UCAS40203 = true
|
||||
|
||||
[RequireBlockTransfer]
|
||||
# Warn the user that the game will have issue graphic, if simulate block transfer is not enabled.
|
||||
# Ys Seven need it to fix minimap. See issues #2928
|
||||
ULUS10551 = true
|
||||
ULJM05475 = true
|
||||
NPEH00065 = true
|
||||
NPJH50350 = true
|
||||
ULJM08041 = true
|
||||
NPEH00065 = true
|
||||
# The Legend of Heroes: Trails in the Sky need it to fix graphical glitch in menu screen. See issues #8053
|
||||
ULUS10540 = true
|
||||
ULUS10578 = true
|
||||
ULES01556 = true
|
||||
ULJM05170 = true
|
||||
ULJM08033 = true
|
||||
NPJH50373 = true
|
||||
# Grand Knights History need it to fix blackboxes on characters and flickering texture . See issues #2135 , #6099
|
||||
ULJS00394 = true
|
||||
ULJS19068 = true
|
||||
NPJH50518 = true
|
||||
# TODO: Will add some games in the future
|
Loading…
Reference in New Issue
Block a user