Merge branch 'PCSX2:master' into master

This commit is contained in:
987123879113 2022-09-21 10:33:25 +09:00 committed by GitHub
commit ac8b5ae3bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 96 additions and 26 deletions

View File

@ -2198,6 +2198,9 @@ SCED-52796:
SCED-52818:
name: "EyeToy - Chat [Light]"
region: "PAL-M11"
SCED-52889:
name: "Killzone [Bonus Disc]"
region: "PAL-M5"
SCED-52932:
name: "Bonus Demo 8"
region: "PAL-M5"
@ -8902,6 +8905,9 @@ SLED-53983:
region: "PAL"
gameFixes:
- GIFFIFOHack # Fixes flag corruption.
SLED-54032:
name: "Sonic Riders [Demo]"
region: "PAL-E"
SLED-54035:
name: "Play the Best Demos from Atari [Demo]"
region: "PAL-M5"
@ -12191,6 +12197,8 @@ SLES-51526:
SLES-51541:
name: "Grand Theft Auto - San Andreas"
region: "PAL-Unk"
clampModes:
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLES-51547:
@ -14187,7 +14195,7 @@ SLES-52541:
region: "PAL-M5"
compat: 5
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLES-52542:
@ -14298,6 +14306,13 @@ SLES-52573:
region: "PAL-M5"
roundModes:
eeRoundMode: 2 # Fixes abnormal character behaviour.
SLED-52574:
name: "Crash Twinsanity & Spyro - A Hero's Tail [Demo]"
region: "PAL-E"
gameFixes:
- XGKickHack # Fixes bad geometry.
gsHWFixes:
halfPixelOffset: 2 # Fixes depth lines.
SLES-52576:
name: "Yu-Gi-Oh! Capsule Monster Coliseum"
region: "PAL-M5"
@ -15098,7 +15113,7 @@ SLES-52927:
name: "Grand Theft Auto - San Andreas"
region: "PAL-G"
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLES-52931:
@ -16773,6 +16788,17 @@ SLES-53616:
cpuSpriteRenderBW: 1 # Fixes textures.
preloadFrameData: 1 # Fixes static text screens.
roundSprite: 1 # Fixes lines in some post-effects.
SLES-53617:
name: "True Crime - New York City"
region: "PAL-G"
clampModes:
eeClampMode: 2 # Fixes SPS on highway.
roundModes:
eeRoundMode: 0 # Fixes scene switching in intro.
gsHWFixes:
cpuSpriteRenderBW: 1 # Fixes textures.
preloadFrameData: 1 # Fixes static text screens.
roundSprite: 1 # Fixes lines in some post-effects.
SLES-53618:
name: "True Crime - New York City"
region: "PAL-S"
@ -22992,7 +23018,7 @@ SLPM-55092:
name: "Grand Theft Auto - San Andreas [Best Price]"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLPM-55096:
@ -23329,7 +23355,7 @@ SLPM-55292:
name: "Grand Theft Auto - San Andreas [Rockstar Classics]"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLPM-55298:
@ -29016,7 +29042,7 @@ SLPM-65984:
name: "Grand Theft Auto - San Andreas"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLPM-65985:
@ -31935,7 +31961,7 @@ SLPM-66788:
name: "Grand Theft Auto - San Andreas [Best Price]"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLPM-66789:
@ -42184,6 +42210,8 @@ SLUS-20884:
name: "Spyro - A Hero's Tail"
region: "NTSC-U"
compat: 5
gsHWFixes:
halfPixelOffset: 1 # Fixes misaligned bloom effects that streak on-screen, causes occasional trash shadows at places.
SLUS-20885:
name: "Red Star, The"
region: "NTSC-U"
@ -42501,7 +42529,7 @@ SLUS-20946:
region: "NTSC-U"
compat: 5
clampModes:
vuClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
eeClampMode: 2 # Fixes Game freezes during "Reuniting The Families" mission.
gsHWFixes:
autoFlush: 1
SLUS-20947:
@ -47751,6 +47779,8 @@ SLUS-29101:
region: "NTSC-U"
gameFixes:
- XGKickHack # Fixes bad geometry.
gsHWFixes:
halfPixelOffset: 2 # Fixes depth lines.
SLUS-29104:
name: "Galactic Wrestling - Featuring Ultimate Muscle [Demo]"
region: "NTSC-U"

View File

@ -69,6 +69,7 @@
03000000c82d00000121000000000000,8BitDo SN30 Pro for Android,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000c82d00000260000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000261000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00001330000000000000,8BitDo Ultimate Wireless,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b8,righttrigger:b9,paddle1:b23,paddle2:b19,platform:Windows,
03000000a00500003232000000000000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,
03000000c82d00001890000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00003032000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
@ -739,7 +740,9 @@
03000000341a00000608000000000000,Xeox,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000450c00002043000000000000,Xeox SL6556BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000006f0e00000300000000000000,XGear,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
03000000172700004431000000000000,XiaoMi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a7,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,
03000000172700004431000000000000,Xiaomi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a7,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,
03000000bc2000005060000000000000,Xiaomi XMGP01YM,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,-lefty:-a1,+lefty:+a2,rightx:a3,-righty:-a4,+righty:+a5,lefttrigger:b8,righttrigger:b9,platform:Windows,
03000000172700003350000000000000,Xiaomi XMGP01YM,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Windows,
03000000786901006e70000000000000,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000007d0400000340000000000000,Xterminator Digital Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:-a4,lefttrigger:+a4,leftx:a0,lefty:a1,paddle1:b7,paddle2:b6,rightshoulder:b5,rightstick:b9,righttrigger:b2,rightx:a3,righty:a5,start:b8,x:b3,y:b4,platform:Windows,

