commit
5dd62b214b
0
desmume/src/frontend/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj
Executable file → Normal file
0
desmume/src/frontend/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SIL Open Font License.txt
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SIL Open Font License.txt
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-BlackIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-BlackIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-ExtraLight.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-ExtraLight.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-ExtraLightIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-ExtraLightIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-LightIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-LightIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-Regular.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-Regular.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-Semibold.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-Semibold.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-SemiboldIt.otf
Executable file → Normal file
0
desmume/src/frontend/cocoa/source-sans-pro/SourceSansPro-SemiboldIt.otf
Executable file → Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
dep_x11 = dependency('x11')
|
||||||
|
|
||||||
|
cli_dependencies = dependencies + [dep_x11]
|
||||||
|
|
||||||
|
cli_src = [
|
||||||
|
'main.cpp',
|
||||||
|
'../shared/sndsdl.cpp',
|
||||||
|
'../shared/ctrlssdl.cpp',
|
||||||
|
]
|
||||||
|
|
||||||
|
# TODO: why do we have to redeclare it here with one more fs level?
|
||||||
|
includes = [
|
||||||
|
'../../../../src',
|
||||||
|
'../../../../src/libretro-common/include',
|
||||||
|
'../../../../src/frontend',
|
||||||
|
]
|
||||||
|
|
||||||
|
executable('desmume-cli',
|
||||||
|
cli_src,
|
||||||
|
dependencies: cli_dependencies,
|
||||||
|
include_directories: includes,
|
||||||
|
link_with: libdesmume,
|
||||||
|
install: true,
|
||||||
|
)
|
0
desmume/src/frontend/posix/gtk-glade/dTools/callbacks_4_tileview.cpp
Executable file → Normal file
0
desmume/src/frontend/posix/gtk-glade/dTools/callbacks_4_tileview.cpp
Executable file → Normal file
|
@ -21,6 +21,8 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
#include "callbacks.h"
|
#include "callbacks.h"
|
||||||
#include "callbacks_IO.h"
|
#include "callbacks_IO.h"
|
||||||
#include "dTools/callbacks_dtools.h"
|
#include "dTools/callbacks_dtools.h"
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
dep_gtk2 = dependency('gtk+-2.0')
|
||||||
|
dep_glade = dependency('libglade-2.0')
|
||||||
|
dep_gmodule = dependency('gmodule-2.0')
|
||||||
|
dep_gtkglext = dependency('gtkglext-1.0')
|
||||||
|
dep_x11 = dependency('x11')
|
||||||
|
|
||||||
|
gtk_dependencies = dependencies + [dep_gtk2, dep_glade, dep_gmodule, dep_gtkglext, dep_x11]
|
||||||
|
|
||||||
|
desmume_src = [
|
||||||
|
'glade-xml.cpp',
|
||||||
|
'callbacks.cpp',
|
||||||
|
'callbacks_IO.cpp',
|
||||||
|
'desmume.cpp',
|
||||||
|
'keyval_names.cpp',
|
||||||
|
'main.cpp',
|
||||||
|
'gdk_gl.cpp',
|
||||||
|
'dTools/callbacks_1_ioregs.cpp',
|
||||||
|
'dTools/callbacks_2_memview.cpp',
|
||||||
|
'dTools/callbacks_3_palview.cpp',
|
||||||
|
'dTools/callbacks_4_tileview.cpp',
|
||||||
|
'gdk_3Demu.cpp',
|
||||||
|
'../shared/sndsdl.cpp',
|
||||||
|
'../shared/ctrlssdl.cpp',
|
||||||
|
'../../../driver.cpp',
|
||||||
|
]
|
||||||
|
|
||||||
|
# TODO: why do we have to redeclare it here with one more fs level?
|
||||||
|
includes = [
|
||||||
|
'../../../../src',
|
||||||
|
'../../../../src/libretro-common/include',
|
||||||
|
'../../../../src/frontend',
|
||||||
|
]
|
||||||
|
|
||||||
|
executable('desmume-glade',
|
||||||
|
desmume_src,
|
||||||
|
cpp_args: ['-DGETTEXT_PACKAGE="desmume"', '-DLOCALEDIR="' + get_option('localedir') + '"', '-DVERSION="Unknown version"', '-DGTKGLEXT_AVAILABLE'],
|
||||||
|
dependencies: gtk_dependencies,
|
||||||
|
include_directories: includes,
|
||||||
|
link_with: libdesmume,
|
||||||
|
install: true,
|
||||||
|
)
|
||||||
|
|
||||||
|
install_data('desmume-glade.desktop', install_dir: get_option('datadir') / 'applications')
|
||||||
|
install_data('glade/DeSmuME.xpm', install_dir: get_option('datadir') / 'pixmaps')
|
||||||
|
install_data(['glade/DeSmuMe_Dtools.glade', 'glade/DeSmuMe.glade', 'glade/DeSmuME.xpm'], install_dir: get_option('datadir') / 'glade')
|
|
@ -276,7 +276,7 @@ static void cheatListEnd()
|
||||||
{
|
{
|
||||||
cheats->save();
|
cheats->save();
|
||||||
if(shouldBeRunning)
|
if(shouldBeRunning)
|
||||||
Launch();
|
Launch(NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkListStore *cheat_list_populate()
|
static GtkListStore *cheat_list_populate()
|
||||||
|
@ -305,13 +305,13 @@ static GtkWidget *cheat_list_create_ui()
|
||||||
{
|
{
|
||||||
GtkListStore *store = cheat_list_populate();
|
GtkListStore *store = cheat_list_populate();
|
||||||
GtkWidget *tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
|
GtkWidget *tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
|
||||||
GtkWidget *vbox = gtk_vbox_new(FALSE, 1);
|
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
|
||||||
GtkWidget *hbbox = gtk_hbutton_box_new();
|
GtkWidget *hbbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
|
||||||
GtkWidget *button;
|
GtkWidget *button;
|
||||||
|
|
||||||
gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET(tree));
|
gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(tree));
|
||||||
gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET(hbbox));
|
gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(hbbox));
|
||||||
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(vbox));
|
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(box));
|
||||||
|
|
||||||
button = gtk_button_new_with_label("add cheat");
|
button = gtk_button_new_with_label("add cheat");
|
||||||
g_signal_connect (button, "clicked", G_CALLBACK (cheat_list_add_cheat), store);
|
g_signal_connect (button, "clicked", G_CALLBACK (cheat_list_add_cheat), store);
|
||||||
|
@ -331,10 +331,10 @@ static GtkWidget *cheat_list_create_ui()
|
||||||
return tree;
|
return tree;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheatList ()
|
void CheatList(GSimpleAction *action, GVariant *parameter, gpointer user_data)
|
||||||
{
|
{
|
||||||
shouldBeRunning = desmume_running();
|
shouldBeRunning = desmume_running();
|
||||||
Pause();
|
Pause(NULL, NULL, NULL);
|
||||||
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_window_set_title(GTK_WINDOW(win),"Cheat List");
|
gtk_window_set_title(GTK_WINDOW(win),"Cheat List");
|
||||||
gtk_window_set_modal(GTK_WINDOW(win), TRUE);
|
gtk_window_set_modal(GTK_WINDOW(win), TRUE);
|
||||||
|
@ -352,15 +352,15 @@ void CheatList ()
|
||||||
static void cheat_search_create_ui()
|
static void cheat_search_create_ui()
|
||||||
{
|
{
|
||||||
GtkWidget *button;
|
GtkWidget *button;
|
||||||
GtkWidget *vbox = gtk_vbox_new(FALSE, 1);
|
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
|
||||||
GtkWidget *hbbox = gtk_hbutton_box_new();
|
GtkWidget *hbbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
|
||||||
GtkWidget *b;
|
GtkWidget *b;
|
||||||
|
|
||||||
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(vbox));
|
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(box));
|
||||||
|
|
||||||
{
|
{
|
||||||
b = gtk_hbox_new(FALSE, 1);
|
b = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 1);
|
||||||
gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET(b));
|
gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(b));
|
||||||
|
|
||||||
{
|
{
|
||||||
GtkTreeModel * size_model;
|
GtkTreeModel * size_model;
|
||||||
|
@ -381,8 +381,8 @@ static void cheat_search_create_ui()
|
||||||
gtk_container_add(GTK_CONTAINER(b), w);
|
gtk_container_add(GTK_CONTAINER(b), w);
|
||||||
}
|
}
|
||||||
|
|
||||||
b = gtk_hbox_new(FALSE, 1);
|
b = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 1);
|
||||||
gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET(b));
|
gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(b));
|
||||||
|
|
||||||
{
|
{
|
||||||
GtkWidget *w;
|
GtkWidget *w;
|
||||||
|
@ -407,7 +407,7 @@ static void cheat_search_create_ui()
|
||||||
|
|
||||||
// BUTTONS:
|
// BUTTONS:
|
||||||
|
|
||||||
gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET(hbbox));
|
gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(hbbox));
|
||||||
|
|
||||||
button = gtk_button_new_with_label("add cheats");
|
button = gtk_button_new_with_label("add cheats");
|
||||||
// g_signal_connect (button, "clicked", g_callback (cheat_list_add_cheat), store);
|
// g_signal_connect (button, "clicked", g_callback (cheat_list_add_cheat), store);
|
||||||
|
@ -417,18 +417,18 @@ static void cheat_search_create_ui()
|
||||||
// g_signal_connect (button, "clicked", g_callback (cheat_list_add_cheat), store);
|
// g_signal_connect (button, "clicked", g_callback (cheat_list_add_cheat), store);
|
||||||
gtk_container_add(GTK_CONTAINER(hbbox),button);
|
gtk_container_add(GTK_CONTAINER(hbbox),button);
|
||||||
|
|
||||||
// GtkWidget *vbox = gtk_vbox_new(FALSE, 1);
|
// GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
|
||||||
// gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(vbox));
|
// gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(box));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cheatSearchEnd()
|
static void cheatSearchEnd()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheatSearch ()
|
void CheatSearch(GSimpleAction *action, GVariant *parameter, gpointer user_data)
|
||||||
{
|
{
|
||||||
shouldBeRunning = desmume_running();
|
shouldBeRunning = desmume_running();
|
||||||
Pause();
|
Pause(NULL, NULL, NULL);
|
||||||
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_window_set_title(GTK_WINDOW(win),"Cheat Search");
|
gtk_window_set_title(GTK_WINDOW(win),"Cheat Search");
|
||||||
gtk_window_set_modal(GTK_WINDOW(win), TRUE);
|
gtk_window_set_modal(GTK_WINDOW(win), TRUE);
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#ifndef __CHEATS_H__
|
#ifndef __CHEATS_H__
|
||||||
#define __CHEATS_H__
|
#define __CHEATS_H__
|
||||||
|
|
||||||
void CheatSearch ();
|
void CheatSearch(GSimpleAction *action, GVariant *parameter, gpointer user_data);
|
||||||
void CheatList ();
|
void CheatList(GSimpleAction *action, GVariant *parameter, gpointer user_data);
|
||||||
|
|
||||||
#endif /*__CHEATS_H__*/
|
#endif /*__CHEATS_H__*/
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
#ifndef __DESMUME_GTK_MAIN_H__
|
#ifndef __DESMUME_GTK_MAIN_H__
|
||||||
#define __DESMUME_GTK_MAIN_H__
|
#define __DESMUME_GTK_MAIN_H__
|
||||||
|
|
||||||
void Pause();
|
void Pause(GSimpleAction *action, GVariant *parameter, gpointer user_data);
|
||||||
void Launch();
|
void Launch(GSimpleAction *action, GVariant *parameter, gpointer user_data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
dep_gtk3 = dependency('gtk+-3.0')
|
||||||
|
dep_x11 = dependency('x11')
|
||||||
|
|
||||||
|
gtk_dependencies = dependencies + [dep_gtk3, dep_x11]
|
||||||
|
|
||||||
|
desmume_src = [
|
||||||
|
'avout_pipe_base.cpp',
|
||||||
|
'avout_x264.cpp',
|
||||||
|
'avout_flac.cpp',
|
||||||
|
'config.cpp',
|
||||||
|
'desmume.cpp',
|
||||||
|
'dToolsList.cpp',
|
||||||
|
'tools/ioregsView.cpp',
|
||||||
|
'../shared/sndsdl.cpp',
|
||||||
|
'../shared/ctrlssdl.cpp',
|
||||||
|
'osmesa_3Demu.cpp',
|
||||||
|
'glx_3Demu.cpp',
|
||||||
|
'cheatsGTK.cpp',
|
||||||
|
'main.cpp',
|
||||||
|
]
|
||||||
|
|
||||||
|
# TODO: why do we have to redeclare it here with one more fs level?
|
||||||
|
includes = [
|
||||||
|
'../../../../src',
|
||||||
|
'../../../../src/libretro-common/include',
|
||||||
|
'../../../../src/frontend',
|
||||||
|
]
|
||||||
|
|
||||||
|
executable('desmume',
|
||||||
|
desmume_src,
|
||||||
|
dependencies: gtk_dependencies,
|
||||||
|
include_directories: includes,
|
||||||
|
link_with: libdesmume,
|
||||||
|
install: true,
|
||||||
|
)
|
||||||
|
|
||||||
|
install_data('desmume.desktop', install_dir: get_option('datadir') / 'applications')
|
||||||
|
install_data('DeSmuME.xpm', install_dir: get_option('datadir') / 'pixmaps')
|
|
@ -41,7 +41,7 @@
|
||||||
BOOL CPUS [2] = {TRUE, TRUE};
|
BOOL CPUS [2] = {TRUE, TRUE};
|
||||||
|
|
||||||
static GtkWidget *mWin[2];
|
static GtkWidget *mWin[2];
|
||||||
static GtkWidget *mVbox0[2];
|
static GtkWidget *mBox0[2];
|
||||||
static GtkWidget *mIoRegCombo[2];
|
static GtkWidget *mIoRegCombo[2];
|
||||||
static GtkWidget *mRegInfos[2];
|
static GtkWidget *mRegInfos[2];
|
||||||
|
|
||||||
|
@ -68,11 +68,11 @@ static reg_t *current_reg[2] = {NULL, NULL};
|
||||||
char _bit_check_buf[64]; \
|
char _bit_check_buf[64]; \
|
||||||
snprintf(_bit_check_buf, ARRAY_SIZE(_bit_check_buf), "Bit %d: %s", n,s); \
|
snprintf(_bit_check_buf, ARRAY_SIZE(_bit_check_buf), "Bit %d: %s", n,s); \
|
||||||
_wl_[w] = gtk_check_button_new_with_label(_bit_check_buf ); \
|
_wl_[w] = gtk_check_button_new_with_label(_bit_check_buf ); \
|
||||||
gtk_box_pack_start(GTK_BOX(mVbox0[c]), _wl_[w], FALSE, FALSE, 0); }
|
gtk_box_pack_start(GTK_BOX(mBox0[c]), _wl_[w], FALSE, FALSE, 0); }
|
||||||
|
|
||||||
#define BIT_COMBO(w,n,s) { \
|
#define BIT_COMBO(w,n,s) { \
|
||||||
_wl_[w] = gtk_hbox_new(FALSE, 0); \
|
_wl_[w] = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); \
|
||||||
gtk_box_pack_start(GTK_BOX(mVbox0[c]), _wl_[w], FALSE, FALSE, 0); } \
|
gtk_box_pack_start(GTK_BOX(mBox0[c]), _wl_[w], FALSE, FALSE, 0); } \
|
||||||
char _bit_combo_buf[64]; \
|
char _bit_combo_buf[64]; \
|
||||||
snprintf(_bit_combo_buf, ARRAY_SIZE(_bit_combo_buf), "Bits %s: %s", n,s); \
|
snprintf(_bit_combo_buf, ARRAY_SIZE(_bit_combo_buf), "Bits %s: %s", n,s); \
|
||||||
GtkWidget *__combo_lbl_tmp = gtk_label_new(_bit_combo_buf); \
|
GtkWidget *__combo_lbl_tmp = gtk_label_new(_bit_combo_buf); \
|
||||||
|
@ -380,11 +380,11 @@ static void selected_reg(GtkWidget* widget, gpointer data)
|
||||||
guint active = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
|
guint active = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
|
||||||
|
|
||||||
if(current_reg[c]) current_reg[c]->destroy(c);
|
if(current_reg[c]) current_reg[c]->destroy(c);
|
||||||
gtk_container_foreach(GTK_CONTAINER(mVbox0[c]), _clearContainer, (gpointer)mVbox0[c]);
|
gtk_container_foreach(GTK_CONTAINER(mBox0[c]), _clearContainer, (gpointer)mBox0[c]);
|
||||||
|
|
||||||
current_reg[c] = (reg_t*)&(GET_REG_LIST(c)[active]);
|
current_reg[c] = (reg_t*)&(GET_REG_LIST(c)[active]);
|
||||||
|
|
||||||
// gtk_box_pack_start(GTK_BOX(mVbox0[c]), mIoRegCombo[c], FALSE, FALSE, 0);
|
// gtk_box_pack_start(GTK_BOX(mBox0[c]), mIoRegCombo[c], FALSE, FALSE, 0);
|
||||||
|
|
||||||
switch (current_reg[c]->size) {
|
switch (current_reg[c]->size) {
|
||||||
case BITS_8:
|
case BITS_8:
|
||||||
|
@ -396,7 +396,7 @@ static void selected_reg(GtkWidget* widget, gpointer data)
|
||||||
default:
|
default:
|
||||||
regInfosBuffer = g_strdup_printf("0x%08X", current_reg[c]->value(c));
|
regInfosBuffer = g_strdup_printf("0x%08X", current_reg[c]->value(c));
|
||||||
}
|
}
|
||||||
// gtk_box_pack_start(GTK_BOX(mVbox0[c]), mRegInfos[c], FALSE, FALSE, 0);
|
// gtk_box_pack_start(GTK_BOX(mBox0[c]), mRegInfos[c], FALSE, FALSE, 0);
|
||||||
gtk_label_set_label(GTK_LABEL(mRegInfos[c]), regInfosBuffer);
|
gtk_label_set_label(GTK_LABEL(mRegInfos[c]), regInfosBuffer);
|
||||||
g_free(regInfosBuffer);
|
g_free(regInfosBuffer);
|
||||||
|
|
||||||
|
@ -424,7 +424,7 @@ static void _closeOne(GtkWidget *widget, gpointer data)
|
||||||
|
|
||||||
gtk_widget_destroy(mRegInfos[c]);
|
gtk_widget_destroy(mRegInfos[c]);
|
||||||
gtk_widget_destroy(mIoRegCombo[c]);
|
gtk_widget_destroy(mIoRegCombo[c]);
|
||||||
gtk_widget_destroy(mVbox0[c]);
|
gtk_widget_destroy(mBox0[c]);
|
||||||
// gtk_widget_destroy(mWin[c]);
|
// gtk_widget_destroy(mWin[c]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,8 +454,8 @@ static void open(int ID)
|
||||||
else gtk_window_set_title(GTK_WINDOW(mWin[c]), TOOL_NAME " : ARM7");
|
else gtk_window_set_title(GTK_WINDOW(mWin[c]), TOOL_NAME " : ARM7");
|
||||||
g_signal_connect(G_OBJECT(mWin[c]), "destroy", G_CALLBACK(&_closeOne), GINT_TO_POINTER(c));
|
g_signal_connect(G_OBJECT(mWin[c]), "destroy", G_CALLBACK(&_closeOne), GINT_TO_POINTER(c));
|
||||||
|
|
||||||
mVbox0[c] = gtk_vbox_new(FALSE, 0);
|
mBox0[c] = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
|
||||||
gtk_container_add(GTK_CONTAINER(mWin[c]), mVbox0[c]);
|
gtk_container_add(GTK_CONTAINER(mWin[c]), mBox0[c]);
|
||||||
|
|
||||||
mIoRegCombo[c] = gtk_combo_box_text_new();
|
mIoRegCombo[c] = gtk_combo_box_text_new();
|
||||||
mRegInfos[c] = gtk_label_new("");
|
mRegInfos[c] = gtk_label_new("");
|
||||||
|
@ -471,8 +471,8 @@ static void open(int ID)
|
||||||
gtk_combo_box_set_active(GTK_COMBO_BOX(mIoRegCombo[c]), 0);
|
gtk_combo_box_set_active(GTK_COMBO_BOX(mIoRegCombo[c]), 0);
|
||||||
g_signal_connect(G_OBJECT(mIoRegCombo[c]), "changed", G_CALLBACK(selected_reg), GINT_TO_POINTER(c));
|
g_signal_connect(G_OBJECT(mIoRegCombo[c]), "changed", G_CALLBACK(selected_reg), GINT_TO_POINTER(c));
|
||||||
|
|
||||||
gtk_box_pack_start(GTK_BOX(mVbox0[c]), mIoRegCombo[c], FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(mBox0[c]), mIoRegCombo[c], FALSE, FALSE, 0);
|
||||||
gtk_box_pack_start(GTK_BOX(mVbox0[c]), mRegInfos[c], FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(mBox0[c]), mRegInfos[c], FALSE, FALSE, 0);
|
||||||
selected_reg(mIoRegCombo[c], GINT_TO_POINTER(c));
|
selected_reg(mIoRegCombo[c], GINT_TO_POINTER(c));
|
||||||
|
|
||||||
gtk_widget_show_all(mWin[c]);
|
gtk_widget_show_all(mWin[c]);
|
||||||
|
|
|
@ -0,0 +1,250 @@
|
||||||
|
project('desmume',
|
||||||
|
['c', 'cpp'],
|
||||||
|
version: '2.7.10',
|
||||||
|
meson_version: '>=0.54',
|
||||||
|
default_options: [
|
||||||
|
'warning_level=0',
|
||||||
|
'c_std=c11',
|
||||||
|
'cpp_std=c++14',
|
||||||
|
],
|
||||||
|
license: 'GPL2+',
|
||||||
|
)
|
||||||
|
|
||||||
|
dep_glib2 = dependency('glib-2.0')
|
||||||
|
dep_sdl = dependency('sdl')
|
||||||
|
dep_pcap = dependency('pcap')
|
||||||
|
dep_zlib = dependency('zlib')
|
||||||
|
dep_gl = dependency('gl', required: false)
|
||||||
|
dep_openal = dependency('openal', required: get_option('openal'))
|
||||||
|
dep_alsa = dependency('alsa', required: false)
|
||||||
|
dep_soundtouch = dependency('soundtouch', required: false)
|
||||||
|
dep_agg = dependency('libagg', required: false)
|
||||||
|
|
||||||
|
# XXX: something wrong with this one.
|
||||||
|
#dep_lua = dependency('lua-5.1', required: false)
|
||||||
|
|
||||||
|
if get_option('wifi')
|
||||||
|
add_global_arguments('-DEXPERIMENTAL_WIFI_COMM')
|
||||||
|
endif
|
||||||
|
|
||||||
|
dependencies = [dep_glib2, dep_sdl, dep_pcap, dep_zlib]
|
||||||
|
|
||||||
|
if target_machine.cpu() == 'x86_64'
|
||||||
|
add_global_arguments('-DHAVE_JIT', language: ['c', 'cpp'])
|
||||||
|
add_global_arguments('-DHOST_64', language: ['c', 'cpp'])
|
||||||
|
have_jit = true
|
||||||
|
elif target_machine.cpu() == 'i686'
|
||||||
|
add_global_arguments('-DHAVE_JIT', language: ['c', 'cpp'])
|
||||||
|
add_global_arguments('-DHOST_32', language: ['c', 'cpp'])
|
||||||
|
have_jit = true
|
||||||
|
else
|
||||||
|
have_jit = false
|
||||||
|
endif
|
||||||
|
|
||||||
|
includes = [
|
||||||
|
'../../../src',
|
||||||
|
'../../../src/libretro-common/include',
|
||||||
|
'../../../src/frontend',
|
||||||
|
]
|
||||||
|
|
||||||
|
libdesmume_src = [
|
||||||
|
'../../armcpu.cpp',
|
||||||
|
'../../arm_instructions.cpp',
|
||||||
|
'../../bios.cpp',
|
||||||
|
'../../cp15.cpp',
|
||||||
|
'../../commandline.cpp',
|
||||||
|
'../../common.cpp',
|
||||||
|
'../../debug.cpp',
|
||||||
|
'../../driver.cpp',
|
||||||
|
'../../Database.cpp',
|
||||||
|
'../../emufile.cpp', '../../encrypt.cpp', '../../FIFO.cpp',
|
||||||
|
'../../firmware.cpp', '../../GPU.cpp',
|
||||||
|
'../../mc.cpp',
|
||||||
|
'../../path.cpp',
|
||||||
|
'../../readwrite.cpp',
|
||||||
|
'../../wifi.cpp',
|
||||||
|
'../../MMU.cpp', '../../NDSSystem.cpp',
|
||||||
|
'../../ROMReader.cpp',
|
||||||
|
'../../render3D.cpp',
|
||||||
|
'../../rtc.cpp',
|
||||||
|
'../../saves.cpp',
|
||||||
|
'../../slot1.cpp',
|
||||||
|
'../../slot2.cpp',
|
||||||
|
'../../SPU.cpp',
|
||||||
|
'../../matrix.cpp',
|
||||||
|
'../../gfx3d.cpp',
|
||||||
|
'../../thumb_instructions.cpp',
|
||||||
|
'../../movie.cpp',
|
||||||
|
'../../frontend/modules/Disassembler.cpp',
|
||||||
|
'../../utils/advanscene.cpp',
|
||||||
|
'../../utils/datetime.cpp',
|
||||||
|
'../../utils/guid.cpp',
|
||||||
|
'../../utils/emufat.cpp',
|
||||||
|
'../../utils/fsnitro.cpp',
|
||||||
|
'../../utils/xstring.cpp',
|
||||||
|
'../../utils/decrypt/crc.cpp', '../../utils/decrypt/decrypt.cpp',
|
||||||
|
'../../utils/decrypt/header.cpp',
|
||||||
|
'../../utils/task.cpp',
|
||||||
|
'../../utils/vfat.cpp',
|
||||||
|
'../../utils/dlditool.cpp',
|
||||||
|
'../../utils/libfat/cache.cpp',
|
||||||
|
'../../utils/libfat/directory.cpp',
|
||||||
|
'../../utils/libfat/disc.cpp',
|
||||||
|
'../../utils/libfat/fatdir.cpp',
|
||||||
|
'../../utils/libfat/fatfile.cpp',
|
||||||
|
'../../utils/libfat/filetime.cpp',
|
||||||
|
'../../utils/libfat/file_allocation_table.cpp',
|
||||||
|
'../../utils/libfat/libfat.cpp',
|
||||||
|
'../../utils/libfat/libfat_public_api.cpp',
|
||||||
|
'../../utils/libfat/lock.cpp',
|
||||||
|
'../../utils/libfat/partition.cpp',
|
||||||
|
'../../utils/tinyxml/tinystr.cpp',
|
||||||
|
'../../utils/tinyxml/tinyxml.cpp',
|
||||||
|
'../../utils/tinyxml/tinyxmlerror.cpp',
|
||||||
|
'../../utils/tinyxml/tinyxmlparser.cpp',
|
||||||
|
'../../utils/colorspacehandler/colorspacehandler.cpp',
|
||||||
|
'../../addons/slot2_auto.cpp', '../../addons/slot2_mpcf.cpp', '../../addons/slot2_paddle.cpp', '../../addons/slot2_gbagame.cpp', '../../addons/slot2_none.cpp', '../../addons/slot2_rumblepak.cpp', '../../addons/slot2_guitarGrip.cpp', '../../addons/slot2_expMemory.cpp', '../../addons/slot2_piano.cpp', '../../addons/slot2_passme.cpp', '../../addons/slot1_none.cpp', '../../addons/slot1_r4.cpp', '../../addons/slot1_retail_nand.cpp', '../../addons/slot1_retail_auto.cpp', '../../addons/slot1_retail_mcrom.cpp', '../../addons/slot1_retail_mcrom_debug.cpp', '../../addons/slot1comp_mc.cpp', '../../addons/slot1comp_rom.cpp', '../../addons/slot1comp_protocol.cpp',
|
||||||
|
'../../cheatSystem.cpp',
|
||||||
|
'../../texcache.cpp', '../../rasterize.cpp',
|
||||||
|
'../../metaspu/metaspu.cpp',
|
||||||
|
'../../filter/2xsai.cpp', '../../filter/bilinear.cpp', '../../filter/deposterize.cpp', '../../filter/epx.cpp',
|
||||||
|
'../../filter/hq2x.cpp',
|
||||||
|
'../../filter/hq3x.cpp',
|
||||||
|
'../../filter/hq4x.cpp',
|
||||||
|
'../../filter/lq2x.cpp', '../../filter/scanline.cpp',
|
||||||
|
'../../filter/videofilter.cpp',
|
||||||
|
'../../filter/xbrz.cpp',
|
||||||
|
'../../version.cpp',
|
||||||
|
'../../libretro-common/compat/compat_getopt.c',
|
||||||
|
'../../libretro-common/file/file_path.c',
|
||||||
|
'../../libretro-common/compat/compat_strl.c',
|
||||||
|
'../../libretro-common/features/features_cpu.c',
|
||||||
|
'../../libretro-common/file/retro_dirent.c',
|
||||||
|
'../../libretro-common/file/retro_stat.c',
|
||||||
|
'../../libretro-common/rthreads/async_job.c',
|
||||||
|
'../../libretro-common/rthreads/rsemaphore.c',
|
||||||
|
'../../libretro-common/rthreads/rthreads.c',
|
||||||
|
'../../libretro-common/encodings/encoding_utf.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
if have_jit
|
||||||
|
libdesmume_src += [
|
||||||
|
'../../arm_jit.cpp',
|
||||||
|
'../../utils/AsmJit/core/assembler.cpp',
|
||||||
|
'../../utils/AsmJit/core/assert.cpp',
|
||||||
|
'../../utils/AsmJit/core/buffer.cpp',
|
||||||
|
'../../utils/AsmJit/core/compiler.cpp',
|
||||||
|
'../../utils/AsmJit/core/compilercontext.cpp',
|
||||||
|
'../../utils/AsmJit/core/compilerfunc.cpp',
|
||||||
|
'../../utils/AsmJit/core/compileritem.cpp',
|
||||||
|
'../../utils/AsmJit/core/context.cpp',
|
||||||
|
'../../utils/AsmJit/core/cpuinfo.cpp',
|
||||||
|
'../../utils/AsmJit/core/defs.cpp',
|
||||||
|
'../../utils/AsmJit/core/func.cpp',
|
||||||
|
'../../utils/AsmJit/core/logger.cpp',
|
||||||
|
'../../utils/AsmJit/core/memorymanager.cpp',
|
||||||
|
'../../utils/AsmJit/core/memorymarker.cpp',
|
||||||
|
'../../utils/AsmJit/core/operand.cpp',
|
||||||
|
'../../utils/AsmJit/core/stringbuilder.cpp',
|
||||||
|
'../../utils/AsmJit/core/stringutil.cpp',
|
||||||
|
'../../utils/AsmJit/core/virtualmemory.cpp',
|
||||||
|
'../../utils/AsmJit/core/zonememory.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86assembler.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86compiler.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86compilercontext.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86compilerfunc.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86compileritem.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86cpuinfo.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86defs.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86func.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86operand.cpp',
|
||||||
|
'../../utils/AsmJit/x86/x86util.cpp',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
libdesmume_src += [
|
||||||
|
'shared/desmume_config.cpp',
|
||||||
|
]
|
||||||
|
|
||||||
|
if dep_gl.found()
|
||||||
|
dependencies += dep_gl
|
||||||
|
add_global_arguments('-DHAVE_GL_GLX', language: ['c', 'cpp'])
|
||||||
|
libdesmume_src += [
|
||||||
|
'../../OGLRender.cpp',
|
||||||
|
'../../OGLRender_3_2.cpp',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
if dep_openal.found()
|
||||||
|
dependencies += dep_openal
|
||||||
|
libdesmume_src += [
|
||||||
|
'shared/mic_openal.cpp',
|
||||||
|
]
|
||||||
|
elif dep_alsa.found()
|
||||||
|
dependencies += dep_alsa
|
||||||
|
libdesmume_src += [
|
||||||
|
'shared/mic_alsa.cpp',
|
||||||
|
]
|
||||||
|
else
|
||||||
|
libdesmume_src += [
|
||||||
|
'../../mic.cpp',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
if dep_soundtouch.found()
|
||||||
|
dependencies += dep_soundtouch
|
||||||
|
libdesmume_src += [
|
||||||
|
'../../metaspu/SndOut.cpp',
|
||||||
|
'../../metaspu/Timestretcher.cpp',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
if dep_agg.found()
|
||||||
|
dependencies += dep_agg
|
||||||
|
add_global_arguments('-DHAVE_LIBAGG', language: ['c', 'cpp'])
|
||||||
|
libdesmume_src += [
|
||||||
|
'../modules/osd/agg/aggdraw.cpp',
|
||||||
|
'../modules/osd/agg/agg_osd.cpp',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
# TODO: fix Lua on ¬Windows.
|
||||||
|
#if dep_lua.found()
|
||||||
|
# dependencies += dep_lua
|
||||||
|
# libdesmume_src += [
|
||||||
|
# '../../lua-engine.cpp',
|
||||||
|
# ]
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if get_option('gdb-stub')
|
||||||
|
libdesmume_src += [
|
||||||
|
'../../gdbstub/gdbstub.cpp',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
simd = import('unstable-simd')
|
||||||
|
cxx = meson.get_compiler('cpp')
|
||||||
|
rval = simd.check('colorspacehandler',
|
||||||
|
sse2: '../../utils/colorspacehandler/colorspacehandler_SSE2.cpp',
|
||||||
|
# TODO: add these two even in generic builds.
|
||||||
|
#avx2: '../../utils/colorspacehandler/colorspacehandler_AVX2.cpp',
|
||||||
|
#avx512: '../../utils/colorspacehandler/colorspacehandler_AVX512.cpp',
|
||||||
|
# TODO: add support for this in meson.
|
||||||
|
#altivec: '../../utils/colorspacehandler/colorspacehandler_AltiVec.cpp',
|
||||||
|
compiler: cxx,
|
||||||
|
include_directories: includes,
|
||||||
|
)
|
||||||
|
colorspacehandler_simd = rval[0]
|
||||||
|
|
||||||
|
libdesmume = static_library('desmume',
|
||||||
|
libdesmume_src,
|
||||||
|
dependencies: dependencies,
|
||||||
|
include_directories: includes,
|
||||||
|
link_with: colorspacehandler_simd,
|
||||||
|
)
|
||||||
|
|
||||||
|
subdir('cli')
|
||||||
|
subdir('gtk')
|
||||||
|
if get_option('glade')
|
||||||
|
subdir('gtk-glade')
|
||||||
|
endif
|
|
@ -0,0 +1,20 @@
|
||||||
|
option('openal',
|
||||||
|
type: 'boolean',
|
||||||
|
value: false,
|
||||||
|
description: 'Enable experimental OpenAL microphone input',
|
||||||
|
)
|
||||||
|
option('glade',
|
||||||
|
type: 'boolean',
|
||||||
|
value: false,
|
||||||
|
description: 'Enable glade frontend',
|
||||||
|
)
|
||||||
|
option('wifi',
|
||||||
|
type: 'boolean',
|
||||||
|
value: false,
|
||||||
|
description: 'Enable wifi support',
|
||||||
|
)
|
||||||
|
option('gdb-stub',
|
||||||
|
type: 'boolean',
|
||||||
|
value: false,
|
||||||
|
description: 'Enable gdb stub',
|
||||||
|
)
|
Loading…
Reference in New Issue