From fd4e644fb4e52954691ba296f8c3b37a3c5bdecb Mon Sep 17 00:00:00 2001 From: JMC47 Date: Thu, 5 Aug 2021 20:55:56 -0400 Subject: [PATCH] GameINI: Fix EFB Copy Offset in more games SpongeBob SquarePants: Battle for Bikini Bottom and The Movie Game, along with the two Incredibles titles suffer from an EFB offset issue described in earlier commits. This commit adds offsets for the Incredibles and The Incredibles: Rise of the Underminer releases and adds additional inis for SpongeBob special releases. --- Data/Sys/GameSettings/GIC.ini | 3 +++ Data/Sys/GameSettings/GICD78.ini | 14 ++++++++++++++ Data/Sys/GameSettings/GICE78.ini | 15 +++++++++++---- Data/Sys/GameSettings/GICF78.ini | 14 ++++++++++++++ Data/Sys/GameSettings/GICH78.ini | 14 ++++++++++++++ Data/Sys/GameSettings/GICJG9.ini | 14 ++++++++++++++ Data/Sys/GameSettings/GICP78.ini | 14 ++++++++++++++ Data/Sys/GameSettings/GIQ.ini | 2 +- Data/Sys/GameSettings/GIQE78.ini | 17 ++++++++++++----- Data/Sys/GameSettings/GIQJ8P.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GIQX78.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GIQY78.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GU2.ini | 19 +++++++++++++++++++ Data/Sys/GameSettings/GU2D78.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GU2F78.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GU3.ini | 19 +++++++++++++++++++ Data/Sys/GameSettings/GU3D78.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GU3X78.ini | 15 +++++++++++++++ Data/Sys/GameSettings/GU4.ini | 20 ++++++++++++++++++++ Data/Sys/GameSettings/GU4Y78.ini | 22 ++++++++++++++++++++++ 20 files changed, 282 insertions(+), 10 deletions(-) create mode 100644 Data/Sys/GameSettings/GICD78.ini create mode 100644 Data/Sys/GameSettings/GICF78.ini create mode 100644 Data/Sys/GameSettings/GICH78.ini create mode 100644 Data/Sys/GameSettings/GICJG9.ini create mode 100644 Data/Sys/GameSettings/GICP78.ini create mode 100644 Data/Sys/GameSettings/GIQJ8P.ini create mode 100644 Data/Sys/GameSettings/GIQX78.ini create mode 100644 Data/Sys/GameSettings/GIQY78.ini create mode 100644 Data/Sys/GameSettings/GU2.ini create mode 100644 Data/Sys/GameSettings/GU2D78.ini create mode 100644 Data/Sys/GameSettings/GU2F78.ini create mode 100644 Data/Sys/GameSettings/GU3.ini create mode 100644 Data/Sys/GameSettings/GU3D78.ini create mode 100644 Data/Sys/GameSettings/GU3X78.ini create mode 100644 Data/Sys/GameSettings/GU4.ini create mode 100644 Data/Sys/GameSettings/GU4Y78.ini diff --git a/Data/Sys/GameSettings/GIC.ini b/Data/Sys/GameSettings/GIC.ini index dfecda37dc..0d1ce0341b 100644 --- a/Data/Sys/GameSettings/GIC.ini +++ b/Data/Sys/GameSettings/GIC.ini @@ -13,4 +13,7 @@ # Add action replay cheats here. [Video_Hacks] +# Fixes shadows at higher resolution. +# Option has no effect at 1x IR, so no reason not to enable. +VertexRounding = True EFBToTextureEnable = False diff --git a/Data/Sys/GameSettings/GICD78.ini b/Data/Sys/GameSettings/GICD78.ini new file mode 100644 index 0000000000..f05b308a07 --- /dev/null +++ b/Data/Sys/GameSettings/GICD78.ini @@ -0,0 +1,14 @@ +# GICD78 - The Incredibles + +[OnFrame] +$EFB Copy Fix +0x803D2A94:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GICE78.ini b/Data/Sys/GameSettings/GICE78.ini index 2996aac00c..b60f33c6b3 100644 --- a/Data/Sys/GameSettings/GICE78.ini +++ b/Data/Sys/GameSettings/GICE78.ini @@ -1,10 +1,17 @@ # GICE78 - The Incredibles -[OnLoad] -# Add memory patches to be loaded once on boot here. - [OnFrame] -# Add memory patches to be applied every frame here. +$EFB Copy Fix +0x803D2AD4:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix [ActionReplay] # Add action replay cheats here. diff --git a/Data/Sys/GameSettings/GICF78.ini b/Data/Sys/GameSettings/GICF78.ini new file mode 100644 index 0000000000..2f47a1b8d7 --- /dev/null +++ b/Data/Sys/GameSettings/GICF78.ini @@ -0,0 +1,14 @@ +# GICF78 - The Incredibles + +[OnFrame] +$EFB Copy Fix +0x803D2E94:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GICH78.ini b/Data/Sys/GameSettings/GICH78.ini new file mode 100644 index 0000000000..063f9da83b --- /dev/null +++ b/Data/Sys/GameSettings/GICH78.ini @@ -0,0 +1,14 @@ +# GICH78 - The Incredibles + +[OnFrame] +$EFB Copy Fix +0x803D2A94:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GICJG9.ini b/Data/Sys/GameSettings/GICJG9.ini new file mode 100644 index 0000000000..1ffdd77d9e --- /dev/null +++ b/Data/Sys/GameSettings/GICJG9.ini @@ -0,0 +1,14 @@ +# GICJG9 - The Incredibles + +[OnFrame] +$EFB Copy Fix +0x803D30F4:byte:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GICP78.ini b/Data/Sys/GameSettings/GICP78.ini new file mode 100644 index 0000000000..6b1186ed6f --- /dev/null +++ b/Data/Sys/GameSettings/GICP78.ini @@ -0,0 +1,14 @@ +# GICP78 - The Incredibles + +[OnFrame] +$EFB Copy Fix +0x803D2914:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GIQ.ini b/Data/Sys/GameSettings/GIQ.ini index 1edbccc14e..d1c12acf8f 100644 --- a/Data/Sys/GameSettings/GIQ.ini +++ b/Data/Sys/GameSettings/GIQ.ini @@ -1,4 +1,4 @@ -# GIQE78 - The Incredibles 2 +# GIQJ8P, GIQE78, GIQX78, GIQY78 - The Incredibles: Rise of the Underminer [Core] # Values set here will override the main Dolphin settings. diff --git a/Data/Sys/GameSettings/GIQE78.ini b/Data/Sys/GameSettings/GIQE78.ini index b68c6ceeb7..f48c376391 100644 --- a/Data/Sys/GameSettings/GIQE78.ini +++ b/Data/Sys/GameSettings/GIQE78.ini @@ -1,10 +1,17 @@ -# GIQE78 - The Incredibles 2 - -[OnLoad] -# Add memory patches to be loaded once on boot here. +# GIQE78 - The Incredibles: Rise of the Underminer [OnFrame] -# Add memory patches to be applied every frame here. +$EFB Copy Fix +0x803F09F0:byte:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix [ActionReplay] # Add action replay cheats here. diff --git a/Data/Sys/GameSettings/GIQJ8P.ini b/Data/Sys/GameSettings/GIQJ8P.ini new file mode 100644 index 0000000000..668bc295c1 --- /dev/null +++ b/Data/Sys/GameSettings/GIQJ8P.ini @@ -0,0 +1,15 @@ +# GIQJ8P - The Incredibles: Rise of the Underminer + +[OnFrame] +$EFB Copy Fix +0x803F1850:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix + diff --git a/Data/Sys/GameSettings/GIQX78.ini b/Data/Sys/GameSettings/GIQX78.ini new file mode 100644 index 0000000000..a8fbe89ad4 --- /dev/null +++ b/Data/Sys/GameSettings/GIQX78.ini @@ -0,0 +1,15 @@ +# GIQX78 - The Incredibles: Rise of the Underminer + +[OnFrame] +$EFB Copy Fix +0x803F0E90:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix + diff --git a/Data/Sys/GameSettings/GIQY78.ini b/Data/Sys/GameSettings/GIQY78.ini new file mode 100644 index 0000000000..9375354afb --- /dev/null +++ b/Data/Sys/GameSettings/GIQY78.ini @@ -0,0 +1,15 @@ +# GIQY78 - The Incredibles: Rise of the Underminer + +[OnFrame] +$EFB Copy Fix +0x803F0E90:dword:0x00000000 + +[OnFrame_Enabled] +# This game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +$EFB Copy Fix + diff --git a/Data/Sys/GameSettings/GU2.ini b/Data/Sys/GameSettings/GU2.ini new file mode 100644 index 0000000000..8b29da76af --- /dev/null +++ b/Data/Sys/GameSettings/GU2.ini @@ -0,0 +1,19 @@ +# GU2F78, GU2D78 - 2 Games in 1: The Incredibles / Finding Nemo + +[Core] +# Values set here will override the main Dolphin settings. + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + +[Video_Hacks] +# Fixes shadows at higher resolution on disc 1. +# Option has no effect at 1x IR, so no reason not to enable. +VertexRounding = True + diff --git a/Data/Sys/GameSettings/GU2D78.ini b/Data/Sys/GameSettings/GU2D78.ini new file mode 100644 index 0000000000..c936e280ce --- /dev/null +++ b/Data/Sys/GameSettings/GU2D78.ini @@ -0,0 +1,15 @@ +# GU2D78 - 2 Games in 1: The Incredibles / Finding Nemo + +[OnFrame] +$EFB Copy Fix +0x803D2A94:dword:0x00000000:0x3B800000 + +[OnFrame_Enabled] +# Disc one of this game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +# Patch has been made conditional to prevent causing issues on disc 2. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GU2F78.ini b/Data/Sys/GameSettings/GU2F78.ini new file mode 100644 index 0000000000..04bef5ba98 --- /dev/null +++ b/Data/Sys/GameSettings/GU2F78.ini @@ -0,0 +1,15 @@ +# GU2F78 - 2 Games in 1: The Incredibles / Finding Nemo + +[OnFrame] +$EFB Copy Fix +0x803D2A94:dword:0x00000000:0x3B800000 + +[OnFrame_Enabled] +# Disc one of this game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +# Patch has been made conditional to prevent causing issues on disc 2. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GU3.ini b/Data/Sys/GameSettings/GU3.ini new file mode 100644 index 0000000000..5751e20d9b --- /dev/null +++ b/Data/Sys/GameSettings/GU3.ini @@ -0,0 +1,19 @@ +# GU3D78, GU3X78 - 2 Games in 1: The Incredibles / Finding Nemo + +[Core] +# Values set here will override the main Dolphin settings. + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + +[Video_Hacks] +# Fixes shadows at higher resolution on disc 1. +# Option has no effect at 1x IR, so no reason not to enable. +VertexRounding = True + diff --git a/Data/Sys/GameSettings/GU3D78.ini b/Data/Sys/GameSettings/GU3D78.ini new file mode 100644 index 0000000000..7d4f3bde13 --- /dev/null +++ b/Data/Sys/GameSettings/GU3D78.ini @@ -0,0 +1,15 @@ +# GU3D78 - 2 Games in 1: The SpongeBob SquarePants Movie / Tak 2: The Staff of Dreams + +[OnFrame] +$EFB Copy Fix +0x803CD414:dword:0x00000000:0x3B000000 + +[OnFrame_Enabled] +# Disc 1 of this game game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00195313 to 1.00195. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +# The patch has been made conditional as not to crash disc 2's game. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GU3X78.ini b/Data/Sys/GameSettings/GU3X78.ini new file mode 100644 index 0000000000..cb7341e261 --- /dev/null +++ b/Data/Sys/GameSettings/GU3X78.ini @@ -0,0 +1,15 @@ +# GU3X78 - 2 Games in 1: The SpongeBob SquarePants Movie / Tak 2: The Staff of Dreams + +[OnFrame] +$EFB Copy Fix +0x804BA014:dword:0x00000000:0x3B800000 + +[OnFrame_Enabled] +# Disc 1 of this game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +# The patch has been made conditional as not to crash disc 2's game. +$EFB Copy Fix diff --git a/Data/Sys/GameSettings/GU4.ini b/Data/Sys/GameSettings/GU4.ini new file mode 100644 index 0000000000..9a69474ae6 --- /dev/null +++ b/Data/Sys/GameSettings/GU4.ini @@ -0,0 +1,20 @@ +# GU4Y78 - 2 Games in 1: Nickelodeon SpongeBob Schwammkopf: Der Film + Nickelodeon SpongeBob Schwammkopf: Schlacht um Bikini Bottom + +[Core] +# Values set here will override the main Dolphin settings. + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + +[Video_Hacks] +# Fixes shadows at higher resolution. +# Option has no effect at 1x IR, so no reason not to enable. +VertexRounding = True +# Needed for some FMVs on disc 1. +ImmediateXFBEnable = False diff --git a/Data/Sys/GameSettings/GU4Y78.ini b/Data/Sys/GameSettings/GU4Y78.ini new file mode 100644 index 0000000000..fee110ccb3 --- /dev/null +++ b/Data/Sys/GameSettings/GU4Y78.ini @@ -0,0 +1,22 @@ +# GU4Y78 - 2 Games in 1: Nickelodeon SpongeBob Schwammkopf: Der Film + Nickelodeon SpongeBob Schwammkopf: Schlacht um Bikini Bottom + +[OnFrame] +$EFB Copy Fix +0x803CD414:dword:0x00000000:0x3B000000 +0x804B9510:dword:0x00000000:0x3B800000 + +[OnFrame_Enabled] +# Disc 1 of this game game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00195313 to 1.00195. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +# Disc 2 of this game renders an EFB copy with texture repeating enabled +# and it draws from texture coordinate 0.00390625 to 1.00390625. +# This only works on console and 1x IR due to low precision. +# "EFB Copy Fix" adjusts the region to not cause bugs at higher +# resolutions. In order for this patch to fully work, the +# Vertex Rounding Hack must be enabled. +# These patches have been made conditional. +$EFB Copy Fix