diff options
| author | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-02-23 02:54:51 +0000 |
|---|---|---|
| committer | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-02-23 02:54:51 +0000 |
| commit | 56fc32e977409e38b09bf4820244b3699f1e3b4c (patch) | |
| tree | 43511dafd5af0c5ecee323784379efbfc906d08d /plugins | |
| parent | d3b43b5b645e6f2f80de3fa25b43a18ba8ca2eb2 (diff) | |
| download | pcsxr-56fc32e977409e38b09bf4820244b3699f1e3b4c.tar.gz | |
.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83100 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins')
| -rwxr-xr-x | plugins/bladesio1/connection.c | 1 | ||||
| -rw-r--r-- | plugins/bladesio1/gui.c | 38 | ||||
| -rwxr-xr-x | plugins/dfcdrom/cdrcfg-0.1df/main.c | 34 | ||||
| -rwxr-xr-x | plugins/dfinput/cfg-gtk.c | 18 | ||||
| -rwxr-xr-x | plugins/dfinput/pad.c | 4 | ||||
| -rwxr-xr-x | plugins/dfnet/gui.c | 37 | ||||
| -rwxr-xr-x | plugins/dfsound/spu.c | 4 | ||||
| -rwxr-xr-x | plugins/dfsound/spucfg-0.1df/main.c | 273 | ||||
| -rwxr-xr-x | plugins/dfxvideo/cfg.c | 7 | ||||
| -rwxr-xr-x | plugins/dfxvideo/gpucfg-0.1df/main.c | 385 | ||||
| -rwxr-xr-x | plugins/peopsxgl/gpu.c | 16 | ||||
| -rwxr-xr-x | plugins/peopsxgl/gpucfg/main.c | 978 |
12 files changed, 920 insertions, 875 deletions
diff --git a/plugins/bladesio1/connection.c b/plugins/bladesio1/connection.c index 28478d80..221d3d20 100755 --- a/plugins/bladesio1/connection.c +++ b/plugins/bladesio1/connection.c @@ -29,6 +29,7 @@ #include <netinet/in.h> #include <netinet/tcp.h> #include <netdb.h> +#include <unistd.h> #endif #include "typedefs.h" diff --git a/plugins/bladesio1/gui.c b/plugins/bladesio1/gui.c index 1ac5e0a8..e2d2e88d 100644 --- a/plugins/bladesio1/gui.c +++ b/plugins/bladesio1/gui.c @@ -97,16 +97,14 @@ void OnCopyIP(GtkWidget *widget, gpointer user_data) { /***************************************************************************/ static -s32 configure() { +void configure() { GtkBuilder *builder; GtkWidget *widget, *MainWindow; builder = gtk_builder_new(); - if (!gtk_builder_add_from_file(builder, DATADIR "sio1.ui", NULL)) { + if(!gtk_builder_add_from_file(builder, DATADIR "sio1.ui", NULL)) g_warning("We could not load the interface!"); - return 0; - } settingsRead(); @@ -144,31 +142,26 @@ s32 configure() { settings.port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); widget = gtk_builder_get_object(builder, "rbDisabled"); - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { + if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) settings.player = PLAYER_DISABLED; - } else { widget = gtk_builder_get_object(builder, "rbServer"); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { + if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) settings.player = PLAYER_MASTER; - } else { + else settings.player = PLAYER_SLAVE; - } } settingsWrite(); gtk_widget_destroy(MainWindow); - return 1; } gtk_widget_destroy(MainWindow); - - return 0; } static -s32 about() { +void about() { const char *authors[]= {"edgbla <edgbla@yandex.ru>", NULL}; GtkWidget *widget; @@ -194,13 +187,22 @@ int main(int argc, char *argv[]) { gtk_init(&argc, &argv); - if(argc > 1) { - if(!strcmp(argv[1], "configure")) - return configure(); - if(!strcmp(argv[1], "about")) - return about(); + if (argc < 2) { + printf ("Usage: cfgBladeSio1 {about | configure}\n"); + return 0; } + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgBladeSio1 {about | configure}\n"); + return 0; + } + + if(!strcmp(argv[1], "configure")) + configure(); + else if(!strcmp(argv[1], "about")) + about(); + return 0; } diff --git a/plugins/dfcdrom/cdrcfg-0.1df/main.c b/plugins/dfcdrom/cdrcfg-0.1df/main.c index 3b60d22e..9fd97b73 100755 --- a/plugins/dfcdrom/cdrcfg-0.1df/main.c +++ b/plugins/dfcdrom/cdrcfg-0.1df/main.c @@ -206,6 +206,13 @@ static void OnConfigExit(GtkWidget *widget, gpointer user_data) { long CDRconfigure() { LoadConf(); + builder = gtk_builder_new(); + + if (!gtk_builder_add_from_file(builder, DATADIR "dfcdrom.ui", NULL)) { + g_warning("We could not load the interface!"); + return 0; + } + MainWindow = gtk_builder_get_object(builder, "CfgWnd"); gtk_window_set_title(GTK_WINDOW(MainWindow), _("CDR configuration")); @@ -268,20 +275,21 @@ int main(int argc, char *argv[]) { gtk_init(&argc, &argv); - if (argc != 2) return 0; - - if (strcmp(argv[1], "configure") == 0) { - builder = gtk_builder_new(); - - if (!gtk_builder_add_from_file(builder, DATADIR "dfcdrom.ui", NULL)) { - g_warning("We could not load the interface!"); - return 0; - } - - CDRconfigure(); - } else { - CDRabout(); + if (argc < 2) { + printf ("Usage: cfgBladeSio1 {about | configure}\n"); + return 0; } + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgBladeSio1 {about | configure}\n"); + return 0; + } + + if(!strcmp(argv[1], "configure")) + CDRconfigure(); + else if(!strcmp(argv[1], "about")) + CDRabout(); + return 0; } diff --git a/plugins/dfinput/cfg-gtk.c b/plugins/dfinput/cfg-gtk.c index 941d7848..6b82a753 100755 --- a/plugins/dfinput/cfg-gtk.c +++ b/plugins/dfinput/cfg-gtk.c @@ -775,11 +775,21 @@ int main(int argc, char *argv[]) { gtk_init(&argc, &argv); - if (argc > 1 && !strcmp(argv[1], "-about")) { - PADabout(); - } else { - PADconfigure(); + if (argc < 2) { + printf ("Usage: cfgDFInput {about | configure}\n"); + return 0; } + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgDFInput {about | configure}\n"); + return 0; + } + + if(!strcmp(argv[1], "configure")) + PADconfigure(); + else if(!strcmp(argv[1], "about")) + PADabout(); + return 0; } diff --git a/plugins/dfinput/pad.c b/plugins/dfinput/pad.c index e4dc52b0..1a11dd41 100755 --- a/plugins/dfinput/pad.c +++ b/plugins/dfinput/pad.c @@ -655,7 +655,7 @@ long PADconfigure(void) { if (pid == 0) { if (fork() == 0) { - execl("cfg/cfgDFInput", "cfgDFInput", NULL); + execl("cfg/cfgDFInput", "cfgDFInput", "configure", NULL); } exit(0); } else if (pid > 0) { @@ -670,7 +670,7 @@ void PADabout(void) { if (pid == 0) { if (fork() == 0) { - execl("cfg/cfgDFInput", "cfgDFInput", "-about", NULL); + execl("cfg/cfgDFInput", "cfgDFInput", "about", NULL); } exit(0); } else if (pid > 0) { diff --git a/plugins/dfnet/gui.c b/plugins/dfnet/gui.c index 7dbb5642..27644e99 100755 --- a/plugins/dfnet/gui.c +++ b/plugins/dfnet/gui.c @@ -214,18 +214,31 @@ int main(int argc, char *argv[]) { gtk_init(&argc, &argv); - if (!strcmp(argv[1], "configure")) { - CFGconfigure(); - } else if (!strcmp(argv[1], "open")) { - return CFGopen(); - } else if (!strcmp(argv[1], "wait")) { - CFGwait(); - } else if (!strcmp(argv[1], "pause")) { - return CFGpause(); - } else if (!strcmp(argv[1], "about")) { - CFGabout(); - } else if (!strcmp(argv[1], "message")) { - CFGmessage(&argv[2], argc - 2); + if (argc < 2) { + printf ("Usage: cfgDFNet {about | configure | open | wait | pause | message}\n"); + return 0; + } + + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgDFNet {about | configure | open | wait | pause | message}\n"); + return 0; + } + + if(argc > 1) { + if (!strcmp(argv[1], "configure")) { + CFGconfigure(); + } else if (!strcmp(argv[1], "about")) { + CFGabout(); + } else if (!strcmp(argv[1], "open")) { + return CFGopen(); + } else if (!strcmp(argv[1], "wait")) { + CFGwait(); + } else if (!strcmp(argv[1], "pause")) { + return CFGpause(); + } else if (!strcmp(argv[1], "message")) { + CFGmessage(&argv[2], argc - 2); + } } return 0; diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 5a28dafe..f422b10f 100755 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -1436,7 +1436,7 @@ long CALLBACK SPUconfigure(void) #elif defined (_MACOSX) DoConfiguration(); #else - StartCfgTool("CFG"); + StartCfgTool("configure"); #endif return 0; @@ -1451,7 +1451,7 @@ void CALLBACK SPUabout(void) #elif defined (_MACOSX) DoAbout(); #else - StartCfgTool("ABOUT"); + StartCfgTool("about"); #endif } diff --git a/plugins/dfsound/spucfg-0.1df/main.c b/plugins/dfsound/spucfg-0.1df/main.c index e2998d2f..ed78a280 100755 --- a/plugins/dfsound/spucfg-0.1df/main.c +++ b/plugins/dfsound/spucfg-0.1df/main.c @@ -66,19 +66,20 @@ int main(int argc, char *argv[]) textdomain (GETTEXT_PACKAGE); #endif - if (argc != 2) { - printf ("Usage: cfgDFSound {ABOUT | CFG}\n"); + if (argc < 2) { + printf ("Usage: cfgDFSound {about | configure}\n"); return 0; } - if (strcmp(argv[1], "CFG") != 0 && strcmp(argv[1], "ABOUT") != 0) { - printf ("Usage: cfgDFSound {ABOUT | CFG}\n"); + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgDFSound {about | configure}\n"); return 0; } gtk_init(&argc, &argv); - if (strcmp(argv[1], "ABOUT") == 0) { + if (strcmp(argv[1], "about") == 0) { const char *authors[]= {"Pete Bernert and the P.E.Op.S. team", "Ryan Schultz", "Andrew Burton", NULL}; widget = gtk_about_dialog_new (); gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (widget), "dfsound PCSXR Sound Plugin"); @@ -94,143 +95,145 @@ int main(int argc, char *argv[]) return 0; } + else if (strcmp(argv[1], "configure") == 0) { + builder = gtk_builder_new(); - builder = gtk_builder_new(); - - if (!gtk_builder_add_from_file(builder, DATADIR "dfsound.ui", NULL)) { - g_warning("We could not load the interface!"); - return 0; - } - - MainWindow = gtk_builder_get_object(builder, "CfgWnd"); - - strcpy(cfg, CONFIG_FILENAME); - - in = fopen(cfg, READBINARY); - if (in) { - pB = (char *)malloc(32767); - memset(pB, 0, 32767); - len = fread(pB, 1, 32767, in); - fclose(in); - } else { - pB = 0; - printf ("Error - no configuration file\n"); - /* TODO Raise error - no configuration file */ - } - - /* ADB TODO Replace a lot of the following with common functions */ - if (pB) { - strcpy(t, "\nVolume"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; - } - val = set_limit (p, len, -1, 4) + 1; - } else val = 2; - - gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "cbVolume2")), val); - - if (pB) { - strcpy(t, "\nUseInterpolation"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; - } - val = set_limit (p, len, 0, 3); - } else val = 2; - - gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "cbInterpolation2")), val); - - if (pB) { - strcpy(t, "\nXAPitch"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; + if (!gtk_builder_add_from_file(builder, DATADIR "dfsound.ui", NULL)) { + g_warning("We could not load the interface!"); + return 0; } - val = set_limit (p, len, 0, 1); - } else val = 0; - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkXASpeed")), val); - - if (pB) { - strcpy(t, "\nHighCompMode"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; + + MainWindow = gtk_builder_get_object(builder, "CfgWnd"); + + strcpy(cfg, CONFIG_FILENAME); + + in = fopen(cfg, READBINARY); + if (in) { + pB = (char *)malloc(32767); + memset(pB, 0, 32767); + len = fread(pB, 1, 32767, in); + fclose(in); + } else { + pB = 0; + printf ("Error - no configuration file\n"); + /* TODO Raise error - no configuration file */ } - val = set_limit (p, len, 0, 1); - } else val = 1; - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkHiCompat")), val); - if (pB) { - strcpy(t, "\nSPUIRQWait"); + /* ADB TODO Replace a lot of the following with common functions */ + if (pB) { + strcpy(t, "\nVolume"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + val = set_limit (p, len, -1, 4) + 1; + } else val = 2; + + gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "cbVolume2")), val); + + if (pB) { + strcpy(t, "\nUseInterpolation"); p = strstr(pB, t); if (p) { - p = strstr(p, "="); - len = 1; + p = strstr(p, "="); + len = 1; } - - val = set_limit (p, len, 0, 1); - } else val = 1; - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkIRQWait")), val); - - if (pB) { - strcpy(t, "\nDisStereo"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; - } - - val = set_limit (p, len, 0, 1); - } else val = 0; - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkDisStereo")), val); - - if (pB) { - strcpy(t, "\nFreqResponse"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; - } - - val = set_limit (p, len, 0, 1); - } else val = 0; - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkFreqResponse")), val); - - if (pB) { - strcpy(t, "\nUseReverb"); - p = strstr(pB, t); - if (p) { - p = strstr(p, "="); - len = 1; - } - val = set_limit (p, len, 0, 2); - } else val = 2; - - gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(builder, "cbReverb2")), val); - - if (pB) - free(pB); - - widget = gtk_builder_get_object(builder, "CfgWnd"); - g_signal_connect_data(G_OBJECT(widget), "destroy", - G_CALLBACK(SaveConfig), builder, NULL, 0); - - widget = gtk_builder_get_object(builder, "btn_close"); - g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnConfigClose), builder, NULL, G_CONNECT_AFTER); - - gtk_widget_show(MainWindow); - gtk_main(); + val = set_limit (p, len, 0, 3); + } else val = 2; + + gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "cbInterpolation2")), val); + + if (pB) { + strcpy(t, "\nXAPitch"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + val = set_limit (p, len, 0, 1); + } else val = 0; + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkXASpeed")), val); + + if (pB) { + strcpy(t, "\nHighCompMode"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + val = set_limit (p, len, 0, 1); + } else val = 1; + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkHiCompat")), val); + + if (pB) { + strcpy(t, "\nSPUIRQWait"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + + val = set_limit (p, len, 0, 1); + } else val = 1; + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkIRQWait")), val); + + if (pB) { + strcpy(t, "\nDisStereo"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + + val = set_limit (p, len, 0, 1); + } else val = 0; + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkDisStereo")), val); + + if (pB) { + strcpy(t, "\nFreqResponse"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + + val = set_limit (p, len, 0, 1); + } else val = 0; + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "chkFreqResponse")), val); + + if (pB) { + strcpy(t, "\nUseReverb"); + p = strstr(pB, t); + if (p) { + p = strstr(p, "="); + len = 1; + } + val = set_limit (p, len, 0, 2); + } else val = 2; + + gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(builder, "cbReverb2")), val); + + if (pB) + free(pB); + + widget = gtk_builder_get_object(builder, "CfgWnd"); + g_signal_connect_data(G_OBJECT(widget), "destroy", + G_CALLBACK(SaveConfig), builder, NULL, 0); + + widget = gtk_builder_get_object(builder, "btn_close"); + g_signal_connect_data(G_OBJECT(widget), "clicked", + G_CALLBACK(OnConfigClose), builder, NULL, G_CONNECT_AFTER); + + gtk_widget_show(MainWindow); + gtk_main(); + } + return 0; } diff --git a/plugins/dfxvideo/cfg.c b/plugins/dfxvideo/cfg.c index 671abe6c..1bf879b8 100755 --- a/plugins/dfxvideo/cfg.c +++ b/plugins/dfxvideo/cfg.c @@ -217,15 +217,12 @@ void ExecCfg(char *arg) { void SoftDlgProc(void) { - ExecCfg("CFG"); + ExecCfg("configure"); } void AboutDlgProc(void) { - char args[256]; - - sprintf(args, "ABOUT"); - ExecCfg(args); + ExecCfg("about"); } void ReadConfig(void) diff --git a/plugins/dfxvideo/gpucfg-0.1df/main.c b/plugins/dfxvideo/gpucfg-0.1df/main.c index 1eb550af..fdf02d24 100755 --- a/plugins/dfxvideo/gpucfg-0.1df/main.c +++ b/plugins/dfxvideo/gpucfg-0.1df/main.c @@ -117,19 +117,20 @@ main (int argc, char *argv[]) textdomain (GETTEXT_PACKAGE); #endif - if (argc!=2) { - printf("Usage: cfgDFXVideo {ABOUT | CFG}\n"); - return 0; - } - if(strcmp(argv[1],"CFG")!=0 && strcmp(argv[1],"ABOUT")!=0) { - printf("Usage: cfgDFXVideo {ABOUT | CFG}\n"); - return 0; - } + if (argc < 2) { + printf ("Usage: cfgDFXVideo {about | configure}\n"); + return 0; + } - gtk_init (&argc, &argv); + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgDFXVideo {about | configure}\n"); + return 0; + } + gtk_init (&argc, &argv); - if (strcmp(argv[1], "ABOUT") == 0) { + if (strcmp(argv[1], "about") == 0) { const char *authors[]= {"Pete Bernert and the P.E.Op.S. team", "Ryan Schultz", "Andrew Burton", NULL}; widget = gtk_about_dialog_new (); gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (widget), "P.E.Op.S PCSXR Video Plugin"); @@ -137,7 +138,7 @@ main (int argc, char *argv[]) gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (widget), authors); gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (widget), "http://pcsx-df.sourceforge.net/"); - g_signal_connect_data(G_OBJECT(widget), "response", + g_signal_connect_data(G_OBJECT(widget), "response", G_CALLBACK(on_about_clicked), NULL, NULL, G_CONNECT_AFTER); gtk_widget_show (widget); @@ -145,189 +146,191 @@ main (int argc, char *argv[]) return 0; } + else { + builder = gtk_builder_new(); + + if (!gtk_builder_add_from_file(builder, DATADIR "dfxvideo.ui", NULL)) { + g_warning("We could not load the interface!"); + return -1; + } + + /*ADB wndMain = gtk_builder_get_object(builder, "CfgWnd");*/ + + strcpy(cfg, CONFIG_FILENAME); + + in = fopen(cfg,READBINARY); + /* ADB TODO This is bad - asking for problems; need to read in line by line */ + if(in) + { + pB=(char *)malloc(32767); + memset(pB,0,32767); + len = fread(pB, 1, 32767, in); + fclose(in); + } + else{ pB=0;printf("Couldn't find config file %s\n", cfg);} + /* ADB TODO Parse this like we parse the config file in PCSXR - use common functions! */ + val=1; + if(pB) + { + strcpy(t,"\nResX");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + val = set_limit (p, len, 0, 1600); + } + + if (val == 1600) val = VIDMODE_1600x1200; + else if (val == 1280) val = VIDMODE_1280x1024; + else if (val == 1152) val = VIDMODE_1152x864; + else if (val == 1024) val = VIDMODE_1024x768; + else if (val == 800) val = VIDMODE_800x600; + else if (val == 640) val = VIDMODE_640x480; + else if (val == 320) val = VIDMODE_320x200; + + gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "resCombo2")), val); + + val=0; + if(pB) + { + strcpy(t,"\nNoStretch");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 9); + } + + gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "stretchCombo2")), val); + + val=0; + if(pB) + { + strcpy(t,"\nDithering");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 2); + } + + gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "ditherCombo2")), val); + + val=0; + if(pB) + { + strcpy(t,"\nMaintain43");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 1); + } + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "maintain43")), val); + + val=0; //ADB Leave - these are default values + if(pB) + { + strcpy(t,"\nFullScreen");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 1); + } + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkFullscreen")), val); + + val=0; + if(pB) + { + strcpy(t,"\nShowFPS");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 1); + } + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkShowFPS")), val); + + val=1; + if(pB) + { + strcpy(t,"\nUseFrameLimit");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 1); + } + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkSetFPS")), val); + + val=0; + if(pB) + { + strcpy(t,"\nFPSDetection");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 1, 2); + } + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkAutoFPSLimit")), (val-1)); + + val=0; + if(pB) + { + strcpy(t,"\nUseFrameSkip");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + val = set_limit (p, len, 0, 1); + } + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkFrameSkip")), val); + + valf=200; + if(pB) + { + strcpy(t,"\nFrameRate");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) valf=(float)atoi(p+len) / 10; + if(valf<1) valf=1; + if(valf>500) valf=500; + } + sprintf(tempstr,"%.1f",valf); + gtk_entry_set_text(gtk_builder_get_object(builder, "entryFPS"),tempstr); + + val=0; + if(pB) + { + strcpy(t,"\nUseFixes");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + + val = set_limit (p, len, 0, 1); + } + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkUseFixes")), val); - builder = gtk_builder_new(); - - if (!gtk_builder_add_from_file(builder, DATADIR "dfxvideo.ui", NULL)) { - g_warning("We could not load the interface!"); - return -1; - } - - /*ADB wndMain = gtk_builder_get_object(builder, "CfgWnd");*/ - - strcpy(cfg, CONFIG_FILENAME); - - in = fopen(cfg,READBINARY); - /* ADB TODO This is bad - asking for problems; need to read in line by line */ - if(in) - { - pB=(char *)malloc(32767); - memset(pB,0,32767); - len = fread(pB, 1, 32767, in); - fclose(in); - } - else{ pB=0;printf("Couldn't find config file %s\n", cfg);} -/* ADB TODO Parse this like we parse the config file in PCSXR - use common functions! */ - val=1; - if(pB) - { - strcpy(t,"\nResX");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - val = set_limit (p, len, 0, 1600); - } - - if (val == 1600) val = VIDMODE_1600x1200; - else if (val == 1280) val = VIDMODE_1280x1024; - else if (val == 1152) val = VIDMODE_1152x864; - else if (val == 1024) val = VIDMODE_1024x768; - else if (val == 800) val = VIDMODE_800x600; - else if (val == 640) val = VIDMODE_640x480; - else if (val == 320) val = VIDMODE_320x200; - - gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "resCombo2")), val); - - val=0; - if(pB) - { - strcpy(t,"\nNoStretch");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 9); - } - - gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "stretchCombo2")), val); - - val=0; - if(pB) - { - strcpy(t,"\nDithering");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 2); - } - - gtk_combo_box_set_active(GTK_COMBO_BOX (gtk_builder_get_object(builder, "ditherCombo2")), val); - - val=0; - if(pB) - { - strcpy(t,"\nMaintain43");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 1); - } - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "maintain43")), val); - - val=0; //ADB Leave - these are default values - if(pB) - { - strcpy(t,"\nFullScreen");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 1); - } - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkFullscreen")), val); + + if(pB) + { + strcpy(t,"\nCfgFixes");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if (p) + val = atoi(p + len); + } - val=0; - if(pB) - { - strcpy(t,"\nShowFPS");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 1); - } - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkShowFPS")), val); - - val=1; - if(pB) - { - strcpy(t,"\nUseFrameLimit");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 1); - } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkSetFPS")), val); - - val=0; - if(pB) - { - strcpy(t,"\nFPSDetection");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 1, 2); - } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkAutoFPSLimit")), (val-1)); - - val=0; - if(pB) - { - strcpy(t,"\nUseFrameSkip");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - val = set_limit (p, len, 0, 1); - } - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkFrameSkip")), val); - - valf=200; - if(pB) - { - strcpy(t,"\nFrameRate");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - if(p) valf=(float)atoi(p+len) / 10; - if(valf<1) valf=1; - if(valf>500) valf=500; - } - sprintf(tempstr,"%.1f",valf); - gtk_entry_set_text(gtk_builder_get_object(builder, "entryFPS"),tempstr); - - val=0; - if(pB) - { - strcpy(t,"\nUseFixes");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - - val = set_limit (p, len, 0, 1); - } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "checkUseFixes")), val); - - - if(pB) - { - strcpy(t,"\nCfgFixes");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} - if (p) - val = atoi(p + len); - } - - for (i=0; i<11; i++) - { - sprintf(tempstr, "checkFix%d", i+1); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder,tempstr)), (val>>i)&1 ); + for (i=0; i<11; i++) + { + sprintf(tempstr, "checkFix%d", i+1); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder,tempstr)), (val>>i)&1 ); + } + + + if(pB) free(pB); + + widget = gtk_builder_get_object(builder, "CfgWnd"); + g_signal_connect_data(G_OBJECT(widget), "destroy", + G_CALLBACK(SaveConfig), NULL, NULL, 0); + + widget = gtk_builder_get_object(builder, "btn_close"); + g_signal_connect_data(G_OBJECT(widget), "clicked", + G_CALLBACK(OnConfigClose), NULL, NULL, G_CONNECT_AFTER); + + widget = gtk_builder_get_object(builder, "checkFullscreen"); + g_signal_connect_data(G_OBJECT(widget), "clicked", + G_CALLBACK(on_fullscreen_toggled), NULL, NULL, G_CONNECT_AFTER); + + widget = gtk_builder_get_object(builder, "checkUseFixes"); + g_signal_connect_data(G_OBJECT(widget), "clicked", + G_CALLBACK(on_use_fixes_toggled), NULL, NULL, G_CONNECT_AFTER); + + widget = gtk_builder_get_object(builder, "checkSetFPS"); + g_signal_connect_data(G_OBJECT(widget), "clicked", + G_CALLBACK(on_fps_toggled), NULL, NULL, G_CONNECT_AFTER); + + widget = gtk_builder_get_object(builder, "checkAutoFPSLimit"); + g_signal_connect_data(G_OBJECT(widget), "clicked", + G_CALLBACK(on_fps_toggled), NULL, NULL, G_CONNECT_AFTER); + + on_fullscreen_toggled(widget, NULL); + on_fps_toggled(widget, NULL); + on_use_fixes_toggled(widget, NULL); + + gtk_main (); } - - - if(pB) free(pB); - - widget = gtk_builder_get_object(builder, "CfgWnd"); - g_signal_connect_data(G_OBJECT(widget), "destroy", - G_CALLBACK(SaveConfig), NULL, NULL, 0); - - widget = gtk_builder_get_object(builder, "btn_close"); - g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnConfigClose), NULL, NULL, G_CONNECT_AFTER); - - widget = gtk_builder_get_object(builder, "checkFullscreen"); - g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(on_fullscreen_toggled), NULL, NULL, G_CONNECT_AFTER); - - widget = gtk_builder_get_object(builder, "checkUseFixes"); - g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(on_use_fixes_toggled), NULL, NULL, G_CONNECT_AFTER); - - widget = gtk_builder_get_object(builder, "checkSetFPS"); - g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(on_fps_toggled), NULL, NULL, G_CONNECT_AFTER); - - widget = gtk_builder_get_object(builder, "checkAutoFPSLimit"); - g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(on_fps_toggled), NULL, NULL, G_CONNECT_AFTER); - - on_fullscreen_toggled(widget, NULL); - on_fps_toggled(widget, NULL); - on_use_fixes_toggled(widget, NULL); - - gtk_main (); + return 0; } diff --git a/plugins/peopsxgl/gpu.c b/plugins/peopsxgl/gpu.c index 51ff36f1..f0066e7a 100755 --- a/plugins/peopsxgl/gpu.c +++ b/plugins/peopsxgl/gpu.c @@ -3000,8 +3000,8 @@ long CALLBACK GPUconfigure(void) #elif defined(_MACGL) long CALLBACK GPUconfigure(void) { - DlgProc(); - return 0; + DlgProc(); + return 0; } #else @@ -3057,7 +3057,7 @@ void StartCfgTool(char *arg) // linux: start external cfg tool long CALLBACK GPUconfigure(void) { - StartCfgTool("CFG"); + StartCfgTool("configure"); return 0; } @@ -3140,16 +3140,12 @@ long CALLBACK GPUdmaChain(uint32_t *baseAddrL, uint32_t addr) void CALLBACK GPUabout(void) { #ifdef _WINDOWS - HWND hWP=GetActiveWindow(); // to be sure - DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG_ABOUT), - hWP,(DLGPROC)AboutDlgProc); + HWND hWP=GetActiveWindow(); // to be sure + DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG_ABOUT), hWP,(DLGPROC)AboutDlgProc); #elif defined(_MACGL) - AboutDlgProc(); #else - - StartCfgTool("ABOUT"); - + StartCfgTool("about"); #endif } diff --git a/plugins/peopsxgl/gpucfg/main.c b/plugins/peopsxgl/gpucfg/main.c index 1a812d81..eb068883 100755 --- a/plugins/peopsxgl/gpucfg/main.c +++ b/plugins/peopsxgl/gpucfg/main.c @@ -239,6 +239,17 @@ int main( int argc, char **argv ) { gtk_init( &argc, &argv ); + if (argc < 2) { + printf ("Usage: cfgpeopsxgl {about | configure}\n"); + return 0; + } + + if (strcmp(argv[1], "configure") != 0 && + strcmp(argv[1], "about") != 0) { + printf ("Usage: cfgpeopsxgl {about | configure}\n"); + return 0; + } + builder = gtk_builder_new(); // Load the glade file @@ -249,7 +260,7 @@ int main( int argc, char **argv ) { } // Display the About dialog when the emulator ask for it - if ( argv[1] && strcmp( argv[1], "ABOUT" ) == 0 ) { + if ( argv[1] && strcmp( argv[1], "about" ) == 0 ) { GtkWidget *widget; const char *authors[]= {"Adapted from P.E.Op.S OpenGL GPU by Pete Bernert", NULL}; @@ -264,488 +275,489 @@ int main( int argc, char **argv ) { return 0; } - - // Get widgets from the glade file - window = GTK_WIDGET( gtk_builder_get_object( builder, "MainDialog" ) ); - btnCancel = GTK_WIDGET( gtk_builder_get_object( builder, "btnCancel" ) ); - btnSave = GTK_WIDGET( gtk_builder_get_object( builder, "btnSave" ) ); - spinXSize = GTK_WIDGET( gtk_builder_get_object( builder, "spinXSize" ) ); - spinYSize = GTK_WIDGET( gtk_builder_get_object( builder, "spinYSize" ) ); - chkKeepRatio = GTK_WIDGET( gtk_builder_get_object( builder, "chkKeepRatio" ) ); - chkDithering = GTK_WIDGET( gtk_builder_get_object( builder, "chkDithering" ) ); - chkFullScreen = GTK_WIDGET( gtk_builder_get_object( builder, "chkFullScreen" ) ); - cbxTexQuality = GTK_WIDGET( gtk_builder_get_object( builder, "cbxTexQuality" ) ); - cbxTexFiltering = GTK_WIDGET( gtk_builder_get_object( builder, "cbxTexFiltering" ) ); - cbxHiResTex = GTK_WIDGET( gtk_builder_get_object( builder, "cbxHiResTex" ) ); - spinVRam = GTK_WIDGET( gtk_builder_get_object( builder, "spinVRam" ) ); - chkShowFPS = GTK_WIDGET( gtk_builder_get_object( builder, "chkShowFPS" ) ); - chkUseFPSLimit = GTK_WIDGET( gtk_builder_get_object( builder, "chkUseFPSLimit" ) ); - vboxFPSLimit = GTK_WIDGET( gtk_builder_get_object( builder, "vboxFPSLimit" ) ); - radFPSLimitAuto = GTK_WIDGET( gtk_builder_get_object( builder, "radFPSLimitAuto" ) ); - radFPSLimitManual = GTK_WIDGET( gtk_builder_get_object( builder, "radFPSLimitManual" ) ); - spinFPSLimit = GTK_WIDGET( gtk_builder_get_object( builder, "spinFPSLimit" ) ); - chkUseFrameSkipping = GTK_WIDGET( gtk_builder_get_object( builder, "chkUseFrameSkipping" ) ); - cbxOffscreen = GTK_WIDGET( gtk_builder_get_object( builder, "cbxOffscreen" ) ); - cbxFBTex = GTK_WIDGET( gtk_builder_get_object( builder, "cbxFBTex" ) ); - cbxFBAccess = GTK_WIDGET( gtk_builder_get_object( builder, "cbxFBAccess" ) ); - chkMaskDetect = GTK_WIDGET( gtk_builder_get_object( builder, "chkMaskDetect" ) ); - chkOpaquePass = GTK_WIDGET( gtk_builder_get_object( builder, "chkOpaquePass" ) ); - chkAdvancedBlend = GTK_WIDGET( gtk_builder_get_object( builder, "chkAdvancedBlend" ) ); - chkScanLines = GTK_WIDGET( gtk_builder_get_object( builder, "chkScanLines" ) ); - spinScanLinesBlend = GTK_WIDGET( gtk_builder_get_object( builder, "spinScanLinesBlend" ) ); - chkFastMdec = GTK_WIDGET( gtk_builder_get_object( builder, "chkFastMdec" ) ); - chk15bitMdec = GTK_WIDGET( gtk_builder_get_object( builder, "chk15bitMdec" ) ); - chkLineMode = GTK_WIDGET( gtk_builder_get_object( builder, "chkLineMode" ) ); - chkAntiAlias = GTK_WIDGET( gtk_builder_get_object( builder, "chkAntiAlias" ) ); - chkOGLExtensions = GTK_WIDGET( gtk_builder_get_object( builder, "chkOGLExtensions" ) ); - chkScreenSmoothing = GTK_WIDGET( gtk_builder_get_object( builder, "chkScreenSmoothing" ) ); - chkGteAccuracy = GTK_WIDGET( gtk_builder_get_object( builder, "chkGteAccuracy" ) ); - chkUseGameFixes = GTK_WIDGET( gtk_builder_get_object( builder, "chkUseGameFixes" ) ); - tblGameFixes = GTK_WIDGET( gtk_builder_get_object( builder, "tblGameFixes" ) ); - chkCfgFix1 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix1" ) ); - chkCfgFix2 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix2" ) ); - chkCfgFix4 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix4" ) ); - chkCfgFix8 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix8" ) ); - chkCfgFix16 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix16" ) ); - chkCfgFix32 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix32" ) ); - chkCfgFix64 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix64" ) ); - chkCfgFix128 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix128" ) ); - chkCfgFix256 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix256" ) ); - chkCfgFix512 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix512" ) ); - chkCfgFix1024 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix1024" ) ); - chkCfgFix2048 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix2048" ) ); - chkCfgFix4096 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix4096" ) ); - chkCfgFix8192 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix8192" ) ); - chkCfgFix16384 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix16384" ) ); - chkCfgFix32768 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix32768" ) ); - chkCfgFix65536 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix65536" ) ); - chkCfgFix131072 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix131072" ) ); - btnFast = GTK_WIDGET( gtk_builder_get_object( builder, "btnFast" ) ); - btnBeautiful = GTK_WIDGET( gtk_builder_get_object( builder, "btnBeautiful" ) ); - - // Read the config file - in = fopen( "gpuPeopsMesaGL.cfg", "rb" ); - if ( in ) { - pB = (char *) malloc( 32767 ); - memset( pB, 0, 32767 ); - len = fread( pB, 1, 32767, in ); - fclose(in); - } - else pB = 0; - - val = 640; - if ( pB ) { - strcpy( t, "\nResX" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinXSize ), val ); - - val = 480; - if ( pB ) { - strcpy( t, "\nResY" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinYSize ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nKeepRatio" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkKeepRatio ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nDithering" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkDithering ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nFullScreen" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkFullScreen ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nTexQuality" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_combo_box_set_active( GTK_COMBO_BOX( cbxTexQuality ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nTexFilter" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_combo_box_set_active( GTK_COMBO_BOX( cbxTexFiltering ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nHiResTextures" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_combo_box_set_active( GTK_COMBO_BOX( cbxHiResTex ), val ); - - val = 0; - if ( pB ) { - strcpy(t,"\nVRamSize"); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinVRam ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nShowFPS" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkShowFPS ), val ); - - val = 1; - if ( pB ) { - strcpy( t, "\nUseFrameLimit" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkUseFPSLimit ), val ); - - val = 1; - if ( pB ) { - strcpy( t, "\nFPSDetection" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( radFPSLimitAuto ), val ); - - val = 200; - if ( pB ) { - strcpy(t,"\nFrameRate"); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinFPSLimit ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nUseFrameSkip" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkUseFrameSkipping ), val ); - - val = 2; - if ( pB ) { - strcpy( t, "\nOffscreenDrawing" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_combo_box_set_active( GTK_COMBO_BOX( cbxOffscreen ), val ); - - val = 1; - if ( pB ) { - strcpy( t, "\nFrameTextures" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_combo_box_set_active( GTK_COMBO_BOX( cbxFBTex ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nFrameAccess" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_combo_box_set_active( GTK_COMBO_BOX( cbxFBAccess ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nMaskDetect" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkMaskDetect ), val ); - - val = 1; - if ( pB ) { - strcpy( t, "\nOpaquePass" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkOpaquePass ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nAdvancedBlend" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkAdvancedBlend ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nScanLines" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkScanLines ), val ); - - val = 0; - if ( pB ) { - strcpy(t,"\nScanLinesBlend"); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinScanLinesBlend ), val ); - - val = 1; - if ( pB ) { - strcpy( t, "\nFastMdec" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkFastMdec ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\n15bitMdec" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chk15bitMdec ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nLineMode" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkLineMode ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nAntiAlias" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkAntiAlias ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nOGLExtensions" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkOGLExtensions ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nScreenSmoothing" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkScreenSmoothing ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nGteAccuracy" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkGteAccuracy ), val ); + else { + // Get widgets from the glade file + window = GTK_WIDGET( gtk_builder_get_object( builder, "MainDialog" ) ); + btnCancel = GTK_WIDGET( gtk_builder_get_object( builder, "btnCancel" ) ); + btnSave = GTK_WIDGET( gtk_builder_get_object( builder, "btnSave" ) ); + spinXSize = GTK_WIDGET( gtk_builder_get_object( builder, "spinXSize" ) ); + spinYSize = GTK_WIDGET( gtk_builder_get_object( builder, "spinYSize" ) ); + chkKeepRatio = GTK_WIDGET( gtk_builder_get_object( builder, "chkKeepRatio" ) ); + chkDithering = GTK_WIDGET( gtk_builder_get_object( builder, "chkDithering" ) ); + chkFullScreen = GTK_WIDGET( gtk_builder_get_object( builder, "chkFullScreen" ) ); + cbxTexQuality = GTK_WIDGET( gtk_builder_get_object( builder, "cbxTexQuality" ) ); + cbxTexFiltering = GTK_WIDGET( gtk_builder_get_object( builder, "cbxTexFiltering" ) ); + cbxHiResTex = GTK_WIDGET( gtk_builder_get_object( builder, "cbxHiResTex" ) ); + spinVRam = GTK_WIDGET( gtk_builder_get_object( builder, "spinVRam" ) ); + chkShowFPS = GTK_WIDGET( gtk_builder_get_object( builder, "chkShowFPS" ) ); + chkUseFPSLimit = GTK_WIDGET( gtk_builder_get_object( builder, "chkUseFPSLimit" ) ); + vboxFPSLimit = GTK_WIDGET( gtk_builder_get_object( builder, "vboxFPSLimit" ) ); + radFPSLimitAuto = GTK_WIDGET( gtk_builder_get_object( builder, "radFPSLimitAuto" ) ); + radFPSLimitManual = GTK_WIDGET( gtk_builder_get_object( builder, "radFPSLimitManual" ) ); + spinFPSLimit = GTK_WIDGET( gtk_builder_get_object( builder, "spinFPSLimit" ) ); + chkUseFrameSkipping = GTK_WIDGET( gtk_builder_get_object( builder, "chkUseFrameSkipping" ) ); + cbxOffscreen = GTK_WIDGET( gtk_builder_get_object( builder, "cbxOffscreen" ) ); + cbxFBTex = GTK_WIDGET( gtk_builder_get_object( builder, "cbxFBTex" ) ); + cbxFBAccess = GTK_WIDGET( gtk_builder_get_object( builder, "cbxFBAccess" ) ); + chkMaskDetect = GTK_WIDGET( gtk_builder_get_object( builder, "chkMaskDetect" ) ); + chkOpaquePass = GTK_WIDGET( gtk_builder_get_object( builder, "chkOpaquePass" ) ); + chkAdvancedBlend = GTK_WIDGET( gtk_builder_get_object( builder, "chkAdvancedBlend" ) ); + chkScanLines = GTK_WIDGET( gtk_builder_get_object( builder, "chkScanLines" ) ); + spinScanLinesBlend = GTK_WIDGET( gtk_builder_get_object( builder, "spinScanLinesBlend" ) ); + chkFastMdec = GTK_WIDGET( gtk_builder_get_object( builder, "chkFastMdec" ) ); + chk15bitMdec = GTK_WIDGET( gtk_builder_get_object( builder, "chk15bitMdec" ) ); + chkLineMode = GTK_WIDGET( gtk_builder_get_object( builder, "chkLineMode" ) ); + chkAntiAlias = GTK_WIDGET( gtk_builder_get_object( builder, "chkAntiAlias" ) ); + chkOGLExtensions = GTK_WIDGET( gtk_builder_get_object( builder, "chkOGLExtensions" ) ); + chkScreenSmoothing = GTK_WIDGET( gtk_builder_get_object( builder, "chkScreenSmoothing" ) ); + chkGteAccuracy = GTK_WIDGET( gtk_builder_get_object( builder, "chkGteAccuracy" ) ); + chkUseGameFixes = GTK_WIDGET( gtk_builder_get_object( builder, "chkUseGameFixes" ) ); + tblGameFixes = GTK_WIDGET( gtk_builder_get_object( builder, "tblGameFixes" ) ); + chkCfgFix1 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix1" ) ); + chkCfgFix2 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix2" ) ); + chkCfgFix4 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix4" ) ); + chkCfgFix8 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix8" ) ); + chkCfgFix16 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix16" ) ); + chkCfgFix32 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix32" ) ); + chkCfgFix64 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix64" ) ); + chkCfgFix128 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix128" ) ); + chkCfgFix256 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix256" ) ); + chkCfgFix512 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix512" ) ); + chkCfgFix1024 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix1024" ) ); + chkCfgFix2048 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix2048" ) ); + chkCfgFix4096 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix4096" ) ); + chkCfgFix8192 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix8192" ) ); + chkCfgFix16384 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix16384" ) ); + chkCfgFix32768 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix32768" ) ); + chkCfgFix65536 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix65536" ) ); + chkCfgFix131072 = GTK_WIDGET( gtk_builder_get_object( builder, "chkCfgFix131072" ) ); + btnFast = GTK_WIDGET( gtk_builder_get_object( builder, "btnFast" ) ); + btnBeautiful = GTK_WIDGET( gtk_builder_get_object( builder, "btnBeautiful" ) ); + + // Read the config file + in = fopen( "gpuPeopsMesaGL.cfg", "rb" ); + if ( in ) { + pB = (char *) malloc( 32767 ); + memset( pB, 0, 32767 ); + len = fread( pB, 1, 32767, in ); + fclose(in); + } + else pB = 0; + + val = 640; + if ( pB ) { + strcpy( t, "\nResX" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinXSize ), val ); + + val = 480; + if ( pB ) { + strcpy( t, "\nResY" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinYSize ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nKeepRatio" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkKeepRatio ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nDithering" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkDithering ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nFullScreen" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkFullScreen ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nTexQuality" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_combo_box_set_active( GTK_COMBO_BOX( cbxTexQuality ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nTexFilter" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_combo_box_set_active( GTK_COMBO_BOX( cbxTexFiltering ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nHiResTextures" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_combo_box_set_active( GTK_COMBO_BOX( cbxHiResTex ), val ); + + val = 0; + if ( pB ) { + strcpy(t,"\nVRamSize"); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinVRam ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nShowFPS" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkShowFPS ), val ); + + val = 1; + if ( pB ) { + strcpy( t, "\nUseFrameLimit" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkUseFPSLimit ), val ); + + val = 1; + if ( pB ) { + strcpy( t, "\nFPSDetection" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( radFPSLimitAuto ), val ); + + val = 200; + if ( pB ) { + strcpy(t,"\nFrameRate"); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinFPSLimit ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nUseFrameSkip" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkUseFrameSkipping ), val ); + + val = 2; + if ( pB ) { + strcpy( t, "\nOffscreenDrawing" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_combo_box_set_active( GTK_COMBO_BOX( cbxOffscreen ), val ); + + val = 1; + if ( pB ) { + strcpy( t, "\nFrameTextures" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_combo_box_set_active( GTK_COMBO_BOX( cbxFBTex ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nFrameAccess" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_combo_box_set_active( GTK_COMBO_BOX( cbxFBAccess ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nMaskDetect" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkMaskDetect ), val ); + + val = 1; + if ( pB ) { + strcpy( t, "\nOpaquePass" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkOpaquePass ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nAdvancedBlend" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkAdvancedBlend ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nScanLines" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkScanLines ), val ); + + val = 0; + if ( pB ) { + strcpy(t,"\nScanLinesBlend"); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_spin_button_set_value( GTK_SPIN_BUTTON( spinScanLinesBlend ), val ); + + val = 1; + if ( pB ) { + strcpy( t, "\nFastMdec" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkFastMdec ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\n15bitMdec" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chk15bitMdec ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nLineMode" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkLineMode ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nAntiAlias" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkAntiAlias ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nOGLExtensions" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkOGLExtensions ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nScreenSmoothing" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkScreenSmoothing ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nGteAccuracy" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkGteAccuracy ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nUseFixes" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkUseGameFixes ), val ); + + val = 0; + if ( pB ) { + strcpy( t, "\nCfgFixes" ); + p = strstr( pB, t ); + if ( p ) { + p = strstr( p, "=" ); + len = 1; + val = atoi( p + len ); + } + } + if ( val & (1 << 17) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix131072 ), TRUE ); } + if ( val & (1 << 16) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix65536 ), TRUE ); } + if ( val & (1 << 15) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix32768 ), TRUE ); } + if ( val & (1 << 14) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix16384 ), TRUE ); } + if ( val & (1 << 13) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix8192 ), TRUE ); } + if ( val & (1 << 12) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix4096 ), TRUE ); } + if ( val & (1 << 11) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix2048 ), TRUE ); } + if ( val & (1 << 10) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix1024 ), TRUE ); } + if ( val & (1 << 9) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix512 ), TRUE ); } + if ( val & (1 << 8) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix256 ), TRUE ); } + if ( val & (1 << 7) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix128 ), TRUE ); } + if ( val & (1 << 6) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix64 ), TRUE ); } + if ( val & (1 << 5) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix32 ), TRUE ); } + if ( val & (1 << 4) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix16 ), TRUE ); } + if ( val & (1 << 3) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix8 ), TRUE ); } + if ( val & (1 << 2) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix4 ), TRUE ); } + if ( val & (1 << 1) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix2 ), TRUE ); } + if ( val & (1 << 0) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix1 ), TRUE ); } + + gtk_builder_connect_signals( builder, NULL ); + + g_object_unref( G_OBJECT( builder ) ); + + // Connect callbacks to signals + g_signal_connect(G_OBJECT( window ), "destroy", G_CALLBACK( gtk_main_quit ), NULL ); + g_signal_connect(G_OBJECT( btnCancel ), "clicked", G_CALLBACK( gtk_main_quit ), NULL ); + g_signal_connect(G_OBJECT( btnSave ), "clicked", G_CALLBACK( on_btnSave_clicked ), NULL ); + g_signal_connect(G_OBJECT( chkUseGameFixes ), "toggled", G_CALLBACK( on_chkUseGameFixes_toggled ), NULL ); + g_signal_connect(G_OBJECT( chkUseFPSLimit ), "toggled", G_CALLBACK( on_chkUseFPSLimit_toggled ), NULL ); + g_signal_connect(G_OBJECT( radFPSLimitManual ), "toggled", G_CALLBACK( on_radFPSLimitManual_toggled ), NULL ); + g_signal_connect(G_OBJECT( chkScanLines ), "toggled", G_CALLBACK( on_chkScanLines_toggled ), NULL ); + g_signal_connect(G_OBJECT( btnFast ), "clicked", G_CALLBACK( on_btnFast_clicked ), NULL ); + g_signal_connect(G_OBJECT( btnBeautiful ), "clicked", G_CALLBACK( on_btnBeautiful_clicked ), NULL ); + + // Call some callbacks to ensure widget state consistency + on_chkUseGameFixes_toggled( G_OBJECT( chkUseGameFixes ), NULL ); + on_chkUseFPSLimit_toggled( G_OBJECT( chkUseFPSLimit ), NULL ); + on_radFPSLimitManual_toggled( G_OBJECT( radFPSLimitManual ), NULL ); + on_chkScanLines_toggled( G_OBJECT( chkScanLines ), NULL ); + + gtk_widget_show( window ); + + gtk_main(); + } - val = 0; - if ( pB ) { - strcpy( t, "\nUseFixes" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkUseGameFixes ), val ); - - val = 0; - if ( pB ) { - strcpy( t, "\nCfgFixes" ); - p = strstr( pB, t ); - if ( p ) { - p = strstr( p, "=" ); - len = 1; - val = atoi( p + len ); - } - } - if ( val & (1 << 17) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix131072 ), TRUE ); } - if ( val & (1 << 16) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix65536 ), TRUE ); } - if ( val & (1 << 15) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix32768 ), TRUE ); } - if ( val & (1 << 14) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix16384 ), TRUE ); } - if ( val & (1 << 13) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix8192 ), TRUE ); } - if ( val & (1 << 12) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix4096 ), TRUE ); } - if ( val & (1 << 11) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix2048 ), TRUE ); } - if ( val & (1 << 10) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix1024 ), TRUE ); } - if ( val & (1 << 9) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix512 ), TRUE ); } - if ( val & (1 << 8) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix256 ), TRUE ); } - if ( val & (1 << 7) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix128 ), TRUE ); } - if ( val & (1 << 6) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix64 ), TRUE ); } - if ( val & (1 << 5) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix32 ), TRUE ); } - if ( val & (1 << 4) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix16 ), TRUE ); } - if ( val & (1 << 3) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix8 ), TRUE ); } - if ( val & (1 << 2) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix4 ), TRUE ); } - if ( val & (1 << 1) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix2 ), TRUE ); } - if ( val & (1 << 0) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chkCfgFix1 ), TRUE ); } - - gtk_builder_connect_signals( builder, NULL ); - - g_object_unref( G_OBJECT( builder ) ); - - // Connect callbacks to signals - g_signal_connect(G_OBJECT( window ), "destroy", G_CALLBACK( gtk_main_quit ), NULL ); - g_signal_connect(G_OBJECT( btnCancel ), "clicked", G_CALLBACK( gtk_main_quit ), NULL ); - g_signal_connect(G_OBJECT( btnSave ), "clicked", G_CALLBACK( on_btnSave_clicked ), NULL ); - g_signal_connect(G_OBJECT( chkUseGameFixes ), "toggled", G_CALLBACK( on_chkUseGameFixes_toggled ), NULL ); - g_signal_connect(G_OBJECT( chkUseFPSLimit ), "toggled", G_CALLBACK( on_chkUseFPSLimit_toggled ), NULL ); - g_signal_connect(G_OBJECT( radFPSLimitManual ), "toggled", G_CALLBACK( on_radFPSLimitManual_toggled ), NULL ); - g_signal_connect(G_OBJECT( chkScanLines ), "toggled", G_CALLBACK( on_chkScanLines_toggled ), NULL ); - g_signal_connect(G_OBJECT( btnFast ), "clicked", G_CALLBACK( on_btnFast_clicked ), NULL ); - g_signal_connect(G_OBJECT( btnBeautiful ), "clicked", G_CALLBACK( on_btnBeautiful_clicked ), NULL ); - - // Call some callbacks to ensure widget state consistency - on_chkUseGameFixes_toggled( G_OBJECT( chkUseGameFixes ), NULL ); - on_chkUseFPSLimit_toggled( G_OBJECT( chkUseFPSLimit ), NULL ); - on_radFPSLimitManual_toggled( G_OBJECT( radFPSLimitManual ), NULL ); - on_chkScanLines_toggled( G_OBJECT( chkScanLines ), NULL ); - - gtk_widget_show( window ); - - gtk_main(); - return 0; } |
