From 0278d19df85878994e909f267032c04fec030f42 Mon Sep 17 00:00:00 2001 From: staturnz <118011249+staturnzz@users.noreply.github.com> Date: Wed, 5 Apr 2023 22:19:57 -0500 Subject: [PATCH] gui build stuff --- Makefile | 11 ++++++++++- include/gui.h | 36 ++++++++++++++++++++++++++++++++++++ src/Makefile | 13 +++++++++++++ src/main.c | 3 +++ 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 include/gui.h diff --git a/Makefile b/Makefile index b413235..1606004 100644 --- a/Makefile +++ b/Makefile @@ -4,9 +4,11 @@ SRC = $(shell pwd) DEP = $(SRC)/dep_root STRIP = strip CC ?= cc +CXX ?= c++ CFLAGS += -I$(DEP)/include -I$(SRC)/include -I$(SRC) CFLAGS += -Wall -Wextra -DPALERAIN_VERSION=\"2.0.0\" -Wall -Wextra -Wno-unused-parameter CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L +CXXFLAGS += -I$(DEP)/include -I$(SRC)/include -I$(SRC) -std=c++11 LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread ifeq ($(TARGET_OS),) @@ -31,6 +33,13 @@ ifeq ($(TARGET_OS),Linux) LIBS += $(DEP)/lib/libgpm.a endif endif +ifeq ($(GUI),1) +LIBS += $(DEP)/lib/libguira1n.a +ifeq ($(TARGET_OS),Darwin) +LIBS += -framework Foundation -framework AppKit +CXXFLAGS += -x objective-c++ +endif +endif ifeq ($(DEV_BUILD),1) CFLAGS += -O0 -g -DDEV_BUILD -fno-omit-frame-pointer ifeq ($(ASAN),1) @@ -64,7 +73,7 @@ CFLAGS += -DBUILD_WHOAMI="\"$(BUILD_WHOAMI)\"" -DBUILD_TAG="\"$(BUILD_TAG)\"" CFLAGS += -DBUILD_NUMBER="\"$(BUILD_NUMBER)\"" -DBUILD_BRANCH="\"$(BUILD_BRANCH)\"" CFLAGS += -DBUILD_COMMIT="\"$(BUILD_COMMIT)\"" -export SRC DEP CC CFLAGS LDFLAGS LIBS TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE BUILD_NUMBER BUILD_BRANCH +export SRC DEP CC CXX CFLAGS CXXFLAGS LDFLAGS LIBS TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE BUILD_NUMBER BUILD_BRANCH all: palera1n diff --git a/include/gui.h b/include/gui.h new file mode 100644 index 0000000..6acc998 --- /dev/null +++ b/include/gui.h @@ -0,0 +1,36 @@ +#ifndef GUI_H +#define GUI_H + +#include +#include +#include +#include +#include + +#define WINDOW_X 0 +#define WINDOW_Y 0 +#define WINDOW_SIZE_X 550 +#define WINDOW_SIZE_Y 300 + +#define WINDOW_TITLE "palera1n" +#define WINDOW_RESIZE false +#define WINDOW_RESTORE true +#define WINDOW_ALLOW_FULLSCREEN false +#define WINDOW_BORDERLESS false +#define WINDOW_DECORATIONS true + +#define IDLE false +#define TARGET_FPS 60 +#define CONFIG_FILE "palera1n.ini" +#define EMBED_ASSETS true +#define ASSETS_DIRECTORY "assets" + +#define NORMAL_MODE 1 +#define RECOVERY_MODE 2 +#define DFU_MODE 3 +#define NONE 4 +#define PONGO_MODE 5 + +int palera1n(int argc, char *argv[]); + +#endif diff --git a/src/Makefile b/src/Makefile index 38fed06..fa5d57f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -56,6 +56,12 @@ BUILD_OPTIONS += TUI CFLAGS += -DTUI endif +ifeq ($(GUI),1) +CXXOBJECTS = gui_alerts.o gui_design.o gui_device.o gui_main.o +BUILD_OPTIONS += GUI +CFLAGS += -DGUI +endif + CHECKRA1N_VERSION ?= 0.1337.1 LIPO = lipo LDID = ldid @@ -125,8 +131,15 @@ xxd-%.c: % %.o: %.c $(wildcard ../include/*.h) $(CC) -c $(CFLAGS) $< +%.o: %.cpp $(wildcard ../include/*.h) + $(CXX) -c $(CXXFLAGS) $< + palera1n: $(OBJECTS) +ifeq ($(GUI),1) + $(CXX) $(LDFLAGS) $(OBJECTS) $(CXXOBJECTS) $(LIBS) -o palera1n +else $(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o palera1n +endif ifeq (,$(findstring macosx, $(CFLAGS))) ifneq (,$(findstring version-min=, $(CFLAGS))) $(LDID) -Susb.xml palera1n diff --git a/src/main.c b/src/main.c index 6fc3dc2..8e4de2f 100644 --- a/src/main.c +++ b/src/main.c @@ -28,6 +28,7 @@ #include #include #include +#include #define CMD_LEN_MAX 512 #define OVERRIDE_MAGIC 0xd803b376 @@ -187,6 +188,8 @@ cleanup: } +#ifndef GUI int main (int argc, char* argv[]) { return palera1n(argc, argv); } +#endif