mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Place the hack into compat.ini
This commit is contained in:
parent
1b25959d86
commit
8d37b97b20
4 changed files with 28 additions and 1 deletions
|
@ -50,6 +50,7 @@ void Compatibility::CheckSettings(IniFile &iniFile, const std::string &gameID) {
|
|||
CheckSetting(iniFile, gameID, "DepthRangeHack", &flags_.DepthRangeHack);
|
||||
CheckSetting(iniFile, gameID, "ClearToRAM", &flags_.ClearToRAM);
|
||||
CheckSetting(iniFile, gameID, "Force04154000Download", &flags_.Force04154000Download);
|
||||
CheckSetting(iniFile, gameID, "DrawSyncEatCycles", &flags_.DrawSyncEatCycles);
|
||||
}
|
||||
|
||||
void Compatibility::CheckSetting(IniFile &iniFile, const std::string &gameID, const char *option, bool *flag) {
|
||||
|
|
|
@ -50,6 +50,7 @@ struct CompatFlags {
|
|||
bool DepthRangeHack;
|
||||
bool ClearToRAM;
|
||||
bool Force04154000Download;
|
||||
bool DrawSyncEatCycles;
|
||||
};
|
||||
|
||||
class IniFile;
|
||||
|
|
|
@ -408,7 +408,8 @@ int sceGeListSync(u32 displayListID, u32 mode) {
|
|||
|
||||
static u32 sceGeDrawSync(u32 mode) {
|
||||
//wait/check entire drawing state
|
||||
hleEatCycles(500000); //HACK(?) : Potential fix for Crash Tag Team Racing and a few Gundam games
|
||||
if (PSP_CoreParameter().compat.flags().DrawSyncEatCycles)
|
||||
hleEatCycles(500000); //HACK(?) : Potential fix for Crash Tag Team Racing and a few Gundam games
|
||||
DEBUG_LOG(SCEGE, "sceGeDrawSync(mode=%d) (0=wait for completion, 1=peek)", mode);
|
||||
return gpu->DrawSync(mode);
|
||||
}
|
||||
|
|
|
@ -129,3 +129,27 @@ ULJS00033 = true
|
|||
UCKS45022 = true
|
||||
ULJS19009 = true
|
||||
NPJH50141 = true
|
||||
|
||||
|
||||
[DrawSyncEatCycles]
|
||||
# This replaced Crash Tag Team Racing hack to also fix Gundam games
|
||||
# It makes sceGeDrawSync eat a lot of cycles which can affect timing in lots of games,
|
||||
# might be negative for others, but happens to fix games below.
|
||||
# Crash Tag Team Racing needs it to pass checking memory stick screen.
|
||||
ULUS10044 = true
|
||||
ULES00168 = true
|
||||
ULJM05036 = true
|
||||
# Gundam Battle Royale might need it to avoid crashes when certain Ace enemies shows up
|
||||
ULJS00083 = true
|
||||
ULKS46104 = true
|
||||
ULJS19015 = true
|
||||
# Gundam Battle Chronicle needs it to avoid crashes after most battles
|
||||
ULJS00122 = true
|
||||
ULKS46158 = true
|
||||
ULJS19021 = true
|
||||
# Gundam Battle Universe same problem as above
|
||||
ULJS00145 = true
|
||||
ULKS46183 = true
|
||||
ULJS00260 = true
|
||||
ULJS19041 = true
|
||||
NPJH50843 = true
|
Loading…
Add table
Reference in a new issue