From a96eefdf0f10a9a051e65f6e88a24dc3abe40fc5 Mon Sep 17 00:00:00 2001 From: Stelios Tsampas Date: Mon, 17 Jul 2017 17:32:35 +0300 Subject: * Bring pluing Linux(gtk) interfaces up to date. --- plugins/dfnet/Makefile.am | 26 +++++++++++++++++++++++--- plugins/dfnet/dfnet.ui | 41 ++++++++++++++++++++++------------------- plugins/dfnet/gui.c | 3 ++- 3 files changed, 47 insertions(+), 23 deletions(-) mode change 100755 => 100644 plugins/dfnet/dfnet.ui (limited to 'plugins/dfnet') diff --git a/plugins/dfnet/Makefile.am b/plugins/dfnet/Makefile.am index d639c652..4000b8c4 100755 --- a/plugins/dfnet/Makefile.am +++ b/plugins/dfnet/Makefile.am @@ -12,9 +12,29 @@ AM_CPPFLAGS = -DLOCALE_DIR=\"${datadir}/locale/\" \ -I$(top_srcdir)/libpcsxcore -I../../include bin_PROGRAMS = cfgDFNet -cfgDFNet_SOURCES = gui.c +cfgDFNet_SOURCES = gui.c GtkResources.c GtkResources.h cfgDFNet_LDADD = $(GTK3_LIBS) -glade_DATA = dfnet.ui -gladedir = $(datadir)/psemu/ +# gresource.xml is dynamically generated in CMake. Mirror that here in a static way. +define gresource_xml = + + + + dfnet.ui + + +endef + +dfnet.gresource.xml: + $(file >$@,$(gresource_xml)) +dfnet_gresource: dfnet.gresource.xml + $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/$<) +GtkResources.c: dfnet.gresource.xml $(dfnet_gresource) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name dfnet $< +GtkResources.h: dfnet.gresource.xml $(dfnet_gresource) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-header --c-name dfnet $< + + +#glade_DATA = dfnet.ui +#gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) diff --git a/plugins/dfnet/dfnet.ui b/plugins/dfnet/dfnet.ui old mode 100755 new mode 100644 index bdad3a1d..7ab884c2 --- a/plugins/dfnet/dfnet.ui +++ b/plugins/dfnet/dfnet.ui @@ -1,6 +1,7 @@ + - + False 5 @@ -25,7 +26,7 @@ True True - + True False @@ -44,8 +45,8 @@ True False - 0 Start Game + 0 True @@ -68,7 +69,7 @@ True True - + True False @@ -87,8 +88,8 @@ True False - 0 Play Offline + 0 True @@ -114,9 +115,10 @@ - + True False + vertical 12 @@ -136,20 +138,18 @@ If you selected Client please enter the IP address the Server gave to you in the - + True False - 2 - 2 - 8 12 + 8 True True True - + True False @@ -168,8 +168,8 @@ If you selected Client please enter the IP address the Server gave to you in the True False - 0 Copy PC IP to Clipboard + 0 True @@ -182,7 +182,7 @@ If you selected Client please enter the IP address the Server gave to you in the 1 - 2 + 0 @@ -195,9 +195,7 @@ If you selected Client please enter the IP address the Server gave to you in the 1 - 2 1 - 2 @@ -210,6 +208,10 @@ If you selected Client please enter the IP address the Server gave to you in the True True + + 0 + 0 + @@ -223,8 +225,8 @@ If you selected Client please enter the IP address the Server gave to you in the rbServer + 0 1 - 2 @@ -236,9 +238,10 @@ If you selected Client please enter the IP address the Server gave to you in the - + True False + vertical 6 @@ -254,15 +257,15 @@ If you selected Client please enter the IP address the Server gave to you in the - + True False True False - 0 Port Number + 0 True diff --git a/plugins/dfnet/gui.c b/plugins/dfnet/gui.c index 06c4b888..85d0871f 100755 --- a/plugins/dfnet/gui.c +++ b/plugins/dfnet/gui.c @@ -103,7 +103,7 @@ long CFGopen() { builder = gtk_builder_new(); - if (!gtk_builder_add_from_file(builder, DATADIR "dfnet.ui", NULL)) { + if (!gtk_builder_add_from_resource(builder, "/org/pcsxr/dfnet/dfnet.ui", NULL)) { g_warning("We could not load the interface!"); return 0; } @@ -182,6 +182,7 @@ void CFGabout() { GtkWidget *widget; widget = gtk_about_dialog_new(); + gtk_about_dialog_set_logo_icon_name (GTK_ABOUT_DIALOG(widget), "help-about"); gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(widget), "Socket NetPlay Driver"); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(widget), "0.21"); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(widget), authors); -- cgit v1.2.3 From f48b5b2ac35ee69db0c0ffd3f411ffc21b7d5789 Mon Sep 17 00:00:00 2001 From: Stelios Tsampas Date: Mon, 17 Jul 2017 23:22:35 +0300 Subject: * Add configuration UI for PGXP. * Clean generated files with `make clean` --- gui/ConfDlg.c | 83 ++++++++++++ gui/Makefile.am | 2 + gui/data/pcsxr.ui | 294 +++++++++++++++++++++++++++++++++++++++++- plugins/bladesio1/Makefile.am | 3 + plugins/dfcdrom/Makefile.am | 3 + plugins/dfinput/Makefile.am | 2 + plugins/dfnet/Makefile.am | 2 + plugins/dfsound/Makefile.am | 3 + plugins/dfxvideo/Makefile.am | 3 + plugins/peopsxgl/Makefile.am | 3 + 10 files changed, 396 insertions(+), 2 deletions(-) (limited to 'plugins/dfnet') diff --git a/gui/ConfDlg.c b/gui/ConfDlg.c index 30d3df1f..529e2722 100755 --- a/gui/ConfDlg.c +++ b/gui/ConfDlg.c @@ -845,6 +845,7 @@ static void FindNetPlugin() { } GtkWidget *CpuDlg; +GtkWidget *PgxpDlg; GList *psxglist; char *psxtypes[] = { "NTSC", @@ -1033,5 +1034,87 @@ void OnConf_Cpu() { G_CALLBACK(OnCpu_Clicked), builder, (GClosureNotify)g_object_unref, G_CONNECT_AFTER); } +//When a different mode is selected, display some informational text +static void OnPgxp_ModeChanged(GtkWidget *widget, gpointer user_data) { + uint8_t mode; + + mode = gtk_combo_box_get_active(GTK_COMBO_BOX( + gtk_builder_get_object(builder, "PGXP_Mode"))); + + switch (mode) { + case 0: + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_title")), + _("Disabled")); + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_description")), + _("PGXP is not mirroring any functions currently.")); + break; + case 1: + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_title")), + _("Memory operations only")); + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_description")), + _("PGXP is mirroring load, store and processor transfer operations of the CPU and GTE.")); + break; + case 2: + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_title")), + _("Memory and CPU arithmetic operations")); + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_description")), + _("PGXP is mirroring load, store and transfer operations of the CPU and GTE and arithmetic/logic functions of the PSX CPU.\n(WARNING: This mode is currently unfinished and may cause incorrect behaviour in some games).")); + break; + default: + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_title")), + _("Error")); + gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, "PGXP_Mode_description")), + _("Unknown mode.")); + } +} + +static void OnPgxp_Clicked(GtkDialog *dialog, gint arg1, gpointer user_data) { + + Config.PGXP_GTE = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "PGXP_GTE"))); + Config.PGXP_Cache = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "PGXP_Cache"))); + Config.PGXP_Texture = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "PGXP_Texture"))); + + Config.PGXP_Mode = gtk_combo_box_get_active(GTK_COMBO_BOX( + gtk_builder_get_object(builder, "PGXP_Mode"))); + + EmuSetPGXPMode(Config.PGXP_Mode); + SaveConfig(); + + gtk_widget_destroy(PgxpDlg); + PgxpDlg = NULL; +} + void OnConf_Pgxp() { + GtkWidget *widget; + char buf[25]; + + builder = gtk_builder_new(); + + if (!gtk_builder_add_from_resource(builder, "/org/pcsxr/gui/pcsxr.ui", NULL)) { + g_warning("Error: interface could not be loaded!"); + return; + } + + PgxpDlg = GTK_WIDGET(gtk_builder_get_object(builder, "PgxpDlg")); + gtk_window_set_default_size(GTK_WINDOW(PgxpDlg), 320, 320); + gtk_widget_show (PgxpDlg); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "PGXP_GTE")), Config.PGXP_GTE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "PGXP_Cache")), Config.PGXP_Cache); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "PGXP_Texture")), Config.PGXP_Texture); + + gtk_combo_box_set_active(GTK_COMBO_BOX( + gtk_builder_get_object(builder, "PGXP_Mode")), Config.PGXP_Mode); + OnPgxp_ModeChanged(NULL, NULL); + + g_signal_connect_data(G_OBJECT(gtk_builder_get_object(builder, "PGXP_Mode")), "changed", + G_CALLBACK(OnPgxp_ModeChanged), builder, NULL, G_CONNECT_AFTER); + g_signal_connect_data(G_OBJECT(PgxpDlg), "response", + G_CALLBACK(OnPgxp_Clicked), builder, (GClosureNotify)g_object_unref, G_CONNECT_AFTER); } diff --git a/gui/Makefile.am b/gui/Makefile.am index ebae1d48..7db62f01 100644 --- a/gui/Makefile.am +++ b/gui/Makefile.am @@ -77,3 +77,5 @@ GtkResources.h: pcsxr.gresource.xml $(pcsxr_gresource) pcsxr_LDADD = \ ../libpcsxcore/libpcsxcore.a \ $(GTK3_LIBS) -lpthread -lz -lm -lXext -lXtst + +CLEANFILES = pcsxr.gresource.xml GtkResources.c GtkResources.h diff --git a/gui/data/pcsxr.ui b/gui/data/pcsxr.ui index 6cc4b24f..35937bfb 100644 --- a/gui/data/pcsxr.ui +++ b/gui/data/pcsxr.ui @@ -1,5 +1,5 @@ - + @@ -32,6 +32,9 @@ + + + False @@ -214,6 +217,9 @@ closbutton1 + + + False @@ -919,6 +925,9 @@ btn_ConfClose + + + False @@ -1731,6 +1740,9 @@ McdClose + + + False @@ -2013,6 +2025,9 @@ memview_close + + + False @@ -2169,6 +2184,9 @@ closebutton2 + + + True @@ -2239,7 +2257,6 @@ True False - 0.49000000953674316 pcsxr-cd-open 1 @@ -2303,6 +2320,12 @@ pcsxr-plugin-sio1 1 + + True + False + pcsxr-pgxp + 1 + True False @@ -2835,6 +2858,23 @@ False + + + _PGXP... + True + False + True + image43 + False + + + + + + True + False + + _CPU... @@ -3128,6 +3168,9 @@ + + + @@ -3745,6 +3788,9 @@ closebutton + + + @@ -4417,5 +4463,249 @@ closebutton1 + + + + + + + + + + + + Disabled + + + Memory only + + + Memory + Cpu logic + + + + + False + Configure PGXP + False + True + center-on-parent + dialog + + + False + vertical + + + False + end + + + gtk-close + True + True + True + True + + + False + False + 0 + + + + + False + False + 1 + + + + + True + False + vertical + 5 + + + True + False + 0 + + + True + False + 12 + + + True + False + vertical + + + Enable PGXP GTE vertex creation + True + True + False + True + + + False + True + 0 + + + + + Enable vertex caching. + True + True + False + True + + + False + True + 1 + + + + + Enable perspective correct texturing. + True + True + False + True + + + False + True + 2 + + + + + + + + + True + False + Options + + + + + + + + False + True + 0 + + + + + True + False + 0 + + + True + False + 12 + + + True + False + vertical + top + + + True + False + 40 + 40 + liststore6 + + + + 0 + + + + + False + True + 0 + + + + + True + False + start + 4 + 4 + + + + + + False + True + 1 + + + + + True + False + 10 + True + 20 + + + True + True + 2 + + + + + + + + + True + False + Select PGXP Mode + + + + + + + + True + True + 1 + + + + + True + True + 0 + + + + + + PgxpDlg_close + + + + diff --git a/plugins/bladesio1/Makefile.am b/plugins/bladesio1/Makefile.am index 880aa647..badd57e5 100644 --- a/plugins/bladesio1/Makefile.am +++ b/plugins/bladesio1/Makefile.am @@ -38,3 +38,6 @@ GtkResources.h: bladesio1.gresource.xml $(bladesio1_gresource) #glade_DATA = sio1.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = bladesio1.gresource.xml GtkResources.c GtkResources.h + diff --git a/plugins/dfcdrom/Makefile.am b/plugins/dfcdrom/Makefile.am index 4b3dec4b..1f87998b 100644 --- a/plugins/dfcdrom/Makefile.am +++ b/plugins/dfcdrom/Makefile.am @@ -53,3 +53,6 @@ GtkResources.h: dfcdrom.gresource.xml $(dfcdrom_gresource) #glade_DATA = cdrcfg-0.1df/dfcdrom.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = dfcdrom.gresource.xml GtkResources.c GtkResources.h + diff --git a/plugins/dfinput/Makefile.am b/plugins/dfinput/Makefile.am index 11eee3eb..458259c5 100644 --- a/plugins/dfinput/Makefile.am +++ b/plugins/dfinput/Makefile.am @@ -39,3 +39,5 @@ GtkResources.h: dfinput.gresource.xml $(dfinput_gresource) #glade_DATA = dfinput.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = dfinput.gresource.xml GtkResources.c GtkResources.h diff --git a/plugins/dfnet/Makefile.am b/plugins/dfnet/Makefile.am index 4000b8c4..f0a53ea0 100755 --- a/plugins/dfnet/Makefile.am +++ b/plugins/dfnet/Makefile.am @@ -38,3 +38,5 @@ GtkResources.h: dfnet.gresource.xml $(dfnet_gresource) #glade_DATA = dfnet.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = dfnet.gresource.xml GtkResources.c GtkResources.h diff --git a/plugins/dfsound/Makefile.am b/plugins/dfsound/Makefile.am index b34f3267..9f8130a1 100755 --- a/plugins/dfsound/Makefile.am +++ b/plugins/dfsound/Makefile.am @@ -74,3 +74,6 @@ GtkResources.h: dfsound.gresource.xml $(dfsound_gresource) #glade_DATA = spucfg-0.1df/dfsound.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = dfsound.gresource.xml GtkResources.c GtkResources.h + diff --git a/plugins/dfxvideo/Makefile.am b/plugins/dfxvideo/Makefile.am index 86e8ef3a..520749b2 100755 --- a/plugins/dfxvideo/Makefile.am +++ b/plugins/dfxvideo/Makefile.am @@ -52,3 +52,6 @@ GtkResources.h: dfxvideo.gresource.xml $(dfxvideo_gresource) #glade_DATA = gpucfg-0.1df/dfxvideo.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = dfxvideo.gresource.xml GtkResources.c GtkResources.h + diff --git a/plugins/peopsxgl/Makefile.am b/plugins/peopsxgl/Makefile.am index a37643e6..576e140d 100755 --- a/plugins/peopsxgl/Makefile.am +++ b/plugins/peopsxgl/Makefile.am @@ -52,3 +52,6 @@ GtkResources.h: peopsxgl.gresource.xml $(peopsxgl_gresource) #glade_DATA = gpucfg/peopsxgl.ui #gladedir = $(datadir)/psemu/ EXTRA_DIST = $(glade_DATA) + +CLEANFILES = peopsxgl.gresource.xml GtkResources.c GtkResources.h + -- cgit v1.2.3