Skip to content

Commit b9571a2

Browse files
committed
GameDatabase: Add DisableAllBordersCrop trait
1 parent e7862b9 commit b9571a2

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/core/game_database.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ namespace GameDatabase {
4141
enum : u32
4242
{
4343
GAME_DATABASE_CACHE_SIGNATURE = 0x45434C48,
44-
GAME_DATABASE_CACHE_VERSION = 32,
44+
GAME_DATABASE_CACHE_VERSION = 33,
4545
};
4646

4747
static const Entry* GetEntryForId(std::string_view code);
@@ -101,6 +101,7 @@ static constexpr const std::array s_trait_names = {
101101
"DisableSpriteTextureFiltering",
102102
"DisableScaledDithering",
103103
"DisableScaledInterlacing",
104+
"DisableAllBordersCrop",
104105
"DisableWidescreen",
105106
"DisablePGXP",
106107
"DisablePGXPCulling",
@@ -138,6 +139,7 @@ static constexpr const std::array s_trait_display_names = {
138139
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Sprite Texture Filtering", "GameDatabase::Trait"),
139140
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Scaled Dithering", "GameDatabase::Trait"),
140141
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Scaled Interlacing", "GameDatabase::Trait"),
142+
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable All Borders Crop", "GameDatabase::Trait"),
141143
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable Widescreen", "GameDatabase::Trait"),
142144
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable PGXP", "GameDatabase::Trait"),
143145
TRANSLATE_DISAMBIG_NOOP("GameDatabase", "Disable PGXP Culling", "GameDatabase::Trait"),
@@ -597,6 +599,18 @@ void GameDatabase::Entry::ApplySettings(Settings& settings, bool display_osd_mes
597599

598600
settings.display_crop_mode = display_crop_mode.value();
599601
}
602+
else if (HasTrait(Trait::DisableAllBordersCrop) && settings.display_crop_mode >= DisplayCropMode::Borders &&
603+
settings.display_crop_mode <= DisplayCropMode::BordersUncorrected)
604+
{
605+
constexpr DisplayCropMode new_mode = DisplayCropMode::Overscan;
606+
if (display_osd_messages)
607+
{
608+
append_message_fmt(TRANSLATE_FS("GameDatabase", "Display cropping set to {}."),
609+
Settings::GetDisplayCropModeDisplayName(new_mode));
610+
}
611+
612+
settings.display_crop_mode = new_mode;
613+
}
600614

601615
if (HasTrait(Trait::ForceSoftwareRenderer))
602616
{

src/core/game_database.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ enum class Trait : u32
5454
DisableSpriteTextureFiltering,
5555
DisableScaledDithering,
5656
DisableScaledInterlacing,
57+
DisableAllBordersCrop,
5758
DisableWidescreen,
5859
DisablePGXP,
5960
DisablePGXPCulling,

0 commit comments

Comments
 (0)