gsdx gui: add a combo box on linux (below Interlace)

3 states are off/half/full. I'm too lazy to create a better combo box.

The hack option will be removed when Windows GUI is ready
This commit is contained in:
Gregory Hainaut 2016-10-14 19:22:38 +02:00
parent 37a1230c01
commit 3c30db965d
3 changed files with 11 additions and 6 deletions

View File

@ -287,15 +287,13 @@ void populate_sw_table(GtkWidget* sw_table)
GtkWidget* threads_spin = CreateSpinButton(0, 32, "extrathreads"); GtkWidget* threads_spin = CreateSpinButton(0, 32, "extrathreads");
GtkWidget* aa_check = CreateCheckBox("Edge anti-aliasing (AA1)", "aa1"); GtkWidget* aa_check = CreateCheckBox("Edge anti-aliasing (AA1)", "aa1");
GtkWidget* mipmap_check = CreateCheckBox("Mipmap", "mipmap");
AddTooltip(aa_check, IDC_AA1); AddTooltip(aa_check, IDC_AA1);
AddTooltip(mipmap_check, IDC_MIPMAP);
AddTooltip(threads_label, threads_spin, IDC_SWTHREADS); AddTooltip(threads_label, threads_spin, IDC_SWTHREADS);
s_table_line = 0; s_table_line = 0;
InsertWidgetInTable(sw_table , threads_label , threads_spin); InsertWidgetInTable(sw_table , threads_label , threads_spin);
InsertWidgetInTable(sw_table , aa_check, mipmap_check); InsertWidgetInTable(sw_table , aa_check);
} }
void populate_shader_table(GtkWidget* shader_table) void populate_shader_table(GtkWidget* shader_table)
@ -396,10 +394,16 @@ void populate_main_table(GtkWidget* main_table)
GtkWidget* render_combo_box = CreateComboBoxFromVector(theApp.m_gs_renderers, "Renderer"); GtkWidget* render_combo_box = CreateComboBoxFromVector(theApp.m_gs_renderers, "Renderer");
GtkWidget* interlace_label = left_label("Interlacing (F5):"); GtkWidget* interlace_label = left_label("Interlacing (F5):");
GtkWidget* interlace_combo_box = CreateComboBoxFromVector(theApp.m_gs_interlace, "interlace"); GtkWidget* interlace_combo_box = CreateComboBoxFromVector(theApp.m_gs_interlace, "interlace");
GtkWidget* mipmap_label = left_label("Mipmap (Insert):");
GtkWidget* mipmap_combo_box = CreateComboBoxFromVector(theApp.m_gs_hack, "mipmap");
AddTooltip(mipmap_label, IDC_MIPMAP);
AddTooltip(mipmap_combo_box, IDC_MIPMAP);
s_table_line = 0; s_table_line = 0;
InsertWidgetInTable(main_table, render_label, render_combo_box); InsertWidgetInTable(main_table, render_label, render_combo_box);
InsertWidgetInTable(main_table, interlace_label, interlace_combo_box); InsertWidgetInTable(main_table, interlace_label, interlace_combo_box);
InsertWidgetInTable(main_table, mipmap_label, mipmap_combo_box);
} }
void populate_debug_table(GtkWidget* debug_table) void populate_debug_table(GtkWidget* debug_table)

View File

@ -28,6 +28,7 @@
const unsigned int s_interlace_nb = 8; const unsigned int s_interlace_nb = 8;
const unsigned int s_post_shader_nb = 5; const unsigned int s_post_shader_nb = 5;
const unsigned int s_aspect_ratio_nb = 3; const unsigned int s_aspect_ratio_nb = 3;
const unsigned int s_mipmap_nb = 3;
GSRenderer::GSRenderer() GSRenderer::GSRenderer()
: m_shader(0) : m_shader(0)
@ -616,8 +617,8 @@ void GSRenderer::KeyEvent(GSKeyEventData* e)
printf("GSdx: (Software) Edge anti-aliasing is now %s.\n", m_aa1 ? "enabled" : "disabled"); printf("GSdx: (Software) Edge anti-aliasing is now %s.\n", m_aa1 ? "enabled" : "disabled");
return; return;
case VK_INSERT: case VK_INSERT:
m_mipmap = !m_mipmap; m_mipmap = (m_mipmap + s_mipmap_nb + step) % s_mipmap_nb;
printf("GSdx: Mipmapping is now %s.\n", m_mipmap ? "enabled" : "disabled"); printf("GSdx: Mipmapping is now %s.\n", theApp.m_gs_hack.at(m_mipmap).name.c_str());
return; return;
case VK_PRIOR: case VK_PRIOR:
m_fxaa = !m_fxaa; m_fxaa = !m_fxaa;

View File

@ -142,7 +142,7 @@ const char* dialog_message(int ID, bool* updateText) {
case IDC_PRELOAD_GS: case IDC_PRELOAD_GS:
return "Uploads GS data when rendering a new frame to reproduce some effects accurately. Fixes black screen issues in games like Armored Core: Last Raven."; return "Uploads GS data when rendering a new frame to reproduce some effects accurately. Fixes black screen issues in games like Armored Core: Last Raven.";
case IDC_MIPMAP: case IDC_MIPMAP:
return "Enables mipmapping, which some games require to render correctly. Turn off only for debug purposes."; return "Enables mipmapping, which some games require to render correctly.";
case IDC_FAST_TC_INV: case IDC_FAST_TC_INV:
return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise." return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise."
"\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine game."; "\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine game.";