mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-09 23:59:27 +01:00
DolphinQt: Add tooltip support to Enhancements Graphics tab
This commit is contained in:
parent
b9eae86704
commit
d083dae7fd
@ -30,8 +30,7 @@
|
||||
#include "VideoCommon/VideoCommon.h"
|
||||
#include "VideoCommon/VideoConfig.h"
|
||||
|
||||
EnhancementsWidget::EnhancementsWidget(GraphicsWindow* parent)
|
||||
: GraphicsWidget(parent), m_block_save(false)
|
||||
EnhancementsWidget::EnhancementsWidget(GraphicsWindow* parent) : m_block_save(false)
|
||||
{
|
||||
CreateWidgets();
|
||||
LoadSettings();
|
||||
@ -74,11 +73,11 @@ void EnhancementsWidget::CreateWidgets()
|
||||
m_ir_combo = new GraphicsChoice(resolution_options, Config::GFX_EFB_SCALE);
|
||||
m_ir_combo->setMaxVisibleItems(visible_resolution_option_count);
|
||||
|
||||
m_aa_combo = new QComboBox();
|
||||
m_aa_combo = new ToolTipComboBox();
|
||||
m_af_combo = new GraphicsChoice({tr("1x"), tr("2x"), tr("4x"), tr("8x"), tr("16x")},
|
||||
Config::GFX_ENHANCE_MAX_ANISOTROPY);
|
||||
|
||||
m_pp_effect = new QComboBox();
|
||||
m_pp_effect = new ToolTipComboBox();
|
||||
m_configure_pp_effect = new QPushButton(tr("Configure"));
|
||||
m_scaled_efb_copy = new GraphicsBool(tr("Scaled EFB Copy"), Config::GFX_HACK_COPY_EFB_SCALED);
|
||||
m_per_pixel_lighting =
|
||||
@ -290,97 +289,130 @@ void EnhancementsWidget::SaveSettings()
|
||||
void EnhancementsWidget::AddDescriptions()
|
||||
{
|
||||
static const char TR_INTERNAL_RESOLUTION_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Controls the rendering resolution.\n\nA high resolution greatly improves "
|
||||
QT_TR_NOOP("Controls the rendering resolution.<br><br>A high resolution greatly improves "
|
||||
"visual quality, but also greatly increases GPU load and can cause issues in "
|
||||
"certain games. Generally speaking, the lower the internal resolution, the "
|
||||
"better performance will be.\n\nIf unsure, select Native.");
|
||||
|
||||
"better performance will be.<br><br><dolphin_emphasis>If unsure, "
|
||||
"select Native.</dolphin_emphasis>");
|
||||
static const char TR_ANTIALIAS_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Reduces the amount of aliasing caused by rasterizing 3D graphics, resulting "
|
||||
"in smoother edges on objects. Increases GPU load and sometimes causes graphical "
|
||||
"issues.\n\nSSAA is significantly more demanding than MSAA, but provides top quality "
|
||||
"issues.<br><br>SSAA is significantly more demanding than MSAA, but provides top quality "
|
||||
"geometry anti-aliasing and also applies anti-aliasing to lighting, shader "
|
||||
"effects, and textures.\n\nIf unsure, select None.");
|
||||
|
||||
"effects, and textures.<br><br><dolphin_emphasis>If unsure, select "
|
||||
"None.</dolphin_emphasis>");
|
||||
static const char TR_ANISOTROPIC_FILTERING_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Enables anisotropic filtering, which enhances the visual quality of textures that "
|
||||
"are at oblique viewing angles.\n\nMight cause issues in a small "
|
||||
"number of games.\n\nIf unsure, select 1x.");
|
||||
|
||||
static const char TR_POSTPROCESSING_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Applies a post-processing effect after rendering a frame.\n\nIf unsure, select (off).");
|
||||
|
||||
"are at oblique viewing angles.<br><br>Might cause issues in a small "
|
||||
"number of games.<br><br><dolphin_emphasis>If unsure, select 1x.</dolphin_emphasis>");
|
||||
static const char TR_POSTPROCESSING_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Applies a post-processing effect after rendering a frame.<br><br "
|
||||
"/><dolphin_emphasis>If unsure, select (off).</dolphin_emphasis>");
|
||||
static const char TR_SCALED_EFB_COPY_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Greatly increases the quality of textures generated using render-to-texture "
|
||||
"effects.\n\nSlightly increases GPU load and causes relatively few graphical "
|
||||
"effects.<br><br>Slightly increases GPU load and causes relatively few graphical "
|
||||
"issues. Raising the internal resolution will improve the effect of this setting. "
|
||||
"\n\nIf unsure, leave this checked.");
|
||||
"<br><br><dolphin_emphasis>If unsure, leave this checked.</dolphin_emphasis>");
|
||||
static const char TR_PER_PIXEL_LIGHTING_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Calculates lighting of 3D objects per-pixel rather than per-vertex, smoothing out the "
|
||||
"appearance of lit polygons and making individual triangles less noticeable.\n\nRarely "
|
||||
"causes slowdowns or graphical issues.\n\nIf unsure, leave this unchecked.");
|
||||
"appearance of lit polygons and making individual triangles less noticeable.<br><br "
|
||||
"/>Rarely "
|
||||
"causes slowdowns or graphical issues.<br><br><dolphin_emphasis>If unsure, leave "
|
||||
"this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_WIDESCREEN_HACK_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Forces the game to output graphics for any aspect ratio. Use with \"Aspect Ratio\" set to "
|
||||
"\"Force 16:9\" to force 4:3-only games to run at 16:9.\n\nRarely produces good results and "
|
||||
"\"Force 16:9\" to force 4:3-only games to run at 16:9.<br><br>Rarely produces good "
|
||||
"results and "
|
||||
"often partially breaks graphics and game UIs. Unnecessary (and detrimental) if using any "
|
||||
"AR/Gecko-code widescreen patches.\n\nIf unsure, leave this unchecked.");
|
||||
"AR/Gecko-code widescreen patches.<br><br><dolphin_emphasis>If unsure, leave "
|
||||
"this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_REMOVE_FOG_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Makes distant objects more visible by removing fog, thus increasing the overall "
|
||||
"detail.\n\nDisabling fog will break some games which rely on proper fog "
|
||||
"emulation.\n\nIf unsure, leave this unchecked.");
|
||||
"detail.<br><br>Disabling fog will break some games which rely on proper fog "
|
||||
"emulation.<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
"unchecked.</dolphin_emphasis>");
|
||||
static const char TR_3D_MODE_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Selects the stereoscopic 3D mode. Stereoscopy allows a better feeling "
|
||||
"of depth if the necessary hardware is present. Heavily decreases "
|
||||
"emulation speed and sometimes causes issues.\n\nSide-by-Side and Top-and-Bottom are "
|
||||
"used by most 3D TVs.\nAnaglyph is used for Red-Cyan colored glasses.\nHDMI 3D is "
|
||||
"used when the monitor supports 3D display resolutions.\nPassive is another type of 3D "
|
||||
"used by some TVs.\n\nIf unsure, select Off.");
|
||||
"emulation speed and sometimes causes issues.<br><br>Side-by-Side and Top-and-Bottom are "
|
||||
"used by most 3D TVs.<br>Anaglyph is used for Red-Cyan colored glasses.<br>HDMI 3D is "
|
||||
"used when the monitor supports 3D display resolutions.<br>Passive is another type of 3D "
|
||||
"used by some TVs.<br><br><dolphin_emphasis>If unsure, select Off.</dolphin_emphasis>");
|
||||
static const char TR_3D_DEPTH_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Controls the separation distance between the virtual cameras. \n\nA higher "
|
||||
"Controls the separation distance between the virtual cameras.<br><br>A higher "
|
||||
"value creates a stronger feeling of depth while a lower value is more comfortable.");
|
||||
static const char TR_3D_CONVERGENCE_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Controls the distance of the convergence plane. This is the distance at which "
|
||||
"virtual objects will appear to be in front of the screen.\n\nA higher value creates "
|
||||
"virtual objects will appear to be in front of the screen.<br><br>A higher value creates "
|
||||
"stronger out-of-screen effects while a lower value is more comfortable.");
|
||||
static const char TR_3D_SWAP_EYES_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Swaps the left and right eye. Most useful in side-by-side stereoscopy "
|
||||
"mode.\n\nIf unsure, leave this unchecked.");
|
||||
static const char TR_FORCE_24BIT_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Forces the game to render the RGB color channels in 24-bit, thereby increasing "
|
||||
"quality by reducing color banding.\n\nHas no impact on performance and causes "
|
||||
"few graphical issues.\n\nIf unsure, leave this checked.");
|
||||
static const char TR_3D_SWAP_EYES_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Swaps the left and right eye. Most useful in side-by-side stereoscopy "
|
||||
"mode.<br><br><dolphin_emphasis>If unsure, leave this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_FORCE_24BIT_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Forces the game to render the RGB color channels in 24-bit, thereby increasing "
|
||||
"quality by reducing color banding.<br><br>Has no impact on performance and causes "
|
||||
"few graphical issues.<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
"checked.</dolphin_emphasis>");
|
||||
static const char TR_FORCE_TEXTURE_FILTERING_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Filters all textures, including any that the game explicitly set as "
|
||||
"unfiltered.\n\nMay improve quality of certain textures in some games, but "
|
||||
"will cause issues in others.\n\nIf unsure, leave this unchecked.");
|
||||
static const char TR_DISABLE_COPY_FILTER_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Disables the blending of adjacent rows when copying the EFB. This is known in "
|
||||
"some games as \"deflickering\" or \"smoothing\". \n\nDisabling the filter has no "
|
||||
"effect on performance, but may result in a sharper image. Causes few "
|
||||
"graphical issues.\n\nIf unsure, leave this checked.");
|
||||
"unfiltered.<br><br>May improve quality of certain textures in some games, but "
|
||||
"will cause issues in others.<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
"unchecked.</dolphin_emphasis>");
|
||||
static const char TR_DISABLE_COPY_FILTER_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Disables the blending of adjacent rows when copying the EFB. This is known in "
|
||||
"some games as \"deflickering\" or \"smoothing\".<br><br>Disabling the filter has no "
|
||||
"effect on performance, but may result in a sharper image. Causes few "
|
||||
"graphical issues.<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
"checked.</dolphin_emphasis>");
|
||||
static const char TR_ARBITRARY_MIPMAP_DETECTION_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Enables detection of arbitrary mipmaps, which some games use for special distance-based "
|
||||
"effects.\n\nMay have false positives that result in blurry textures at increased internal "
|
||||
"effects.<br><br>May have false positives that result in blurry textures at increased "
|
||||
"internal "
|
||||
"resolution, such as in games that use very low resolution mipmaps. Disabling this can also "
|
||||
"reduce stutter in games that frequently load new textures. This feature is not compatible "
|
||||
"with GPU Texture Decoding.\n\nIf unsure, leave this checked.");
|
||||
"with GPU Texture Decoding.<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
"checked.</dolphin_emphasis>");
|
||||
|
||||
AddDescription(m_ir_combo, TR_INTERNAL_RESOLUTION_DESCRIPTION);
|
||||
AddDescription(m_aa_combo, TR_ANTIALIAS_DESCRIPTION);
|
||||
AddDescription(m_af_combo, TR_ANISOTROPIC_FILTERING_DESCRIPTION);
|
||||
AddDescription(m_pp_effect, TR_POSTPROCESSING_DESCRIPTION);
|
||||
AddDescription(m_scaled_efb_copy, TR_SCALED_EFB_COPY_DESCRIPTION);
|
||||
AddDescription(m_per_pixel_lighting, TR_PER_PIXEL_LIGHTING_DESCRIPTION);
|
||||
AddDescription(m_widescreen_hack, TR_WIDESCREEN_HACK_DESCRIPTION);
|
||||
AddDescription(m_disable_fog, TR_REMOVE_FOG_DESCRIPTION);
|
||||
AddDescription(m_force_24bit_color, TR_FORCE_24BIT_DESCRIPTION);
|
||||
AddDescription(m_force_texture_filtering, TR_FORCE_TEXTURE_FILTERING_DESCRIPTION);
|
||||
AddDescription(m_disable_copy_filter, TR_DISABLE_COPY_FILTER_DESCRIPTION);
|
||||
AddDescription(m_arbitrary_mipmap_detection, TR_ARBITRARY_MIPMAP_DETECTION_DESCRIPTION);
|
||||
AddDescription(m_3d_mode, TR_3D_MODE_DESCRIPTION);
|
||||
AddDescription(m_3d_depth, TR_3D_DEPTH_DESCRIPTION);
|
||||
AddDescription(m_3d_convergence, TR_3D_CONVERGENCE_DESCRIPTION);
|
||||
AddDescription(m_3d_swap_eyes, TR_3D_SWAP_EYES_DESCRIPTION);
|
||||
m_ir_combo->SetTitle(tr("Internal Resolution"));
|
||||
m_ir_combo->SetDescription(QString::fromStdString(TR_INTERNAL_RESOLUTION_DESCRIPTION));
|
||||
|
||||
m_aa_combo->SetTitle(tr("Anti-Aliasing"));
|
||||
m_aa_combo->SetDescription(QString::fromStdString(TR_ANTIALIAS_DESCRIPTION));
|
||||
|
||||
m_af_combo->SetTitle(tr("Anisotropic Filtering"));
|
||||
m_af_combo->SetDescription(QString::fromStdString(TR_ANISOTROPIC_FILTERING_DESCRIPTION));
|
||||
|
||||
m_pp_effect->SetTitle(tr("Post-Processing Effect"));
|
||||
m_pp_effect->SetDescription(QString::fromStdString(TR_POSTPROCESSING_DESCRIPTION));
|
||||
|
||||
m_scaled_efb_copy->SetDescription(QString::fromStdString(TR_SCALED_EFB_COPY_DESCRIPTION));
|
||||
|
||||
m_per_pixel_lighting->SetDescription(QString::fromStdString(TR_PER_PIXEL_LIGHTING_DESCRIPTION));
|
||||
|
||||
m_widescreen_hack->SetDescription(QString::fromStdString(TR_WIDESCREEN_HACK_DESCRIPTION));
|
||||
|
||||
m_disable_fog->SetDescription(QString::fromStdString(TR_REMOVE_FOG_DESCRIPTION));
|
||||
|
||||
m_force_24bit_color->SetDescription(QString::fromStdString(TR_FORCE_24BIT_DESCRIPTION));
|
||||
|
||||
m_force_texture_filtering->SetDescription(
|
||||
QString::fromStdString(TR_FORCE_TEXTURE_FILTERING_DESCRIPTION));
|
||||
|
||||
m_disable_copy_filter->SetDescription(QString::fromStdString(TR_DISABLE_COPY_FILTER_DESCRIPTION));
|
||||
|
||||
m_arbitrary_mipmap_detection->SetDescription(
|
||||
QString::fromStdString(TR_ARBITRARY_MIPMAP_DETECTION_DESCRIPTION));
|
||||
|
||||
m_3d_mode->SetTitle(tr("Stereoscopic 3D Mode"));
|
||||
m_3d_mode->SetDescription(QString::fromStdString(TR_3D_MODE_DESCRIPTION));
|
||||
|
||||
m_3d_depth->SetTitle(tr("Depth"));
|
||||
m_3d_depth->SetDescription(QString::fromStdString(TR_3D_DEPTH_DESCRIPTION));
|
||||
|
||||
m_3d_convergence->SetTitle(tr("Convergence"));
|
||||
m_3d_convergence->SetDescription(QString::fromStdString(TR_3D_CONVERGENCE_DESCRIPTION));
|
||||
|
||||
m_3d_swap_eyes->SetDescription(QString::fromStdString(TR_3D_SWAP_EYES_DESCRIPTION));
|
||||
}
|
||||
|
||||
void EnhancementsWidget::ConfigurePostProcessingShader()
|
||||
|
@ -6,11 +6,15 @@
|
||||
|
||||
#include "DolphinQt/Config/Graphics/GraphicsWidget.h"
|
||||
|
||||
class GraphicsBool;
|
||||
class GraphicsChoice;
|
||||
class GraphicsSlider;
|
||||
class GraphicsWindow;
|
||||
class QCheckBox;
|
||||
class QComboBox;
|
||||
class QPushButton;
|
||||
class QSlider;
|
||||
class ToolTipComboBox;
|
||||
|
||||
class EnhancementsWidget final : public GraphicsWidget
|
||||
{
|
||||
@ -29,25 +33,25 @@ private:
|
||||
void LoadPPShaders();
|
||||
|
||||
// Enhancements
|
||||
QComboBox* m_ir_combo;
|
||||
QComboBox* m_aa_combo;
|
||||
QComboBox* m_af_combo;
|
||||
QComboBox* m_pp_effect;
|
||||
GraphicsChoice* m_ir_combo;
|
||||
ToolTipComboBox* m_aa_combo;
|
||||
GraphicsChoice* m_af_combo;
|
||||
ToolTipComboBox* m_pp_effect;
|
||||
QPushButton* m_configure_pp_effect;
|
||||
QCheckBox* m_scaled_efb_copy;
|
||||
QCheckBox* m_per_pixel_lighting;
|
||||
QCheckBox* m_force_texture_filtering;
|
||||
QCheckBox* m_widescreen_hack;
|
||||
QCheckBox* m_disable_fog;
|
||||
QCheckBox* m_force_24bit_color;
|
||||
QCheckBox* m_disable_copy_filter;
|
||||
QCheckBox* m_arbitrary_mipmap_detection;
|
||||
GraphicsBool* m_scaled_efb_copy;
|
||||
GraphicsBool* m_per_pixel_lighting;
|
||||
GraphicsBool* m_force_texture_filtering;
|
||||
GraphicsBool* m_widescreen_hack;
|
||||
GraphicsBool* m_disable_fog;
|
||||
GraphicsBool* m_force_24bit_color;
|
||||
GraphicsBool* m_disable_copy_filter;
|
||||
GraphicsBool* m_arbitrary_mipmap_detection;
|
||||
|
||||
// Stereoscopy
|
||||
QComboBox* m_3d_mode;
|
||||
QSlider* m_3d_depth;
|
||||
QSlider* m_3d_convergence;
|
||||
QCheckBox* m_3d_swap_eyes;
|
||||
GraphicsChoice* m_3d_mode;
|
||||
GraphicsSlider* m_3d_depth;
|
||||
GraphicsSlider* m_3d_convergence;
|
||||
GraphicsBool* m_3d_swap_eyes;
|
||||
|
||||
int m_msaa_modes;
|
||||
bool m_block_save;
|
||||
|
Loading…
x
Reference in New Issue
Block a user