Skip to content

Commit

Permalink
GS: Add CRC hack for Guitar Hero 3 to handle crowds
Browse files Browse the repository at this point in the history
  • Loading branch information
refractionpcsx2 committed Jan 24, 2025
1 parent 141b2a6 commit b1971c4
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
6 changes: 6 additions & 0 deletions bin/resources/GameIndex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27095,6 +27095,7 @@ SLES-54962:
autoFlush: 1 # Fixes bloom intensity.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
getSkipCount: "GSC_GuitarHero"
SLES-54963:
name: "Tony Hawk's Proving Ground"
region: "PAL-E"
Expand Down Expand Up @@ -27142,6 +27143,7 @@ SLES-54974:
autoFlush: 1 # Fixes bloom intensity.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
getSkipCount: "GSC_GuitarHero"
SLES-54975:
name: "George Of The Jungle"
region: "PAL-E"
Expand Down Expand Up @@ -31234,6 +31236,7 @@ SLKA-25414:
autoFlush: 1 # Fixes bloom intensity.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
getSkipCount: "GSC_GuitarHero"
SLKA-25417:
name: "Jin Samguk Mussang 4 - Empires"
region: "NTSC-K"
Expand Down Expand Up @@ -59358,6 +59361,7 @@ SLPS-25840:
autoFlush: 1 # Fixes bloom intensity.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
getSkipCount: "GSC_GuitarHero"
SLPS-25841:
name: "テイルズ オブ デスティニー ディレクターズカット [プレミアムBOX]"
name-sort: "ているず おぶ ですてぃにー でぃれくたーずかっと [ぷれみあむBOX]"
Expand Down Expand Up @@ -59662,6 +59666,7 @@ SLPS-25890:
autoFlush: 1 # Fixes bloom intensity.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
getSkipCount: "GSC_GuitarHero"
SLPS-25891:
name: "乃木坂春香の秘密 こすぷれ、はじめました♥ [限定版]"
name-sort: "のぎざかはるかのひみつ こすぷれ はじめました [げんていばん]"
Expand Down Expand Up @@ -70174,6 +70179,7 @@ SLUS-21672:
autoFlush: 1 # Fixes bloom intensity.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
getSkipCount: "GSC_GuitarHero"
SLUS-21673:
name: "College Hoops 2K8"
region: "NTSC-U"
Expand Down
17 changes: 17 additions & 0 deletions pcsx2/GS/Renderers/HW/GSHwHack.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,22 @@ bool GSHwHack::GSC_SacredBlaze(GSRendererHW& r, int& skip)
return true;
}

bool GSHwHack::GSC_GuitarHero(GSRendererHW& r, int& skip)
{
// Crowd sprite generation is a mess, better done in software.
if (skip == 0)
{
if (RTBW <= 4 && RTME && RFBW <= 4)
{
r.ClearGSLocalMemory(r.m_context->offset.zb, r.m_r, 0);
r.SwPrimRender(r, RFBP != 0x2DC0, false);
skip = 1;
}
}

return true;
}

bool GSHwHack::GSC_SFEX3(GSRendererHW& r, int& skip)
{
if (skip == 0)
Expand Down Expand Up @@ -1467,6 +1483,7 @@ const GSHwHack::Entry<GSRendererHW::GSC_Ptr> GSHwHack::s_get_skip_count_function
CRC_F(GSC_Manhunt2),
CRC_F(GSC_MidnightClub3),
CRC_F(GSC_SacredBlaze),
CRC_F(GSC_GuitarHero),
CRC_F(GSC_SakuraWarsSoLongMyLove),
CRC_F(GSC_Simple2000Vol114),
CRC_F(GSC_SFEX3),
Expand Down
1 change: 1 addition & 0 deletions pcsx2/GS/Renderers/HW/GSHwHack.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class GSHwHack
static bool GSC_GiTS(GSRendererHW& r, int& skip);
static bool GSC_Manhunt2(GSRendererHW& r, int& skip);
static bool GSC_SacredBlaze(GSRendererHW& r, int& skip);
static bool GSC_GuitarHero(GSRendererHW& r, int& skip);
static bool GSC_SFEX3(GSRendererHW& r, int& skip);
static bool GSC_Tekken5(GSRendererHW& r, int& skip);
static bool GSC_BurnoutGames(GSRendererHW& r, int& skip);
Expand Down

0 comments on commit b1971c4

Please sign in to comment.