@@ -41,7 +41,7 @@ namespace GameDatabase {
4141enum : u32
4242{
4343 GAME_DATABASE_CACHE_SIGNATURE = 0x45434C48 ,
44- GAME_DATABASE_CACHE_VERSION = 32 ,
44+ GAME_DATABASE_CACHE_VERSION = 33 ,
4545};
4646
4747static 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 {
0 commit comments