mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-28 11:49:06 +00:00
Merge branch 'master' of https://github.com/dolphin-emu/dolphin into dolphin-emu-master
This commit is contained in:
commit
0a2d2c624b
511 changed files with 74722 additions and 58925 deletions
|
@ -14,6 +14,7 @@
|
|||
#include "Core/Config/SYSCONFSettings.h"
|
||||
#include "Core/ConfigManager.h"
|
||||
#include "Core/Core.h"
|
||||
#include "Core/System.h"
|
||||
|
||||
#include "DolphinQt/Config/ConfigControls/ConfigBool.h"
|
||||
#include "DolphinQt/Config/ConfigControls/ConfigChoice.h"
|
||||
|
@ -42,7 +43,8 @@ AdvancedWidget::AdvancedWidget(GraphicsWindow* parent)
|
|||
});
|
||||
|
||||
OnBackendChanged();
|
||||
OnEmulationStateChanged(Core::GetState() != Core::State::Uninitialized);
|
||||
OnEmulationStateChanged(Core::GetState(Core::System::GetInstance()) !=
|
||||
Core::State::Uninitialized);
|
||||
}
|
||||
|
||||
void AdvancedWidget::CreateWidgets()
|
||||
|
@ -84,6 +86,8 @@ void AdvancedWidget::CreateWidgets()
|
|||
|
||||
m_enable_wireframe = new ConfigBool(tr("Enable Wireframe"), Config::GFX_ENABLE_WIREFRAME);
|
||||
m_show_statistics = new ConfigBool(tr("Show Statistics"), Config::GFX_OVERLAY_STATS);
|
||||
m_show_proj_statistics =
|
||||
new ConfigBool(tr("Show Projection Statistics"), Config::GFX_OVERLAY_PROJ_STATS);
|
||||
m_enable_format_overlay =
|
||||
new ConfigBool(tr("Texture Format Overlay"), Config::GFX_TEXFMT_OVERLAY_ENABLE);
|
||||
m_enable_api_validation =
|
||||
|
@ -92,7 +96,8 @@ void AdvancedWidget::CreateWidgets()
|
|||
debugging_layout->addWidget(m_enable_wireframe, 0, 0);
|
||||
debugging_layout->addWidget(m_show_statistics, 0, 1);
|
||||
debugging_layout->addWidget(m_enable_format_overlay, 1, 0);
|
||||
debugging_layout->addWidget(m_enable_api_validation, 1, 1);
|
||||
debugging_layout->addWidget(m_show_proj_statistics, 1, 1);
|
||||
debugging_layout->addWidget(m_enable_api_validation, 2, 0);
|
||||
|
||||
// Utility
|
||||
auto* utility_box = new QGroupBox(tr("Utility"));
|
||||
|
@ -135,21 +140,24 @@ void AdvancedWidget::CreateWidgets()
|
|||
auto* dump_layout = new QGridLayout();
|
||||
dump_box->setLayout(dump_layout);
|
||||
|
||||
m_use_fullres_framedumps = new ConfigBool(tr("Dump at Internal Resolution"),
|
||||
Config::GFX_INTERNAL_RESOLUTION_FRAME_DUMPS);
|
||||
m_frame_dumps_resolution_type =
|
||||
new ConfigChoice({tr("Window Resolution"), tr("Aspect Ratio Corrected Internal Resolution"),
|
||||
tr("Raw Internal Resolution")},
|
||||
Config::GFX_FRAME_DUMPS_RESOLUTION_TYPE);
|
||||
m_dump_use_ffv1 = new ConfigBool(tr("Use Lossless Codec (FFV1)"), Config::GFX_USE_FFV1);
|
||||
m_dump_bitrate = new ConfigInteger(0, 1000000, Config::GFX_BITRATE_KBPS, 1000);
|
||||
m_png_compression_level = new ConfigInteger(0, 9, Config::GFX_PNG_COMPRESSION_LEVEL);
|
||||
|
||||
dump_layout->addWidget(m_use_fullres_framedumps, 0, 0);
|
||||
dump_layout->addWidget(new QLabel(tr("Resolution Type:")), 0, 0);
|
||||
dump_layout->addWidget(m_frame_dumps_resolution_type, 0, 1);
|
||||
#if defined(HAVE_FFMPEG)
|
||||
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);
|
||||
dump_layout->addWidget(m_dump_use_ffv1, 1, 0);
|
||||
dump_layout->addWidget(new QLabel(tr("Bitrate (kbps):")), 2, 0);
|
||||
dump_layout->addWidget(m_dump_bitrate, 2, 1);
|
||||
#endif
|
||||
dump_layout->addWidget(new QLabel(tr("PNG Compression Level:")), 2, 0);
|
||||
dump_layout->addWidget(new QLabel(tr("PNG Compression Level:")), 3, 0);
|
||||
m_png_compression_level->SetTitle(tr("PNG Compression Level"));
|
||||
dump_layout->addWidget(m_png_compression_level, 2, 1);
|
||||
dump_layout->addWidget(m_png_compression_level, 3, 1);
|
||||
|
||||
// Misc.
|
||||
auto* misc_box = new QGroupBox(tr("Misc"));
|
||||
|
@ -294,6 +302,9 @@ void AdvancedWidget::AddDescriptions()
|
|||
static const char TR_SHOW_STATS_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Shows various rendering statistics.<br><br><dolphin_emphasis>If unsure, "
|
||||
"leave this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_SHOW_PROJ_STATS_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Shows various projection statistics.<br><br><dolphin_emphasis>If unsure, "
|
||||
"leave this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_TEXTURE_FORMAT_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Modifies textures to show the format they're encoded in.<br><br>May require "
|
||||
"an emulation reset to apply.<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
|
@ -338,11 +349,21 @@ void AdvancedWidget::AddDescriptions()
|
|||
static const char TR_LOAD_GRAPHICS_MODS_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Loads graphics mods from User/Load/GraphicsMods/.<br><br><dolphin_emphasis>If "
|
||||
"unsure, leave this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_INTERNAL_RESOLUTION_FRAME_DUMPING_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Creates frame dumps and screenshots at the internal resolution of the renderer, rather than "
|
||||
"the size of the window it is displayed within.<br><br>If the aspect ratio is widescreen, "
|
||||
"the output image will be scaled horizontally to preserve the vertical resolution.<br><br>"
|
||||
"<dolphin_emphasis>If unsure, leave this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_FRAME_DUMPS_RESOLUTION_TYPE_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Selects how frame dumps (videos) and screenshots are going to be captured.<br>If the game "
|
||||
"or window resolution change during a recording, multiple video files might be created.<br>"
|
||||
"Note that color correction and cropping are always ignored by the captures."
|
||||
"<br><br><b>Window Resolution</b>: Uses the output window resolution (without black bars)."
|
||||
"<br>This is a simple dumping option that will capture the image more or less as you see it."
|
||||
"<br><b>Aspect Ratio Corrected Internal Resolution</b>: "
|
||||
"Uses the Internal Resolution (XFB size), and corrects it by the target aspect ratio.<br>"
|
||||
"This option will consistently dump at the specified Internal Resolution "
|
||||
"regardless of how the image is displayed during recording."
|
||||
"<br><b>Raw Internal Resolution</b>: Uses the Internal Resolution (XFB size) "
|
||||
"without correcting it with the target aspect ratio.<br>"
|
||||
"This will provide a clean dump without any aspect ratio correction so users have as raw as "
|
||||
"possible input for external editing software.<br><br><dolphin_emphasis>If unsure, leave "
|
||||
"this at \"Aspect Ratio Corrected Internal Resolution\".</dolphin_emphasis>");
|
||||
#if defined(HAVE_FFMPEG)
|
||||
static const char TR_USE_FFV1_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Encodes frame dumps using the FFV1 codec.<br><br><dolphin_emphasis>If "
|
||||
|
@ -421,6 +442,7 @@ void AdvancedWidget::AddDescriptions()
|
|||
|
||||
m_enable_wireframe->SetDescription(tr(TR_WIREFRAME_DESCRIPTION));
|
||||
m_show_statistics->SetDescription(tr(TR_SHOW_STATS_DESCRIPTION));
|
||||
m_show_proj_statistics->SetDescription(tr(TR_SHOW_PROJ_STATS_DESCRIPTION));
|
||||
m_enable_format_overlay->SetDescription(tr(TR_TEXTURE_FORMAT_DESCRIPTION));
|
||||
m_enable_api_validation->SetDescription(tr(TR_VALIDATION_LAYER_DESCRIPTION));
|
||||
m_perf_samp_window->SetDescription(tr(TR_PERF_SAMP_WINDOW_DESCRIPTION));
|
||||
|
@ -433,7 +455,7 @@ void AdvancedWidget::AddDescriptions()
|
|||
m_dump_xfb_target->SetDescription(tr(TR_DUMP_XFB_DESCRIPTION));
|
||||
m_disable_vram_copies->SetDescription(tr(TR_DISABLE_VRAM_COPIES_DESCRIPTION));
|
||||
m_enable_graphics_mods->SetDescription(tr(TR_LOAD_GRAPHICS_MODS_DESCRIPTION));
|
||||
m_use_fullres_framedumps->SetDescription(tr(TR_INTERNAL_RESOLUTION_FRAME_DUMPING_DESCRIPTION));
|
||||
m_frame_dumps_resolution_type->SetDescription(tr(TR_FRAME_DUMPS_RESOLUTION_TYPE_DESCRIPTION));
|
||||
#ifdef HAVE_FFMPEG
|
||||
m_dump_use_ffv1->SetDescription(tr(TR_USE_FFV1_DESCRIPTION));
|
||||
#endif
|
||||
|
|
|
@ -33,6 +33,7 @@ private:
|
|||
// Debugging
|
||||
ConfigBool* m_enable_wireframe;
|
||||
ConfigBool* m_show_statistics;
|
||||
ConfigBool* m_show_proj_statistics;
|
||||
ConfigBool* m_enable_format_overlay;
|
||||
ConfigBool* m_enable_api_validation;
|
||||
ConfigBool* m_show_fps;
|
||||
|
@ -60,7 +61,7 @@ private:
|
|||
|
||||
// Frame dumping
|
||||
ConfigBool* m_dump_use_ffv1;
|
||||
ConfigBool* m_use_fullres_framedumps;
|
||||
ConfigChoice* m_frame_dumps_resolution_type;
|
||||
ConfigInteger* m_dump_bitrate;
|
||||
ConfigInteger* m_png_compression_level;
|
||||
|
||||
|
|
|
@ -372,7 +372,8 @@ void EnhancementsWidget::LoadSettings()
|
|||
// Resampling
|
||||
const OutputResamplingMode output_resampling_mode =
|
||||
Config::Get(Config::GFX_ENHANCE_OUTPUT_RESAMPLING);
|
||||
m_output_resampling_combo->setCurrentIndex(static_cast<int>(output_resampling_mode));
|
||||
m_output_resampling_combo->setCurrentIndex(
|
||||
m_output_resampling_combo->findData(static_cast<int>(output_resampling_mode)));
|
||||
|
||||
m_output_resampling_combo->setEnabled(g_Config.backend_info.bSupportsPostProcessing);
|
||||
|
||||
|
@ -527,20 +528,20 @@ void EnhancementsWidget::AddDescriptions()
|
|||
|
||||
"<br><br><b>Bicubic</b> - [16 samples]"
|
||||
"<br>Gamma corrected cubic interpolation between pixels."
|
||||
"<br>Good when rescaling between close resolutions. i.e 1080p and 1440p."
|
||||
"<br>Good when rescaling between close resolutions, e.g. 1080p and 1440p."
|
||||
"<br>Comes in various flavors:"
|
||||
"<br><b>B-Spline</b>: Blurry, but avoids all lobing artifacts"
|
||||
"<br><b>Mitchell-Netravali</b>: Good middle ground between blurry and lobing"
|
||||
"<br><b>Catmull-Rom</b>: Sharper, but can cause lobing artifacts"
|
||||
|
||||
"<br><br><b>Sharp Bilinear</b> - [1-4 samples]"
|
||||
"<br>Similarly to \"Nearest Neighbor\", it maintains a sharp look,"
|
||||
"<br>Similar to \"Nearest Neighbor\", it maintains a sharp look,"
|
||||
"<br>but also does some blending to avoid shimmering."
|
||||
"<br>Works best with 2D games at low resolutions."
|
||||
|
||||
"<br><br><b>Area Sampling</b> - [up to 324 samples]"
|
||||
"<br>Weights pixels by the percentage of area they occupy. Gamma corrected."
|
||||
"<br>Best for down scaling by more than 2x."
|
||||
"<br>Weighs pixels by the percentage of area they occupy. Gamma corrected."
|
||||
"<br>Best for downscaling by more than 2x."
|
||||
|
||||
"<br><br><dolphin_emphasis>If unsure, select 'Default'.</dolphin_emphasis>");
|
||||
static const char TR_COLOR_CORRECTION_DESCRIPTION[] =
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/ConfigManager.h"
|
||||
#include "Core/Core.h"
|
||||
#include "Core/System.h"
|
||||
|
||||
#include "DolphinQt/Config/ConfigControls/ConfigBool.h"
|
||||
#include "DolphinQt/Config/ConfigControls/ConfigChoice.h"
|
||||
|
@ -43,7 +44,8 @@ GeneralWidget::GeneralWidget(GraphicsWindow* parent)
|
|||
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, [this](Core::State state) {
|
||||
OnEmulationStateChanged(state != Core::State::Uninitialized);
|
||||
});
|
||||
OnEmulationStateChanged(Core::GetState() != Core::State::Uninitialized);
|
||||
OnEmulationStateChanged(Core::GetState(Core::System::GetInstance()) !=
|
||||
Core::State::Uninitialized);
|
||||
}
|
||||
|
||||
void GeneralWidget::CreateWidgets()
|
||||
|
@ -253,17 +255,23 @@ void GeneralWidget::AddDescriptions()
|
|||
"a separate render window.<br><br><dolphin_emphasis>If unsure, leave "
|
||||
"this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_ASPECT_RATIO_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Selects which aspect ratio to use when drawing on the render window.<br>"
|
||||
"Each game can have a slightly different native aspect ratio.<br>They can vary by "
|
||||
"scene and settings and rarely ever exactly match 4:3 or 16:9."
|
||||
"<br><br><b>Auto</b>: Uses the native aspect ratio"
|
||||
"<br><br><b>Force 16:9</b>: Mimics an analog TV with a widescreen aspect ratio."
|
||||
"<br><br><b>Force 4:3</b>: Mimics a standard 4:3 analog TV."
|
||||
"<br><br><b>Stretch to Window</b>: Stretches the picture to the window size."
|
||||
"<br><br><b>Custom</b>: Forces the specified aspect ratio."
|
||||
"<br>This is mostly intended to be used with aspect ratio cheats/mods."
|
||||
"<br><br><b>Custom (Stretch)</b>: Similar to `Custom` but not relative to the "
|
||||
"title's native aspect ratio.<br>This is not meant to be used under normal circumstances."
|
||||
"Selects which aspect ratio to use for displaying the game."
|
||||
"<br><br>The aspect ratio of the image sent out by the original consoles varied depending on "
|
||||
"the game and rarely exactly matched 4:3 or 16:9. Some of the image would be cut off by the "
|
||||
"edges of the TV, or the image wouldn't fill the TV entirely. By default, Dolphin shows the "
|
||||
"whole image without distorting its proportions, which means it's normal for the image to "
|
||||
"not entirely fill your display."
|
||||
"<br><br><b>Auto</b>: Mimics a TV with either a 4:3 or 16:9 aspect ratio, depending on which "
|
||||
"type of TV the game seems to be targeting."
|
||||
"<br><br><b>Force 16:9</b>: Mimics a TV with a 16:9 (widescreen) aspect ratio."
|
||||
"<br><br><b>Force 4:3</b>: Mimics a TV with a 4:3 aspect ratio."
|
||||
"<br><br><b>Stretch to Window</b>: Stretches the image to the window size. "
|
||||
"This will usually distort the image's proportions."
|
||||
"<br><br><b>Custom</b>: Mimics a TV with the specified aspect ratio. "
|
||||
"This is mostly intended to be used with aspect ratio cheats/mods."
|
||||
"<br><br><b>Custom (Stretch)</b>: Similar to `Custom`, but stretches the image to the "
|
||||
"specified aspect ratio. This will usually distort the image's proportions, and should not "
|
||||
"be used under normal circumstances."
|
||||
"<br><br><dolphin_emphasis>If unsure, select Auto.</dolphin_emphasis>");
|
||||
static const char TR_VSYNC_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Waits for vertical blanks in order to prevent tearing.<br><br>Decreases performance "
|
||||
|
@ -355,7 +363,7 @@ void GeneralWidget::OnBackendChanged(const QString& backend_name)
|
|||
const bool supports_adapters = !adapters.empty();
|
||||
|
||||
m_adapter_combo->setCurrentIndex(g_Config.iAdapter);
|
||||
m_adapter_combo->setEnabled(supports_adapters && !Core::IsRunning());
|
||||
m_adapter_combo->setEnabled(supports_adapters && !Core::IsRunning(Core::System::GetInstance()));
|
||||
|
||||
static constexpr char TR_ADAPTER_AVAILABLE_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Selects a hardware adapter to use.<br><br>"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue