Skip to content

Commit

Permalink
GameDatabase: Add ForceFullBoot trait
Browse files Browse the repository at this point in the history
And set it for Nightmare Creatures. Game's disc code is a nightmare.
stenzek committed Oct 30, 2024
1 parent 814f22f commit 5bca12a
Showing 3 changed files with 18 additions and 1 deletion.
6 changes: 6 additions & 0 deletions data/resources/gamedb.yaml
Original file line number Diff line number Diff line change
@@ -114614,6 +114614,7 @@ SCES-00582:
- DigitalController
traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata:
publisher: "Activision"
developer: "Kalisto Technologies"
@@ -114635,6 +114636,7 @@ SCES-00684:
- DigitalController
traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata:
publisher: "Activision"
developer: "Kalisto Technologies"
@@ -114656,6 +114658,7 @@ SIPS-60027:
- DigitalController
traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata:
publisher: "Sony"
developer: "Kalisto Technologies"
@@ -114676,6 +114679,7 @@ PCPX-96101:
genre: "** DEMO **"
traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
SLUS-00582:
name: "Nightmare Creatures (USA)"
compatibility:
@@ -114686,6 +114690,7 @@ SLUS-00582:
- DigitalController
traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
metadata:
publisher: "Activision"
developer: "Kalisto Technologies"
@@ -114706,6 +114711,7 @@ SLUS-90011:
genre: "** DEMO **"
traits:
- ForceRecompilerICache # Crappy CD code on boot is timing sensitive.
- ForceFullBoot # Full boot improves reliability.
SLES-02751:
name: "Nightmare Creatures II (Europe) (En,Fr,De)"
controllers:
12 changes: 11 additions & 1 deletion src/core/game_database.cpp
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@ namespace GameDatabase {
enum : u32
{
GAME_DATABASE_CACHE_SIGNATURE = 0x45434C48,
GAME_DATABASE_CACHE_VERSION = 17,
GAME_DATABASE_CACHE_VERSION = 18,
};

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",
"ForceAccurateBlending",
"ForceDeinterlacing",
"ForceFullBoot",
"DisableAutoAnalogMode",
"DisableTrueColor",
"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 Accurate Blending", "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 True Color", "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 (display_osd_messages && settings.gpu_true_color)
1 change: 1 addition & 0 deletions src/core/game_database.h
Original file line number Diff line number Diff line change
@@ -39,6 +39,7 @@ enum class Trait : u32
ForceRoundUpscaledTextureCoordinates,
ForceAccurateBlending,
ForceDeinterlacing,
ForceFullBoot,
DisableAutoAnalogMode,
DisableTrueColor,
DisableUpscaling,

0 comments on commit 5bca12a

Please sign in to comment.