The use of any anti-aliasing will cause graphical corruption, which occurs on the ground.
MaxAnisotropy is supposed to be for [Video_Enhancements], but also it doesn't cause any of the issues in game so it is being removed rather than set under the correct heading.
Added a comment on why these values are set.
These codes are actually Gecko codes so setting that correctly.
There were errors which pop up when running this game as the comments for AR codes need to be set with hash(#) instead of asterisk(*). I replaced those anyways.
Removed the url in the comment since it's inaccessible and not on wayback machine either.
Also corrected the GameID, the wrong one is listed.
The wrong filename was used so the settings weren't being applied.
The graphical issues reported were from enhancements that create graphical issues.
EFBToTextureEnable solves some graphical issues but those issues appear for only a few frames, the bulk of the game does not benefit while the setting while it is very sore on performance.
Arbitrary Mipmap Detection doesn't work when GPU Texture Decoding is
enabled, so disable GPU Texture Decoding for games where the .ini
enables Arbitrary Mipmap Detection.
Co-authored-by: jeremyie <73066289+McAchi@users.noreply.github.com>
These patches were added in bde9a459cd
and enabled by default in 36ecfdd6b5.
They allowed the game to run in Dolphin but disabled dynamic shadows.
The game adds 4 to the start address of otherwise valid display lists
for no obvious reason. Now that Dolphin forces 32-byte alignment these
patches are no longer needed.
Prototype of a system to whitelist known game patches that are allowed to be used while RetroAchievements Hardcore mode is active. ApprovedInis.txt contains known hashes for the ini files as they appear in the repo, and can be compared to the local versions of these files to ensure they have not been edited locally by the player. ApprovedInis.txt is hashed and verified similarly first, with its hash residing as a const string within AchievementManager.h, ensuring ApprovedInis and the hashes within cannot be modified without editing Dolphin's source code and recompiling completely.
Adjusts widescreen heuristic values to work properly for both the original game and the widescreen hack versions of Shadow the Hedgehog (all regions), Game ID GUP.
Credit to Billiard for determining values.
The defaults get loaded in by Dolphin at emulator start, and are used if the badge that would normally be displayed has not for whatever reason been downloaded yet. Badges attached to this PR are placeholders (MayIMilae is designing permanent badges) and reside in Sys\Load\RetroAchievements.
This was causing the game to output thousands of FPS during the loading screen when it would run uncapped if Immediately Present XFB was enabled.
Please see Redmine 13447 for reference.
This is another one of those games that has an optional screenshot
feature where the images end up all black if you have Store EFB Copies
to Texture Only turned on. Like for other such games, let's not force
Store EFB Copies to Texture Only off, since it's a large performance
impact for a feature most players won't use.
There's one wrinkle here. As part of teaching the player how to take
screenshots, the game forces the player to take a screenshot before it
lets them progress in the story. However, the game doesn't care what's
in the screenshot, so you can progress just fine even if Store EFB
Copies to Texture Only is turned on. I personally tested it.
For buttons and some character icons the game loads palleted PNGs and
tiles the pallet indices directly into C4 textures but fails to take
into account that PNG and C4 use opposite nibble orders. This causes
adjacent pixel columns to be swapped, see issue 13370.
Also disable Immediate XFB for the Japanese release. It has the same
black screen and flickering issues as the other regions.
To further increase the accuracy of the post process phase, I've added (scRGB) HDR support, which is necessary
to fully display the PAL and NTSC-J color spaces, and also to improve the quality of post process texture samplings and
do them in linear space instead of gamma space (which is very important when playing at low resolutions).
For SDR, the quality is also slightly increased, at least if any post process runs, as the buffer is now
R10G10B10A2 (on Vulkan, DX11 and DX12) if supported; previously it was R8G8B8A8 but the alpha bits were wasted.
Gamma correction is arguably the most important thing as Dolphin on Windows outputted in "sRGB" (implicitly)
as that's what Windows expects by default, though sRGB gamma is very different from the gamma commonly used
by video standards dating to the pre HDR era (roughly gamma 2.35).
Additionally, the addition of HDR support (which is pretty straight forward and minimal), added support for
our own custom AutoHDR shaders, which would allow us to achieve decent looking HDR in Dolphin games without
having to use SpecialK or Windows 11 AutoHDR. Both of which don't necessarily play nice with older games
with strongly different and simpler lighting. HDR should also be supported in Linux.
Development of my own AutoHDR shader is almost complete and will come next.
This has been carefully tested and there should be no regression in any of the different features that Dolphin
offers, like multisampling, stereo rendering, other post processes, etc etc.
Fixes: https://bugs.dolphin-emu.org/issues/8941
Co-authored-by: EndlesslyFlowering <EndlesslyFlowering@protonmail.com>
Co-authored-by: Dogway <lin_ares@hotmail.com>