View File

@ -551,14 +551,16 @@ DebugTab::DebugTab(wxWindow* parent)
if (g_Conf->DevMode || IsDevBuild)
{
PaddedBoxSizer<wxStaticBoxSizer> debug_box(wxVERTICAL, this, "Debug");
auto* debug_check_box = new wxWrapSizer(wxHORIZONTAL);
m_ui.addCheckBox(debug_check_box, "Use Blit Swap Chain", "UseBlitSwapChain");
m_ui.addCheckBox(debug_check_box, "Disable Shader Cache", "disable_shader_cache");
m_ui.addCheckBox(debug_check_box, "Disable Framebuffer Fetch", "DisableFramebufferFetch");
auto* debug_check_box = new wxFlexGridSizer(2, space, space);
m_ui.addCheckBox(debug_check_box, "Disable Dual-Source Blending", "DisableDualSourceBlend");
m_ui.addCheckBox(debug_check_box, "Use Debug Device", "UseDebugDevice");
m_ui.addCheckBox(debug_check_box, "Dump GS data", "dump");
m_ui.addCheckBox(debug_check_box, "Disable Framebuffer Fetch", "DisableFramebufferFetch");
m_ui.addCheckBox(debug_check_box, "Disable Hardware Readbacks", "HWDisableReadbacks");
m_ui.addCheckBox(debug_check_box, "Disable Shader Cache", "disable_shader_cache");
m_ui.addCheckBox(debug_check_box, "Use Blit Swap Chain", "UseBlitSwapChain");
m_ui.addCheckBox(debug_check_box, "Use Debug Device", "UseDebugDevice");
auto* debug_save_check_box_main = new wxFlexGridSizer(1, space, space);
m_ui.addCheckBox(debug_save_check_box_main, "Dump GS data", "dump");
auto* debug_save_check_box = new wxWrapSizer(wxHORIZONTAL);
m_ui.addCheckBox(debug_save_check_box, "Save RT", "save");
@ -567,6 +569,9 @@ DebugTab::DebugTab(wxWindow* parent)
m_ui.addCheckBox(debug_save_check_box, "Save Depth", "savez");
debug_box->Add(debug_check_box);
debug_box->AddSpacer(space);
debug_box->Add(debug_save_check_box_main);
debug_box->AddSpacer(space);
debug_box->Add(debug_save_check_box);
auto* dump_grid = new wxFlexGridSizer(2, space, space);

View File

@ -109,13 +109,45 @@ namespace R3000A
#define Ra2 (iopMemReadString(a2))
#define Ra3 (iopMemReadString(a3))
#define FIO_SO_IXOTH 0x0001
#define FIO_SO_IWOTH 0x0002
#define FIO_SO_IROTH 0x0004
// Stat values differ between iomanX and ioman
// These values have been taken from the PS2SDK
// Specifically iox_stat.h
struct fio_stat_flags
{
// Access flags
// Execute
int IXOTH;
// Write
int IWOTH;
// Read
int IROTH;
#define FIO_SO_IFLNK 0x0008
#define FIO_SO_IFREG 0x0010
#define FIO_SO_IFDIR 0x0020
// File mode flags
// Symlink
int IFLNK;
// Regular file
int IFREG;
// Directory
int IFDIR;
};
fio_stat_flags ioman_stat{
0x01,
0x02,
0x04,
0x08,
0x10,
0x20,
};
fio_stat_flags iomanx_stat{
0x01,
0x02,
0x04,
0x4000,
0x2000,
0x1000,
};
static std::string host_path(const std::string& path, bool allow_open_host_root)
{
@ -161,7 +193,7 @@ namespace R3000A
return ret;
}
static int host_stat(const std::string path, fio_stat_t* host_stats)
static int host_stat(const std::string path, fio_stat_t* host_stats, fio_stat_flags& stat = ioman_stat)
{
struct stat file_stats;
const std::string file_path(host_path(path, true));
@ -173,20 +205,20 @@ namespace R3000A
host_stats->hisize = 0;
// Convert the mode.
host_stats->mode = (file_stats.st_mode & (FIO_SO_IROTH | FIO_SO_IWOTH | FIO_SO_IXOTH));
host_stats->mode = (file_stats.st_mode & (stat.IROTH | stat.IWOTH | stat.IXOTH));
#ifndef _WIN32
if (S_ISLNK(file_stats.st_mode))
{
host_stats->mode |= FIO_SO_IFLNK;
host_stats->mode |= stat.IFLNK;
}
#endif
if (S_ISREG(file_stats.st_mode))
{
host_stats->mode |= FIO_SO_IFREG;
host_stats->mode |= stat.IFREG;
}
if (S_ISDIR(file_stats.st_mode))
{
host_stats->mode |= FIO_SO_IFDIR;
host_stats->mode |= stat.IFDIR;
}
// Convert the creation time.
@ -222,7 +254,7 @@ namespace R3000A
static int host_stat(const std::string path, fxio_stat_t* host_stats)
{
return host_stat(path, &host_stats->_fioStat);
return host_stat(path, &host_stats->_fioStat, iomanx_stat);
}
// TODO: sandbox option, other permissions