Linux: Revise the speed hack and cpu dialogs a bit.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1277 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-05-27 20:20:33 +00:00
parent fa0e10557a
commit a1cd98bc59
4 changed files with 315 additions and 364 deletions

View File

@ -25,23 +25,18 @@ void OnCpu_Ok(GtkButton *button, gpointer user_data)
{
u32 newopts = 0;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_EERec"))))
newopts |= PCSX2_EEREC;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_VU0rec"))))
newopts |= PCSX2_VU0REC;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_VU1rec"))))
newopts |= PCSX2_VU1REC;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_microVU0rec"))))
newopts |= PCSX2_MICROVU0;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_microVU1rec"))))
newopts |= PCSX2_MICROVU1;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_MTGS"))))
newopts |= PCSX2_GSMULTITHREAD;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_LimitNormal"))))
if is_checked(CpuDlg, "GtkCheckButton_EERec") newopts |= PCSX2_EEREC;
if is_checked(CpuDlg, "GtkCheckButton_VU0rec") newopts |= PCSX2_VU0REC;
if is_checked(CpuDlg, "GtkCheckButton_VU1rec") newopts |= PCSX2_VU1REC;
if is_checked(CpuDlg, "GtkCheckButton_microVU0rec") newopts |= PCSX2_MICROVU0;
if is_checked(CpuDlg, "GtkCheckButton_microVU1rec") newopts |= PCSX2_MICROVU1;
if is_checked(CpuDlg, "GtkCheckButton_MTGS") newopts |= PCSX2_GSMULTITHREAD;
if is_checked(CpuDlg, "GtkRadioButton_LimitNormal")
newopts |= PCSX2_FRAMELIMIT_NORMAL;
else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_LimitLimit"))))
else if is_checked(CpuDlg, "GtkRadioButton_LimitLimit")
newopts |= PCSX2_FRAMELIMIT_LIMIT;
else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_LimitFS"))))
else if is_checked(CpuDlg, "GtkRadioButton_LimitFS")
newopts |= PCSX2_FRAMELIMIT_SKIP;
Config.CustomFps = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(lookup_widget(CpuDlg, "CustomFPSLimit")));
@ -76,6 +71,19 @@ void OnCpu_Ok(GtkButton *button, gpointer user_data)
gtk_main_quit();
}
void DisableMicroVU()
{
if is_checked(CpuDlg, "GtkCheckButton_VU0rec")
gtk_widget_set_sensitive(lookup_widget(CpuDlg, "GtkCheckButton_microVU0rec"), true);
else
gtk_widget_set_sensitive(lookup_widget(CpuDlg, "GtkCheckButton_microVU0rec"), false);
if is_checked(CpuDlg, "GtkCheckButton_VU1rec")
gtk_widget_set_sensitive(lookup_widget(CpuDlg, "GtkCheckButton_microVU1rec"), true);
else
gtk_widget_set_sensitive(lookup_widget(CpuDlg, "GtkCheckButton_microVU1rec"), false);
}
void OnConf_Cpu(GtkMenuItem *menuitem, gpointer user_data)
{
char str[512];
@ -83,16 +91,17 @@ void OnConf_Cpu(GtkMenuItem *menuitem, gpointer user_data)
CpuDlg = create_CpuDlg();
gtk_window_set_title(GTK_WINDOW(CpuDlg), _("Configuration"));
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_EERec")), !!CHECK_EEREC);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_VU0rec")), !!CHECK_VU0REC);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_VU1rec")), !!CHECK_VU1REC);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_microVU0rec")), !!CHECK_MICROVU0);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_microVU1rec")), !!CHECK_MICROVU1);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkCheckButton_MTGS")), !!CHECK_MULTIGS);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_LimitNormal")), CHECK_FRAMELIMIT == PCSX2_FRAMELIMIT_NORMAL);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_LimitLimit")), CHECK_FRAMELIMIT == PCSX2_FRAMELIMIT_LIMIT);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(CpuDlg, "GtkRadioButton_LimitFS")), CHECK_FRAMELIMIT == PCSX2_FRAMELIMIT_SKIP);
set_checked(CpuDlg, "GtkCheckButton_EERec", !!CHECK_EEREC);
set_checked(CpuDlg, "GtkCheckButton_VU0rec", !!CHECK_VU0REC);
set_checked(CpuDlg, "GtkCheckButton_VU1rec", !!CHECK_VU1REC);
set_checked(CpuDlg, "GtkCheckButton_microVU0rec", !!CHECK_MICROVU0);
set_checked(CpuDlg, "GtkCheckButton_microVU1rec", !!CHECK_MICROVU1);
set_checked(CpuDlg, "GtkCheckButton_MTGS", !!CHECK_MULTIGS);
set_checked(CpuDlg, "GtkRadioButton_LimitNormal", CHECK_FRAMELIMIT == PCSX2_FRAMELIMIT_NORMAL);
set_checked(CpuDlg, "GtkRadioButton_LimitLimit", CHECK_FRAMELIMIT == PCSX2_FRAMELIMIT_LIMIT);
set_checked(CpuDlg, "GtkRadioButton_LimitFS", CHECK_FRAMELIMIT == PCSX2_FRAMELIMIT_SKIP);
DisableMicroVU();
sprintf(str, "Cpu Vendor: %s", cpuinfo.x86ID);
gtk_label_set_text(GTK_LABEL(lookup_widget(CpuDlg, "GtkLabel_CpuVendor")), str);
sprintf(str, "Familly: %s", cpuinfo.x86Fam);
@ -116,4 +125,9 @@ void OnConf_Cpu(GtkMenuItem *menuitem, gpointer user_data)
gtk_widget_show_all(CpuDlg);
if (MainWindow) gtk_widget_set_sensitive(MainWindow, FALSE);
gtk_main();
}
}
void OnCpuCheckToggled(GtkToggleButton *togglebutton, gpointer user_data)
{
DisableMicroVU();
}

