Code cleanup by riccardom (patch 2155179)
Fixed the compilation for gtk-glade port.
This commit is contained in:
parent
dc4ffd3119
commit
efe749182a
|
@ -63,7 +63,7 @@ void desmume_free()
|
||||||
int desmume_open(const char *filename)
|
int desmume_open(const char *filename)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
noticed_3D=attempted_3D_op=FALSE;
|
noticed_3D=FALSE;
|
||||||
clear_savestates();
|
clear_savestates();
|
||||||
i = NDS_LoadROM(filename, savetype, savesize, NULL);
|
i = NDS_LoadROM(filename, savetype, savesize, NULL);
|
||||||
return i;
|
return i;
|
||||||
|
@ -91,7 +91,7 @@ void desmume_resume()
|
||||||
|
|
||||||
void desmume_reset()
|
void desmume_reset()
|
||||||
{
|
{
|
||||||
noticed_3D=attempted_3D_op=FALSE;
|
noticed_3D=FALSE;
|
||||||
NDS_Reset();
|
NDS_Reset();
|
||||||
desmume_resume();
|
desmume_resume();
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ static void Draw()
|
||||||
gboolean EmuLoop(gpointer data)
|
gboolean EmuLoop(gpointer data)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
if (!noticed_3D && attempted_3D_op) {
|
if (!noticed_3D) {
|
||||||
GtkWidget * dlg = glade_xml_get_widget(xml, "w3Dop");
|
GtkWidget * dlg = glade_xml_get_widget(xml, "w3Dop");
|
||||||
gtk_widget_show(dlg);
|
gtk_widget_show(dlg);
|
||||||
noticed_3D=TRUE;
|
noticed_3D=TRUE;
|
||||||
|
|
|
@ -94,7 +94,6 @@ typedef union _callback_arg{
|
||||||
#include "../ctrlssdl.h"
|
#include "../ctrlssdl.h"
|
||||||
#include "../types.h"
|
#include "../types.h"
|
||||||
#include "../saves.h"
|
#include "../saves.h"
|
||||||
#include "../gl_vertex.h"
|
|
||||||
#include "../render3D.h"
|
#include "../render3D.h"
|
||||||
#include "desmume.h"
|
#include "desmume.h"
|
||||||
#include "gdk_gl.h"
|
#include "gdk_gl.h"
|
||||||
|
|
|
@ -119,7 +119,8 @@ struct configured_features {
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_configured_features( struct configured_features *config) {
|
init_configured_features( struct configured_features *config)
|
||||||
|
{
|
||||||
config->arm9_gdb_port = 0;
|
config->arm9_gdb_port = 0;
|
||||||
config->arm7_gdb_port = 0;
|
config->arm7_gdb_port = 0;
|
||||||
|
|
||||||
|
@ -142,7 +143,8 @@ init_configured_features( struct configured_features *config) {
|
||||||
|
|
||||||
static int
|
static int
|
||||||
fill_configured_features( struct configured_features *config,
|
fill_configured_features( struct configured_features *config,
|
||||||
int argc, char ** argv) {
|
int argc, char ** argv)
|
||||||
|
{
|
||||||
int good_args = 1;
|
int good_args = 1;
|
||||||
int print_usage = 0;
|
int print_usage = 0;
|
||||||
int i;
|
int i;
|
||||||
|
@ -180,75 +182,60 @@ fill_configured_features( struct configured_features *config,
|
||||||
printf( "\n");
|
printf( "\n");
|
||||||
printf( " --help Display this message\n");
|
printf( " --help Display this message\n");
|
||||||
good_args = 0;
|
good_args = 0;
|
||||||
}
|
} else if ( strcmp( argv[i], "--disable-sound") == 0) {
|
||||||
else if ( strcmp( argv[i], "--disable-sound") == 0) {
|
|
||||||
config->disable_sound = 1;
|
config->disable_sound = 1;
|
||||||
}
|
|
||||||
#ifdef GTKGLEXT_AVAILABLE
|
#ifdef GTKGLEXT_AVAILABLE
|
||||||
else if ( strcmp( argv[i], "--opengl-2d") == 0) {
|
} else if ( strcmp( argv[i], "--opengl-2d") == 0) {
|
||||||
config->screen.opengl = 1;
|
config->screen.opengl = 1;
|
||||||
}
|
} else if ( strcmp( argv[i], "--soft-convert") == 0) {
|
||||||
else if ( strcmp( argv[i], "--soft-convert") == 0) {
|
|
||||||
config->screen.soft_colour = 1;
|
config->screen.soft_colour = 1;
|
||||||
}
|
} else if ( strcmp( argv[i], "--disable-3d") == 0) {
|
||||||
else if ( strcmp( argv[i], "--disable-3d") == 0) {
|
|
||||||
config->disable_3d = 1;
|
config->disable_3d = 1;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
else if ( strcmp( argv[i], "--disable-limiter") == 0) {
|
} else if ( strcmp( argv[i], "--disable-limiter") == 0) {
|
||||||
config->disable_limiter = 1;
|
config->disable_limiter = 1;
|
||||||
}
|
} else if ( strncmp( argv[i], "--fwlang=", 9) == 0) {
|
||||||
else if ( strncmp( argv[i], "--fwlang=", 9) == 0) {
|
|
||||||
char *end_char;
|
char *end_char;
|
||||||
int lang = strtoul( &argv[i][9], &end_char, 10);
|
int lang = strtoul( &argv[i][9], &end_char, 10);
|
||||||
|
|
||||||
if ( lang >= 0 && lang <= 5) {
|
if ( lang >= 0 && lang <= 5) {
|
||||||
config->firmware_language = lang;
|
config->firmware_language = lang;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
fprintf( stderr, "Firmware language must be set to a value from 0 to 5.\n");
|
fprintf( stderr, "Firmware language must be set to a value from 0 to 5.\n");
|
||||||
good_args = 0;
|
good_args = 0;
|
||||||
}
|
}
|
||||||
}
|
} else if ( strncmp( argv[i], "--arm9gdb=", 10) == 0) {
|
||||||
else if ( strncmp( argv[i], "--arm9gdb=", 10) == 0) {
|
|
||||||
char *end_char;
|
char *end_char;
|
||||||
unsigned long port_num = strtoul( &argv[i][10], &end_char, 10);
|
unsigned long port_num = strtoul( &argv[i][10], &end_char, 10);
|
||||||
|
|
||||||
if ( port_num > 0 && port_num < 65536) {
|
if ( port_num > 0 && port_num < 65536) {
|
||||||
config->arm9_gdb_port = port_num;
|
config->arm9_gdb_port = port_num;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
fprintf( stderr, "ARM9 GDB stub port must be in the range 1 to 65535\n");
|
fprintf( stderr, "ARM9 GDB stub port must be in the range 1 to 65535\n");
|
||||||
good_args = 0;
|
good_args = 0;
|
||||||
}
|
}
|
||||||
}
|
} else if ( strncmp( argv[i], "--arm7gdb=", 10) == 0) {
|
||||||
else if ( strncmp( argv[i], "--arm7gdb=", 10) == 0) {
|
|
||||||
char *end_char;
|
char *end_char;
|
||||||
unsigned long port_num = strtoul( &argv[i][10], &end_char, 10);
|
unsigned long port_num = strtoul( &argv[i][10], &end_char, 10);
|
||||||
|
|
||||||
if ( port_num > 0 && port_num < 65536) {
|
if ( port_num > 0 && port_num < 65536) {
|
||||||
config->arm7_gdb_port = port_num;
|
config->arm7_gdb_port = port_num;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
fprintf( stderr, "ARM7 GDB stub port must be in the range 1 to 65535\n");
|
fprintf( stderr, "ARM7 GDB stub port must be in the range 1 to 65535\n");
|
||||||
good_args = 0;
|
good_args = 0;
|
||||||
}
|
}
|
||||||
}
|
} else if ( strncmp( argv[i], "--cflash=", 9) == 0) {
|
||||||
else if ( strncmp( argv[i], "--cflash=", 9) == 0) {
|
|
||||||
if ( config->cflash_disk_image_file == NULL) {
|
if ( config->cflash_disk_image_file == NULL) {
|
||||||
config->cflash_disk_image_file = &argv[i][9];
|
config->cflash_disk_image_file = &argv[i][9];
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
fprintf( stderr, "CFlash disk image file (\"%s\") already set\n",
|
fprintf( stderr, "CFlash disk image file (\"%s\") already set\n",
|
||||||
config->cflash_disk_image_file);
|
config->cflash_disk_image_file);
|
||||||
good_args = 0;
|
good_args = 0;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if ( config->nds_file == NULL) {
|
if ( config->nds_file == NULL) {
|
||||||
config->nds_file = argv[i];
|
config->nds_file = argv[i];
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
fprintf( stderr, "NDS file (\"%s\") already set\n", config->nds_file);
|
fprintf( stderr, "NDS file (\"%s\") already set\n", config->nds_file);
|
||||||
good_args = 0;
|
good_args = 0;
|
||||||
}
|
}
|
||||||
|
@ -275,7 +262,8 @@ fill_configured_features( struct configured_features *config,
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
createThread_gdb( void (*thread_function)( void *data),
|
createThread_gdb( void (*thread_function)( void *data),
|
||||||
void *thread_data) {
|
void *thread_data)
|
||||||
|
{
|
||||||
GThread *new_thread = g_thread_create( (GThreadFunc)thread_function,
|
GThread *new_thread = g_thread_create( (GThreadFunc)thread_function,
|
||||||
thread_data,
|
thread_data,
|
||||||
TRUE,
|
TRUE,
|
||||||
|
@ -290,8 +278,6 @@ joinThread_gdb( void *thread_handle) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u16 Keypad_Temp[NB_KEYS];
|
u16 Keypad_Temp[NB_KEYS];
|
||||||
|
|
||||||
int Write_ConfigFile()
|
int Write_ConfigFile()
|
||||||
|
@ -302,14 +288,12 @@ int Write_ConfigFile()
|
||||||
|
|
||||||
keyfile = g_key_file_new();
|
keyfile = g_key_file_new();
|
||||||
|
|
||||||
for(i = 0; i < NB_KEYS; i++)
|
for(i = 0; i < NB_KEYS; i++) {
|
||||||
{
|
|
||||||
g_key_file_set_integer(keyfile, "KEYS", key_names[i], keyboard_cfg[i]);
|
g_key_file_set_integer(keyfile, "KEYS", key_names[i], keyboard_cfg[i]);
|
||||||
g_key_file_set_integer(keyfile, "JOYKEYS", key_names[i], joypad_cfg[i]);
|
g_key_file_set_integer(keyfile, "JOYKEYS", key_names[i], joypad_cfg[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if(FirmwareFile[0])
|
// if(FirmwareFile[0]) {
|
||||||
// {
|
|
||||||
// ini_add_section(ini, "FIRMWARE");
|
// ini_add_section(ini, "FIRMWARE");
|
||||||
// ini_add_value(ini, "FIRMWARE", "FILE", FirmwareFile);
|
// ini_add_value(ini, "FIRMWARE", "FILE", FirmwareFile);
|
||||||
// }
|
// }
|
||||||
|
@ -336,8 +320,7 @@ int Read_ConfigFile()
|
||||||
const char *c;
|
const char *c;
|
||||||
|
|
||||||
/* Load keyboard keys */
|
/* Load keyboard keys */
|
||||||
for(i = 0; i < NB_KEYS; i++)
|
for(i = 0; i < NB_KEYS; i++) {
|
||||||
{
|
|
||||||
tmp = g_key_file_get_integer(keyfile, "KEYS", key_names[i], &error);
|
tmp = g_key_file_get_integer(keyfile, "KEYS", key_names[i], &error);
|
||||||
if (error != NULL) {
|
if (error != NULL) {
|
||||||
g_error_free(error);
|
g_error_free(error);
|
||||||
|
@ -348,8 +331,7 @@ int Read_ConfigFile()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Load joystick keys */
|
/* Load joystick keys */
|
||||||
for(i = 0; i < NB_KEYS; i++)
|
for(i = 0; i < NB_KEYS; i++) {
|
||||||
{
|
|
||||||
tmp = g_key_file_get_integer(keyfile, "JOYKEYS", key_names[i], &error);
|
tmp = g_key_file_get_integer(keyfile, "JOYKEYS", key_names[i], &error);
|
||||||
if (error != NULL) {
|
if (error != NULL) {
|
||||||
g_error_free(error);
|
g_error_free(error);
|
||||||
|
@ -424,8 +406,7 @@ static void Launch()
|
||||||
{
|
{
|
||||||
desmume_resume();
|
desmume_resume();
|
||||||
|
|
||||||
if(!regMainLoop)
|
if(!regMainLoop) {
|
||||||
{
|
|
||||||
g_idle_add_full(EMULOOP_PRIO, &EmuLoop, pWindow, NULL); regMainLoop = TRUE;
|
g_idle_add_full(EMULOOP_PRIO, &EmuLoop, pWindow, NULL); regMainLoop = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -490,31 +471,29 @@ static void *Open_Select(GtkWidget* widget, gpointer data)
|
||||||
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(pFileSelection), pFilter_any);
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(pFileSelection), pFilter_any);
|
||||||
|
|
||||||
/* Affichage fenetre */
|
/* Affichage fenetre */
|
||||||
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection)))
|
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection))) {
|
||||||
{
|
case GTK_RESPONSE_OK:
|
||||||
case GTK_RESPONSE_OK:
|
/* Recuperation du chemin */
|
||||||
/* Recuperation du chemin */
|
sChemin = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSelection));
|
||||||
sChemin = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSelection));
|
if(Open((const char*)sChemin, bad_glob_cflash_disk_image_file) < 0) {
|
||||||
if(Open((const char*)sChemin, bad_glob_cflash_disk_image_file) < 0)
|
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection),
|
||||||
{
|
GTK_DIALOG_MODAL,
|
||||||
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection),
|
GTK_MESSAGE_ERROR,
|
||||||
GTK_DIALOG_MODAL,
|
GTK_BUTTONS_OK,
|
||||||
GTK_MESSAGE_ERROR,
|
"Unable to load :\n%s", sChemin);
|
||||||
GTK_BUTTONS_OK,
|
gtk_dialog_run(GTK_DIALOG(pDialog));
|
||||||
"Unable to load :\n%s", sChemin);
|
gtk_widget_destroy(pDialog);
|
||||||
gtk_dialog_run(GTK_DIALOG(pDialog));
|
} else {
|
||||||
gtk_widget_destroy(pDialog);
|
gtk_action_set_sensitive(gtk_action_group_get_action(action_group, "run"), TRUE);
|
||||||
} else {
|
gtk_action_set_sensitive(gtk_action_group_get_action(action_group, "reset"), TRUE);
|
||||||
gtk_action_set_sensitive(gtk_action_group_get_action(action_group, "run"), TRUE);
|
}
|
||||||
gtk_action_set_sensitive(gtk_action_group_get_action(action_group, "reset"), TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Launch(NULL, pWindow);
|
//Launch(NULL, pWindow);
|
||||||
|
|
||||||
g_free(sChemin);
|
g_free(sChemin);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gtk_widget_destroy(pFileSelection);
|
gtk_widget_destroy(pFileSelection);
|
||||||
}
|
}
|
||||||
|
@ -628,7 +607,8 @@ gtk_init_sub_gl_area(GtkWidget *widget,
|
||||||
|
|
||||||
#ifdef GTKGLEXT_AVAILABLE
|
#ifdef GTKGLEXT_AVAILABLE
|
||||||
static int
|
static int
|
||||||
top_screen_expose_fn( GtkWidget *widget, GdkEventExpose *event, gpointer data) {
|
top_screen_expose_fn( GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||||
|
{
|
||||||
GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
|
GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
|
||||||
GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
|
GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
|
||||||
int software_convert = *((int *)data);
|
int software_convert = *((int *)data);
|
||||||
|
@ -662,8 +642,7 @@ top_screen_expose_fn( GtkWidget *widget, GdkEventExpose *event, gpointer data) {
|
||||||
GL_RGB,
|
GL_RGB,
|
||||||
GL_UNSIGNED_BYTE,
|
GL_UNSIGNED_BYTE,
|
||||||
converted);
|
converted);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, 256, 384,
|
glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, 256, 384,
|
||||||
GL_RGBA,
|
GL_RGBA,
|
||||||
GL_UNSIGNED_SHORT_1_5_5_5_REV,
|
GL_UNSIGNED_SHORT_1_5_5_5_REV,
|
||||||
|
@ -759,7 +738,8 @@ bottom_screen_expose_fn(GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
common_configure_fn( GtkWidget *widget,
|
common_configure_fn( GtkWidget *widget,
|
||||||
GdkEventConfigure *event ) {
|
GdkEventConfigure *event )
|
||||||
|
{
|
||||||
if ( gtk_widget_is_gl_capable( widget) == FALSE)
|
if ( gtk_widget_is_gl_capable( widget) == FALSE)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
@ -819,8 +799,7 @@ common_configure_fn( GtkWidget *widget,
|
||||||
|
|
||||||
top = 0.0;
|
top = 0.0;
|
||||||
bottom = 192.0 * ((double)event->height / other_dimen);
|
bottom = 192.0 * ((double)event->height / other_dimen);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
top = 0.0;
|
top = 0.0;
|
||||||
bottom = 192.0;
|
bottom = 192.0;
|
||||||
|
|
||||||
|
@ -910,13 +889,11 @@ static gboolean Stylus_Move(GtkWidget *w, GdkEventMotion *e, gpointer data)
|
||||||
const int *opengl = (const int *)data;
|
const int *opengl = (const int *)data;
|
||||||
|
|
||||||
|
|
||||||
if(click)
|
if(click) {
|
||||||
{
|
|
||||||
int scaled_x, scaled_y;
|
int scaled_x, scaled_y;
|
||||||
if(e->is_hint)
|
if(e->is_hint)
|
||||||
gdk_window_get_pointer(w->window, &x, &y, &state);
|
gdk_window_get_pointer(w->window, &x, &y, &state);
|
||||||
else
|
else {
|
||||||
{
|
|
||||||
x= (gint)e->x;
|
x= (gint)e->x;
|
||||||
y= (gint)e->y;
|
y= (gint)e->y;
|
||||||
state=(GdkModifierType)e->state;
|
state=(GdkModifierType)e->state;
|
||||||
|
@ -930,8 +907,7 @@ static gboolean Stylus_Move(GtkWidget *w, GdkEventMotion *e, gpointer data)
|
||||||
if ( !(*opengl)) {
|
if ( !(*opengl)) {
|
||||||
scaled_y -= 192;
|
scaled_y -= 192;
|
||||||
}
|
}
|
||||||
if(scaled_y >= 0 && (state & GDK_BUTTON1_MASK))
|
if(scaled_y >= 0 && (state & GDK_BUTTON1_MASK)) {
|
||||||
{
|
|
||||||
EmuX = scaled_x;
|
EmuX = scaled_x;
|
||||||
EmuY = scaled_y;
|
EmuY = scaled_y;
|
||||||
if(EmuX<0) EmuX = 0; else if(EmuX>255) EmuX = 255;
|
if(EmuX<0) EmuX = 0; else if(EmuX>255) EmuX = 255;
|
||||||
|
@ -949,10 +925,8 @@ static gboolean Stylus_Press(GtkWidget *w, GdkEventButton *e, gpointer data)
|
||||||
s32 EmuX, EmuY;
|
s32 EmuX, EmuY;
|
||||||
const int *opengl = (const int *)data;
|
const int *opengl = (const int *)data;
|
||||||
|
|
||||||
if(desmume_running())
|
if(desmume_running()) {
|
||||||
{
|
if(e->button == 1) {
|
||||||
if(e->button == 1)
|
|
||||||
{
|
|
||||||
int scaled_x, scaled_y;
|
int scaled_x, scaled_y;
|
||||||
click = TRUE;
|
click = TRUE;
|
||||||
|
|
||||||
|
@ -964,8 +938,7 @@ static gboolean Stylus_Press(GtkWidget *w, GdkEventButton *e, gpointer data)
|
||||||
if ( !(*opengl)) {
|
if ( !(*opengl)) {
|
||||||
scaled_y -= 192;
|
scaled_y -= 192;
|
||||||
}
|
}
|
||||||
if(scaled_y >= 0 && (state & GDK_BUTTON1_MASK))
|
if(scaled_y >= 0 && (state & GDK_BUTTON1_MASK)) {
|
||||||
{
|
|
||||||
EmuX = scaled_x;
|
EmuX = scaled_x;
|
||||||
EmuY = scaled_y;
|
EmuY = scaled_y;
|
||||||
if(EmuX<0) EmuX = 0; else if(EmuX>255) EmuX = 255;
|
if(EmuX<0) EmuX = 0; else if(EmuX>255) EmuX = 255;
|
||||||
|
@ -1044,19 +1017,18 @@ void Modify_Key(GtkWidget* widget, gpointer data)
|
||||||
|
|
||||||
gtk_widget_show_all(GTK_DIALOG(mkDialog)->vbox);
|
gtk_widget_show_all(GTK_DIALOG(mkDialog)->vbox);
|
||||||
|
|
||||||
switch(gtk_dialog_run(GTK_DIALOG(mkDialog)))
|
switch(gtk_dialog_run(GTK_DIALOG(mkDialog))) {
|
||||||
{
|
case GTK_RESPONSE_OK:
|
||||||
case GTK_RESPONSE_OK:
|
|
||||||
|
|
||||||
Keypad_Temp[Key] = Modify_Key_Chosen;
|
Keypad_Temp[Key] = Modify_Key_Chosen;
|
||||||
sprintf(Key_Label, "%s (%d)", key_names[Key], Keypad_Temp[Key]);
|
sprintf(Key_Label, "%s (%d)", key_names[Key], Keypad_Temp[Key]);
|
||||||
gtk_button_set_label(GTK_BUTTON(widget), Key_Label);
|
gtk_button_set_label(GTK_BUTTON(widget), Key_Label);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case GTK_RESPONSE_CANCEL:
|
case GTK_RESPONSE_CANCEL:
|
||||||
case GTK_RESPONSE_NONE:
|
case GTK_RESPONSE_NONE:
|
||||||
Modify_Key_Chosen = 0;
|
Modify_Key_Chosen = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_widget_destroy(mkDialog);
|
gtk_widget_destroy(mkDialog);
|
||||||
|
@ -1073,15 +1045,13 @@ void Edit_Controls(GtkWidget* widget, gpointer data)
|
||||||
memcpy(&Keypad_Temp, &keyboard_cfg, sizeof(keyboard_cfg));
|
memcpy(&Keypad_Temp, &keyboard_cfg, sizeof(keyboard_cfg));
|
||||||
|
|
||||||
ecDialog = gtk_dialog_new_with_buttons("Edit controls",
|
ecDialog = gtk_dialog_new_with_buttons("Edit controls",
|
||||||
GTK_WINDOW(pWindow),
|
GTK_WINDOW(pWindow),
|
||||||
GTK_DIALOG_MODAL,
|
GTK_DIALOG_MODAL,
|
||||||
GTK_STOCK_OK,GTK_RESPONSE_OK,
|
GTK_STOCK_OK,GTK_RESPONSE_OK,
|
||||||
GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,
|
GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
for(i = 0; i < NB_KEYS; i++) {
|
||||||
for(i = 0; i < NB_KEYS; i++)
|
|
||||||
{
|
|
||||||
sprintf(Key_Label, "%s (%s)", key_names[i], gdk_keyval_name(Keypad_Temp[i]));
|
sprintf(Key_Label, "%s (%s)", key_names[i], gdk_keyval_name(Keypad_Temp[i]));
|
||||||
ecKey = gtk_button_new_with_label(Key_Label);
|
ecKey = gtk_button_new_with_label(Key_Label);
|
||||||
g_signal_connect(G_OBJECT(ecKey), "clicked", G_CALLBACK(Modify_Key), GINT_TO_POINTER(i));
|
g_signal_connect(G_OBJECT(ecKey), "clicked", G_CALLBACK(Modify_Key), GINT_TO_POINTER(i));
|
||||||
|
@ -1090,13 +1060,12 @@ void Edit_Controls(GtkWidget* widget, gpointer data)
|
||||||
|
|
||||||
gtk_widget_show_all(GTK_DIALOG(ecDialog)->vbox);
|
gtk_widget_show_all(GTK_DIALOG(ecDialog)->vbox);
|
||||||
|
|
||||||
switch (gtk_dialog_run(GTK_DIALOG(ecDialog)))
|
switch (gtk_dialog_run(GTK_DIALOG(ecDialog))) {
|
||||||
{
|
case GTK_RESPONSE_OK:
|
||||||
case GTK_RESPONSE_OK:
|
memcpy(&keyboard_cfg, &Keypad_Temp, sizeof(keyboard_cfg));
|
||||||
memcpy(&keyboard_cfg, &Keypad_Temp, sizeof(keyboard_cfg));
|
case GTK_RESPONSE_CANCEL:
|
||||||
case GTK_RESPONSE_CANCEL:
|
case GTK_RESPONSE_NONE:
|
||||||
case GTK_RESPONSE_NONE:
|
break;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
gtk_widget_destroy(ecDialog);
|
gtk_widget_destroy(ecDialog);
|
||||||
|
|
||||||
|
@ -1124,38 +1093,30 @@ void Modify_Layer(GtkWidget* widget, gpointer data)
|
||||||
int i;
|
int i;
|
||||||
gchar *Layer = (gchar*)data;
|
gchar *Layer = (gchar*)data;
|
||||||
|
|
||||||
if(!desmume_running())
|
if(!desmume_running()) {
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(memcmp(Layer, "Sub", 3) == 0)
|
if(memcmp(Layer, "Sub", 3) == 0) {
|
||||||
{
|
if(memcmp(Layer, "Sub BG", 6) == 0) {
|
||||||
if(memcmp(Layer, "Sub BG", 6) == 0)
|
|
||||||
{
|
|
||||||
i = atoi(Layer + strlen("Sub BG "));
|
i = atoi(Layer + strlen("Sub BG "));
|
||||||
if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)) == TRUE) {
|
if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)) == TRUE) {
|
||||||
if(!SubScreen.gpu->dispBG[i]) GPU_addBack(SubScreen.gpu, i);
|
if(!SubScreen.gpu->dispBG[i]) GPU_addBack(SubScreen.gpu, i);
|
||||||
} else {
|
} else {
|
||||||
if(SubScreen.gpu->dispBG[i]) GPU_remove(SubScreen.gpu, i); }
|
if(SubScreen.gpu->dispBG[i]) GPU_remove(SubScreen.gpu, i);
|
||||||
}
|
}
|
||||||
else
|
} else {
|
||||||
{
|
|
||||||
/* TODO: Disable sprites */
|
/* TODO: Disable sprites */
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
if(memcmp(Layer, "Main BG", 7) == 0) {
|
||||||
{
|
|
||||||
if(memcmp(Layer, "Main BG", 7) == 0)
|
|
||||||
{
|
|
||||||
i = atoi(Layer + strlen("Main BG "));
|
i = atoi(Layer + strlen("Main BG "));
|
||||||
if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)) == TRUE) {
|
if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)) == TRUE) {
|
||||||
if(!MainScreen.gpu->dispBG[i]) GPU_addBack(MainScreen.gpu, i);
|
if(!MainScreen.gpu->dispBG[i]) GPU_addBack(MainScreen.gpu, i);
|
||||||
} else {
|
} else {
|
||||||
if(MainScreen.gpu->dispBG[i]) GPU_remove(MainScreen.gpu, i); }
|
if(MainScreen.gpu->dispBG[i]) GPU_remove(MainScreen.gpu, i);
|
||||||
}
|
}
|
||||||
else
|
} else {
|
||||||
{
|
|
||||||
/* TODO: Disable sprites */
|
/* TODO: Disable sprites */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1201,7 +1162,8 @@ typedef struct
|
||||||
}BmpFileHeader;
|
}BmpFileHeader;
|
||||||
|
|
||||||
|
|
||||||
int WriteBMP(const char *filename,u16 *bmp){
|
int WriteBMP(const char *filename,u16 *bmp)
|
||||||
|
{
|
||||||
BmpFileHeader fileheader;
|
BmpFileHeader fileheader;
|
||||||
BmpImageHeader imageheader;
|
BmpImageHeader imageheader;
|
||||||
fileheader.size = 14;
|
fileheader.size = 14;
|
||||||
|
@ -1338,28 +1300,24 @@ int SelectFirmwareFile_Load(GtkWidget *w, gpointer data)
|
||||||
if(FirmwareFile[0]) gtk_file_chooser_select_uri(GTK_FILE_CHOOSER(pFileSelection), FirmwareFile);
|
if(FirmwareFile[0]) gtk_file_chooser_select_uri(GTK_FILE_CHOOSER(pFileSelection), FirmwareFile);
|
||||||
|
|
||||||
/* Affichage fenetre */
|
/* Affichage fenetre */
|
||||||
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection)))
|
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection))) {
|
||||||
{
|
case GTK_RESPONSE_OK:
|
||||||
case GTK_RESPONSE_OK:
|
/* Recuperation du chemin */
|
||||||
/* Recuperation du chemin */
|
sChemin = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSelection));
|
||||||
sChemin = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSelection));
|
if(LoadFirmware((const char*)sChemin) < 0) {
|
||||||
if(LoadFirmware((const char*)sChemin) < 0)
|
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Unable to load :\n%s", sChemin);
|
||||||
{
|
gtk_dialog_run(GTK_DIALOG(pDialog));
|
||||||
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Unable to load :\n%s", sChemin);
|
gtk_widget_destroy(pDialog);
|
||||||
gtk_dialog_run(GTK_DIALOG(pDialog));
|
} else {
|
||||||
gtk_widget_destroy(pDialog);
|
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Selected firmware :\n%s", sChemin);
|
||||||
}
|
gtk_dialog_run(GTK_DIALOG(pDialog));
|
||||||
else
|
gtk_widget_destroy(pDialog);
|
||||||
{
|
}
|
||||||
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Selected firmware :\n%s", sChemin);
|
|
||||||
gtk_dialog_run(GTK_DIALOG(pDialog));
|
|
||||||
gtk_widget_destroy(pDialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free(sChemin);
|
g_free(sChemin);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gtk_widget_destroy(pFileSelection);
|
gtk_widget_destroy(pFileSelection);
|
||||||
|
|
||||||
|
@ -1408,28 +1366,24 @@ int SelectFirmwareFile_Load(GtkWidget *w, gpointer data)
|
||||||
if(FirmwareFile[0]) gtk_file_chooser_select_uri(GTK_FILE_CHOOSER(pFileSelection), FirmwareFile);
|
if(FirmwareFile[0]) gtk_file_chooser_select_uri(GTK_FILE_CHOOSER(pFileSelection), FirmwareFile);
|
||||||
|
|
||||||
/* Affichage fenetre */
|
/* Affichage fenetre */
|
||||||
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection)))
|
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection))) {
|
||||||
{
|
case GTK_RESPONSE_OK:
|
||||||
case GTK_RESPONSE_OK:
|
/* Recuperation du chemin */
|
||||||
/* Recuperation du chemin */
|
sChemin = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSelection));
|
||||||
sChemin = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSelection));
|
if(LoadFirmware((const char*)sChemin) < 0) {
|
||||||
if(LoadFirmware((const char*)sChemin) < 0)
|
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Unable to load :\n%s", sChemin);
|
||||||
{
|
gtk_dialog_run(GTK_DIALOG(pDialog));
|
||||||
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Unable to load :\n%s", sChemin);
|
gtk_widget_destroy(pDialog);
|
||||||
gtk_dialog_run(GTK_DIALOG(pDialog));
|
} else {
|
||||||
gtk_widget_destroy(pDialog);
|
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Selected firmware :\n%s", sChemin);
|
||||||
}
|
gtk_dialog_run(GTK_DIALOG(pDialog));
|
||||||
else
|
gtk_widget_destroy(pDialog);
|
||||||
{
|
}
|
||||||
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pFileSelection), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Selected firmware :\n%s", sChemin);
|
|
||||||
gtk_dialog_run(GTK_DIALOG(pDialog));
|
|
||||||
gtk_widget_destroy(pDialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free(sChemin);
|
g_free(sChemin);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gtk_widget_destroy(pFileSelection);
|
gtk_widget_destroy(pFileSelection);
|
||||||
|
|
||||||
|
@ -1477,8 +1431,7 @@ void dTool_CloseCallback(int tool)
|
||||||
static inline void _updateDTools()
|
static inline void _updateDTools()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < dTools_list_size; i++)
|
for(i = 0; i < dTools_list_size; i++) {
|
||||||
{
|
|
||||||
if(dTools_running[i]) { dTools_list[i]->update(); }
|
if(dTools_running[i]) { dTools_list[i]->update(); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1489,13 +1442,11 @@ gboolean EmuLoop(gpointer data)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if(desmume_running()) /* Si on est en train d'executer le programme ... */
|
if(desmume_running()) { /* Si on est en train d'executer le programme ... */
|
||||||
{
|
|
||||||
static int limiter_frame_counter = 0;
|
static int limiter_frame_counter = 0;
|
||||||
fps_FrameCount += Frameskip + 1;
|
fps_FrameCount += Frameskip + 1;
|
||||||
if(!fps_SecStart) fps_SecStart = SDL_GetTicks();
|
if(!fps_SecStart) fps_SecStart = SDL_GetTicks();
|
||||||
if(SDL_GetTicks() - fps_SecStart >= 1000)
|
if(SDL_GetTicks() - fps_SecStart >= 1000) {
|
||||||
{
|
|
||||||
fps_SecStart = SDL_GetTicks();
|
fps_SecStart = SDL_GetTicks();
|
||||||
fps = fps_FrameCount;
|
fps = fps_FrameCount;
|
||||||
fps_FrameCount = 0;
|
fps_FrameCount = 0;
|
||||||
|
@ -1541,7 +1492,8 @@ gboolean EmuLoop(gpointer data)
|
||||||
*
|
*
|
||||||
* @return The interval to the next call (required by SDL)
|
* @return The interval to the next call (required by SDL)
|
||||||
*/
|
*/
|
||||||
static Uint32 fps_limiter_fn(Uint32 interval, void *param) {
|
static Uint32 fps_limiter_fn(Uint32 interval, void *param)
|
||||||
|
{
|
||||||
SDL_sem *sdl_semaphore = (SDL_sem *)param;
|
SDL_sem *sdl_semaphore = (SDL_sem *)param;
|
||||||
|
|
||||||
/* signal the semaphore if it is getting low */
|
/* signal the semaphore if it is getting low */
|
||||||
|
@ -1559,7 +1511,8 @@ static void dui_set_accel_group(gpointer action, gpointer group) {
|
||||||
/////////////////////////////// MAIN ///////////////////////////////
|
/////////////////////////////// MAIN ///////////////////////////////
|
||||||
|
|
||||||
static int
|
static int
|
||||||
common_gtk_main( struct configured_features *my_config) {
|
common_gtk_main( struct configured_features *my_config)
|
||||||
|
{
|
||||||
int i;
|
int i;
|
||||||
SDL_TimerID limiter_timer;
|
SDL_TimerID limiter_timer;
|
||||||
|
|
||||||
|
@ -1625,8 +1578,7 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
glconfig = gdk_gl_config_new_by_mode ((GdkGLConfigMode)(GDK_GL_MODE_RGB |
|
glconfig = gdk_gl_config_new_by_mode ((GdkGLConfigMode)(GDK_GL_MODE_RGB |
|
||||||
GDK_GL_MODE_DEPTH |
|
GDK_GL_MODE_DEPTH |
|
||||||
GDK_GL_MODE_DOUBLE));
|
GDK_GL_MODE_DOUBLE));
|
||||||
if (glconfig == NULL)
|
if (glconfig == NULL) {
|
||||||
{
|
|
||||||
g_print ("*** Cannot find the double-buffered visual.\n");
|
g_print ("*** Cannot find the double-buffered visual.\n");
|
||||||
g_print ("*** Trying single-buffered visual.\n");
|
g_print ("*** Trying single-buffered visual.\n");
|
||||||
|
|
||||||
|
@ -1637,16 +1589,15 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
g_print ("*** No appropriate OpenGL-capable visual found.\n");
|
g_print ("*** No appropriate OpenGL-capable visual found.\n");
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* FIXME: SDL_INIT_VIDEO is needed for joystick support to work!?
|
/* FIXME: SDL_INIT_VIDEO is needed for joystick support to work!?
|
||||||
Perhaps it needs a "window" to catch events...? */
|
Perhaps it needs a "window" to catch events...? */
|
||||||
if(SDL_Init(SDL_INIT_TIMER|SDL_INIT_VIDEO) == -1)
|
if(SDL_Init(SDL_INIT_TIMER|SDL_INIT_VIDEO) == -1) {
|
||||||
{
|
|
||||||
fprintf(stderr, "Error trying to initialize SDL: %s\n",
|
fprintf(stderr, "Error trying to initialize SDL: %s\n",
|
||||||
SDL_GetError());
|
SDL_GetError());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
desmume_init( arm9_memio, &arm9_ctrl_iface,
|
desmume_init( arm9_memio, &arm9_ctrl_iface,
|
||||||
arm7_memio, &arm7_ctrl_iface,
|
arm7_memio, &arm7_ctrl_iface,
|
||||||
my_config->disable_sound);
|
my_config->disable_sound);
|
||||||
|
@ -1682,8 +1633,7 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
if ( my_config->screen.opengl) {
|
if ( my_config->screen.opengl) {
|
||||||
gtk_window_set_resizable(GTK_WINDOW (pWindow), TRUE);
|
gtk_window_set_resizable(GTK_WINDOW (pWindow), TRUE);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
gtk_window_set_resizable(GTK_WINDOW (pWindow), FALSE);
|
gtk_window_set_resizable(GTK_WINDOW (pWindow), FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1728,13 +1678,13 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
/** Menu "Emulation" **/
|
/** Menu "Emulation" **/
|
||||||
GtkWidget *mEmulation;
|
GtkWidget *mEmulation;
|
||||||
GtkWidget *mFrameskip;
|
GtkWidget *mFrameskip;
|
||||||
GtkWidget *mFrameskip_Radio[MAX_FRAMESKIP];
|
GtkWidget *mFrameskip_Radio[MAX_FRAMESKIP];
|
||||||
GtkWidget *mGraphics;
|
GtkWidget *mGraphics;
|
||||||
GtkWidget *mSize;
|
GtkWidget *mSize;
|
||||||
GtkWidget *mSize_Radio[MAX_SCREENCOEFF];
|
GtkWidget *mSize_Radio[MAX_SCREENCOEFF];
|
||||||
GtkWidget *mLayers;
|
GtkWidget *mLayers;
|
||||||
GtkWidget *mLayers_Radio[10];
|
GtkWidget *mLayers_Radio[10];
|
||||||
|
|
||||||
|
|
||||||
mEmulation = gtk_menu_new();
|
mEmulation = gtk_menu_new();
|
||||||
|
@ -1748,55 +1698,55 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
gtk_container_add(GTK_CONTAINER(mEmulation), gtk_action_create_menu_item(gtk_action_group_get_action(action_group, "reset")));
|
gtk_container_add(GTK_CONTAINER(mEmulation), gtk_action_create_menu_item(gtk_action_group_get_action(action_group, "reset")));
|
||||||
|
|
||||||
mFrameskip = gtk_menu_new();
|
mFrameskip = gtk_menu_new();
|
||||||
pMenuItem = gtk_menu_item_new_with_label("Frameskip");
|
pMenuItem = gtk_menu_item_new_with_label("Frameskip");
|
||||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mFrameskip);
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mFrameskip);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mEmulation), pMenuItem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mEmulation), pMenuItem);
|
||||||
|
|
||||||
for(i = 0; i < MAX_FRAMESKIP; i++) {
|
for(i = 0; i < MAX_FRAMESKIP; i++) {
|
||||||
char frameskipRadio_buf[16];
|
char frameskipRadio_buf[16];
|
||||||
sprintf(frameskipRadio_buf, "%d", i);
|
sprintf(frameskipRadio_buf, "%d", i);
|
||||||
if(i>0) mFrameskip_Radio[i] = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(mFrameskip_Radio[i-1]), frameskipRadio_buf);
|
if(i>0) mFrameskip_Radio[i] = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(mFrameskip_Radio[i-1]), frameskipRadio_buf);
|
||||||
else mFrameskip_Radio[i] = gtk_radio_menu_item_new_with_label(NULL, frameskipRadio_buf);
|
else mFrameskip_Radio[i] = gtk_radio_menu_item_new_with_label(NULL, frameskipRadio_buf);
|
||||||
g_signal_connect(G_OBJECT(mFrameskip_Radio[i]), "activate", G_CALLBACK(Modify_Frameskip), GINT_TO_POINTER(i));
|
g_signal_connect(G_OBJECT(mFrameskip_Radio[i]), "activate", G_CALLBACK(Modify_Frameskip), GINT_TO_POINTER(i));
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mFrameskip), mFrameskip_Radio[i]);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mFrameskip), mFrameskip_Radio[i]);
|
||||||
}
|
}
|
||||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mFrameskip_Radio[0]), TRUE);
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mFrameskip_Radio[0]), TRUE);
|
||||||
|
|
||||||
mGraphics = gtk_menu_new();
|
mGraphics = gtk_menu_new();
|
||||||
pMenuItem = gtk_menu_item_new_with_label("Graphics");
|
pMenuItem = gtk_menu_item_new_with_label("Graphics");
|
||||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mGraphics);
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mGraphics);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mEmulation), pMenuItem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mEmulation), pMenuItem);
|
||||||
|
|
||||||
// TODO: Un jour, peut être... ><
|
// TODO: Un jour, peut être... ><
|
||||||
if ( !my_config->screen.opengl) {
|
if ( !my_config->screen.opengl) {
|
||||||
mSize = gtk_menu_new();
|
mSize = gtk_menu_new();
|
||||||
pMenuItem = gtk_menu_item_new_with_label("Size");
|
pMenuItem = gtk_menu_item_new_with_label("Size");
|
||||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mSize);
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mSize);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mGraphics), pMenuItem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mGraphics), pMenuItem);
|
||||||
|
|
||||||
for(i = 1; i < MAX_SCREENCOEFF; i++) {
|
for(i = 1; i < MAX_SCREENCOEFF; i++) {
|
||||||
char sizeRadio_buf[16];
|
char sizeRadio_buf[16];
|
||||||
sprintf(sizeRadio_buf, "x%d", i);
|
sprintf(sizeRadio_buf, "x%d", i);
|
||||||
if(i>1) mSize_Radio[i] = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(mSize_Radio[i-1]), sizeRadio_buf);
|
if(i>1) mSize_Radio[i] = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(mSize_Radio[i-1]), sizeRadio_buf);
|
||||||
else mSize_Radio[i] = gtk_radio_menu_item_new_with_label(NULL, sizeRadio_buf);
|
else mSize_Radio[i] = gtk_radio_menu_item_new_with_label(NULL, sizeRadio_buf);
|
||||||
g_signal_connect(G_OBJECT(mSize_Radio[i]), "activate", G_CALLBACK(Modify_ScreenCoeff), GINT_TO_POINTER(i));
|
g_signal_connect(G_OBJECT(mSize_Radio[i]), "activate", G_CALLBACK(Modify_ScreenCoeff), GINT_TO_POINTER(i));
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mSize), mSize_Radio[i]);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mSize), mSize_Radio[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mFrameskip_Radio[0]), TRUE);
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mFrameskip_Radio[0]), TRUE);
|
||||||
|
|
||||||
mLayers = gtk_menu_new();
|
mLayers = gtk_menu_new();
|
||||||
pMenuItem = gtk_menu_item_new_with_label("Layers");
|
pMenuItem = gtk_menu_item_new_with_label("Layers");
|
||||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mLayers);
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), mLayers);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mGraphics), pMenuItem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mGraphics), pMenuItem);
|
||||||
|
|
||||||
for(i = 0; i < 10; i++) {
|
for(i = 0; i < 10; i++) {
|
||||||
mLayers_Radio[i] = gtk_check_menu_item_new_with_label(Layers_Menu[i]);
|
mLayers_Radio[i] = gtk_check_menu_item_new_with_label(Layers_Menu[i]);
|
||||||
g_signal_connect(G_OBJECT(mLayers_Radio[i]), "activate", G_CALLBACK(Modify_Layer), (void*)Layers_Menu[i]);
|
g_signal_connect(G_OBJECT(mLayers_Radio[i]), "activate", G_CALLBACK(Modify_Layer), (void*)Layers_Menu[i]);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(mLayers), mLayers_Radio[i]);
|
gtk_menu_shell_append(GTK_MENU_SHELL(mLayers), mLayers_Radio[i]);
|
||||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mLayers_Radio[i]), TRUE);
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mLayers_Radio[i]), TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Menu "Options" **/
|
/** Menu "Options" **/
|
||||||
|
@ -1832,8 +1782,7 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
pMenu = gtk_menu_new();
|
pMenu = gtk_menu_new();
|
||||||
|
|
||||||
for(i = 0; i < dTools_list_size; i++)
|
for(i = 0; i < dTools_list_size; i++) {
|
||||||
{
|
|
||||||
pMenuItem = gtk_menu_item_new_with_label(dTools_list[i]->name);
|
pMenuItem = gtk_menu_item_new_with_label(dTools_list[i]->name);
|
||||||
g_signal_connect(G_OBJECT(pMenuItem), "activate", G_CALLBACK(Start_dTool), GINT_TO_POINTER(i));
|
g_signal_connect(G_OBJECT(pMenuItem), "activate", G_CALLBACK(Start_dTool), GINT_TO_POINTER(i));
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);
|
||||||
|
@ -1938,10 +1887,10 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
/* each frame expose the top screen */
|
/* each frame expose the top screen */
|
||||||
nds_screen_widget = top_screen_widget;
|
nds_screen_widget = top_screen_widget;
|
||||||
}
|
} else {
|
||||||
else
|
#else
|
||||||
|
{
|
||||||
#endif
|
#endif
|
||||||
{
|
|
||||||
pDrawingArea= gtk_drawing_area_new();
|
pDrawingArea= gtk_drawing_area_new();
|
||||||
|
|
||||||
gtk_drawing_area_size(GTK_DRAWING_AREA(pDrawingArea), 256, 384);
|
gtk_drawing_area_size(GTK_DRAWING_AREA(pDrawingArea), 256, 384);
|
||||||
|
@ -1959,7 +1908,6 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
g_signal_connect(G_OBJECT(pDrawingArea), "motion_notify_event",
|
g_signal_connect(G_OBJECT(pDrawingArea), "motion_notify_event",
|
||||||
G_CALLBACK(Stylus_Move), &my_config->screen.opengl);
|
G_CALLBACK(Stylus_Move), &my_config->screen.opengl);
|
||||||
|
|
||||||
|
|
||||||
g_signal_connect( G_OBJECT(pDrawingArea), "realize",
|
g_signal_connect( G_OBJECT(pDrawingArea), "realize",
|
||||||
G_CALLBACK(Draw), NULL ) ;
|
G_CALLBACK(Draw), NULL ) ;
|
||||||
g_signal_connect( G_OBJECT(pDrawingArea), "expose_event",
|
g_signal_connect( G_OBJECT(pDrawingArea), "expose_event",
|
||||||
|
@ -1968,7 +1916,7 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
gtk_box_pack_start(GTK_BOX(pVBox), pDrawingArea, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(pVBox), pDrawingArea, FALSE, FALSE, 0);
|
||||||
|
|
||||||
nds_screen_widget = pDrawingArea;
|
nds_screen_widget = pDrawingArea;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Création de la barre d'état */
|
/* Création de la barre d'état */
|
||||||
|
|
||||||
|
@ -2032,14 +1980,10 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
|
|
||||||
/* Vérifie la ligne de commandes */
|
/* Vérifie la ligne de commandes */
|
||||||
if( my_config->nds_file != NULL)
|
if( my_config->nds_file != NULL) {
|
||||||
{
|
if(Open( my_config->nds_file, bad_glob_cflash_disk_image_file) >= 0) {
|
||||||
if(Open( my_config->nds_file, bad_glob_cflash_disk_image_file) >= 0)
|
|
||||||
{
|
|
||||||
Launch();
|
Launch();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pWindow),
|
GtkWidget *pDialog = gtk_message_dialog_new(GTK_WINDOW(pWindow),
|
||||||
GTK_DIALOG_MODAL,
|
GTK_DIALOG_MODAL,
|
||||||
GTK_MESSAGE_INFO,
|
GTK_MESSAGE_INFO,
|
||||||
|
@ -2087,7 +2031,8 @@ common_gtk_main( struct configured_features *my_config) {
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv[]) {
|
main (int argc, char *argv[])
|
||||||
|
{
|
||||||
struct configured_features my_config;
|
struct configured_features my_config;
|
||||||
|
|
||||||
init_configured_features( &my_config);
|
init_configured_features( &my_config);
|
||||||
|
|
Loading…
Reference in New Issue