GameDatabase: Add ForceFullBoot trait

And set it for Nightmare Creatures. Game's disc code is a nightmare.
This commit is contained in:
Stenzek 2024-10-29 22:15:58 +10:00
parent 814f22f58b
commit 5bca12a840
No known key found for this signature in database
3 changed files with 18 additions and 1 deletions

View File

@ -114614,6 +114614,7 @@ SCES-00582:
- DigitalController - DigitalController
traits: traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive. - ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata: metadata:
publisher: "Activision" publisher: "Activision"
developer: "Kalisto Technologies" developer: "Kalisto Technologies"
@ -114635,6 +114636,7 @@ SCES-00684:
- DigitalController - DigitalController
traits: traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive. - ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata: metadata:
publisher: "Activision" publisher: "Activision"
developer: "Kalisto Technologies" developer: "Kalisto Technologies"
@ -114656,6 +114658,7 @@ SIPS-60027:
- DigitalController - DigitalController
traits: traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive. - ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata: metadata:
publisher: "Sony" publisher: "Sony"
developer: "Kalisto Technologies" developer: "Kalisto Technologies"
@ -114676,6 +114679,7 @@ PCPX-96101:
genre: "** DEMO **" genre: "** DEMO **"
traits: traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive. - ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
SLUS-00582: SLUS-00582:
name: "Nightmare Creatures (USA)" name: "Nightmare Creatures (USA)"
compatibility: compatibility:
@ -114686,6 +114690,7 @@ SLUS-00582:
- DigitalController - DigitalController
traits: traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive. - ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata: metadata:
publisher: "Activision" publisher: "Activision"
developer: "Kalisto Technologies" developer: "Kalisto Technologies"
@ -114706,6 +114711,7 @@ SLUS-90011:
genre: "** DEMO **" genre: "** DEMO **"
traits: traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive. - ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
SLES-02751: SLES-02751:
name: "Nightmare Creatures II (Europe) (En,Fr,De)" name: "Nightmare Creatures II (Europe) (En,Fr,De)"
controllers: controllers:

View File

@ -40,7 +40,7 @@ namespace GameDatabase {
enum : u32 enum : u32
{ {
GAME_DATABASE_CACHE_SIGNATURE = 0x45434C48, GAME_DATABASE_CACHE_SIGNATURE = 0x45434C48,
GAME_DATABASE_CACHE_VERSION = 17, GAME_DATABASE_CACHE_VERSION = 18,
}; };
static const Entry* GetEntryForId(std::string_view code); static const Entry* GetEntryForId(std::string_view code);
@ -82,6 +82,7 @@ static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCou
"ForceRoundTextureCoordinates", "ForceRoundTextureCoordinates",
"ForceAccurateBlending", "ForceAccurateBlending",
"ForceDeinterlacing", "ForceDeinterlacing",
"ForceFullBoot",
"DisableAutoAnalogMode", "DisableAutoAnalogMode",
"DisableTrueColor", "DisableTrueColor",
"DisableUpscaling", "DisableUpscaling",
@ -112,6 +113,7 @@ static constexpr const std::array<const char*, static_cast<size_t>(Trait::MaxCou
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Round Texture Coordinates", "GameDatabase::Trait"), TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Round Texture Coordinates", "GameDatabase::Trait"),
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Accurate Blending", "GameDatabase::Trait"), TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Accurate Blending", "GameDatabase::Trait"),
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Deinterlacing", "GameDatabase::Trait"), TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Deinterlacing", "GameDatabase::Trait"),
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Force Full Boot", "GameDatabase::Trait"),
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Automatic Analog Mode", "GameDatabase::Trait"), TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Automatic Analog Mode", "GameDatabase::Trait"),
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable True Color", "GameDatabase::Trait"), TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable True Color", "GameDatabase::Trait"),
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Upscaling", "GameDatabase::Trait"), TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Upscaling", "GameDatabase::Trait"),
@ -493,6 +495,14 @@ void GameDatabase::Entry::ApplySettings(Settings& settings, bool display_osd_mes
} }
} }
if (HasTrait(Trait::ForceFullBoot))
{
if (display_osd_messages && settings.bios_patch_fast_boot)
APPEND_MESSAGE(TRANSLATE_SV("GameDatabase", "Fast boot disabled."));
settings.bios_patch_fast_boot = false;
}
if (HasTrait(Trait::DisableTrueColor)) if (HasTrait(Trait::DisableTrueColor))
{ {
if (display_osd_messages && settings.gpu_true_color) if (display_osd_messages && settings.gpu_true_color)

View File

@ -39,6 +39,7 @@ enum class Trait : u32
ForceRoundUpscaledTextureCoordinates, ForceRoundUpscaledTextureCoordinates,
ForceAccurateBlending, ForceAccurateBlending,
ForceDeinterlacing, ForceDeinterlacing,
ForceFullBoot,
DisableAutoAnalogMode, DisableAutoAnalogMode,
DisableTrueColor, DisableTrueColor,
DisableUpscaling, DisableUpscaling,