View File

@ -261,3 +261,7 @@ OnMemcards_Ok (GtkButton *button,
void
On_Dialog_Close (GtkDialog *dialog,
gpointer user_data);
void
OnCpuCheckToggled (GtkToggleButton *togglebutton,
gpointer user_data);

View File

@ -634,16 +634,14 @@ create_SpeedHacksDlg (void)
GtkWidget *vu_cycle_stealing_label;
GtkWidget *label111;
GtkWidget *vbox60;
GtkWidget *frame42;
GtkWidget *alignment37;
GtkWidget *vbox76;
GtkWidget *check_iop_cycle_rate;
GtkWidget *label96;
GtkWidget *check_wait_cycles_sync_hack;
GtkWidget *label97;
GtkWidget *check_intc_sync_hack;
GtkWidget *label101;
GtkWidget *vbox71;
GtkWidget *check_idle_loop_fastforward;
GtkWidget *label110;
GtkWidget *hseparator1;
GtkWidget *label114;
GtkWidget *frame41;
GtkWidget *alignment36;
GtkWidget *vbox75;
@ -773,68 +771,56 @@ create_SpeedHacksDlg (void)
gtk_widget_show (vbox60);
gtk_box_pack_start (GTK_BOX (hbox39), vbox60, FALSE, FALSE, 0);
frame42 = gtk_frame_new (NULL);
gtk_widget_set_name (frame42, "frame42");
gtk_widget_show (frame42);
gtk_box_pack_start (GTK_BOX (vbox60), frame42, FALSE, FALSE, 0);
alignment37 = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_widget_set_name (alignment37, "alignment37");
gtk_widget_show (alignment37);
gtk_container_add (GTK_CONTAINER (frame42), alignment37);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment37), 0, 0, 12, 0);
vbox76 = gtk_vbox_new (FALSE, 0);
gtk_widget_set_name (vbox76, "vbox76");
gtk_widget_show (vbox76);
gtk_container_add (GTK_CONTAINER (alignment37), vbox76);
check_iop_cycle_rate = gtk_check_button_new_with_mnemonic (_("Enable IOP x2 Cycle Rate"));
gtk_widget_set_name (check_iop_cycle_rate, "check_iop_cycle_rate");
gtk_widget_show (check_iop_cycle_rate);
gtk_box_pack_start (GTK_BOX (vbox60), check_iop_cycle_rate, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox76), check_iop_cycle_rate, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, check_iop_cycle_rate, _("Small speedup, and works well with most games."), NULL);
label96 = gtk_label_new (_("Small speedup, and works well with most games."));
gtk_widget_set_name (label96, "label96");
gtk_widget_show (label96);
gtk_box_pack_start (GTK_BOX (vbox60), label96, FALSE, FALSE, 0);
gtk_label_set_line_wrap (GTK_LABEL (label96), TRUE);
check_wait_cycles_sync_hack = gtk_check_button_new_with_mnemonic (_("WaitCycles Sync Hack"));
gtk_widget_set_name (check_wait_cycles_sync_hack, "check_wait_cycles_sync_hack");
gtk_widget_show (check_wait_cycles_sync_hack);
gtk_box_pack_start (GTK_BOX (vbox60), check_wait_cycles_sync_hack, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox76), check_wait_cycles_sync_hack, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, check_wait_cycles_sync_hack, _("Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes."), NULL);
label97 = gtk_label_new (_("Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes."));
gtk_widget_set_name (label97, "label97");
gtk_widget_show (label97);
gtk_box_pack_start (GTK_BOX (vbox60), label97, FALSE, FALSE, 0);
gtk_label_set_line_wrap (GTK_LABEL (label97), TRUE);
check_intc_sync_hack = gtk_check_button_new_with_mnemonic (_("INTC Sync Hack"));
gtk_widget_set_name (check_intc_sync_hack, "check_intc_sync_hack");
gtk_widget_show (check_intc_sync_hack);
gtk_box_pack_start (GTK_BOX (vbox60), check_intc_sync_hack, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox76), check_intc_sync_hack, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, check_intc_sync_hack, _("Huge speedup in many games, and a pretty high compatibility rate (some games still work better with EE sync hacks)."), NULL);
label101 = gtk_label_new (_("Huge speedup in many games, and a pretty high compatibility rate (some games still work better with EE sync hacks)."));
gtk_widget_set_name (label101, "label101");
gtk_widget_show (label101);
gtk_box_pack_start (GTK_BOX (vbox60), label101, FALSE, FALSE, 0);
gtk_label_set_line_wrap (GTK_LABEL (label101), TRUE);
vbox71 = gtk_vbox_new (FALSE, 0);
gtk_widget_set_name (vbox71, "vbox71");
gtk_widget_show (vbox71);
gtk_box_pack_start (GTK_BOX (vbox60), vbox71, TRUE, TRUE, 0);
check_idle_loop_fastforward = gtk_check_button_new_with_mnemonic (_("Idle Loop Fast-Forward (experimental)"));
gtk_widget_set_name (check_idle_loop_fastforward, "check_idle_loop_fastforward");
gtk_widget_show (check_idle_loop_fastforward);
gtk_box_pack_start (GTK_BOX (vbox71), check_idle_loop_fastforward, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox76), check_idle_loop_fastforward, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, check_idle_loop_fastforward, _("Speedup for a few games, including FFX with no known side effects."), NULL);
label110 = gtk_label_new (_("Speedup for a few games, including FFX with no known side effects."));
gtk_widget_set_name (label110, "label110");
gtk_widget_show (label110);
gtk_box_pack_start (GTK_BOX (vbox71), label110, FALSE, FALSE, 0);
gtk_label_set_line_wrap (GTK_LABEL (label110), TRUE);
hseparator1 = gtk_hseparator_new ();
gtk_widget_set_name (hseparator1, "hseparator1");
gtk_widget_show (hseparator1);
gtk_box_pack_start (GTK_BOX (vbox60), hseparator1, FALSE, FALSE, 0);
label114 = gtk_label_new (_("Misc Hacks"));
gtk_widget_set_name (label114, "label114");
gtk_widget_show (label114);
gtk_frame_set_label_widget (GTK_FRAME (frame42), label114);
gtk_label_set_use_markup (GTK_LABEL (label114), TRUE);
frame41 = gtk_frame_new (NULL);
gtk_widget_set_name (frame41, "frame41");
gtk_widget_show (frame41);
gtk_box_pack_start (GTK_BOX (dialog_vbox3), frame41, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox60), frame41, FALSE, FALSE, 0);
alignment36 = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_widget_set_name (alignment36, "alignment36");
@ -926,16 +912,14 @@ create_SpeedHacksDlg (void)
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vu_cycle_stealing_label, "vu_cycle_stealing_label");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label111, "label111");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox60, "vbox60");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, frame42, "frame42");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment37, "alignment37");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox76, "vbox76");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_iop_cycle_rate, "check_iop_cycle_rate");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label96, "label96");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_wait_cycles_sync_hack, "check_wait_cycles_sync_hack");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label97, "label97");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_intc_sync_hack, "check_intc_sync_hack");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label101, "label101");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox71, "vbox71");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_idle_loop_fastforward, "check_idle_loop_fastforward");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label110, "label110");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, hseparator1, "hseparator1");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label114, "label114");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, frame41, "frame41");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment36, "alignment36");
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox75, "vbox75");
@ -4042,12 +4026,12 @@ create_CpuDlg (void)
gtk_container_add (GTK_CONTAINER (frame6), vbox26);
gtk_container_set_border_width (GTK_CONTAINER (vbox26), 5);
GtkCheckButton_VU0rec = gtk_check_button_new_with_mnemonic (_("VU0rec - enable recompiler for VU0 unit"));
GtkCheckButton_VU0rec = gtk_check_button_new_with_mnemonic (_("VU0rec - enable recompilers for VU0 unit"));
gtk_widget_set_name (GtkCheckButton_VU0rec, "GtkCheckButton_VU0rec");
gtk_widget_show (GtkCheckButton_VU0rec);
gtk_box_pack_start (GTK_BOX (vbox26), GtkCheckButton_VU0rec, FALSE, FALSE, 0);
GtkCheckButton_VU1rec = gtk_check_button_new_with_mnemonic (_("VU1rec - enable recompiler for VU1 unit"));
GtkCheckButton_VU1rec = gtk_check_button_new_with_mnemonic (_("VU1rec - enable recompilers for VU1 unit"));
gtk_widget_set_name (GtkCheckButton_VU1rec, "GtkCheckButton_VU1rec");
gtk_widget_show (GtkCheckButton_VU1rec);
gtk_box_pack_start (GTK_BOX (vbox26), GtkCheckButton_VU1rec, FALSE, FALSE, 0);
@ -4269,6 +4253,18 @@ create_CpuDlg (void)
g_signal_connect ((gpointer) CpuDlg, "close",
G_CALLBACK (On_Dialog_Close),
NULL);
g_signal_connect ((gpointer) GtkCheckButton_VU0rec, "toggled",
G_CALLBACK (OnCpuCheckToggled),
NULL);
g_signal_connect ((gpointer) GtkCheckButton_VU1rec, "toggled",
G_CALLBACK (OnCpuCheckToggled),
NULL);
g_signal_connect ((gpointer) GtkCheckButton_microVU0rec, "toggled",
G_CALLBACK (OnCpuCheckToggled),
NULL);
g_signal_connect ((gpointer) GtkCheckButton_microVU1rec, "toggled",
G_CALLBACK (OnCpuCheckToggled),
NULL);
g_signal_connect ((gpointer) button96, "clicked",
G_CALLBACK (OnCpu_Ok),
NULL);

