GameDatabase: Add DisableFullTrueColor trait
This commit is contained in:
parent
1fca8ae6bf
commit
4ce001aef3
|
@ -19400,6 +19400,7 @@ SLES-03552:
|
|||
traits:
|
||||
- ForceRecompilerICache
|
||||
- DisableWidescreen # Breaks sprite sizes.
|
||||
- DisableFullTrueColor # Breaks menu background colour.
|
||||
metadata:
|
||||
publisher: "Capcom"
|
||||
developer: "Capcom"
|
||||
|
@ -19425,6 +19426,7 @@ SLUS-01324:
|
|||
traits:
|
||||
- ForceRecompilerICache
|
||||
- DisableWidescreen # Breaks sprite sizes.
|
||||
- DisableFullTrueColor # Breaks menu background colour.
|
||||
metadata:
|
||||
publisher: "Capcom"
|
||||
developer: "Capcom"
|
||||
|
@ -19447,6 +19449,7 @@ SLPS-02728:
|
|||
traits:
|
||||
- ForceRecompilerICache
|
||||
- DisableWidescreen # Breaks sprite sizes.
|
||||
- DisableFullTrueColor # Breaks menu background colour.
|
||||
codes:
|
||||
- SLPS-02728
|
||||
- SLPM-87159
|
||||
|
@ -81489,6 +81492,8 @@ SLUS-01383:
|
|||
controllers:
|
||||
- AnalogController
|
||||
- DigitalController
|
||||
traits:
|
||||
- DisableFullTrueColor # Breaks loading screen background colour.
|
||||
metadata:
|
||||
publisher: "Knowledge Adventure"
|
||||
developer: "Digital Illusions CE, Canada"
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace GameDatabase {
|
|||
enum : u32
|
||||
{
|
||||
GAME_DATABASE_CACHE_SIGNATURE = 0x45434C48,
|
||||
GAME_DATABASE_CACHE_VERSION = 23,
|
||||
GAME_DATABASE_CACHE_VERSION = 24,
|
||||
};
|
||||
|
||||
static const Entry* GetEntryForId(std::string_view code);
|
||||
|
@ -74,7 +74,7 @@ static constexpr const std::array<const char*, static_cast<size_t>(Compatibility
|
|||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "No Issues", "CompatibilityRating"),
|
||||
}};
|
||||
|
||||
static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCount)> s_trait_names = {{
|
||||
static constexpr const std::array s_trait_names = {
|
||||
"ForceInterpreter",
|
||||
"ForceSoftwareRenderer",
|
||||
"ForceSoftwareRendererForReadbacks",
|
||||
|
@ -86,6 +86,7 @@ static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCou
|
|||
"DisableAutoAnalogMode",
|
||||
"DisableMultitap",
|
||||
"DisableTrueColor",
|
||||
"DisableFullTrueColor",
|
||||
"DisableUpscaling",
|
||||
"DisableTextureFiltering",
|
||||
"DisableSpriteTextureFiltering",
|
||||
|
@ -103,9 +104,10 @@ static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCou
|
|||
"ForceRecompilerICache",
|
||||
"ForceCDROMSubQSkew",
|
||||
"IsLibCryptProtected",
|
||||
}};
|
||||
};
|
||||
static_assert(s_trait_names.size() == static_cast<size_t>(Trait::MaxCount));
|
||||
|
||||
static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCount)> s_trait_display_names = {{
|
||||
static constexpr const std::array s_trait_display_names = {
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Interpreter", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Software Renderer", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Software Renderer For Readbacks", "GameDatabase::Trait"),
|
||||
|
@ -117,6 +119,7 @@ static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCou
|
|||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Automatic Analog Mode", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Multitap", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable True Color", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Full True Color", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Upscaling", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Texture Filtering", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Sprite Texture Filtering", "GameDatabase::Trait"),
|
||||
|
@ -134,13 +137,15 @@ static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCou
|
|||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Recompiler ICache", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force CD-ROM SubQ Skew", "GameDatabase::Trait"),
|
||||
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Is LibCrypt Protected", "GameDatabase::Trait"),
|
||||
}};
|
||||
};
|
||||
static_assert(s_trait_display_names.size() == static_cast<size_t>(Trait::MaxCount));
|
||||
|
||||
static constexpr std::array<const char*, static_cast<size_t>(Language::MaxCount)> s_language_names = {{
|
||||
static constexpr std::array s_language_names = {
|
||||
"Catalan", "Chinese", "Czech", "Danish", "Dutch", "English", "Finnish", "French",
|
||||
"German", "Greek", "Hebrew", "Iranian", "Italian", "Japanese", "Korean", "Norwegian",
|
||||
"Polish", "Portuguese", "Russian", "Spanish", "Swedish", "Turkish",
|
||||
}};
|
||||
};
|
||||
static_assert(s_language_names.size() == static_cast<size_t>(Language::MaxCount));
|
||||
|
||||
static constexpr const char* GAMEDB_YAML_FILENAME = "gamedb.yaml";
|
||||
static constexpr const char* DISCDB_YAML_FILENAME = "discdb.yaml";
|
||||
|
@ -521,8 +526,9 @@ void GameDatabase::Entry::ApplySettings(Settings& settings, bool display_osd_mes
|
|||
}
|
||||
}
|
||||
|
||||
if (HasTrait(Trait::DisableTrueColor) || HasTrait(Trait::DisableScaledDithering) ||
|
||||
HasTrait(Trait::ForceShaderBlending) || HasTrait(Trait::ForceFullTrueColor))
|
||||
if (HasTrait(Trait::DisableTrueColor) || HasTrait(Trait::DisableFullTrueColor) ||
|
||||
HasTrait(Trait::DisableScaledDithering) || HasTrait(Trait::ForceShaderBlending) ||
|
||||
HasTrait(Trait::ForceFullTrueColor))
|
||||
{
|
||||
// Note: The order these are applied matters.
|
||||
const GPUDitheringMode old_mode = settings.gpu_dithering_mode;
|
||||
|
@ -545,6 +551,10 @@ void GameDatabase::Entry::ApplySettings(Settings& settings, bool display_osd_mes
|
|||
{
|
||||
settings.gpu_dithering_mode = GPUDitheringMode::TrueColorFull;
|
||||
}
|
||||
if (HasTrait(Trait::DisableFullTrueColor) && settings.gpu_dithering_mode == GPUDitheringMode::TrueColorFull)
|
||||
{
|
||||
settings.gpu_dithering_mode = GPUDitheringMode::TrueColor;
|
||||
}
|
||||
|
||||
if (display_osd_messages && settings.gpu_dithering_mode != old_mode)
|
||||
{
|
||||
|
|
|
@ -44,6 +44,7 @@ enum class Trait : u32
|
|||
DisableAutoAnalogMode,
|
||||
DisableMultitap,
|
||||
DisableTrueColor,
|
||||
DisableFullTrueColor,
|
||||
DisableUpscaling,
|
||||
DisableTextureFiltering,
|
||||
DisableSpriteTextureFiltering,
|
||||
|
|
Loading…
Reference in New Issue