From 2fe3728018558427340d2deeec3329f83e99af61 Mon Sep 17 00:00:00 2001 From: arcum42 Date: Mon, 22 Dec 2008 08:16:34 +0000 Subject: [PATCH] Update the Linux Gui. git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@481 a6443dda-0b58-4228-96e9-037be469359c --- build.sh | 6 +- pcsx2/Linux/ConfigDlg.cpp | 14 +- pcsx2/Linux/DebugDlg.cpp | 2 +- pcsx2/Linux/GtkGui.cpp | 184 ++-- pcsx2/Linux/Linux.h | 39 +- pcsx2/Linux/LnxMain.cpp | 12 +- pcsx2/Linux/Pref.cpp | 22 +- pcsx2/Linux/callbacks.h | 12 - pcsx2/Linux/interface.c | 626 ++++++++------ pcsx2/Linux/pcsx2.glade | 1702 +++++++++++++++++++++---------------- pcsx2/Patch.c | 8 +- 11 files changed, 1447 insertions(+), 1180 deletions(-) diff --git a/build.sh b/build.sh index 1e9b9dbb19..4c37c706fa 100644 --- a/build.sh +++ b/build.sh @@ -15,12 +15,12 @@ export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --prefix `pwd`" #Debug / Devbuild version #export PCSX2OPTIONS="--enable-debug --enable-devbuild --enable-sse3 --prefix `pwd`" - +option=$@ export PCSX2PLUGINS="`pwd`/bin/plugins" curdir=`pwd` cd ${curdir}/plugins -sh build.sh $@ +sh build.sh $option if [ $? -ne 0 ] then @@ -29,7 +29,7 @@ exit 1 fi cd ${curdir}/pcsx2 -sh build.sh $@ +sh build.sh $option if [ $? -ne 0 ] then diff --git a/pcsx2/Linux/ConfigDlg.cpp b/pcsx2/Linux/ConfigDlg.cpp index 293abd6ecb..1d8a6e067a 100644 --- a/pcsx2/Linux/ConfigDlg.cpp +++ b/pcsx2/Linux/ConfigDlg.cpp @@ -494,7 +494,7 @@ void FindPlugins() { ComboAddPlugin(name, &GSConfS, version, ent); } else - SysPrintf("Plugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_GS_VERSION); + SysPrintf("Plugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_GS_VERSION); } if (type & PS2E_LT_PAD) { _PADquery query; @@ -506,37 +506,37 @@ void FindPlugins() { ComboAddPlugin(name, &PAD1ConfS, version, ent); if (query() & 0x2) ComboAddPlugin(name, &PAD2ConfS, version, ent); - } else SysPrintf("Plugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_PAD_VERSION); + } else SysPrintf("Plugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_PAD_VERSION); } if (type & PS2E_LT_SPU2) { version = PS2EgetLibVersion2(PS2E_LT_SPU2); if (((version >> 16)&0xff) == PS2E_SPU2_VERSION) { ComboAddPlugin(name, &SPU2ConfS, version, ent); - } else SysPrintf("Plugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_SPU2_VERSION); + } else SysPrintf("Plugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_SPU2_VERSION); } if (type & PS2E_LT_CDVD) { version = PS2EgetLibVersion2(PS2E_LT_CDVD); if (((version >> 16)&0xff) == PS2E_CDVD_VERSION) { ComboAddPlugin(name, &CDVDConfS, version, ent); - } else SysPrintf("Plugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_CDVD_VERSION); + } else SysPrintf("Plugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_CDVD_VERSION); } if (type & PS2E_LT_DEV9) { version = PS2EgetLibVersion2(PS2E_LT_DEV9); if (((version >> 16)&0xff) == PS2E_DEV9_VERSION) { ComboAddPlugin(name, &DEV9ConfS, version, ent); - } else SysPrintf("DEV9Plugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_DEV9_VERSION); + } else SysPrintf("DEV9Plugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_DEV9_VERSION); } if (type & PS2E_LT_USB) { version = PS2EgetLibVersion2(PS2E_LT_USB); if (((version >> 16)&0xff) == PS2E_USB_VERSION) { ComboAddPlugin(name, &USBConfS, version, ent); - } else SysPrintf("USBPlugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_USB_VERSION); + } else SysPrintf("USBPlugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_USB_VERSION); } if (type & PS2E_LT_FW) { version = PS2EgetLibVersion2(PS2E_LT_FW); if (((version >> 16)&0xff) == PS2E_FW_VERSION) { ComboAddPlugin(name, &FWConfS, version, ent); - } else SysPrintf("FWPlugin %s: Version %x != %x\n", plugin, (version >> 16)&0xff, PS2E_FW_VERSION); + } else SysPrintf("FWPlugin %s: Version %x != %x", plugin, (version >> 16)&0xff, PS2E_FW_VERSION); } } closedir(dir); diff --git a/pcsx2/Linux/DebugDlg.cpp b/pcsx2/Linux/DebugDlg.cpp index e636f0ed7b..535b1ae15e 100644 --- a/pcsx2/Linux/DebugDlg.cpp +++ b/pcsx2/Linux/DebugDlg.cpp @@ -303,7 +303,7 @@ void OnDebug_Go(GtkButton *button, gpointer user_data) { void OnDebug_Log(GtkButton *button, gpointer user_data) { #ifdef PCSX2_DEVBUILD - Log = 1 - Log; + //Log = 1 - Log; #endif } diff --git a/pcsx2/Linux/GtkGui.cpp b/pcsx2/Linux/GtkGui.cpp index 2319808d2b..517bca74bc 100644 --- a/pcsx2/Linux/GtkGui.cpp +++ b/pcsx2/Linux/GtkGui.cpp @@ -86,8 +86,8 @@ void RunGui() { void FixCPUState(void) { - Config.sseMXCSR = LinuxsseMXCSR; - Config.sseVUMXCSR = LinuxsseVUMXCSR; + //Config.sseMXCSR = LinuxsseMXCSR; + //Config.sseVUMXCSR = LinuxsseVUMXCSR; SetCPUState(Config.sseMXCSR, Config.sseVUMXCSR); } @@ -559,7 +559,7 @@ void OnDebug_Logging(GtkMenuItem *menuitem, gpointer user_data) { gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(Btn), varLog & (1<> 13) { case 0: @@ -809,6 +724,35 @@ void setAdvancedOptions() break; } + + switch(Config.eeOptions) + { + case FLAG_EE_CLAMP_NONE: + set_checked(AdvDlg, "radio_EE_Clamp_None", TRUE); + break; + case FLAG_EE_CLAMP_NORMAL: + set_checked(AdvDlg, "radio_EE_Clamp_Normal",TRUE); + break; + case FLAG_EE_CLAMP_EXTRA_PRESERVE: + set_checked(AdvDlg, "radio_EE_Clamp_Extra_Preserve", TRUE); + break; + } + + switch(Config.vuOptions) + { + case FLAG_VU_CLAMP_NONE: + set_checked(AdvDlg, "radio_VU_Clamp_None", TRUE); + break; + case FLAG_VU_CLAMP_NORMAL: + set_checked(AdvDlg, "radio_VU_Clamp_Normal",TRUE); + break; + case FLAG_VU_CLAMP_EXTRA: + set_checked(AdvDlg, "radio_VU_Clamp_Extra", TRUE); + break; + case FLAG_VU_CLAMP_EXTRA_PRESERVE: + set_checked(AdvDlg, "radio_VU_Clamp_Extra_Preserve", TRUE); + break; + } set_checked(AdvDlg, "check_EE_Flush_Zero", (Config.sseMXCSR & FLAG_FLUSH_ZERO) ? TRUE : FALSE); set_checked(AdvDlg, "check_EE_Denormal_Zero", (Config.sseMXCSR & FLAG_DENORMAL_ZERO) ? TRUE : FALSE); @@ -828,40 +772,46 @@ void on_Advanced(GtkMenuItem *menuitem, gpointer user_data) void on_Advanced_Defaults(GtkButton *button, gpointer user_data) { - LinuxsseMXCSR = DEFAULT_sseMXCSR; - LinuxsseVUMXCSR = DEFAULT_sseVUMXCSR; + Config.sseMXCSR = DEFAULT_sseMXCSR; + Config.sseVUMXCSR = DEFAULT_sseVUMXCSR; + Config.eeOptions = DEFAULT_eeOptions; + Config.vuOptions = DEFAULT_vuOptions; setAdvancedOptions(); } void on_Advanced_OK(GtkButton *button, gpointer user_data) { - LinuxsseMXCSR &= 0x1fbf; - LinuxsseVUMXCSR &= 0x1fbf; + Config.sseMXCSR &= 0x1fbf; + Config.sseVUMXCSR &= 0x1fbf; + Config.eeOptions = 0; + Config.vuOptions = 0; - LinuxsseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Near") ? FLAG_ROUND_NEAR : 0; - LinuxsseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Negative") ? FLAG_ROUND_NEGATIVE : 0; - LinuxsseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Positive") ? FLAG_ROUND_POSITIVE : 0; - LinuxsseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Zero") ? FLAG_ROUND_ZERO : 0; - - LinuxsseMXCSR = Config.sseMXCSR; - LinuxsseVUMXCSR = Config.sseVUMXCSR; + Config.sseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Near") ? FLAG_ROUND_NEAR : 0; + Config.sseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Negative") ? FLAG_ROUND_NEGATIVE : 0; + Config.sseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Positive") ? FLAG_ROUND_POSITIVE : 0; + Config.sseMXCSR |= is_checked(AdvDlg, "radio_EE_Round_Zero") ? FLAG_ROUND_ZERO : 0; - LinuxsseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Near") ? FLAG_ROUND_NEAR : 0; - LinuxsseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Negative") ? FLAG_ROUND_NEGATIVE : 0; - LinuxsseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Positive") ? FLAG_ROUND_POSITIVE : 0; - LinuxsseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Zero") ? FLAG_ROUND_ZERO : 0; + Config.sseMXCSR |= is_checked(AdvDlg, "check_EE_Denormal_Zero") ? FLAG_DENORMAL_ZERO : 0; + Config.sseMXCSR |= is_checked(AdvDlg, "check_EE_Flush_Zero") ? FLAG_FLUSH_ZERO : 0; - LinuxsseMXCSR |= is_checked(AdvDlg, "check_EE_Flush_Zero") ? FLAG_FLUSH_ZERO : 0; - LinuxsseVUMXCSR |= is_checked(AdvDlg, "check_VU_Flush_Zero") ? FLAG_FLUSH_ZERO : 0; + Config.sseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Near") ? FLAG_ROUND_NEAR : 0; + Config.sseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Negative") ? FLAG_ROUND_NEGATIVE : 0; + Config.sseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Positive") ? FLAG_ROUND_POSITIVE : 0; + Config.sseVUMXCSR |= is_checked(AdvDlg, "radio_VU_Round_Zero") ? FLAG_ROUND_ZERO : 0; - LinuxsseMXCSR |= is_checked(AdvDlg, "check_EE_Denormal_Zero") ? FLAG_DENORMAL_ZERO : 0; - LinuxsseVUMXCSR |= is_checked(AdvDlg, "check_VU_Denormal_Zero") ? FLAG_DENORMAL_ZERO : 0; + Config.sseVUMXCSR |= is_checked(AdvDlg, "check_VU_Denormal_Zero") ? FLAG_DENORMAL_ZERO : 0; + Config.sseVUMXCSR |= is_checked(AdvDlg, "check_VU_Flush_Zero") ? FLAG_FLUSH_ZERO : 0; - Config.sseMXCSR = LinuxsseMXCSR; - Config.sseVUMXCSR = LinuxsseVUMXCSR; + Config.eeOptions |= is_checked(AdvDlg, "radio_EE_Clamp_None") ? FLAG_EE_CLAMP_NONE : 0; + Config.eeOptions |= is_checked(AdvDlg, "radio_EE_Clamp_Normal") ? FLAG_EE_CLAMP_NORMAL : 0; + Config.eeOptions |= is_checked(AdvDlg, "radio_EE_Clamp_Extra_Preserve") ? FLAG_EE_CLAMP_EXTRA_PRESERVE : 0; + + Config.vuOptions |= is_checked(AdvDlg, "radio_VU_Clamp_None") ? FLAG_VU_CLAMP_NONE : 0; + Config.vuOptions |= is_checked(AdvDlg, "radio_VU_Clamp_Normal") ? FLAG_VU_CLAMP_NORMAL : 0; + Config.vuOptions |= is_checked(AdvDlg, "radio_VU_Clamp_Extra") ? FLAG_VU_CLAMP_EXTRA : 0; + Config.vuOptions |= is_checked(AdvDlg, "radio_VU_Clamp_Extra_Preserve") ? FLAG_VU_CLAMP_EXTRA_PRESERVE : 0; - //SysPrintf("Advanced: Config.sseMXCSR = %x; Config.sseVUMXCSR = %x \n", Config.sseMXCSR, Config.sseVUMXCSR); SetCPUState(Config.sseMXCSR, Config.sseVUMXCSR); SaveConfig(); diff --git a/pcsx2/Linux/Linux.h b/pcsx2/Linux/Linux.h index 51adf8dccd..874a9dac41 100644 --- a/pcsx2/Linux/Linux.h +++ b/pcsx2/Linux/Linux.h @@ -61,8 +61,8 @@ extern int g_SaveGSStream; extern int g_ZeroGSOptions; // Nasty, currently neccessary hack -extern u32 LinuxsseMXCSR; -extern u32 LinuxsseVUMXCSR; +//extern u32 LinuxsseMXCSR; +//extern u32 LinuxsseVUMXCSR; extern void FixCPUState(void); /* LnxMain */ @@ -123,9 +123,26 @@ int Config_hacks_backup; #define set_checked(main_widget,widget_name, state) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(main_widget, widget_name)), state) #define set_flag(v, flag, value) if (value == TRUE) v |= flag; else v &= flag; -#define get_flag(v,flag) (v & flag) +#define get_flag(v,flag) ((v & (1 << flag)) != 0) + +static __forceinline void print_flags(char *name, u32 num, char *flag_names[16]) +{ + int i; + + SysPrintf("%s:", name); + + if (flag_names != NULL) + { + for(i=0; i<=15; i++) + SysPrintf("%s %x: %x", flag_names[i], (1<vbox; gtk_widget_show (dialog_vbox4); - hbox21 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox21); - gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox21, TRUE, TRUE, 0); + hbox33 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox33); + gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox33, TRUE, TRUE, 0); - frame15 = gtk_frame_new (NULL); - gtk_widget_show (frame15); - gtk_box_pack_start (GTK_BOX (hbox21), frame15, TRUE, TRUE, 0); - gtk_frame_set_shadow_type (GTK_FRAME (frame15), GTK_SHADOW_NONE); + vbox52 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox52); + gtk_box_pack_start (GTK_BOX (hbox33), vbox52, TRUE, TRUE, 0); - alignment10 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment10); - gtk_container_add (GTK_CONTAINER (frame15), alignment10); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment10), 0, 0, 12, 0); + frame24 = gtk_frame_new (NULL); + gtk_widget_show (frame24); + gtk_box_pack_start (GTK_BOX (vbox52), frame24, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame24), GTK_SHADOW_NONE); - vbox36 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox36); - gtk_container_add (GTK_CONTAINER (alignment10), vbox36); + alignment19 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment19); + gtk_container_add (GTK_CONTAINER (frame24), alignment19); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment19), 0, 0, 12, 0); - frame17 = gtk_frame_new (NULL); - gtk_widget_show (frame17); - gtk_box_pack_start (GTK_BOX (vbox36), frame17, TRUE, TRUE, 0); - gtk_frame_set_shadow_type (GTK_FRAME (frame17), GTK_SHADOW_NONE); + vbox53 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox53); + gtk_container_add (GTK_CONTAINER (alignment19), vbox53); - alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment12); - gtk_container_add (GTK_CONTAINER (frame17), alignment12); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment12), 0, 0, 12, 0); + frame26 = gtk_frame_new (NULL); + gtk_widget_show (frame26); + gtk_box_pack_start (GTK_BOX (vbox53), frame26, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame26), GTK_SHADOW_NONE); - vbox38 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox38); - gtk_container_add (GTK_CONTAINER (alignment12), vbox38); + alignment21 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment21); + gtk_container_add (GTK_CONTAINER (frame26), alignment21); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment21), 0, 0, 12, 0); + + hbox35 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox35); + gtk_container_add (GTK_CONTAINER (alignment21), hbox35); radio_EE_Round_Near = gtk_radio_button_new_with_mnemonic (NULL, _("Nearest")); gtk_widget_show (radio_EE_Round_Near); - gtk_box_pack_start (GTK_BOX (vbox38), radio_EE_Round_Near, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox35), radio_EE_Round_Near, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Round_Near), radio_EE_Round_Near_group); radio_EE_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Round_Near)); radio_EE_Round_Negative = gtk_radio_button_new_with_mnemonic (NULL, _("Negative")); gtk_widget_show (radio_EE_Round_Negative); - gtk_box_pack_start (GTK_BOX (vbox38), radio_EE_Round_Negative, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox35), radio_EE_Round_Negative, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Round_Negative), radio_EE_Round_Near_group); radio_EE_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Round_Negative)); radio_EE_Round_Positive = gtk_radio_button_new_with_mnemonic (NULL, _("Positive")); gtk_widget_show (radio_EE_Round_Positive); - gtk_box_pack_start (GTK_BOX (vbox38), radio_EE_Round_Positive, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox35), radio_EE_Round_Positive, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Round_Positive), radio_EE_Round_Near_group); radio_EE_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Round_Positive)); - radio_EE_Round_Zero = gtk_radio_button_new_with_mnemonic (NULL, _("Zero")); + radio_EE_Round_Zero = gtk_radio_button_new_with_mnemonic (NULL, _("Chop/Zero")); gtk_widget_show (radio_EE_Round_Zero); - gtk_box_pack_start (GTK_BOX (vbox38), radio_EE_Round_Zero, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox35), radio_EE_Round_Zero, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Round_Zero), radio_EE_Round_Near_group); radio_EE_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Round_Zero)); - label50 = gtk_label_new (_("Roundmode")); - gtk_widget_show (label50); - gtk_frame_set_label_widget (GTK_FRAME (frame17), label50); - gtk_label_set_use_markup (GTK_LABEL (label50), TRUE); + label72 = gtk_label_new (_("Round Mode")); + gtk_widget_show (label72); + gtk_frame_set_label_widget (GTK_FRAME (frame26), label72); + gtk_label_set_use_markup (GTK_LABEL (label72), TRUE); + + frame27 = gtk_frame_new (NULL); + gtk_widget_show (frame27); + gtk_box_pack_start (GTK_BOX (vbox53), frame27, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame27), GTK_SHADOW_NONE); + + alignment22 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment22); + gtk_container_add (GTK_CONTAINER (frame27), alignment22); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment22), 0, 0, 12, 0); + + hbox37 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox37); + gtk_container_add (GTK_CONTAINER (alignment22), hbox37); + + radio_EE_Clamp_None = gtk_radio_button_new_with_mnemonic (NULL, _("None")); + gtk_widget_show (radio_EE_Clamp_None); + gtk_box_pack_start (GTK_BOX (hbox37), radio_EE_Clamp_None, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Clamp_None), radio_EE_Clamp_None_group); + radio_EE_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Clamp_None)); + + radio_EE_Clamp_Normal = gtk_radio_button_new_with_mnemonic (NULL, _("Normal")); + gtk_widget_show (radio_EE_Clamp_Normal); + gtk_box_pack_start (GTK_BOX (hbox37), radio_EE_Clamp_Normal, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Clamp_Normal), radio_EE_Clamp_None_group); + radio_EE_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Clamp_Normal)); + + radio_EE_Clamp_Extra_Preserve = gtk_radio_button_new_with_mnemonic (NULL, _("Extra + Preserve Sign")); + gtk_widget_show (radio_EE_Clamp_Extra_Preserve); + gtk_box_pack_start (GTK_BOX (hbox37), radio_EE_Clamp_Extra_Preserve, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_EE_Clamp_Extra_Preserve), radio_EE_Clamp_None_group); + radio_EE_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_EE_Clamp_Extra_Preserve)); + + label73 = gtk_label_new (_("Clamp Mode")); + gtk_widget_show (label73); + gtk_frame_set_label_widget (GTK_FRAME (frame27), label73); + gtk_label_set_use_markup (GTK_LABEL (label73), TRUE); + + hbox34 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox34); + gtk_box_pack_start (GTK_BOX (vbox53), hbox34, TRUE, TRUE, 0); check_EE_Flush_Zero = gtk_check_button_new_with_mnemonic (_("Flush to Zero")); gtk_widget_show (check_EE_Flush_Zero); - gtk_box_pack_start (GTK_BOX (vbox36), check_EE_Flush_Zero, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox34), check_EE_Flush_Zero, FALSE, FALSE, 0); check_EE_Denormal_Zero = gtk_check_button_new_with_mnemonic (_("Denormals are Zero")); gtk_widget_show (check_EE_Denormal_Zero); - gtk_box_pack_start (GTK_BOX (vbox36), check_EE_Denormal_Zero, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox34), check_EE_Denormal_Zero, FALSE, FALSE, 0); - label48 = gtk_label_new (_("EE Recs Options")); - gtk_widget_show (label48); - gtk_frame_set_label_widget (GTK_FRAME (frame15), label48); - gtk_label_set_use_markup (GTK_LABEL (label48), TRUE); + label70 = gtk_label_new (_("EE Recs Options")); + gtk_widget_show (label70); + gtk_frame_set_label_widget (GTK_FRAME (frame24), label70); + gtk_label_set_use_markup (GTK_LABEL (label70), TRUE); - frame16 = gtk_frame_new (NULL); - gtk_widget_show (frame16); - gtk_box_pack_start (GTK_BOX (hbox21), frame16, TRUE, TRUE, 0); - gtk_frame_set_shadow_type (GTK_FRAME (frame16), GTK_SHADOW_NONE); + frame25 = gtk_frame_new (NULL); + gtk_widget_show (frame25); + gtk_box_pack_start (GTK_BOX (vbox52), frame25, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame25), GTK_SHADOW_NONE); - alignment11 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment11); - gtk_container_add (GTK_CONTAINER (frame16), alignment11); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment11), 0, 0, 12, 0); + alignment20 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment20); + gtk_container_add (GTK_CONTAINER (frame25), alignment20); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment20), 0, 0, 12, 0); - vbox37 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox37); - gtk_container_add (GTK_CONTAINER (alignment11), vbox37); + vbox54 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox54); + gtk_container_add (GTK_CONTAINER (alignment20), vbox54); - frame18 = gtk_frame_new (NULL); - gtk_widget_show (frame18); - gtk_box_pack_start (GTK_BOX (vbox37), frame18, TRUE, TRUE, 0); - gtk_frame_set_shadow_type (GTK_FRAME (frame18), GTK_SHADOW_NONE); + frame28 = gtk_frame_new (NULL); + gtk_widget_show (frame28); + gtk_box_pack_start (GTK_BOX (vbox54), frame28, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame28), GTK_SHADOW_NONE); - alignment13 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment13); - gtk_container_add (GTK_CONTAINER (frame18), alignment13); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment13), 0, 0, 12, 0); + alignment23 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment23); + gtk_container_add (GTK_CONTAINER (frame28), alignment23); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment23), 0, 0, 12, 0); - vbox39 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox39); - gtk_container_add (GTK_CONTAINER (alignment13), vbox39); + hbox36 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox36); + gtk_container_add (GTK_CONTAINER (alignment23), hbox36); radio_VU_Round_Near = gtk_radio_button_new_with_mnemonic (NULL, _("Nearest")); gtk_widget_show (radio_VU_Round_Near); - gtk_box_pack_start (GTK_BOX (vbox39), radio_VU_Round_Near, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox36), radio_VU_Round_Near, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Round_Near), radio_VU_Round_Near_group); radio_VU_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Round_Near)); radio_VU_Round_Negative = gtk_radio_button_new_with_mnemonic (NULL, _("Negative")); gtk_widget_show (radio_VU_Round_Negative); - gtk_box_pack_start (GTK_BOX (vbox39), radio_VU_Round_Negative, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox36), radio_VU_Round_Negative, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Round_Negative), radio_VU_Round_Near_group); radio_VU_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Round_Negative)); radio_VU_Round_Positive = gtk_radio_button_new_with_mnemonic (NULL, _("Positive")); gtk_widget_show (radio_VU_Round_Positive); - gtk_box_pack_start (GTK_BOX (vbox39), radio_VU_Round_Positive, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox36), radio_VU_Round_Positive, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Round_Positive), radio_VU_Round_Near_group); radio_VU_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Round_Positive)); radio_VU_Round_Zero = gtk_radio_button_new_with_mnemonic (NULL, _("Zero")); gtk_widget_show (radio_VU_Round_Zero); - gtk_box_pack_start (GTK_BOX (vbox39), radio_VU_Round_Zero, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox36), radio_VU_Round_Zero, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Round_Zero), radio_VU_Round_Near_group); radio_VU_Round_Near_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Round_Zero)); - label51 = gtk_label_new (_("Roundmode")); - gtk_widget_show (label51); - gtk_frame_set_label_widget (GTK_FRAME (frame18), label51); - gtk_label_set_use_markup (GTK_LABEL (label51), TRUE); + label74 = gtk_label_new (_("Round Mode")); + gtk_widget_show (label74); + gtk_frame_set_label_widget (GTK_FRAME (frame28), label74); + gtk_label_set_use_markup (GTK_LABEL (label74), TRUE); + + frame29 = gtk_frame_new (NULL); + gtk_widget_show (frame29); + gtk_box_pack_start (GTK_BOX (vbox54), frame29, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame29), GTK_SHADOW_NONE); + + alignment24 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment24); + gtk_container_add (GTK_CONTAINER (frame29), alignment24); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment24), 0, 0, 12, 0); + + hbox38 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox38); + gtk_container_add (GTK_CONTAINER (alignment24), hbox38); + + radio_VU_Clamp_None = gtk_radio_button_new_with_mnemonic (NULL, _("None")); + gtk_widget_show (radio_VU_Clamp_None); + gtk_box_pack_start (GTK_BOX (hbox38), radio_VU_Clamp_None, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Clamp_None), radio_VU_Clamp_None_group); + radio_VU_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Clamp_None)); + + radio_VU_Clamp_Normal = gtk_radio_button_new_with_mnemonic (NULL, _("Normal")); + gtk_widget_show (radio_VU_Clamp_Normal); + gtk_box_pack_start (GTK_BOX (hbox38), radio_VU_Clamp_Normal, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Clamp_Normal), radio_VU_Clamp_None_group); + radio_VU_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Clamp_Normal)); + + radio_VU_Clamp_Extra = gtk_radio_button_new_with_mnemonic (NULL, _("Extra")); + gtk_widget_show (radio_VU_Clamp_Extra); + gtk_box_pack_start (GTK_BOX (hbox38), radio_VU_Clamp_Extra, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Clamp_Extra), radio_VU_Clamp_None_group); + radio_VU_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Clamp_Extra)); + + radio_VU_Clamp_Extra_Preserve = gtk_radio_button_new_with_mnemonic (NULL, _("Extra + Preserve Sign")); + gtk_widget_show (radio_VU_Clamp_Extra_Preserve); + gtk_box_pack_start (GTK_BOX (hbox38), radio_VU_Clamp_Extra_Preserve, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_VU_Clamp_Extra_Preserve), radio_VU_Clamp_None_group); + radio_VU_Clamp_None_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_VU_Clamp_Extra_Preserve)); + + label75 = gtk_label_new (_("Clamp Mode")); + gtk_widget_show (label75); + gtk_frame_set_label_widget (GTK_FRAME (frame29), label75); + gtk_label_set_use_markup (GTK_LABEL (label75), TRUE); + + table7 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table7); + gtk_box_pack_start (GTK_BOX (vbox54), table7, TRUE, TRUE, 0); check_VU_Flush_Zero = gtk_check_button_new_with_mnemonic (_("Flush to Zero")); gtk_widget_show (check_VU_Flush_Zero); - gtk_box_pack_start (GTK_BOX (vbox37), check_VU_Flush_Zero, FALSE, FALSE, 0); + gtk_table_attach (GTK_TABLE (table7), check_VU_Flush_Zero, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); check_VU_Denormal_Zero = gtk_check_button_new_with_mnemonic (_("Denormals are Zero")); gtk_widget_show (check_VU_Denormal_Zero); - gtk_box_pack_start (GTK_BOX (vbox37), check_VU_Denormal_Zero, FALSE, FALSE, 0); + gtk_table_attach (GTK_TABLE (table7), check_VU_Denormal_Zero, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); - label49 = gtk_label_new (_("VU Recs Options")); - gtk_widget_show (label49); - gtk_frame_set_label_widget (GTK_FRAME (frame16), label49); - gtk_label_set_use_markup (GTK_LABEL (label49), TRUE); + Check_Set_OU_Flags = gtk_check_button_new_with_mnemonic (_("Set O & U Flags")); + gtk_widget_show (Check_Set_OU_Flags); + gtk_table_attach (GTK_TABLE (table7), Check_Set_OU_Flags, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_sensitive (Check_Set_OU_Flags, FALSE); + + check_Emulate_DaZ = gtk_check_button_new_with_mnemonic (_("Software Emulate DaZ")); + gtk_widget_show (check_Emulate_DaZ); + gtk_table_attach (GTK_TABLE (table7), check_Emulate_DaZ, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_sensitive (check_Emulate_DaZ, FALSE); + + label71 = gtk_label_new (_("VU Recs Options")); + gtk_widget_show (label71); + gtk_frame_set_label_widget (GTK_FRAME (frame25), label71); + gtk_label_set_use_markup (GTK_LABEL (label71), TRUE); + + vbox51 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox51); + gtk_box_pack_start (GTK_BOX (hbox33), vbox51, TRUE, TRUE, 0); + + frame30 = gtk_frame_new (NULL); + gtk_widget_show (frame30); + gtk_box_pack_start (GTK_BOX (vbox51), frame30, FALSE, FALSE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame30), GTK_SHADOW_NONE); + + alignment25 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment25); + gtk_container_add (GTK_CONTAINER (frame30), alignment25); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment25), 0, 0, 12, 0); + + label81 = gtk_label_new (_("These options specify how your CPU rounds floating point values.\n\nTry changing the roundmode for EE if your game hangs, it could make it work again.")); + gtk_widget_show (label81); + gtk_container_add (GTK_CONTAINER (alignment25), label81); + gtk_label_set_line_wrap (GTK_LABEL (label81), TRUE); + + label78 = gtk_label_new (_("Round Mode")); + gtk_widget_show (label78); + gtk_frame_set_label_widget (GTK_FRAME (frame30), label78); + gtk_label_set_use_markup (GTK_LABEL (label78), TRUE); + + frame31 = gtk_frame_new (NULL); + gtk_widget_show (frame31); + gtk_box_pack_start (GTK_BOX (vbox51), frame31, FALSE, FALSE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame31), GTK_SHADOW_NONE); + + alignment26 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment26); + gtk_container_add (GTK_CONTAINER (frame31), alignment26); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment26), 0, 0, 12, 0); + + label84 = gtk_label_new (_("These options specify how PCSX2's recompilers will clamp Infinities and NaN (Not a Number) values in the opcode instructions.\n\nNone - No clamping. (Fastest Mode)\nNormal - Clamps the result.\nExtra - Clamps the operands, the result, and anywhere in between.\nExtra + Preserve Sign - Same as \"\"Extra\"\", except preserves NaN's sign when clamping the operands. (Slowest Mode)")); + gtk_widget_show (label84); + gtk_container_add (GTK_CONTAINER (alignment26), label84); + gtk_label_set_line_wrap (GTK_LABEL (label84), TRUE); + + label79 = gtk_label_new (_("Clamp Mode")); + gtk_widget_show (label79); + gtk_frame_set_label_widget (GTK_FRAME (frame31), label79); + gtk_label_set_use_markup (GTK_LABEL (label79), TRUE); + + frame32 = gtk_frame_new (NULL); + gtk_widget_show (frame32); + gtk_box_pack_start (GTK_BOX (vbox51), frame32, FALSE, FALSE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame32), GTK_SHADOW_NONE); + + alignment27 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment27); + gtk_container_add (GTK_CONTAINER (frame32), alignment27); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment27), 0, 0, 12, 0); + + label83 = gtk_label_new (_("Flush to Zero - Your CPU makes Floating Point Underflows become Zero, so it does less work. (Speed Up)\n\nDenormals are Zero - Your CPU makes Floating Point Denormals become Zero, so it does less work. (Speed Up)")); + gtk_widget_show (label83); + gtk_container_add (GTK_CONTAINER (alignment27), label83); + gtk_label_set_line_wrap (GTK_LABEL (label83), TRUE); + + label80 = gtk_label_new (_("Other Options")); + gtk_widget_show (label80); + gtk_frame_set_label_widget (GTK_FRAME (frame32), label80); + gtk_label_set_use_markup (GTK_LABEL (label80), TRUE); dialog_action_area4 = GTK_DIALOG (AdvDlg)->action_area; gtk_widget_show (dialog_action_area4); @@ -250,35 +459,68 @@ create_AdvDlg (void) /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (AdvDlg, AdvDlg, "AdvDlg"); GLADE_HOOKUP_OBJECT_NO_REF (AdvDlg, dialog_vbox4, "dialog_vbox4"); - GLADE_HOOKUP_OBJECT (AdvDlg, hbox21, "hbox21"); - GLADE_HOOKUP_OBJECT (AdvDlg, frame15, "frame15"); - GLADE_HOOKUP_OBJECT (AdvDlg, alignment10, "alignment10"); - GLADE_HOOKUP_OBJECT (AdvDlg, vbox36, "vbox36"); - GLADE_HOOKUP_OBJECT (AdvDlg, frame17, "frame17"); - GLADE_HOOKUP_OBJECT (AdvDlg, alignment12, "alignment12"); - GLADE_HOOKUP_OBJECT (AdvDlg, vbox38, "vbox38"); + GLADE_HOOKUP_OBJECT (AdvDlg, hbox33, "hbox33"); + GLADE_HOOKUP_OBJECT (AdvDlg, vbox52, "vbox52"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame24, "frame24"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment19, "alignment19"); + GLADE_HOOKUP_OBJECT (AdvDlg, vbox53, "vbox53"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame26, "frame26"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment21, "alignment21"); + GLADE_HOOKUP_OBJECT (AdvDlg, hbox35, "hbox35"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Round_Near, "radio_EE_Round_Near"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Round_Negative, "radio_EE_Round_Negative"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Round_Positive, "radio_EE_Round_Positive"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Round_Zero, "radio_EE_Round_Zero"); - GLADE_HOOKUP_OBJECT (AdvDlg, label50, "label50"); + GLADE_HOOKUP_OBJECT (AdvDlg, label72, "label72"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame27, "frame27"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment22, "alignment22"); + GLADE_HOOKUP_OBJECT (AdvDlg, hbox37, "hbox37"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Clamp_None, "radio_EE_Clamp_None"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Clamp_Normal, "radio_EE_Clamp_Normal"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_EE_Clamp_Extra_Preserve, "radio_EE_Clamp_Extra_Preserve"); + GLADE_HOOKUP_OBJECT (AdvDlg, label73, "label73"); + GLADE_HOOKUP_OBJECT (AdvDlg, hbox34, "hbox34"); GLADE_HOOKUP_OBJECT (AdvDlg, check_EE_Flush_Zero, "check_EE_Flush_Zero"); GLADE_HOOKUP_OBJECT (AdvDlg, check_EE_Denormal_Zero, "check_EE_Denormal_Zero"); - GLADE_HOOKUP_OBJECT (AdvDlg, label48, "label48"); - GLADE_HOOKUP_OBJECT (AdvDlg, frame16, "frame16"); - GLADE_HOOKUP_OBJECT (AdvDlg, alignment11, "alignment11"); - GLADE_HOOKUP_OBJECT (AdvDlg, vbox37, "vbox37"); - GLADE_HOOKUP_OBJECT (AdvDlg, frame18, "frame18"); - GLADE_HOOKUP_OBJECT (AdvDlg, alignment13, "alignment13"); - GLADE_HOOKUP_OBJECT (AdvDlg, vbox39, "vbox39"); + GLADE_HOOKUP_OBJECT (AdvDlg, label70, "label70"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame25, "frame25"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment20, "alignment20"); + GLADE_HOOKUP_OBJECT (AdvDlg, vbox54, "vbox54"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame28, "frame28"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment23, "alignment23"); + GLADE_HOOKUP_OBJECT (AdvDlg, hbox36, "hbox36"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Round_Near, "radio_VU_Round_Near"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Round_Negative, "radio_VU_Round_Negative"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Round_Positive, "radio_VU_Round_Positive"); GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Round_Zero, "radio_VU_Round_Zero"); - GLADE_HOOKUP_OBJECT (AdvDlg, label51, "label51"); + GLADE_HOOKUP_OBJECT (AdvDlg, label74, "label74"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame29, "frame29"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment24, "alignment24"); + GLADE_HOOKUP_OBJECT (AdvDlg, hbox38, "hbox38"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Clamp_None, "radio_VU_Clamp_None"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Clamp_Normal, "radio_VU_Clamp_Normal"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Clamp_Extra, "radio_VU_Clamp_Extra"); + GLADE_HOOKUP_OBJECT (AdvDlg, radio_VU_Clamp_Extra_Preserve, "radio_VU_Clamp_Extra_Preserve"); + GLADE_HOOKUP_OBJECT (AdvDlg, label75, "label75"); + GLADE_HOOKUP_OBJECT (AdvDlg, table7, "table7"); GLADE_HOOKUP_OBJECT (AdvDlg, check_VU_Flush_Zero, "check_VU_Flush_Zero"); GLADE_HOOKUP_OBJECT (AdvDlg, check_VU_Denormal_Zero, "check_VU_Denormal_Zero"); - GLADE_HOOKUP_OBJECT (AdvDlg, label49, "label49"); + GLADE_HOOKUP_OBJECT (AdvDlg, Check_Set_OU_Flags, "Check_Set_OU_Flags"); + GLADE_HOOKUP_OBJECT (AdvDlg, check_Emulate_DaZ, "check_Emulate_DaZ"); + GLADE_HOOKUP_OBJECT (AdvDlg, label71, "label71"); + GLADE_HOOKUP_OBJECT (AdvDlg, vbox51, "vbox51"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame30, "frame30"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment25, "alignment25"); + GLADE_HOOKUP_OBJECT (AdvDlg, label81, "label81"); + GLADE_HOOKUP_OBJECT (AdvDlg, label78, "label78"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame31, "frame31"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment26, "alignment26"); + GLADE_HOOKUP_OBJECT (AdvDlg, label84, "label84"); + GLADE_HOOKUP_OBJECT (AdvDlg, label79, "label79"); + GLADE_HOOKUP_OBJECT (AdvDlg, frame32, "frame32"); + GLADE_HOOKUP_OBJECT (AdvDlg, alignment27, "alignment27"); + GLADE_HOOKUP_OBJECT (AdvDlg, label83, "label83"); + GLADE_HOOKUP_OBJECT (AdvDlg, label80, "label80"); GLADE_HOOKUP_OBJECT_NO_REF (AdvDlg, dialog_action_area4, "dialog_action_area4"); GLADE_HOOKUP_OBJECT (AdvDlg, AdvDefaultBtn, "AdvDefaultBtn"); GLADE_HOOKUP_OBJECT (AdvDlg, button79, "button79"); @@ -294,23 +536,6 @@ create_SpeedHacksDlg (void) GtkWidget *dialog_vbox3; GtkWidget *vbox31; GtkWidget *label43; - GtkWidget *frame11; - GtkWidget *alignment6; - GtkWidget *vbox32; - GtkWidget *hbox22; - GtkWidget *ComboVUOverflow; - GtkWidget *label52; - GtkWidget *hbox23; - GtkWidget *ComboFPUOverflow; - GtkWidget *label53; - GtkWidget *check_Disable_Underflow; - GtkWidget *label44; - GtkWidget *frame12; - GtkWidget *alignment7; - GtkWidget *vbox35; - GtkWidget *check_Disable_VU_Flags; - GtkWidget *check_Disable_FPU_Flags; - GtkWidget *label45; GtkWidget *frame13; GtkWidget *alignment8; GtkWidget *vbox34; @@ -324,9 +549,6 @@ create_SpeedHacksDlg (void) GtkWidget *check_ESC_Hack; GtkWidget *label47; GtkWidget *dialog_action_area3; - GtkWidget *button73; - GtkWidget *button74; - GtkWidget *button75; GtkWidget *button99; GtkWidget *button98; @@ -346,86 +568,6 @@ create_SpeedHacksDlg (void) gtk_box_pack_start (GTK_BOX (vbox31), label43, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label43), GTK_JUSTIFY_CENTER); - frame11 = gtk_frame_new (NULL); - gtk_widget_show (frame11); - gtk_box_pack_start (GTK_BOX (vbox31), frame11, TRUE, TRUE, 0); - gtk_frame_set_shadow_type (GTK_FRAME (frame11), GTK_SHADOW_NONE); - - alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment6); - gtk_container_add (GTK_CONTAINER (frame11), alignment6); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment6), 0, 0, 12, 0); - - vbox32 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox32); - gtk_container_add (GTK_CONTAINER (alignment6), vbox32); - - hbox22 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox22); - gtk_box_pack_start (GTK_BOX (vbox32), hbox22, FALSE, FALSE, 0); - - ComboVUOverflow = gtk_combo_box_new_text (); - gtk_widget_show (ComboVUOverflow); - gtk_box_pack_start (GTK_BOX (hbox22), ComboVUOverflow, FALSE, TRUE, 0); - gtk_combo_box_append_text (GTK_COMBO_BOX (ComboVUOverflow), _("Disabled (Speedup!)")); - gtk_combo_box_append_text (GTK_COMBO_BOX (ComboVUOverflow), _("Normal")); - gtk_combo_box_append_text (GTK_COMBO_BOX (ComboVUOverflow), _("Enabled (Helps SPS, Slow)")); - - label52 = gtk_label_new (_("VU Overflow Checks")); - gtk_widget_show (label52); - gtk_box_pack_start (GTK_BOX (hbox22), label52, FALSE, FALSE, 0); - - hbox23 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox23); - gtk_box_pack_start (GTK_BOX (vbox32), hbox23, FALSE, FALSE, 0); - - ComboFPUOverflow = gtk_combo_box_new_text (); - gtk_widget_show (ComboFPUOverflow); - gtk_box_pack_start (GTK_BOX (hbox23), ComboFPUOverflow, FALSE, TRUE, 0); - gtk_combo_box_append_text (GTK_COMBO_BOX (ComboFPUOverflow), _("Disabled (Speedup!)")); - gtk_combo_box_append_text (GTK_COMBO_BOX (ComboFPUOverflow), _("Normal")); - gtk_combo_box_append_text (GTK_COMBO_BOX (ComboFPUOverflow), _("Enabled (Helps SPS, Slow)")); - - label53 = gtk_label_new (_("FPU Overflow Checks")); - gtk_widget_show (label53); - gtk_box_pack_start (GTK_BOX (hbox23), label53, FALSE, FALSE, 0); - - check_Disable_Underflow = gtk_check_button_new_with_mnemonic (_("Disable Underflow Checks - *Checked = Disables underflow checks. ( Speedup! )")); - gtk_widget_show (check_Disable_Underflow); - gtk_box_pack_start (GTK_BOX (vbox32), check_Disable_Underflow, FALSE, FALSE, 0); - - label44 = gtk_label_new (_("Overflow and Underflow")); - gtk_widget_show (label44); - gtk_frame_set_label_widget (GTK_FRAME (frame11), label44); - gtk_label_set_use_markup (GTK_LABEL (label44), TRUE); - - frame12 = gtk_frame_new (NULL); - gtk_widget_show (frame12); - gtk_box_pack_start (GTK_BOX (vbox31), frame12, TRUE, TRUE, 0); - gtk_frame_set_shadow_type (GTK_FRAME (frame12), GTK_SHADOW_NONE); - - alignment7 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment7); - gtk_container_add (GTK_CONTAINER (frame12), alignment7); - gtk_alignment_set_padding (GTK_ALIGNMENT (alignment7), 0, 0, 12, 0); - - vbox35 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox35); - gtk_container_add (GTK_CONTAINER (alignment7), vbox35); - - check_Disable_VU_Flags = gtk_check_button_new_with_mnemonic (_("Disable Extra VU Flags - When checked, PCSX2 doesn't set some flags that are rarely used by games. ( Speedup! )")); - gtk_widget_show (check_Disable_VU_Flags); - gtk_box_pack_start (GTK_BOX (vbox35), check_Disable_VU_Flags, FALSE, FALSE, 0); - - check_Disable_FPU_Flags = gtk_check_button_new_with_mnemonic (_("Disable Extra FPU Flags - When checked, PCSX2 doesn't set some flags that are rarely used by games. ( Speedup! )")); - gtk_widget_show (check_Disable_FPU_Flags); - gtk_box_pack_start (GTK_BOX (vbox35), check_Disable_FPU_Flags, FALSE, FALSE, 0); - - label45 = gtk_label_new (_("Flag Settings")); - gtk_widget_show (label45); - gtk_frame_set_label_widget (GTK_FRAME (frame12), label45); - gtk_label_set_use_markup (GTK_LABEL (label45), TRUE); - frame13 = gtk_frame_new (NULL); gtk_widget_show (frame13); gtk_box_pack_start (GTK_BOX (vbox31), frame13, TRUE, TRUE, 0); @@ -440,15 +582,15 @@ create_SpeedHacksDlg (void) gtk_widget_show (vbox34); gtk_container_add (GTK_CONTAINER (alignment8), vbox34); - check_EE_Double_Sync = gtk_check_button_new_with_mnemonic (_("EE Sync Hack (x2) - Doubles the cycle rate of the EE. ( Big Speedup in most games! )")); + check_EE_Double_Sync = gtk_check_button_new_with_mnemonic (_("EE Sync Hack (x2) - Doubles the cycle rate of the EE.")); gtk_widget_show (check_EE_Double_Sync); gtk_box_pack_start (GTK_BOX (vbox34), check_EE_Double_Sync, FALSE, FALSE, 0); - check_IOP_Double_Sync = gtk_check_button_new_with_mnemonic (_("IOP Sync Hack (x2) - Doubles the cycle rate of the IOP. ( Speedup but breaks some games. )")); + check_IOP_Double_Sync = gtk_check_button_new_with_mnemonic (_("IOP Sync Hack (x2) - Doubles the cycle rate of the IOP")); gtk_widget_show (check_IOP_Double_Sync); gtk_box_pack_start (GTK_BOX (vbox34), check_IOP_Double_Sync, FALSE, FALSE, 0); - check_Triple_Sync = gtk_check_button_new_with_mnemonic (_("EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate. (Even faster, but very unstable. Use at your own risk!)")); + check_Triple_Sync = gtk_check_button_new_with_mnemonic (_("EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate. ")); gtk_widget_show (check_Triple_Sync); gtk_box_pack_start (GTK_BOX (vbox34), check_Triple_Sync, FALSE, FALSE, 0); @@ -484,21 +626,6 @@ create_SpeedHacksDlg (void) gtk_widget_show (dialog_action_area3); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END); - button73 = gtk_button_new_with_mnemonic (_("Compatability")); - gtk_widget_show (button73); - gtk_dialog_add_action_widget (GTK_DIALOG (SpeedHacksDlg), button73, 0); - GTK_WIDGET_SET_FLAGS (button73, GTK_CAN_DEFAULT); - - button74 = gtk_button_new_with_mnemonic (_("Speed")); - gtk_widget_show (button74); - gtk_dialog_add_action_widget (GTK_DIALOG (SpeedHacksDlg), button74, 0); - GTK_WIDGET_SET_FLAGS (button74, GTK_CAN_DEFAULT); - - button75 = gtk_button_new_with_mnemonic (_("Normal")); - gtk_widget_show (button75); - gtk_dialog_add_action_widget (GTK_DIALOG (SpeedHacksDlg), button75, 0); - GTK_WIDGET_SET_FLAGS (button75, GTK_CAN_DEFAULT); - button99 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (button99); gtk_dialog_add_action_widget (GTK_DIALOG (SpeedHacksDlg), button99, GTK_RESPONSE_OK); @@ -509,15 +636,6 @@ create_SpeedHacksDlg (void) gtk_dialog_add_action_widget (GTK_DIALOG (SpeedHacksDlg), button98, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (button98, GTK_CAN_DEFAULT); - g_signal_connect ((gpointer) button73, "clicked", - G_CALLBACK (on_Speed_Hack_Compatability), - NULL); - g_signal_connect ((gpointer) button74, "clicked", - G_CALLBACK (on_Speed_Hack_Speed), - NULL); - g_signal_connect ((gpointer) button75, "clicked", - G_CALLBACK (on_Speed_Hack_Normal), - NULL); g_signal_connect ((gpointer) button99, "clicked", G_CALLBACK (on_Speed_Hack_OK), NULL); @@ -530,23 +648,6 @@ create_SpeedHacksDlg (void) GLADE_HOOKUP_OBJECT_NO_REF (SpeedHacksDlg, dialog_vbox3, "dialog_vbox3"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox31, "vbox31"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label43, "label43"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, frame11, "frame11"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment6, "alignment6"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox32, "vbox32"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, hbox22, "hbox22"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, ComboVUOverflow, "ComboVUOverflow"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label52, "label52"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, hbox23, "hbox23"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, ComboFPUOverflow, "ComboFPUOverflow"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label53, "label53"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_Disable_Underflow, "check_Disable_Underflow"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label44, "label44"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, frame12, "frame12"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment7, "alignment7"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox35, "vbox35"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_Disable_VU_Flags, "check_Disable_VU_Flags"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_Disable_FPU_Flags, "check_Disable_FPU_Flags"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label45, "label45"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, frame13, "frame13"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment8, "alignment8"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox34, "vbox34"); @@ -560,9 +661,6 @@ create_SpeedHacksDlg (void) GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_ESC_Hack, "check_ESC_Hack"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label47, "label47"); GLADE_HOOKUP_OBJECT_NO_REF (SpeedHacksDlg, dialog_action_area3, "dialog_action_area3"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, button73, "button73"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, button74, "button74"); - GLADE_HOOKUP_OBJECT (SpeedHacksDlg, button75, "button75"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, button99, "button99"); GLADE_HOOKUP_OBJECT (SpeedHacksDlg, button98, "button98"); @@ -579,7 +677,6 @@ create_GameFixDlg (void) GtkWidget *vbox30; GtkWidget *check_VU_Clip; GtkWidget *check_FPU_Clamp; - GtkWidget *check_Slow_DVD; GtkWidget *check_VU_Branch; GtkWidget *label42; GtkWidget *dialog_action_area1; @@ -615,10 +712,6 @@ create_GameFixDlg (void) gtk_widget_show (check_FPU_Clamp); gtk_box_pack_start (GTK_BOX (vbox30), check_FPU_Clamp, FALSE, FALSE, 0); - check_Slow_DVD = gtk_check_button_new_with_mnemonic (_("Slow DVD access (fixes Tales of the Abyss) (Not currently needed)")); - gtk_widget_show (check_Slow_DVD); - gtk_box_pack_start (GTK_BOX (vbox30), check_Slow_DVD, FALSE, FALSE, 0); - check_VU_Branch = gtk_check_button_new_with_mnemonic (_("VU Branch Hack - Special fix for Magna Carta; Breaks Crash Bandicoot!")); gtk_widget_show (check_VU_Branch); gtk_box_pack_start (GTK_BOX (vbox30), check_VU_Branch, FALSE, FALSE, 0); @@ -657,7 +750,6 @@ create_GameFixDlg (void) GLADE_HOOKUP_OBJECT (GameFixDlg, vbox30, "vbox30"); GLADE_HOOKUP_OBJECT (GameFixDlg, check_VU_Clip, "check_VU_Clip"); GLADE_HOOKUP_OBJECT (GameFixDlg, check_FPU_Clamp, "check_FPU_Clamp"); - GLADE_HOOKUP_OBJECT (GameFixDlg, check_Slow_DVD, "check_Slow_DVD"); GLADE_HOOKUP_OBJECT (GameFixDlg, check_VU_Branch, "check_VU_Branch"); GLADE_HOOKUP_OBJECT (GameFixDlg, label42, "label42"); GLADE_HOOKUP_OBJECT_NO_REF (GameFixDlg, dialog_action_area1, "dialog_action_area1"); @@ -867,7 +959,6 @@ create_Logging (void) GtkWidget *frame4; GtkWidget *table3; GtkWidget *Log30; - GtkWidget *Log; GtkWidget *Log31; GtkWidget *Log16; GtkWidget *Log14; @@ -935,12 +1026,6 @@ create_Logging (void) (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); - Log = gtk_check_button_new_with_mnemonic (_("Log")); - gtk_widget_show (Log); - gtk_table_attach (GTK_TABLE (table3), Log, 2, 3, 7, 8, - (GtkAttachOptions) (0), - (GtkAttachOptions) (0), 0, 0); - Log31 = gtk_check_button_new_with_mnemonic (_("Log to STDOUT")); gtk_widget_show (Log31); gtk_table_attach (GTK_TABLE (table3), Log31, 2, 3, 5, 6, @@ -1152,7 +1237,6 @@ create_Logging (void) GLADE_HOOKUP_OBJECT (Logging, frame4, "frame4"); GLADE_HOOKUP_OBJECT (Logging, table3, "table3"); GLADE_HOOKUP_OBJECT (Logging, Log30, "Log30"); - GLADE_HOOKUP_OBJECT (Logging, Log, "Log"); GLADE_HOOKUP_OBJECT (Logging, Log31, "Log31"); GLADE_HOOKUP_OBJECT (Logging, Log16, "Log16"); GLADE_HOOKUP_OBJECT (Logging, Log14, "Log14"); diff --git a/pcsx2/Linux/pcsx2.glade b/pcsx2/Linux/pcsx2.glade index 2137bc6b71..0dab691f86 100644 --- a/pcsx2/Linux/pcsx2.glade +++ b/pcsx2/Linux/pcsx2.glade @@ -82,236 +82,821 @@ - + True False 0 - + True - 0 - 0.5 - GTK_SHADOW_NONE + False + 0 - + True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 + 0 + 0.5 + GTK_SHADOW_NONE - + True - False - 0 + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 - + True - 0 - 0.5 - GTK_SHADOW_NONE + False + 0 - + True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 + 0 + 0.5 + GTK_SHADOW_NONE - + True - False - 0 + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 - + True - True - Nearest - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - + False + 0 - - - True - True - Negative - True - GTK_RELIEF_NORMAL - True - False - False - True - radio_EE_Round_Near - - - 0 - False - False - - + + + True + True + Nearest + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + - - - True - True - Positive - True - GTK_RELIEF_NORMAL - True - False - False - True - radio_EE_Round_Near - - - 0 - False - False - - + + + True + True + Negative + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_EE_Round_Near + + + 0 + False + False + + - - - True - True - Zero - True - GTK_RELIEF_NORMAL - True - False - False - True - radio_EE_Round_Near + + + True + True + Positive + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_EE_Round_Near + + + 0 + False + False + + + + + + True + True + Chop/Zero + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_EE_Round_Near + + + 0 + False + False + + - - 0 - False - False - + + + + True + <b>Round Mode</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + 0 + True + True + - + True - <b>Roundmode</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + True + None + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Normal + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_EE_Clamp_None + + + 0 + False + False + + + + + + True + True + Extra + Preserve Sign + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_EE_Clamp_None + + + 0 + False + False + + + + + + + + + + True + <b>Clamp Mode</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + - label_item + 0 + True + True + + + + + + True + False + 0 + + + + True + True + Flush to Zero + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Denormals are Zero + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + 0 + True + True - - 0 - True - True - - - - - - True - True - Flush to Zero - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - Denormals are Zero - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - + + + + True + <b>EE Recs Options</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + 0 + True + True + - + True - <b>EE Recs Options</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + True + Nearest + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Negative + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_VU_Round_Near + + + 0 + False + False + + + + + + True + True + Positive + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_VU_Round_Near + + + 0 + False + False + + + + + + True + True + Zero + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_VU_Round_Near + + + 0 + False + False + + + + + + + + + + True + <b>Round Mode</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + False + 0 + + + + True + True + None + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Normal + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_VU_Clamp_None + + + 0 + False + False + + + + + + True + True + Extra + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_VU_Clamp_None + + + 0 + False + False + + + + + + True + True + Extra + Preserve Sign + True + GTK_RELIEF_NORMAL + True + False + False + True + radio_VU_Clamp_None + + + 0 + False + False + + + + + + + + + + True + <b>Clamp Mode</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + 2 + 2 + False + 0 + 0 + + + + True + True + Flush to Zero + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + True + Denormals are Zero + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + False + True + Set O & U Flags + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + False + True + Software Emulate DaZ + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 1 + 2 + 1 + 2 + fill + + + + + + 0 + True + True + + + + + + + + + + True + <b>VU Recs Options</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + - label_item + 0 + True + True @@ -323,230 +908,230 @@ - + True - 0 - 0.5 - GTK_SHADOW_NONE + False + 0 - + True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 + 0 + 0.5 + GTK_SHADOW_NONE - + True - False - 0 + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 - + True - 0 - 0.5 - GTK_SHADOW_NONE + These options specify how your CPU rounds floating point values. - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - True - Nearest - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - Negative - True - GTK_RELIEF_NORMAL - True - False - False - True - radio_VU_Round_Near - - - 0 - False - False - - - - - - True - True - Positive - True - GTK_RELIEF_NORMAL - True - False - False - True - radio_VU_Round_Near - - - 0 - False - False - - - - - - True - True - Zero - True - GTK_RELIEF_NORMAL - True - False - False - True - radio_VU_Round_Near - - - 0 - False - False - - - - - - - - - - True - <b>Roundmode</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - +Try changing the roundmode for EE if your game hangs, it could make it work again. + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 - - 0 - True - True - - - - - - True - True - Flush to Zero - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - Denormals are Zero - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - + + + + True + <b>Round Mode</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + 0 + False + False + - + True - <b>VU Recs Options</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + These options specify how PCSX2's recompilers will clamp Infinities and NaN (Not a Number) values in the opcode instructions. + +None - No clamping. (Fastest Mode) +Normal - Clamps the result. +Extra - Clamps the operands, the result, and anywhere in between. +Extra + Preserve Sign - Same as ""Extra"", except preserves NaN's sign when clamping the operands. (Slowest Mode) + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + + True + <b>Clamp Mode</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + - label_item + 0 + False + False + + + + + + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + True + Flush to Zero - Your CPU makes Floating Point Underflows become Zero, so it does less work. (Speed Up) + +Denormals are Zero - Your CPU makes Floating Point Denormals become Zero, so it does less work. (Speed Up) + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + + True + <b>Other Options</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + False @@ -595,48 +1180,6 @@ True GTK_BUTTONBOX_END - - - True - True - True - Compatability - True - GTK_RELIEF_NORMAL - True - 0 - - - - - - - True - True - True - Speed - True - GTK_RELIEF_NORMAL - True - 0 - - - - - - - True - True - True - Normal - True - GTK_RELIEF_NORMAL - True - 0 - - - - True @@ -705,291 +1248,6 @@ If you have problems, Disable all of these and try again. - - - True - 0 - 0.5 - GTK_SHADOW_NONE - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - False - 0 - - - - True - Disabled (Speedup!) -Normal -Enabled (Helps SPS, Slow) - False - True - - - 0 - False - True - - - - - - True - VU Overflow Checks - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - Disabled (Speedup!) -Normal -Enabled (Helps SPS, Slow) - False - True - - - 0 - False - True - - - - - - True - FPU Overflow Checks - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 0 - False - False - - - - - - True - True - Disable Underflow Checks - *Checked = Disables underflow checks. ( Speedup! ) - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - - - - - True - <b>Overflow and Underflow</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - True - True - - - - - - True - 0 - 0.5 - GTK_SHADOW_NONE - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - False - True - Disable Extra VU Flags - When checked, PCSX2 doesn't set some flags that are rarely used by games. ( Speedup! ) - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - False - True - Disable Extra FPU Flags - When checked, PCSX2 doesn't set some flags that are rarely used by games. ( Speedup! ) - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - - - - - True - <b>Flag Settings</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - True - True - - - True @@ -1019,7 +1277,7 @@ Enabled (Helps SPS, Slow) True True - EE Sync Hack (x2) - Doubles the cycle rate of the EE. ( Big Speedup in most games! ) + EE Sync Hack (x2) - Doubles the cycle rate of the EE. True GTK_RELIEF_NORMAL True @@ -1038,7 +1296,7 @@ Enabled (Helps SPS, Slow) True True - IOP Sync Hack (x2) - Doubles the cycle rate of the IOP. ( Speedup but breaks some games. ) + IOP Sync Hack (x2) - Doubles the cycle rate of the IOP True GTK_RELIEF_NORMAL True @@ -1057,7 +1315,7 @@ Enabled (Helps SPS, Slow) True True - EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate. (Even faster, but very unstable. Use at your own risk!) + EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate. True GTK_RELIEF_NORMAL True @@ -1831,28 +2089,6 @@ Configure them here.</b> - - - True - True - Log - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 2 - 3 - 7 - 8 - - - - - True diff --git a/pcsx2/Patch.c b/pcsx2/Patch.c index f23447201e..cd5c757235 100644 --- a/pcsx2/Patch.c +++ b/pcsx2/Patch.c @@ -648,14 +648,10 @@ void patchFunc_zerogs(char* cmd, char* param) void SetRoundMode(u32 ee, u32 vu) { -// don't set a state for interpreter only - //SysMessage("SetRoundMode: Config.sseMXCSR = %x; Config.sseVUMXCSR = %x \n", Config.sseMXCSR, Config.sseVUMXCSR); + // don't set a state for interpreter only + //SysMessage("SetRoundMode: Config.sseMXCSR = %x; Config.sseVUMXCSR = %x \n", Config.sseMXCSR, Config.sseVUMXCSR); #ifndef PCSX2_NORECBUILD SetCPUState( (Config.sseMXCSR & 0x9fff) | ee, (Config.sseVUMXCSR & 0x9fff) | vu); -#endif - #ifdef __LINUX__ - LinuxsseMXCSR = Config.sseMXCSR; - LinuxsseVUMXCSR = Config.sseVUMXCSR; #endif }