View File

@ -1538,176 +1538,122 @@ If you have problems, Disable all of these and try again.</property>
<property name="spacing">0</property>
<child>
<widget class="GtkCheckButton" id="check_iop_cycle_rate">
<widget class="GtkFrame" id="frame42">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Small speedup, and works well with most games.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Enable IOP x2 Cycle Rate</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label96">
<property name="visible">True</property>
<property name="label" translatable="yes">Small speedup, and works well with most games.</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">check_iop_cycle_rate</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_wait_cycles_sync_hack">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">WaitCycles Sync Hack</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label97">
<property name="visible">True</property>
<property name="label" translatable="yes">Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes.</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">check_wait_cycles_sync_hack</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_intc_sync_hack">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Huge speedup in many games, and a pretty high compatibility rate (some games still work better with EE sync hacks).</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">INTC Sync Hack</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label101">
<property name="visible">True</property>
<property name="label" translatable="yes">Huge speedup in many games, and a pretty high compatibility rate (some games still work better with EE sync hacks).</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox71">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkCheckButton" id="check_idle_loop_fastforward">
<widget class="GtkAlignment" id="alignment37">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Speedup for a few games, including FFX with no known side effects.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Idle Loop Fast-Forward (experimental)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkVBox" id="vbox76">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkCheckButton" id="check_iop_cycle_rate">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Small speedup, and works well with most games.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Enable IOP x2 Cycle Rate</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_wait_cycles_sync_hack">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">WaitCycles Sync Hack</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_intc_sync_hack">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Huge speedup in many games, and a pretty high compatibility rate (some games still work better with EE sync hacks).</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">INTC Sync Hack</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_idle_loop_fastforward">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Speedup for a few games, including FFX with no known side effects.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Idle Loop Fast-Forward (experimental)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label110">
<widget class="GtkLabel" id="label114">
<property name="visible">True</property>
<property name="label" translatable="yes">Speedup for a few games, including FFX with no known side effects.</property>
<property name="label" translatable="yes">Misc Hacks</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
@ -1719,22 +1665,128 @@ If you have problems, Disable all of these and try again.</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator1">
<widget class="GtkFrame" id="frame41">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkAlignment" id="alignment36">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkVBox" id="vbox75">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkCheckButton" id="check_microvu_flag_hack_1">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Big Speedup and moderately compatible. May cause SPS and Infinite loop problems.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Flag Hack 1 (microVU only)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_microvu_flag_hack_2">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Big Speedup and moderately compatible. SuperVU does something similar by default.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Flag Hack 2 (microVU only)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_microvu_min_max_hack">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Small Speedup. May cause SPS, hanging, and missing geometry.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Min / Max Hack (microVU only)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label113">
<property name="visible">True</property>
<property name="label" translatable="yes">Vertex Unit (VU) Hacks</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
@ -1763,125 +1815,6 @@ If you have problems, Disable all of these and try again.</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkFrame" id="frame41">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkAlignment" id="alignment36">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkVBox" id="vbox75">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkCheckButton" id="check_microvu_flag_hack_1">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Big Speedup and moderately compatible. May cause SPS and Infinite loop problems.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Flag Hack 1 (microVU only)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_microvu_flag_hack_2">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Big Speedup and moderately compatible. SuperVU does something similar by default.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Flag Hack 2 (microVU only)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="check_microvu_min_max_hack">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Small Speedup. May cause SPS, hanging, and missing geometry.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Min / Max Hack (microVU only)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label113">
<property name="visible">True</property>
<property name="label" translatable="yes">Vertex Unit (VU) Hacks</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
@ -6802,13 +6735,14 @@ Version x.x</property>
<widget class="GtkCheckButton" id="GtkCheckButton_VU0rec">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">VU0rec - enable recompiler for VU0 unit</property>
<property name="label" translatable="yes">VU0rec - enable recompilers for VU0 unit</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="OnCpuCheckToggled" last_modification_time="Wed, 27 May 2009 20:04:55 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@ -6821,13 +6755,14 @@ Version x.x</property>
<widget class="GtkCheckButton" id="GtkCheckButton_VU1rec">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">VU1rec - enable recompiler for VU1 unit</property>
<property name="label" translatable="yes">VU1rec - enable recompilers for VU1 unit</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="OnCpuCheckToggled" last_modification_time="Wed, 27 May 2009 20:04:55 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@ -6906,6 +6841,7 @@ Version x.x</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="OnCpuCheckToggled" last_modification_time="Wed, 27 May 2009 20:05:54 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@ -6925,6 +6861,7 @@ Version x.x</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="OnCpuCheckToggled" last_modification_time="Wed, 27 May 2009 20:06:02 GMT"/>
</widget>
<packing>
<property name="padding">0</property>