git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83100 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
parent
d3b43b5b64
commit
56fc32e977
2
AUTHORS
2
AUTHORS
|
@ -23,7 +23,7 @@ PCSX-Reloaded Authors/Contributors: avlex (Help on xcode project)
|
|||
Benoît Gschwind (MDEC decoder improvements)
|
||||
ckain (Various bugfixes)
|
||||
Dario (Various bugfixes)
|
||||
edgbla (Root counters, various core/plugin fixes)
|
||||
edgbla (Root counters, SIO1, various core/plugin fixes)
|
||||
Firnis (GTE code from PCSX-Revolution Project)
|
||||
Hopkat (Sound plugin improvements, core fixes)
|
||||
Gabriele Gorla (MDEC decoder)
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <netdb.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "typedefs.h"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
||||
if (!gtk_builder_add_from_file(builder, DATADIR "dfsound.ui", NULL)) {
|
||||
g_warning("We could not load the interface!");
|
||||
return 0;
|
||||
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;
|
||||
}
|
||||
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();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
builder = gtk_builder_new();
|
||||
/*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);
|
||||
|
||||
|
||||
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 );
|
||||
}
|
||||
|
||||
|
||||
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 (!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);
|
||||
|
||||
|
||||
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 );
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
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" ) );
|
||||
|
||||
// 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;
|
||||
|
||||
// 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 = 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 = 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, "\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, "\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, "\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, "\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, "\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,"\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 = 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, "\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 = 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 = 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 = 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 = 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 = 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 = 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, "\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, "\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 = 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 = 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, "\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, "\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, "\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, "\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, "\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, "\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, "\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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue