diff --git a/pcsx2/Linux/HacksDlg.cpp b/pcsx2/Linux/HacksDlg.cpp index 1f4a29936f..4bed23966a 100644 --- a/pcsx2/Linux/HacksDlg.cpp +++ b/pcsx2/Linux/HacksDlg.cpp @@ -81,6 +81,7 @@ void on_Speed_Hacks(GtkMenuItem *menuitem, gpointer user_data) set_checked(SpeedHacksDlg, "check_intc_sync_hack", CHECK_INTC_STAT_HACK); set_checked(SpeedHacksDlg, "check_ESC_hack", CHECK_ESCAPE_HACK); + gtk_range_set_value(GTK_RANGE(lookup_widget(SpeedHacksDlg, "VUCycleHackScale")), Config.VUCycleHack); gtk_widget_show_all(SpeedHacksDlg); gtk_widget_set_sensitive(MainWindow, FALSE); gtk_main(); @@ -104,6 +105,7 @@ void on_Speed_Hack_OK(GtkButton *button, gpointer user_data) Config.Hacks |= is_checked(SpeedHacksDlg, "check_intc_sync_hack") << 5; Config.Hacks |= is_checked(SpeedHacksDlg, "check_ESC_hack") << 10; + Config.VUCycleHack = gtk_range_get_value(GTK_RANGE(lookup_widget(SpeedHacksDlg, "VUCycleHackScale"))); SaveConfig(); gtk_widget_destroy(SpeedHacksDlg); diff --git a/pcsx2/Linux/interface.c b/pcsx2/Linux/interface.c index f62270e3d4..843e490537 100644 --- a/pcsx2/Linux/interface.c +++ b/pcsx2/Linux/interface.c @@ -637,6 +637,9 @@ create_SpeedHacksDlg (void) GtkWidget *label97; GtkWidget *check_intc_sync_hack; GtkWidget *label101; + GtkWidget *vbox71; + GtkWidget *VUCycleHackScale; + GtkWidget *label108; GtkWidget *frame36; GtkWidget *alignment31; GtkWidget *check_ESC_hack; @@ -796,6 +799,22 @@ create_SpeedHacksDlg (void) 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); + + VUCycleHackScale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 4, 1, 0, 0))); + gtk_widget_set_name (VUCycleHackScale, "VUCycleHackScale"); + gtk_widget_show (VUCycleHackScale); + gtk_box_pack_start (GTK_BOX (vbox71), VUCycleHackScale, TRUE, TRUE, 0); + gtk_scale_set_digits (GTK_SCALE (VUCycleHackScale), 0); + + label108 = gtk_label_new (_("Speedup for 3D games.\n0: No speedup.\n1: Slight speedup for 3D geometry, should work with most games.\n2: Moderate speedup for 3D geometry, should work with most games with minor problems.\n3: Large speedup for 3D geometry, may break many games and make others skip frames.\n4: Very large speedup for 3D geometry, will break games in interesting ways.")); + gtk_widget_set_name (label108, "label108"); + gtk_widget_show (label108); + gtk_box_pack_start (GTK_BOX (vbox71), label108, FALSE, FALSE, 0); + frame36 = gtk_frame_new (NULL); gtk_widget_set_name (frame36, "frame36"); gtk_widget_show (frame36); @@ -869,6 +888,9 @@ create_SpeedHacksDlg (void) 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, VUCycleHackScale, "VUCycleHackScale"); + GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label108, "label108"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, frame36, "frame36"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment31, "alignment31"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_ESC_hack, "check_ESC_hack"); diff --git a/pcsx2/Linux/pcsx2.glade b/pcsx2/Linux/pcsx2.glade index 4e2513352c..b7e95d4d91 100644 --- a/pcsx2/Linux/pcsx2.glade +++ b/pcsx2/Linux/pcsx2.glade @@ -1688,6 +1688,67 @@ Known to work well with a couple games, namely Shadow of the Colossus (but break False + + + + True + False + 0 + + + + True + True + True + GTK_POS_TOP + 0 + GTK_UPDATE_CONTINUOUS + False + 0 0 4 1 0 0 + + + 0 + True + True + + + + + + True + Speedup for 3D games. +0: No speedup. +1: Slight speedup for 3D geometry, should work with most games. +2: Moderate speedup for 3D geometry, should work with most games with minor problems. +3: Large speedup for 3D geometry, may break many games and make others skip frames. +4: Very large speedup for 3D geometry, will break games in interesting ways. + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 0 + True + True + + 0