mirror of https://github.com/PCSX2/pcsx2.git
Linux: A bit of work on memcard support in Linux. Disabled for the moment because it seemed like the emulator wasn't seeing memcards being swapped till after restarting pcsx2, and I was worried about memcard corruption. I also made it put in default values for memcards if you didn't have them in preferences already.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@486 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
a0da3ee37a
commit
5252d45ed7
4
build.sh
4
build.sh
|
@ -6,11 +6,11 @@
|
||||||
# Uncomment if building by itself, rather then with all the plugins
|
# Uncomment if building by itself, rather then with all the plugins
|
||||||
|
|
||||||
#Normal
|
#Normal
|
||||||
#export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --prefix `pwd`"
|
export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --prefix `pwd`"
|
||||||
|
|
||||||
|
|
||||||
#Optimized, but a devbuild
|
#Optimized, but a devbuild
|
||||||
export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --enable-devbuild --prefix `pwd`"
|
#export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --enable-devbuild --prefix `pwd`"
|
||||||
|
|
||||||
#Debug / Devbuild version
|
#Debug / Devbuild version
|
||||||
#export PCSX2OPTIONS="--enable-debug --enable-devbuild --enable-sse3 --prefix `pwd`"
|
#export PCSX2OPTIONS="--enable-debug --enable-devbuild --enable-sse3 --prefix `pwd`"
|
||||||
|
|
|
@ -39,7 +39,6 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char *file = NULL;
|
char *file = NULL;
|
||||||
char elfname[g_MaxPath];
|
char elfname[g_MaxPath];
|
||||||
int i = 1;
|
|
||||||
|
|
||||||
efile = 0;
|
efile = 0;
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
|
@ -56,106 +55,8 @@ int main(int argc, char *argv[])
|
||||||
#ifdef PCSX2_DEVBUILD
|
#ifdef PCSX2_DEVBUILD
|
||||||
memset(&g_TestRun, 0, sizeof(g_TestRun));
|
memset(&g_TestRun, 0, sizeof(g_TestRun));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
while (i < argc)
|
if (!ParseCommandLine(argc, argv, file)) return 0;
|
||||||
{
|
|
||||||
char* token = argv[i++];
|
|
||||||
|
|
||||||
if (stricmp(token, "-help") == 0 || stricmp(token, "--help") == 0 || stricmp(token, "-h") == 0)
|
|
||||||
{
|
|
||||||
//Msgbox::Alert( phelpmsg );
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-efile") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
if (token != NULL)
|
|
||||||
{
|
|
||||||
efile = atoi(token);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-nogui") == 0)
|
|
||||||
{
|
|
||||||
UseGui = FALSE;
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-loadgs") == 0)
|
|
||||||
{
|
|
||||||
g_pRunGSState = argv[i++];
|
|
||||||
}
|
|
||||||
#ifdef PCSX2_DEVBUILD
|
|
||||||
else if (stricmp(token, "-image") == 0)
|
|
||||||
{
|
|
||||||
g_TestRun.pimagename = argv[i++];
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-log") == 0)
|
|
||||||
{
|
|
||||||
g_TestRun.plogname = argv[i++];
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-logopt") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
if (token != NULL)
|
|
||||||
{
|
|
||||||
if (token[0] == '0' && token[1] == 'x') token += 2;
|
|
||||||
sscanf(token, "%x", &varLog);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-frame") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
if (token != NULL)
|
|
||||||
{
|
|
||||||
g_TestRun.frame = atoi(token);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-numimages") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
if (token != NULL)
|
|
||||||
{
|
|
||||||
g_TestRun.numimages = atoi(token);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-jpg") == 0)
|
|
||||||
{
|
|
||||||
g_TestRun.jpgcapture = 1;
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-gs") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
g_TestRun.pgsdll = token;
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-cdvd") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
g_TestRun.pcdvddll = token;
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-spu") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
g_TestRun.pspudll = token;
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-test") == 0)
|
|
||||||
{
|
|
||||||
g_TestRun.enabled = 1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
else if (stricmp(token, "-pad") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
printf("-pad ignored\n");
|
|
||||||
}
|
|
||||||
else if (stricmp(token, "-loadgs") == 0)
|
|
||||||
{
|
|
||||||
token = argv[i++];
|
|
||||||
g_pRunGSState = token;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
file = token;
|
|
||||||
printf("opening file %s\n", file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef PCSX2_DEVBUILD
|
#ifdef PCSX2_DEVBUILD
|
||||||
g_TestRun.efile = efile;
|
g_TestRun.efile = efile;
|
||||||
|
@ -180,6 +81,8 @@ int main(int argc, char *argv[])
|
||||||
memset(&Config, 0, sizeof(Config));
|
memset(&Config, 0, sizeof(Config));
|
||||||
strcpy(Config.BiosDir, DEFAULT_BIOS_DIR "/");
|
strcpy(Config.BiosDir, DEFAULT_BIOS_DIR "/");
|
||||||
strcpy(Config.PluginsDir, DEFAULT_PLUGINS_DIR "/");
|
strcpy(Config.PluginsDir, DEFAULT_PLUGINS_DIR "/");
|
||||||
|
strcpy(Config.Mcd1, MEMCARDS_DIR "/" DEFAULT_MEMCARD1);
|
||||||
|
strcpy(Config.Mcd2, MEMCARDS_DIR "/" DEFAULT_MEMCARD2);
|
||||||
Config.Patch = 0;
|
Config.Patch = 0;
|
||||||
Config.PsxOut = 1;
|
Config.PsxOut = 1;
|
||||||
Config.Options = PCSX2_EEREC | PCSX2_VU0REC | PCSX2_VU1REC | PCSX2_FRAMELIMIT_LIMIT;
|
Config.Options = PCSX2_EEREC | PCSX2_VU0REC | PCSX2_VU1REC | PCSX2_FRAMELIMIT_LIMIT;
|
||||||
|
@ -358,6 +261,7 @@ void StartGui()
|
||||||
// disable anything not implemented or not working properly.
|
// disable anything not implemented or not working properly.
|
||||||
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "patch_browser1")), FALSE);
|
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "patch_browser1")), FALSE);
|
||||||
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "patch_finder2")), FALSE);
|
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "patch_finder2")), FALSE);
|
||||||
|
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "GtkMenuItem_Memcards")), FALSE);
|
||||||
#ifndef PCSX2_DEVBUILD
|
#ifndef PCSX2_DEVBUILD
|
||||||
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "GtkMenuItem_Logging")), FALSE);
|
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "GtkMenuItem_Logging")), FALSE);
|
||||||
#endif
|
#endif
|
||||||
|
@ -622,6 +526,75 @@ void OnDebug_Logging(GtkMenuItem *menuitem, gpointer user_data)
|
||||||
gtk_main();
|
gtk_main();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnConf_Memcards(GtkMenuItem *menuitem, gpointer user_data)
|
||||||
|
{
|
||||||
|
char file[g_MaxPath], card[g_MaxPath];
|
||||||
|
DIR *dir;
|
||||||
|
struct dirent *entry;
|
||||||
|
struct stat statinfo;
|
||||||
|
GtkWidget *memcombo1, *memcombo2;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
MemDlg = create_MemDlg();
|
||||||
|
memcombo1 = lookup_widget(MemDlg, "memcard1combo");
|
||||||
|
memcombo2 = lookup_widget(MemDlg, "memcard2combo");
|
||||||
|
|
||||||
|
getcwd(file, ARRAYSIZE(file)); /* store current dir */
|
||||||
|
sprintf( card, "%s/%s", file, MEMCARDS_DIR );
|
||||||
|
chdir(card); /* change dirs so that plugins can find their config file*/
|
||||||
|
|
||||||
|
if ((dir = opendir(card)) == NULL)
|
||||||
|
{
|
||||||
|
Console::Error("ERROR: Could not open directory %s\n", params card);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ((entry = readdir(dir)) != NULL)
|
||||||
|
{
|
||||||
|
stat(entry->d_name, &statinfo);
|
||||||
|
|
||||||
|
if (S_ISREG(statinfo.st_mode))
|
||||||
|
{
|
||||||
|
char path[g_MaxPath];
|
||||||
|
|
||||||
|
sprintf( path, "%s/%s", MEMCARDS_DIR, entry->d_name);
|
||||||
|
gtk_combo_box_append_text(GTK_COMBO_BOX(memcombo1), entry->d_name);
|
||||||
|
gtk_combo_box_append_text(GTK_COMBO_BOX(memcombo2), entry->d_name);
|
||||||
|
|
||||||
|
if (strcmp(Config.Mcd1, path) == 0)
|
||||||
|
gtk_combo_box_set_active(GTK_COMBO_BOX(memcombo1), i);
|
||||||
|
if (strcmp(Config.Mcd2, path) == 0)
|
||||||
|
gtk_combo_box_set_active(GTK_COMBO_BOX(memcombo2), i);
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
closedir(dir);
|
||||||
|
|
||||||
|
chdir(file);
|
||||||
|
gtk_widget_show_all(MemDlg);
|
||||||
|
gtk_widget_set_sensitive(MainWindow, FALSE);
|
||||||
|
gtk_main();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnMemcards_Ok(GtkButton *button, gpointer user_data)
|
||||||
|
{
|
||||||
|
|
||||||
|
strcpy(Config.Mcd1, MEMCARDS_DIR "/");
|
||||||
|
strcpy(Config.Mcd2, MEMCARDS_DIR "/");
|
||||||
|
|
||||||
|
strcat(Config.Mcd1, gtk_combo_box_get_active_text(GTK_COMBO_BOX(lookup_widget(MemDlg, "memcard1combo"))));
|
||||||
|
strcat(Config.Mcd2, gtk_combo_box_get_active_text(GTK_COMBO_BOX(lookup_widget(MemDlg, "memcard2combo"))));
|
||||||
|
|
||||||
|
SaveConfig();
|
||||||
|
|
||||||
|
gtk_widget_destroy(MemDlg);
|
||||||
|
gtk_widget_set_sensitive(MainWindow, TRUE);
|
||||||
|
gtk_main_quit();
|
||||||
|
}
|
||||||
|
|
||||||
void on_patch_browser1_activate(GtkMenuItem *menuitem, gpointer user_data) {}
|
void on_patch_browser1_activate(GtkMenuItem *menuitem, gpointer user_data) {}
|
||||||
|
|
||||||
void on_patch_finder2_activate(GtkMenuItem *menuitem, gpointer user_data) {}
|
void on_patch_finder2_activate(GtkMenuItem *menuitem, gpointer user_data) {}
|
||||||
|
|
|
@ -32,6 +32,8 @@ void OnLanguage(GtkMenuItem *menuitem, gpointer user_data);
|
||||||
extern void ExecuteCpu();
|
extern void ExecuteCpu();
|
||||||
extern void CheckSlots();
|
extern void CheckSlots();
|
||||||
extern bool isSlotUsed(int num);
|
extern bool isSlotUsed(int num);
|
||||||
|
extern bool ParseCommandLine(int argc, char *argv[], char *file);
|
||||||
|
extern void MemoryCard_Init();
|
||||||
|
|
||||||
void InitLanguages();
|
void InitLanguages();
|
||||||
char *GetLanguageNext();
|
char *GetLanguageNext();
|
||||||
|
@ -43,7 +45,7 @@ GtkWidget *MainWindow;
|
||||||
GtkWidget *pStatusBar = NULL, *Status_Box;
|
GtkWidget *pStatusBar = NULL, *Status_Box;
|
||||||
GtkWidget *CmdLine; //2002-09-28 (Florin)
|
GtkWidget *CmdLine; //2002-09-28 (Florin)
|
||||||
GtkWidget *widgetCmdLine;
|
GtkWidget *widgetCmdLine;
|
||||||
GtkWidget *LogDlg;
|
GtkWidget *LogDlg, *MemDlg;
|
||||||
|
|
||||||
GtkAccelGroup *AccelGroup;
|
GtkAccelGroup *AccelGroup;
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,111 @@ bool g_EmulationInProgress = false; // Set TRUE if a game is actively running (s
|
||||||
static bool sinit = false;
|
static bool sinit = false;
|
||||||
GtkWidget *FileSel;
|
GtkWidget *FileSel;
|
||||||
|
|
||||||
|
bool ParseCommandLine(int argc, char *argv[], char *file)
|
||||||
|
{
|
||||||
|
int i = 1;
|
||||||
|
|
||||||
|
while (i < argc)
|
||||||
|
{
|
||||||
|
char* token = argv[i++];
|
||||||
|
|
||||||
|
if (stricmp(token, "-help") == 0 || stricmp(token, "--help") == 0 || stricmp(token, "-h") == 0)
|
||||||
|
{
|
||||||
|
//Msgbox::Alert( phelpmsg );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-efile") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
if (token != NULL)
|
||||||
|
{
|
||||||
|
efile = atoi(token);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-nogui") == 0)
|
||||||
|
{
|
||||||
|
UseGui = FALSE;
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-loadgs") == 0)
|
||||||
|
{
|
||||||
|
g_pRunGSState = argv[i++];
|
||||||
|
}
|
||||||
|
#ifdef PCSX2_DEVBUILD
|
||||||
|
else if (stricmp(token, "-image") == 0)
|
||||||
|
{
|
||||||
|
g_TestRun.pimagename = argv[i++];
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-log") == 0)
|
||||||
|
{
|
||||||
|
g_TestRun.plogname = argv[i++];
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-logopt") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
if (token != NULL)
|
||||||
|
{
|
||||||
|
if (token[0] == '0' && token[1] == 'x') token += 2;
|
||||||
|
sscanf(token, "%x", &varLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-frame") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
if (token != NULL)
|
||||||
|
{
|
||||||
|
g_TestRun.frame = atoi(token);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-numimages") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
if (token != NULL)
|
||||||
|
{
|
||||||
|
g_TestRun.numimages = atoi(token);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-jpg") == 0)
|
||||||
|
{
|
||||||
|
g_TestRun.jpgcapture = 1;
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-gs") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
g_TestRun.pgsdll = token;
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-cdvd") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
g_TestRun.pcdvddll = token;
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-spu") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
g_TestRun.pspudll = token;
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-test") == 0)
|
||||||
|
{
|
||||||
|
g_TestRun.enabled = 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
else if (stricmp(token, "-pad") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
printf("-pad ignored\n");
|
||||||
|
}
|
||||||
|
else if (stricmp(token, "-loadgs") == 0)
|
||||||
|
{
|
||||||
|
token = argv[i++];
|
||||||
|
g_pRunGSState = token;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
file = token;
|
||||||
|
printf("opening file %s\n", file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
void SysPrintf(const char *fmt, ...)
|
void SysPrintf(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list list;
|
va_list list;
|
||||||
|
|
|
@ -25,5 +25,6 @@
|
||||||
|
|
||||||
extern void StartGui();
|
extern void StartGui();
|
||||||
extern void CheckSlots();
|
extern void CheckSlots();
|
||||||
|
extern const char* g_pRunGSState;
|
||||||
|
extern int efile;
|
||||||
#endif
|
#endif
|
|
@ -77,6 +77,9 @@ int LoadConfig()
|
||||||
GetValue("BiosDir", Config.BiosDir);
|
GetValue("BiosDir", Config.BiosDir);
|
||||||
GetValue("Mcd1", Config.Mcd1);
|
GetValue("Mcd1", Config.Mcd1);
|
||||||
GetValue("Mcd2", Config.Mcd2);
|
GetValue("Mcd2", Config.Mcd2);
|
||||||
|
|
||||||
|
if (strcmp(Config.Mcd1,"") == 0) strcpy(Config.Mcd1, MEMCARDS_DIR "/" DEFAULT_MEMCARD1);
|
||||||
|
if (strcmp(Config.Mcd2,"") == 0) strcpy(Config.Mcd2, MEMCARDS_DIR "/" DEFAULT_MEMCARD2);
|
||||||
|
|
||||||
GetValue("GS", Config.GS);
|
GetValue("GS", Config.GS);
|
||||||
GetValue("SPU2", Config.SPU2);
|
GetValue("SPU2", Config.SPU2);
|
||||||
|
|
|
@ -302,6 +302,10 @@ void
|
||||||
OnConf_Fw (GtkMenuItem *menuitem,
|
OnConf_Fw (GtkMenuItem *menuitem,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
|
void
|
||||||
|
OnConf_Memcards (GtkMenuItem *menuitem,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
void
|
void
|
||||||
OnConf_Cpu (GtkMenuItem *menuitem,
|
OnConf_Cpu (GtkMenuItem *menuitem,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
@ -353,3 +357,7 @@ OnCpu_Ok (GtkButton *button,
|
||||||
void
|
void
|
||||||
OnLogging_Ok (GtkButton *button,
|
OnLogging_Ok (GtkButton *button,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
|
void
|
||||||
|
OnMemcards_Ok (GtkButton *button,
|
||||||
|
gpointer user_data);
|
||||||
|
|
|
@ -2433,6 +2433,7 @@ create_MainWindow (void)
|
||||||
GtkWidget *GtkMenuItem_USB;
|
GtkWidget *GtkMenuItem_USB;
|
||||||
GtkWidget *GtkMenuItem_FW;
|
GtkWidget *GtkMenuItem_FW;
|
||||||
GtkWidget *separator4;
|
GtkWidget *separator4;
|
||||||
|
GtkWidget *GtkMenuItem_Memcards;
|
||||||
GtkWidget *GtkMenuItem_Cpu;
|
GtkWidget *GtkMenuItem_Cpu;
|
||||||
GtkWidget *GtkMenuItem_Game_Fixes;
|
GtkWidget *GtkMenuItem_Game_Fixes;
|
||||||
GtkWidget *GtkMenuItem_Speed_Hacks;
|
GtkWidget *GtkMenuItem_Speed_Hacks;
|
||||||
|
@ -2628,6 +2629,10 @@ create_MainWindow (void)
|
||||||
gtk_container_add (GTK_CONTAINER (GtkMenuItem_Configuration_menu), separator4);
|
gtk_container_add (GTK_CONTAINER (GtkMenuItem_Configuration_menu), separator4);
|
||||||
gtk_widget_set_sensitive (separator4, FALSE);
|
gtk_widget_set_sensitive (separator4, FALSE);
|
||||||
|
|
||||||
|
GtkMenuItem_Memcards = gtk_menu_item_new_with_mnemonic (_("Memcards"));
|
||||||
|
gtk_widget_show (GtkMenuItem_Memcards);
|
||||||
|
gtk_container_add (GTK_CONTAINER (GtkMenuItem_Configuration_menu), GtkMenuItem_Memcards);
|
||||||
|
|
||||||
GtkMenuItem_Cpu = gtk_menu_item_new_with_mnemonic (_("C_pu"));
|
GtkMenuItem_Cpu = gtk_menu_item_new_with_mnemonic (_("C_pu"));
|
||||||
gtk_widget_show (GtkMenuItem_Cpu);
|
gtk_widget_show (GtkMenuItem_Cpu);
|
||||||
gtk_container_add (GTK_CONTAINER (GtkMenuItem_Configuration_menu), GtkMenuItem_Cpu);
|
gtk_container_add (GTK_CONTAINER (GtkMenuItem_Configuration_menu), GtkMenuItem_Cpu);
|
||||||
|
@ -2795,6 +2800,9 @@ create_MainWindow (void)
|
||||||
g_signal_connect ((gpointer) GtkMenuItem_FW, "activate",
|
g_signal_connect ((gpointer) GtkMenuItem_FW, "activate",
|
||||||
G_CALLBACK (OnConf_Fw),
|
G_CALLBACK (OnConf_Fw),
|
||||||
NULL);
|
NULL);
|
||||||
|
g_signal_connect ((gpointer) GtkMenuItem_Memcards, "activate",
|
||||||
|
G_CALLBACK (OnConf_Memcards),
|
||||||
|
NULL);
|
||||||
g_signal_connect ((gpointer) GtkMenuItem_Cpu, "activate",
|
g_signal_connect ((gpointer) GtkMenuItem_Cpu, "activate",
|
||||||
G_CALLBACK (OnConf_Cpu),
|
G_CALLBACK (OnConf_Cpu),
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -2874,6 +2882,7 @@ create_MainWindow (void)
|
||||||
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_USB, "GtkMenuItem_USB");
|
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_USB, "GtkMenuItem_USB");
|
||||||
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_FW, "GtkMenuItem_FW");
|
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_FW, "GtkMenuItem_FW");
|
||||||
GLADE_HOOKUP_OBJECT (MainWindow, separator4, "separator4");
|
GLADE_HOOKUP_OBJECT (MainWindow, separator4, "separator4");
|
||||||
|
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Memcards, "GtkMenuItem_Memcards");
|
||||||
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Cpu, "GtkMenuItem_Cpu");
|
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Cpu, "GtkMenuItem_Cpu");
|
||||||
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Game_Fixes, "GtkMenuItem_Game_Fixes");
|
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Game_Fixes, "GtkMenuItem_Game_Fixes");
|
||||||
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Speed_Hacks, "GtkMenuItem_Speed_Hacks");
|
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Speed_Hacks, "GtkMenuItem_Speed_Hacks");
|
||||||
|
@ -4015,3 +4024,99 @@ create_Logging (void)
|
||||||
return Logging;
|
return Logging;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GtkWidget*
|
||||||
|
create_MemDlg (void)
|
||||||
|
{
|
||||||
|
GtkWidget *MemDlg;
|
||||||
|
GtkWidget *dialog_vbox7;
|
||||||
|
GtkWidget *hbox40;
|
||||||
|
GtkWidget *vbox62;
|
||||||
|
GtkWidget *hbox42;
|
||||||
|
GtkWidget *label99;
|
||||||
|
GtkWidget *label100;
|
||||||
|
GtkWidget *hbox41;
|
||||||
|
GtkWidget *memcard1combo;
|
||||||
|
GtkWidget *memcard2combo;
|
||||||
|
GtkWidget *dialog_action_area7;
|
||||||
|
GtkWidget *memcardcancelbutton;
|
||||||
|
GtkWidget *okbutton1;
|
||||||
|
|
||||||
|
MemDlg = gtk_dialog_new ();
|
||||||
|
gtk_window_set_title (GTK_WINDOW (MemDlg), _("Memcards"));
|
||||||
|
gtk_window_set_type_hint (GTK_WINDOW (MemDlg), GDK_WINDOW_TYPE_HINT_DIALOG);
|
||||||
|
|
||||||
|
dialog_vbox7 = GTK_DIALOG (MemDlg)->vbox;
|
||||||
|
gtk_widget_show (dialog_vbox7);
|
||||||
|
|
||||||
|
hbox40 = gtk_hbox_new (FALSE, 0);
|
||||||
|
gtk_widget_show (hbox40);
|
||||||
|
gtk_box_pack_start (GTK_BOX (dialog_vbox7), hbox40, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
vbox62 = gtk_vbox_new (FALSE, 0);
|
||||||
|
gtk_widget_show (vbox62);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox40), vbox62, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
hbox42 = gtk_hbox_new (FALSE, 0);
|
||||||
|
gtk_widget_show (hbox42);
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox62), hbox42, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
label99 = gtk_label_new (_("Memcard 1"));
|
||||||
|
gtk_widget_show (label99);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox42), label99, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
label100 = gtk_label_new (_("Memcard 2"));
|
||||||
|
gtk_widget_show (label100);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox42), label100, TRUE, TRUE, 0);
|
||||||
|
gtk_label_set_justify (GTK_LABEL (label100), GTK_JUSTIFY_RIGHT);
|
||||||
|
|
||||||
|
hbox41 = gtk_hbox_new (FALSE, 0);
|
||||||
|
gtk_widget_show (hbox41);
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox62), hbox41, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
memcard1combo = gtk_combo_box_new_text ();
|
||||||
|
gtk_widget_show (memcard1combo);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox41), memcard1combo, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
memcard2combo = gtk_combo_box_new_text ();
|
||||||
|
gtk_widget_show (memcard2combo);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox41), memcard2combo, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
dialog_action_area7 = GTK_DIALOG (MemDlg)->action_area;
|
||||||
|
gtk_widget_show (dialog_action_area7);
|
||||||
|
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area7), GTK_BUTTONBOX_END);
|
||||||
|
|
||||||
|
memcardcancelbutton = gtk_button_new_from_stock ("gtk-ok");
|
||||||
|
gtk_widget_show (memcardcancelbutton);
|
||||||
|
gtk_dialog_add_action_widget (GTK_DIALOG (MemDlg), memcardcancelbutton, GTK_RESPONSE_OK);
|
||||||
|
GTK_WIDGET_SET_FLAGS (memcardcancelbutton, GTK_CAN_DEFAULT);
|
||||||
|
|
||||||
|
okbutton1 = gtk_button_new_from_stock ("gtk-cancel");
|
||||||
|
gtk_widget_show (okbutton1);
|
||||||
|
gtk_dialog_add_action_widget (GTK_DIALOG (MemDlg), okbutton1, GTK_RESPONSE_CANCEL);
|
||||||
|
GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
|
||||||
|
|
||||||
|
g_signal_connect ((gpointer) memcardcancelbutton, "clicked",
|
||||||
|
G_CALLBACK (OnMemcards_Ok),
|
||||||
|
NULL);
|
||||||
|
g_signal_connect ((gpointer) okbutton1, "clicked",
|
||||||
|
G_CALLBACK (OnMemcards_Ok),
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
/* Store pointers to all widgets, for use by lookup_widget(). */
|
||||||
|
GLADE_HOOKUP_OBJECT_NO_REF (MemDlg, MemDlg, "MemDlg");
|
||||||
|
GLADE_HOOKUP_OBJECT_NO_REF (MemDlg, dialog_vbox7, "dialog_vbox7");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, hbox40, "hbox40");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, vbox62, "vbox62");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, hbox42, "hbox42");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, label99, "label99");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, label100, "label100");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, hbox41, "hbox41");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, memcard1combo, "memcard1combo");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, memcard2combo, "memcard2combo");
|
||||||
|
GLADE_HOOKUP_OBJECT_NO_REF (MemDlg, dialog_action_area7, "dialog_action_area7");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, memcardcancelbutton, "memcardcancelbutton");
|
||||||
|
GLADE_HOOKUP_OBJECT (MemDlg, okbutton1, "okbutton1");
|
||||||
|
|
||||||
|
return MemDlg;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,3 +20,4 @@ GtkWidget* create_PatchBrowserWindow (void);
|
||||||
GtkWidget* create_PatchFinderWindow (void);
|
GtkWidget* create_PatchFinderWindow (void);
|
||||||
GtkWidget* create_CpuDlg (void);
|
GtkWidget* create_CpuDlg (void);
|
||||||
GtkWidget* create_Logging (void);
|
GtkWidget* create_Logging (void);
|
||||||
|
GtkWidget* create_MemDlg (void);
|
||||||
|
|
|
@ -5071,6 +5071,15 @@ Version x.x</property>
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkMenuItem" id="GtkMenuItem_Memcards">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes">Memcards</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<signal name="activate" handler="OnConf_Memcards" last_modification_time="Fri, 13 Feb 2009 10:12:34 GMT"/>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkMenuItem" id="GtkMenuItem_Cpu">
|
<widget class="GtkMenuItem" id="GtkMenuItem_Cpu">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -8019,4 +8028,199 @@ Version x.x</property>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
||||||
|
<widget class="GtkDialog" id="MemDlg">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="title" translatable="yes">Memcards</property>
|
||||||
|
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||||
|
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||||
|
<property name="modal">False</property>
|
||||||
|
<property name="resizable">True</property>
|
||||||
|
<property name="destroy_with_parent">False</property>
|
||||||
|
<property name="decorated">True</property>
|
||||||
|
<property name="skip_taskbar_hint">False</property>
|
||||||
|
<property name="skip_pager_hint">False</property>
|
||||||
|
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
||||||
|
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
||||||
|
<property name="focus_on_map">True</property>
|
||||||
|
<property name="urgency_hint">False</property>
|
||||||
|
<property name="has_separator">True</property>
|
||||||
|
|
||||||
|
<child internal-child="vbox">
|
||||||
|
<widget class="GtkVBox" id="dialog-vbox7">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child internal-child="action_area">
|
||||||
|
<widget class="GtkHButtonBox" id="dialog-action_area7">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="memcardcancelbutton">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label">gtk-ok</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="focus_on_click">True</property>
|
||||||
|
<property name="response_id">-5</property>
|
||||||
|
<signal name="clicked" handler="OnMemcards_Ok" last_modification_time="Fri, 13 Feb 2009 10:31:07 GMT"/>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="okbutton1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label">gtk-cancel</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="focus_on_click">True</property>
|
||||||
|
<property name="response_id">-6</property>
|
||||||
|
<signal name="clicked" handler="OnMemcards_Ok" last_modification_time="Fri, 13 Feb 2009 10:31:01 GMT"/>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="pack_type">GTK_PACK_END</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkHBox" id="hbox40">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkVBox" id="vbox62">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkHBox" id="hbox42">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="label99">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes">Memcard 1</property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">False</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||||
|
<property name="wrap">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
<property name="xpad">0</property>
|
||||||
|
<property name="ypad">0</property>
|
||||||
|
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||||
|
<property name="width_chars">-1</property>
|
||||||
|
<property name="single_line_mode">False</property>
|
||||||
|
<property name="angle">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="label100">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes">Memcard 2</property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">False</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_RIGHT</property>
|
||||||
|
<property name="wrap">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
<property name="xpad">0</property>
|
||||||
|
<property name="ypad">0</property>
|
||||||
|
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||||
|
<property name="width_chars">-1</property>
|
||||||
|
<property name="single_line_mode">False</property>
|
||||||
|
<property name="angle">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkHBox" id="hbox41">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkComboBox" id="memcard1combo">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="add_tearoffs">False</property>
|
||||||
|
<property name="focus_on_click">True</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkComboBox" id="memcard2combo">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="add_tearoffs">False</property>
|
||||||
|
<property name="focus_on_click">True</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
|
||||||
</glade-interface>
|
</glade-interface>
|
||||||
|
|
Loading…
Reference in New Issue