Update the Linux Gui.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@481 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
arcum42 2008-12-22 08:16:34 +00:00 committed by Gregory Hainaut
parent 1fc2a98c22
commit 2fe3728018
11 changed files with 1447 additions and 1180 deletions

View File

@ -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

View File

@ -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);

View File

@ -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
}

View File

@ -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<<i));
}
Btn = lookup_widget(LogDlg, "Log");
//Btn = lookup_widget(LogDlg, "Log");
//gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(Btn), Log);
gtk_widget_show_all(LogDlg);
@ -625,7 +625,6 @@ void on_Game_Fixes(GtkMenuItem *menuitem, gpointer user_data)
{
GameFixDlg = create_GameFixDlg();
set_checked(GameFixDlg, "check_Slow_DVD", (Config.GameFixes & FLAG_SLOW_DVD));
set_checked(GameFixDlg, "check_VU_Clip", (Config.GameFixes & FLAG_VU_CLIP));
set_checked(GameFixDlg, "check_FPU_Clamp", (Config.GameFixes & FLAG_FPU_CLAMP));
set_checked(GameFixDlg, "check_VU_Branch", (Config.GameFixes & FLAG_VU_BRANCH));
@ -639,7 +638,6 @@ void on_Game_Fix_OK(GtkButton *button, gpointer user_data)
{
Config.GameFixes = 0;
Config.GameFixes |= is_checked(GameFixDlg, "check_Slow_DVD") ? FLAG_SLOW_DVD : 0;
Config.GameFixes |= is_checked(GameFixDlg, "check_VU_Clip") ? FLAG_VU_CLIP : 0;
Config.GameFixes |= is_checked(GameFixDlg, "check_FPU_Clamp") ? FLAG_FPU_CLAMP : 0;
Config.GameFixes |= is_checked(GameFixDlg, "check_VU_Branch") ? FLAG_VU_BRANCH : 0;
@ -655,128 +653,45 @@ void on_Speed_Hacks(GtkMenuItem *menuitem, gpointer user_data)
int index;
SpeedHacksDlg = create_SpeedHacksDlg();
index = 1; //Default to normal
if get_flag(Config.Hacks, FLAG_VU_EXTRA_OVERFLOW) index = 2;
if get_flag(Config.Hacks, FLAG_VU_NO_OVERFLOW) index = 0;
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboVUOverflow")), index);
index = 1; //Default to normal
if get_flag(Config.Hacks, FLAG_FPU_EXTRA_OVERFLOW) index = 2;
if get_flag(Config.Hacks, FLAG_FPU_NO_OVERFLOW) index = 0;
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboFPUOverflow")), index);
set_checked(SpeedHacksDlg, "check_EE_Double_Sync", (Config.Hacks & FLAG_EE_2_SYNC));
set_checked(SpeedHacksDlg, "check_Disable_Underflow", (Config.Hacks & FLAG_NO_UNDERFLOW));
set_checked(SpeedHacksDlg, "check_IOP_Double_Sync", (Config.Hacks & FLAG_IOP_2_SYNC));
set_checked(SpeedHacksDlg, "check_Triple_Sync",(Config.Hacks & FLAG_TRIPLE_SYNC));
//set_checked(SpeedHacksDlg, "check_Disable_VU_Flags", (Config.Hacks & FLAG_NO_VU_FLAGS));
//set_checked(SpeedHacksDlg, "check_Disable_FPU_Flags", (Config.Hacks & FLAG_NO_FPU_FLAGS));
set_checked(SpeedHacksDlg, "check_ESC_Hack", (Config.Hacks & FLAG_ESC));
gtk_widget_show_all(SpeedHacksDlg);
gtk_widget_set_sensitive(MainWindow, FALSE);
gtk_main();
}
void on_Speed_Hack_Compatability(GtkButton *button, gpointer user_data)
{
set_checked(SpeedHacksDlg, "check_EE_Double_Sync", FALSE);
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboVUOverflow")), 2);
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboFPUOverflow")), 2);
set_checked(SpeedHacksDlg, "check_Disable_Underflow", TRUE);
set_checked(SpeedHacksDlg, "check_IOP_Double_Sync", FALSE);
set_checked(SpeedHacksDlg, "check_Triple_Sync", FALSE);
//set_checked(SpeedHacksDlg, "check_Disable_VU_Flags", TRUE);
//set_checked(SpeedHacksDlg, "check_Disable_FPU_Flags", TRUE);
}
void on_Speed_Hack_Normal(GtkButton *button, gpointer user_data)
{
set_checked(SpeedHacksDlg, "check_EE_Double_Sync", FALSE);
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboVUOverflow")), 1);
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboFPUOverflow")), 1);
set_checked(SpeedHacksDlg, "check_Disable_Underflow", FALSE);
set_checked(SpeedHacksDlg, "check_IOP_Double_Sync", FALSE);
set_checked(SpeedHacksDlg, "check_Triple_Sync", FALSE);
//set_checked(SpeedHacksDlg, "check_Disable_VU_Flags", FALSE);
//set_checked(SpeedHacksDlg, "check_Disable_FPU_Flags", FALSE);
}
void on_Speed_Hack_Speed(GtkButton *button, gpointer user_data)
{
set_checked(SpeedHacksDlg, "check_EE_Double_Sync", TRUE);
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboVUOverflow")), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboFPUOverflow")), 0);
set_checked(SpeedHacksDlg, "check_Disable_Underflow", TRUE);
set_checked(SpeedHacksDlg, "check_IOP_Double_Sync", TRUE);
set_checked(SpeedHacksDlg, "check_Triple_Sync", FALSE);
//set_checked(SpeedHacksDlg, "check_Disable_VU_Flags", TRUE);
//set_checked(SpeedHacksDlg, "check_Disable_FPU_Flags", TRUE);
}
void on_Speed_Hack_OK(GtkButton *button, gpointer user_data)
{
Config.Hacks = 0;
Config.Hacks |= is_checked(SpeedHacksDlg, "check_EE_Double_Sync") ? FLAG_EE_2_SYNC : 0;
switch (gtk_combo_box_get_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboVUOverflow")))) {
case 0: //Disabled
set_flag(Config.Hacks, FLAG_VU_NO_OVERFLOW, TRUE);
break;
case 1: //Normal
// Not having either flag set to true is normal
break;
case 2: //Extra
set_flag(Config.Hacks, FLAG_VU_EXTRA_OVERFLOW, TRUE);
break;
}
Config.Hacks |= is_checked(SpeedHacksDlg, "check_Disable_Underflow") ? FLAG_NO_UNDERFLOW : 0;
Config.Hacks |= is_checked(SpeedHacksDlg, "check_IOP_Double_Sync") ? FLAG_IOP_2_SYNC : 0;
Config.Hacks |= is_checked(SpeedHacksDlg, "check_Triple_Sync") ? FLAG_TRIPLE_SYNC : 0;
//Config.Hacks |= is_checked(SpeedHacksDlg, "check_Disable_VU_Flags") ? FLAG_NO_VU_FLAGS : 0;
//Config.Hacks |= is_checked(SpeedHacksDlg, "check_Disable_FPU_Flags")? FLAG_NO_FPU_FLAGS : 0;
Config.Hacks |= is_checked(SpeedHacksDlg, "check_ESC_Hack") ? FLAG_ESC : 0;
switch (gtk_combo_box_get_active(GTK_COMBO_BOX(lookup_widget(SpeedHacksDlg, "ComboFPUOverflow")))) {
case 0: //Disabled
set_flag(Config.Hacks, FLAG_FPU_NO_OVERFLOW, TRUE);
break;
case 1: //Normal
// Not having either flag set to true is normal
break;
case 2: //Extra
set_flag(Config.Hacks, FLAG_FPU_EXTRA_OVERFLOW, TRUE);
break;
}
SaveConfig();
gtk_widget_destroy(SpeedHacksDlg);
gtk_widget_set_sensitive(MainWindow, TRUE);
gtk_main_quit();
}
void setAdvancedOptions()
{
LinuxsseMXCSR = Config.sseMXCSR;
LinuxsseVUMXCSR = Config.sseVUMXCSR;
if( !cpucaps.hasStreamingSIMD2Extensions )
{
// SSE1 cpus do not support Denormals Are Zero flag.
LinuxsseMXCSR &= ~FLAG_DENORMAL_ZERO;
LinuxsseVUMXCSR &= ~FLAG_DENORMAL_ZERO;
Config.sseMXCSR &= ~FLAG_DENORMAL_ZERO;
Config.sseVUMXCSR &= ~FLAG_DENORMAL_ZERO;
}
//print_flags("sseMXCSR", Config.sseMXCSR, NULL);
//print_flags("sseVUMXCSR", Config.sseVUMXCSR, NULL);
switch((Config.sseMXCSR & 0x6000) >> 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();

View File

@ -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<<i), get_flag(num, i));
}
else
{
for(i=0; i<=15; i++)
SysPrintf("%x: %x", (1<<i), get_flag(num, i));
}
}
#define FLAG_SLOW_DVD 0x1
#define FLAG_VU_CLIP 0x2
#define FLAG_FPU_CLAMP 0x4
#define FLAG_VU_BRANCH 0x8
@ -137,13 +154,8 @@ int Config_hacks_backup;
#define FLAG_FPU_EXTRA_OVERFLOW 0x1000
#define FLAG_EE_2_SYNC 0x1
#define FLAG_TIGHT_SPU_SYNC 0x4
#define FLAG_NO_UNDERFLOW 0x8
#define FLAG_IOP_2_SYNC 0x10
#define FLAG_TRIPLE_SYNC 0x20
#define FLAG_FAST_BRANCHES 0x80
#define FLAG_NO_VU_FLAGS 0x100
#define FLAG_NO_FPU_FLAGS 0x200
#define FLAG_ESC 0x400
#define FLAG_ROUND_NEAR 0x0000
@ -154,4 +166,13 @@ int Config_hacks_backup;
#define FLAG_FLUSH_ZERO 0x8000
#define FLAG_DENORMAL_ZERO 0x0040
#define FLAG_VU_CLAMP_NONE 0x0
#define FLAG_VU_CLAMP_NORMAL 0x1
#define FLAG_VU_CLAMP_EXTRA 0x3
#define FLAG_VU_CLAMP_EXTRA_PRESERVE 0x7
#define FLAG_EE_CLAMP_NONE 0x0
#define FLAG_EE_CLAMP_NORMAL 0x1
#define FLAG_EE_CLAMP_EXTRA_PRESERVE 0x3
#endif /* __LINUX_H__ */

