mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-03-22 17:46:08 -04:00
feat(renderer): add extended resolution scale options
- Add 1.25X (900p/1350p) and 1.75X (1260p/1890p) resolution scales - Fix Android resolution array value mappings (was incorrectly mapped) - Add all resolution options (0.25X to 8X) to Android settings - Mark experimental resolutions with [EXPERIMENTAL] tag Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -88,12 +88,20 @@
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererResolutionNames">
|
||||
<item>@string/resolution_quarter</item>
|
||||
<item>@string/resolution_half</item>
|
||||
<item>@string/resolution_three_quarter</item>
|
||||
<item>@string/resolution_one</item>
|
||||
<item>@string/resolution_one_and_quarter</item>
|
||||
<item>@string/resolution_one_and_half</item>
|
||||
<item>@string/resolution_one_and_three_quarter</item>
|
||||
<item>@string/resolution_two</item>
|
||||
<item>@string/resolution_three</item>
|
||||
<item>@string/resolution_four</item>
|
||||
<item>@string/resolution_five</item>
|
||||
<item>@string/resolution_six</item>
|
||||
<item>@string/resolution_seven</item>
|
||||
<item>@string/resolution_eight</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="rendererVSyncNames">
|
||||
@@ -104,12 +112,20 @@
|
||||
</string-array>
|
||||
|
||||
<integer-array name="rendererResolutionValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>-1</item> <!-- 0.25X (Res1_4X) -->
|
||||
<item>0</item> <!-- 0.5X (Res1_2X) -->
|
||||
<item>1</item> <!-- 0.75X (Res3_4X) -->
|
||||
<item>2</item> <!-- 1X (Res1X) -->
|
||||
<item>11</item> <!-- 1.25X (Res5_4X) -->
|
||||
<item>3</item> <!-- 1.5X (Res3_2X) -->
|
||||
<item>12</item> <!-- 1.75X (Res7_4X) -->
|
||||
<item>4</item> <!-- 2X (Res2X) -->
|
||||
<item>5</item> <!-- 3X (Res3X) -->
|
||||
<item>6</item> <!-- 4X (Res4X) -->
|
||||
<item>7</item> <!-- 5X (Res5X) -->
|
||||
<item>8</item> <!-- 6X (Res6X) -->
|
||||
<item>9</item> <!-- 7X (Res7X) -->
|
||||
<item>10</item> <!-- 8X (Res8X) -->
|
||||
</integer-array>
|
||||
|
||||
<integer-array name="rendererVSyncValues">
|
||||
|
||||
@@ -636,13 +636,20 @@
|
||||
<string name="renderer_accuracy_extreme">Extreme (Slow)</string>
|
||||
|
||||
<!-- Resolutions -->
|
||||
<string name="resolution_quarter">0.25X (180p/270p)</string>
|
||||
<string name="resolution_half">0.5X (360p/540p)</string>
|
||||
<string name="resolution_three_quarter">0.75X (540p/810p)</string>
|
||||
<string name="resolution_quarter">0.25X (180p/270p) [EXPERIMENTAL]</string>
|
||||
<string name="resolution_half">0.5X (360p/540p) [EXPERIMENTAL]</string>
|
||||
<string name="resolution_three_quarter">0.75X (540p/810p) [EXPERIMENTAL]</string>
|
||||
<string name="resolution_one">1X (720p/1080p)</string>
|
||||
<string name="resolution_two">2X (1440p/2160p) (Slow)</string>
|
||||
<string name="resolution_three">3X (2160p/3240p) (Slow)</string>
|
||||
<string name="resolution_four">4X (2880p/4320p) (Slow)</string>
|
||||
<string name="resolution_one_and_quarter">1.25X (900p/1350p) [EXPERIMENTAL]</string>
|
||||
<string name="resolution_one_and_half">1.5X (1080p/1620p) [EXPERIMENTAL]</string>
|
||||
<string name="resolution_one_and_three_quarter">1.75X (1260p/1890p) [EXPERIMENTAL]</string>
|
||||
<string name="resolution_two">2X (1440p/2160p)</string>
|
||||
<string name="resolution_three">3X (2160p/3240p)</string>
|
||||
<string name="resolution_four">4X (2880p/4320p)</string>
|
||||
<string name="resolution_five">5X (3600p/5400p)</string>
|
||||
<string name="resolution_six">6X (4320p/6480p)</string>
|
||||
<string name="resolution_seven">7X (5040p/7560p)</string>
|
||||
<string name="resolution_eight">8X (5760p/8640p)</string>
|
||||
|
||||
<!-- Renderer VSync -->
|
||||
<string name="renderer_vsync_immediate">Immediate (Off)</string>
|
||||
|
||||
@@ -453,7 +453,9 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent) {
|
||||
PAIR(ResolutionSetup, Res1_2X, tr("0.5X (360p/540p) [EXPERIMENTAL]")),
|
||||
PAIR(ResolutionSetup, Res3_4X, tr("0.75X (540p/810p) [EXPERIMENTAL]")),
|
||||
PAIR(ResolutionSetup, Res1X, tr("1X (720p/1080p)")),
|
||||
PAIR(ResolutionSetup, Res5_4X, tr("1.25X (900p/1350p) [EXPERIMENTAL]")),
|
||||
PAIR(ResolutionSetup, Res3_2X, tr("1.5X (1080p/1620p) [EXPERIMENTAL]")),
|
||||
PAIR(ResolutionSetup, Res7_4X, tr("1.75X (1260p/1890p) [EXPERIMENTAL]")),
|
||||
PAIR(ResolutionSetup, Res2X, tr("2X (1440p/2160p)")),
|
||||
PAIR(ResolutionSetup, Res3X, tr("3X (2160p/3240p)")),
|
||||
PAIR(ResolutionSetup, Res4X, tr("4X (2880p/4320p)")),
|
||||
|
||||
@@ -293,10 +293,18 @@ void TranslateResolutionInfo(ResolutionSetup setup, ResolutionScalingInfo& info)
|
||||
info.up_scale = 1;
|
||||
info.down_shift = 0;
|
||||
break;
|
||||
case ResolutionSetup::Res5_4X:
|
||||
info.up_scale = 5;
|
||||
info.down_shift = 2;
|
||||
break;
|
||||
case ResolutionSetup::Res3_2X:
|
||||
info.up_scale = 3;
|
||||
info.down_shift = 1;
|
||||
break;
|
||||
case ResolutionSetup::Res7_4X:
|
||||
info.up_scale = 7;
|
||||
info.down_shift = 2;
|
||||
break;
|
||||
case ResolutionSetup::Res2X:
|
||||
info.up_scale = 2;
|
||||
info.down_shift = 0;
|
||||
|
||||
@@ -625,7 +625,9 @@ enum class ResolutionSetup : s32 {
|
||||
Res1_2X = 0,
|
||||
Res3_4X = 1,
|
||||
Res1X = 2,
|
||||
Res5_4X = 11, // 1.25X
|
||||
Res3_2X = 3,
|
||||
Res7_4X = 12, // 1.75X
|
||||
Res2X = 4,
|
||||
Res3X = 5,
|
||||
Res4X = 6,
|
||||
@@ -643,7 +645,9 @@ EnumMetadata<ResolutionSetup>::Canonicalizations() {
|
||||
{"Res1_2X", ResolutionSetup::Res1_2X},
|
||||
{"Res3_4X", ResolutionSetup::Res3_4X},
|
||||
{"Res1X", ResolutionSetup::Res1X},
|
||||
{"Res5_4X", ResolutionSetup::Res5_4X},
|
||||
{"Res3_2X", ResolutionSetup::Res3_2X},
|
||||
{"Res7_4X", ResolutionSetup::Res7_4X},
|
||||
{"Res2X", ResolutionSetup::Res2X},
|
||||
{"Res3X", ResolutionSetup::Res3X},
|
||||
{"Res4X", ResolutionSetup::Res4X},
|
||||
|
||||
Reference in New Issue
Block a user