summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
index 86aad9fc68..f84885798f 100644
--- a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
+++ b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
@@ -7,6 +7,8 @@
#include <QCheckBox>
#include <QGridLayout>
#include <QGroupBox>
+#include <QLabel>
+#include <QSpinBox>
#include <QVBoxLayout>
#include "Core/Config/GraphicsSettings.h"
@@ -16,6 +18,7 @@
#include "DolphinQt/Config/Graphics/GraphicsBool.h"
#include "DolphinQt/Config/Graphics/GraphicsChoice.h"
+#include "DolphinQt/Config/Graphics/GraphicsInteger.h"
#include "DolphinQt/Config/Graphics/GraphicsWindow.h"
#include "DolphinQt/Settings.h"
@@ -66,13 +69,10 @@ void AdvancedWidget::CreateWidgets()
m_load_custom_textures = new GraphicsBool(tr("Load Custom Textures"), Config::GFX_HIRES_TEXTURES);
m_prefetch_custom_textures =
new GraphicsBool(tr("Prefetch Custom Textures"), Config::GFX_CACHE_HIRES_TEXTURES);
- m_use_fullres_framedumps = new GraphicsBool(tr("Internal Resolution Frame Dumps"),
- Config::GFX_INTERNAL_RESOLUTION_FRAME_DUMPS);
m_dump_efb_target = new GraphicsBool(tr("Dump EFB Target"), Config::GFX_DUMP_EFB_TARGET);
m_disable_vram_copies =
new GraphicsBool(tr("Disable EFB VRAM Copies"), Config::GFX_HACK_DISABLE_COPY_TO_VRAM);
m_enable_freelook = new GraphicsBool(tr("Free Look"), Config::GFX_FREE_LOOK);
- m_dump_use_ffv1 = new GraphicsBool(tr("Frame Dumps Use FFV1"), Config::GFX_USE_FFV1);
utility_layout->addWidget(m_load_custom_textures, 0, 0);
utility_layout->addWidget(m_prefetch_custom_textures, 0, 1);
@@ -83,9 +83,21 @@ void AdvancedWidget::CreateWidgets()
utility_layout->addWidget(m_dump_textures, 2, 0);
utility_layout->addWidget(m_dump_efb_target, 2, 1);
- utility_layout->addWidget(m_use_fullres_framedumps, 3, 0);
+ // Frame dumping
+ auto* dump_box = new QGroupBox(tr("Frame Dumping"));
+ auto* dump_layout = new QGridLayout();
+ dump_box->setLayout(dump_layout);
+
+ m_use_fullres_framedumps = new GraphicsBool(tr("Dump at Internal Resolution"),
+ Config::GFX_INTERNAL_RESOLUTION_FRAME_DUMPS);
+ m_dump_use_ffv1 = new GraphicsBool(tr("Use Lossless Codec (FFV1)"), Config::GFX_USE_FFV1);
+ m_dump_bitrate = new GraphicsInteger(0, 1000000, Config::GFX_BITRATE_KBPS, 1000);
+
+ dump_layout->addWidget(m_use_fullres_framedumps, 0, 0);
#if defined(HAVE_FFMPEG)
- utility_layout->addWidget(m_dump_use_ffv1, 3, 1);
+ dump_layout->addWidget(m_dump_use_ffv1, 0, 1);
+ dump_layout->addWidget(new QLabel(tr("Bitrate (kbps):")), 1, 0);
+ dump_layout->addWidget(m_dump_bitrate, 1, 1);
#endif
// Misc.
@@ -120,6 +132,7 @@ void AdvancedWidget::CreateWidgets()
main_layout->addWidget(debugging_box);
main_layout->addWidget(utility_box);
+ main_layout->addWidget(dump_box);
main_layout->addWidget(misc_box);
main_layout->addWidget(experimental_box);
main_layout->addStretch();
@@ -130,19 +143,22 @@ void AdvancedWidget::CreateWidgets()
void AdvancedWidget::ConnectWidgets()
{
connect(m_load_custom_textures, &QCheckBox::toggled, this, &AdvancedWidget::SaveSettings);
+ connect(m_dump_use_ffv1, &QCheckBox::toggled, this, &AdvancedWidget::SaveSettings);
connect(m_enable_prog_scan, &QCheckBox::toggled, this, &AdvancedWidget::SaveSettings);
}
void AdvancedWidget::LoadSettings()
{
m_prefetch_custom_textures->setEnabled(Config::Get(Config::GFX_HIRES_TEXTURES));
+ m_dump_bitrate->setEnabled(!Config::Get(Config::GFX_USE_FFV1));
+
m_enable_prog_scan->setChecked(Config::Get(Config::SYSCONF_PROGRESSIVE_SCAN));
}
void AdvancedWidget::SaveSettings()
{
- const auto hires_enabled = Config::Get(Config::GFX_HIRES_TEXTURES);
- m_prefetch_custom_textures->setEnabled(hires_enabled);
+ m_prefetch_custom_textures->setEnabled(Config::Get(Config::GFX_HIRES_TEXTURES));
+ m_dump_bitrate->setEnabled(!Config::Get(Config::GFX_USE_FFV1));
Config::SetBase(Config::SYSCONF_PROGRESSIVE_SCAN, m_enable_prog_scan->isChecked());
}