View File

@ -167,14 +167,14 @@ int main(int argc, char *argv[]) {
if( Config.PsxOut ) {
// output the help commands
SysPrintf("\tF1 - save state\n");
SysPrintf("\t(Shift +) F2 - cycle states\n");
SysPrintf("\tF3 - load state\n");
SysPrintf("\tF1 - save state");
SysPrintf("\t(Shift +) F2 - cycle states");
SysPrintf("\tF3 - load state");
#ifdef PCSX2_DEVBUILD
SysPrintf("\tF10 - dump performance counters\n");
SysPrintf("\tF11 - save GS state\n");
SysPrintf("\tF12 - dump hardware registers\n");
SysPrintf("\tF10 - dump performance counters");
SysPrintf("\tF11 - save GS state");
SysPrintf("\tF12 - dump hardware registers");
#endif
}

View File

@ -29,9 +29,6 @@
FILE *pref_file;
char *data;
u32 LinuxsseMXCSR = DEFAULT_sseMXCSR;
u32 LinuxsseVUMXCSR = DEFAULT_sseVUMXCSR;
static void SetValue( const char *name, char *var)
{
fprintf (pref_file,"%s = %s\n", name, var);
@ -103,10 +100,6 @@ int LoadConfig() {
#endif
GetValuel("Options", Config.Options);
GetValuel("Hacks", Config.Hacks);
// Remove Fast Branches hack for now:
Config.Hacks &= ~0x80;
GetValuel("Fixes", Config.GameFixes);
GetValuel("CustomFps", Config.CustomFps);
@ -114,13 +107,11 @@ int LoadConfig() {
GetValuel("CustomConsecutiveFrames", Config.CustomConsecutiveFrames);
GetValuel("CustomConsecutiveSkip", Config.CustomConsecutiveSkip);
// Note - Must get these values last.
GetValuel("sseMXCSR", LinuxsseMXCSR);
GetValuel("sseVUMXCSR", LinuxsseVUMXCSR);
Config.sseMXCSR = LinuxsseMXCSR;
Config.sseVUMXCSR = LinuxsseVUMXCSR;
// Note - order is currently important.
GetValuel("sseMXCSR", Config.sseMXCSR);
GetValuel("sseVUMXCSR", Config.sseVUMXCSR);
GetValuel("eeOptions", Config.eeOptions);
GetValuel("vuOptions", Config.vuOptions);
free(data);
@ -178,12 +169,13 @@ void SaveConfig() {
SetValuel("sseMXCSR", Config.sseMXCSR);
SetValuel("sseVUMXCSR", Config.sseVUMXCSR);
SetValuel("eeOptions", Config.eeOptions);
SetValuel("vuOptions", Config.vuOptions);
#ifdef PCSX2_DEVBUILD
SetValuel("varLog", varLog);
#endif
fclose(pref_file);
return;

View File

@ -13,18 +13,6 @@ void
On_Dialog_Cancelled (GtkButton *button,
gpointer user_data);
void
on_Speed_Hack_Compatability (GtkButton *button,
gpointer user_data);
void
on_Speed_Hack_Speed (GtkButton *button,
gpointer user_data);
void
on_Speed_Hack_Normal (GtkButton *button,
gpointer user_data);
void
on_Speed_Hack_OK (GtkButton *button,
gpointer user_data);

View File

@ -31,37 +31,72 @@ create_AdvDlg (void)
{
GtkWidget *AdvDlg;
GtkWidget *dialog_vbox4;
GtkWidget *hbox21;
GtkWidget *frame15;
GtkWidget *alignment10;
GtkWidget *vbox36;
GtkWidget *frame17;
GtkWidget *alignment12;
GtkWidget *vbox38;
GtkWidget *hbox33;
GtkWidget *vbox52;
GtkWidget *frame24;
GtkWidget *alignment19;
GtkWidget *vbox53;
GtkWidget *frame26;
GtkWidget *alignment21;
GtkWidget *hbox35;
GtkWidget *radio_EE_Round_Near;
GSList *radio_EE_Round_Near_group = NULL;
GtkWidget *radio_EE_Round_Negative;
GtkWidget *radio_EE_Round_Positive;
GtkWidget *radio_EE_Round_Zero;
GtkWidget *label50;
GtkWidget *label72;
GtkWidget *frame27;
GtkWidget *alignment22;
GtkWidget *hbox37;
GtkWidget *radio_EE_Clamp_None;
GSList *radio_EE_Clamp_None_group = NULL;
GtkWidget *radio_EE_Clamp_Normal;
GtkWidget *radio_EE_Clamp_Extra_Preserve;
GtkWidget *label73;
GtkWidget *hbox34;
GtkWidget *check_EE_Flush_Zero;
GtkWidget *check_EE_Denormal_Zero;
GtkWidget *label48;
GtkWidget *frame16;
GtkWidget *alignment11;
GtkWidget *vbox37;
GtkWidget *frame18;
GtkWidget *alignment13;
GtkWidget *vbox39;
GtkWidget *label70;
GtkWidget *frame25;
GtkWidget *alignment20;
GtkWidget *vbox54;
GtkWidget *frame28;
GtkWidget *alignment23;
GtkWidget *hbox36;
GtkWidget *radio_VU_Round_Near;
GSList *radio_VU_Round_Near_group = NULL;
GtkWidget *radio_VU_Round_Negative;
GtkWidget *radio_VU_Round_Positive;
GtkWidget *radio_VU_Round_Zero;
GtkWidget *label51;
GtkWidget *label74;
GtkWidget *frame29;
GtkWidget *alignment24;
GtkWidget *hbox38;
GtkWidget *radio_VU_Clamp_None;
GSList *radio_VU_Clamp_None_group = NULL;
GtkWidget *radio_VU_Clamp_Normal;
GtkWidget *radio_VU_Clamp_Extra;
GtkWidget *radio_VU_Clamp_Extra_Preserve;
GtkWidget *label75;
GtkWidget *table7;
GtkWidget *check_VU_Flush_Zero;
GtkWidget *check_VU_Denormal_Zero;
GtkWidget *label49;
GtkWidget *Check_Set_OU_Flags;
GtkWidget *check_Emulate_DaZ;
GtkWidget *label71;
GtkWidget *vbox51;
GtkWidget *frame30;
GtkWidget *alignment25;
GtkWidget *label81;
GtkWidget *label78;
GtkWidget *frame31;
GtkWidget *alignment26;
GtkWidget *label84;
GtkWidget *label79;
GtkWidget *frame32;
GtkWidget *alignment27;
GtkWidget *label83;
GtkWidget *label80;
GtkWidget *dialog_action_area4;
GtkWidget *AdvDefaultBtn;
GtkWidget *button79;
@ -74,149 +109,323 @@ create_AdvDlg (void)
dialog_vbox4 = GTK_DIALOG (AdvDlg)->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 (_("<b>Roundmode</b>"));
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 (_("<b>Round Mode</b>"));
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 (_("<b>Clamp Mode</b>"));
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 (_("<b>EE Recs Options</b>"));
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 (_("<b>EE Recs Options</b>"));
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 (_("<b>Roundmode</b>"));
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 (_("<b>Round Mode</b>"));
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 (_("<b>Clamp Mode</b>"));
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 (_("<b>VU Recs Options</b>"));
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 (_("<b>VU Recs Options</b>"));
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 (_("<b>Round Mode</b>"));
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 (_("<b>Clamp Mode</b>"));
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 (_("<b>Other Options</b>"));
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 (_("<b>Overflow and Underflow</b>"));
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 (_("<b>Flag Settings</b>"));
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");

File diff suppressed because it is too large Load Diff

View File

@ -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
}