GameSettings: Add GPU renderer and 8MB RAM options

This commit is contained in:
Connor McLaughlin
2021-05-08 03:02:57 +10:00
parent 99876588c4
commit e226464a35
8 changed files with 129 additions and 20 deletions

View File

@ -131,6 +131,13 @@ void GamePropertiesDialog::setupAdditionalUi()
GameList::GetGameListCompatibilityRatingString(static_cast<GameListCompatibilityRating>(i))));
}
m_ui.userRenderer->addItem(tr("(unchanged)"));
for (u32 i = 0; i < static_cast<u32>(GPURenderer::Count); i++)
{
m_ui.userRenderer->addItem(
qApp->translate("GPURenderer", Settings::GetRendererDisplayName(static_cast<GPURenderer>(i))));
}
m_ui.userAspectRatio->addItem(tr("(unchanged)"));
for (u32 i = 0; i < static_cast<u32>(DisplayAspectRatio::Count); i++)
{
@ -303,6 +310,7 @@ void GamePropertiesDialog::populateGameSettings()
}
populateBooleanUserSetting(m_ui.userEnableCPUClockSpeedControl, gs.cpu_overclock_enable);
populateBooleanUserSetting(m_ui.userEnable8MBRAM, gs.enable_8mb_ram);
updateCPUClockSpeedLabel();
if (gs.cdrom_read_speedup.has_value())
@ -387,6 +395,12 @@ void GamePropertiesDialog::populateGameSettings()
}
onUserAspectRatioChanged();
if (gs.gpu_renderer.has_value())
{
QSignalBlocker sb(m_ui.userRenderer);
m_ui.userRenderer->setCurrentIndex(static_cast<int>(gs.gpu_renderer.value()) + 1);
}
if (gs.gpu_downsample_mode.has_value())
{
QSignalBlocker sb(m_ui.userDownsampleMode);
@ -545,6 +559,7 @@ void GamePropertiesDialog::connectUi()
});
connectBooleanUserSetting(m_ui.userEnableCPUClockSpeedControl, &m_game_settings.cpu_overclock_enable);
connectBooleanUserSetting(m_ui.userEnable8MBRAM, &m_game_settings.enable_8mb_ram);
connect(m_ui.userEnableCPUClockSpeedControl, &QCheckBox::stateChanged, this,
&GamePropertiesDialog::updateCPUClockSpeedLabel);
@ -597,6 +612,14 @@ void GamePropertiesDialog::connectUi()
saveGameSettings();
});
connect(m_ui.userRenderer, QOverload<int>::of(&QComboBox::currentIndexChanged), [this](int index) {
if (index <= 0)
m_game_settings.gpu_renderer.reset();
else
m_game_settings.gpu_renderer = static_cast<GPURenderer>(index - 1);
saveGameSettings();
});
connect(m_ui.userCropMode, QOverload<int>::of(&QComboBox::currentIndexChanged), [this](int index) {
if (index <= 0)
m_game_settings.display_crop_mode.reset();

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>793</width>
<height>651</height>
<width>769</width>
<height>706</height>
</rect>
</property>
<property name="windowTitle">
@ -252,6 +252,13 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="userEnable8MBRAM">
<property name="text">
<string>Enable 8MB RAM (Dev Console)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@ -261,14 +268,14 @@
<string>GPU Screen Display</string>
</property>
<layout class="QFormLayout" name="formLayout_5">
<item row="0" column="0">
<item row="1" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Aspect Ratio:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_8" stretch="1,0,0,0">
<item>
<widget class="QComboBox" name="userAspectRatio"/>
@ -302,27 +309,27 @@
</item>
</layout>
</item>
<item row="1" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Crop Mode:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="2" column="1">
<widget class="QComboBox" name="userCropMode"/>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_31">
<property name="text">
<string>Downsampling:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="3" column="1">
<widget class="QComboBox" name="userDownsampleMode"/>
</item>
<item row="3" column="0" colspan="2">
<item row="4" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QCheckBox" name="userLinearUpscaling">
@ -346,6 +353,16 @@
</item>
</layout>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_34">
<property name="text">
<string>Renderer:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="userRenderer"/>
</item>
</layout>
</widget>
</item>