This game is the earliest of Heavy Iron Studios' games and has a similar
offset issue to that of the SpongeBob and Incredibles games. While they
weren't offsetting it and breaking shadows like the other games, there's
still an offset in the upper left corner of the screen. This fixes
that, and has no effect at 1x IR, so it's safe to enable by default.
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.
SpongeBob SquarePants: The Movie suffers from all of the same issues as
Battle for Bikini Bottom. These patches are not based on any existing
cheats or codes.
Only the NTSC version of Gladius got a patch with smurf3tte's reverse
engineering work. Since most of the work was done, I ported over the
fix to the PAL, French, and German releases. Leoetlino helped figure
out a consistent way to find the correct address.
This enables Vertex Rounding Hack and has a game patch for two bugs
resulting from game choices. The game draws an efb copy at
coordinate 0.00195313 to 1.00195 repeating which only works due to how the
numbers work out at low resolution.
The Vertex Rounding Hack is a null operation on 1x IR, so there should
be no concern enabling it by default since higher resolutions are
completely broken without it.
This is a port of the NTSC patch to the Japanese and PAL regions. Bonta
converted the GBA code, and leoetlino helped convert some addresses for
the japanese version.
de Blob 2 has the same engine as de blob and shares a lot of the same
issues. I copied the settings used for de blob. It seems defer EFB
copies was the main culprit, but force texture filtering could also
cause problems.
At extreme angles, there is severe shadow zfighting with fast depth
disabled. Enabling it causes it work on all backends without issue.
Verified in OpenGL, D3D11, D3D12, and Vulkan.
Sin & Punishment: Star Successor has rendering issues in the upper left
part of the screen. While we can't completely fix it, by disabling
Store EFB Copies to Texture only, we can make it from a missing box to
just a couple of lines being visible that make up the copy region.
Disables Store EFB Copies to Texture Only. As this game has a lot of
water, the water not rendering correctly provides a pretty significant
gameplay issue.
Baten Kaitos will crash with certain items in your inventory if you
scroll over them in the shop screen. SyncGPU does not fix the issue,
but single core does.
Specifically, 'Scooby-Doo! Mystery Mayhem', 'Scooby-Doo! Unmasked', 'Ed, Edd n Eddy: The Mis-Edventures', and the Wii version of 'Happy Feet'.
The JIT cache causes problems with emulated icache invalidation in these games, resulting in areas failing to load.
These games are erroneously zeroing buffers before they can be fully copied to ARAM by DMA. The responsible memset() calls are followed by a call to DVDRead() which issues dcbi instructions that effectively cancel the memset() on real hardware. Because Dolphin lacks dcache emulation, the effects of the memset() calls are observed, which causes missing audio.
In a comment on the original bug, phire noted that the issue can be corrected by simply nop'ing out the offending memset() calls. Because the games dynamically load different .rel executables based on the character and/or language, the addresses of these calls can vary.
To deal generally with the problem of code being dynamically loaded to fixed, known addresses, the patch engine is extended to support conditional patches which require a match against a known value. This sort of thing is already achievable with Action Replay/Gecko codes, but their use depends on enabling cheats globally in Dolphin, which is not a prerequisite shared by patches.
Patches are included for every region, character, and language combination. They are enabled by default.
The end result is an approximation of the games' behavior on real hardware without the associated complexity of proper dcache emulation.
https://bugs.dolphin-emu.org/issues/9840
This game can deadlock the CPU and GPU by setting FIFO breakpoints too infrequently, provided the CPU gets too far ahead, as can happen under Dolphin due to timing inaccuracies. The game never clears breakpoints, and it will skip setting them if the previous one has not been hit by the GPU. If the CPU gets far enough ahead it will reach the FIFO high water mark and trigger an overflow interrupt, causing the render thread to be suspended. The GPU will make forward progress until it hits the last set breakpoint. However, if the distance between that breakpoint and the FIFO write pointer is greater than the low water mark, then the GPU will never generate an underflow interrupt and the render thread will never be resumed. This patch forces the game to update the breakpoint unconditionally and has been tested on real hardware with no apparent ill effect.
This patch covers the US release (GLSE64), but there are three more (GLSD64, GLSF64, GLSP64) that will likely require similar patches.
This fixes the crash at Goblin Wall: https://bugs.dolphin-emu.org/issues/9915
A patch (for the US release only) that fixes the game's buffer overrun bug is included as an alternative with lower performance cost. It is disabled by default.
The first call to GXCopyDisp() corrupts game data, but on real hardware it isn't observed thanks to the data cache. Skipping the call works too, preventing a crash on boot.
This patch is enabled by default.
This enables patches for game-breaking problems by default.
My criterion for which patches to select was that the patch
has to make the game's behavior closer to how the game acts
on console. So workarounds for Dolphin not emulating caches
accurately are enabled by default, but not things like
Twilight Princess's minimap speedhack or patches for
disabling memory card checks in Pokémon games.
This game requires EFB turned off, otherwise every game will black screen, and it requires Safe Texture Cache to Safe, otherwise the cursor in game won't update, making it really hard to navigate the menu's