From 6f833c9811230a91c05ace952162e9de780abbb5 Mon Sep 17 00:00:00 2001 From: Maschell Date: Fri, 17 Sep 2021 18:45:06 +0200 Subject: [PATCH] Build .wuhb instead of .rpx, Update Dockerfile --- .github/workflows/ci.yml | 2 +- .github/workflows/pr.yml | 2 +- .gitignore | 1 + Dockerfile | 4 +-- Makefile | 60 +++++++++++++++++++++++++++++++-------- meta/icon.jpg | Bin 0 -> 58354 bytes payload | 2 +- source/main.cpp | 2 +- 8 files changed, 55 insertions(+), 18 deletions(-) create mode 100644 meta/icon.jpg diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e88b29..a7b85a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/upload-artifact@master with: name: binary - path: "*.rpx" + path: "*.wuhb" deploy-binary: needs: build-binary runs-on: ubuntu-18.04 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 8e28a5f..d987c9b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -21,4 +21,4 @@ jobs: - uses: actions/upload-artifact@master with: name: binary - path: "*.rpx" \ No newline at end of file + path: "*.wuhb" \ No newline at end of file diff --git a/.gitignore b/.gitignore index d1cd803..5d4d980 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ *.rpx *.elf CMakeLists.txt +*.wuhb diff --git a/Dockerfile b/Dockerfile index 8bd4fe3..6851869 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -FROM wiiuenv/devkitppc:20210101 +FROM wiiuenv/devkitppc:20210917 COPY --from=wiiuenv/libiosuhax:20210109 /artifacts $DEVKITPRO -COPY --from=devkitpro/devkitarm:20200730 $DEVKITPRO/devkitARM $DEVKITPRO/devkitARM +COPY --from=wiiuenv/devkitarm:20210917 $DEVKITPRO/devkitARM $DEVKITPRO/devkitARM ENV DEVKITARM=/opt/devkitpro/devkitARM diff --git a/Makefile b/Makefile index 1f8d2b4..842661b 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,15 @@ endif TOPDIR ?= $(CURDIR) +#------------------------------------------------------------------------------- +# APP_NAME sets the long name of the application +# APP_SHORTNAME sets the short name of the application +# APP_AUTHOR sets the author of the application +#------------------------------------------------------------------------------- +APP_NAME := Aroma Installer +APP_SHORTNAME := Aroma Installer +APP_AUTHOR := Maschell, rw, GaryOderNichts + include $(DEVKITPRO)/wut/share/wut_rules #------------------------------------------------------------------------------- @@ -16,6 +25,10 @@ include $(DEVKITPRO)/wut/share/wut_rules # SOURCES is a list of directories containing source code # DATA is a list of directories containing data files # INCLUDES is a list of directories containing header files +# CONTENT is the path to the bundled folder that will be mounted as /vol/content/ +# ICON is the game icon, leave blank to use default rule +# TV_SPLASH is the image displayed during bootup on the TV, leave blank to use default rule +# DRC_SPLASH is the image displayed during bootup on the DRC, leave blank to use default rule #------------------------------------------------------------------------------- TARGET := AromaInstaller BUILD := build @@ -23,8 +36,11 @@ SOURCES := source \ source/common \ source/utils \ source/fs -DATA := data INCLUDES := include source +CONTENT := meta +ICON := meta/icon.jpg +TV_SPLASH := meta/icon.jpg +DRC_SPLASH := meta/icon.jpg #------------------------------------------------------------------------------- # options for code generation @@ -66,7 +82,6 @@ export DEPSDIR := $(CURDIR)/$(BUILD) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) -BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) #------------------------------------------------------------------------------- # use CXX for linking C++ projects, CC for standard C @@ -93,6 +108,34 @@ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) +ifneq (,$(strip $(CONTENT))) + export APP_CONTENT := $(TOPDIR)/$(CONTENT) +endif + +ifneq (,$(strip $(ICON))) + export APP_ICON := $(TOPDIR)/$(ICON) +else ifneq (,$(wildcard $(TOPDIR)/$(TARGET).png)) + export APP_ICON := $(TOPDIR)/$(TARGET).png +else ifneq (,$(wildcard $(TOPDIR)/icon.png)) + export APP_ICON := $(TOPDIR)/icon.png +endif + +ifneq (,$(strip $(TV_SPLASH))) + export APP_TV_SPLASH := $(TOPDIR)/$(TV_SPLASH) +else ifneq (,$(wildcard $(TOPDIR)/tv-splash.png)) + export APP_TV_SPLASH := $(TOPDIR)/tv-splash.png +else ifneq (,$(wildcard $(TOPDIR)/splash.png)) + export APP_TV_SPLASH := $(TOPDIR)/splash.png +endif + +ifneq (,$(strip $(DRC_SPLASH))) + export APP_DRC_SPLASH := $(TOPDIR)/$(DRC_SPLASH) +else ifneq (,$(wildcard $(TOPDIR)/drc-splash.png)) + export APP_DRC_SPLASH := $(TOPDIR)/drc-splash.png +else ifneq (,$(wildcard $(TOPDIR)/splash.png)) + export APP_DRC_SPLASH := $(TOPDIR)/splash.png +endif + .PHONY: $(BUILD) clean all #------------------------------------------------------------------------------- @@ -107,7 +150,7 @@ $(BUILD): clean: @echo clean ... make clean -C payload - @rm -fr $(BUILD) $(TARGET).rpx $(TARGET).elf + @rm -fr $(BUILD) $(TARGET).wuhb $(TARGET).rpx $(TARGET).elf #------------------------------------------------------------------------------- else @@ -124,11 +167,12 @@ DEPENDS := $(OFILES:.o=.d) safe_payload := ../payload/root.rpx -all : $(OUTPUT).rpx +all : $(OUTPUT).wuhb $(safe_payload): make -C ../payload +$(OUTPUT).wuhb : $(OUTPUT).rpx $(OUTPUT).rpx : $(OUTPUT).elf $(OUTPUT).elf : $(OFILES) $(OFILES) : safe_payload.h @@ -148,14 +192,6 @@ safe_payload.h: $(safe_payload) @sha1sum $(<) | cut -f1 -d' ' | tr -d '\n' >> $@ @printf '"' >> $@ -#------------------------------------------------------------------------------- -%.bin.o %_bin.h : %.bin -#------------------------------------------------------------------------------- - @echo $(notdir $<) - @$(bin2o) - --include $(DEPENDS) - #------------------------------------------------------------------------------- endif #------------------------------------------------------------------------------- diff --git a/meta/icon.jpg b/meta/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c13eef368ab07bff9ed577b13159204a4da81e0 GIT binary patch literal 58354 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%0Asca@ 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 O2909_7*ovuZvp@z=YT{2 literal 0 HcmV?d00001 diff --git a/payload b/payload index a69ec19..235642b 160000 --- a/payload +++ b/payload @@ -1 +1 @@ -Subproject commit a69ec191844f7dadbe43d9d81fc49fb0ff535b83 +Subproject commit 235642bab3466ff9c9785a1813aff89b2182c12d diff --git a/source/main.cpp b/source/main.cpp index fc3c750..47c8546 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -18,7 +18,7 @@ constexpr bool strings_equal(char const *a, char const *b) { return std::string_view(a) == b; } -static_assert(strings_equal(RPX_HASH, "97a13139ac1ddc266b1d1e4d6bb78438360b8d01"), "Built with an untested root.rpx! Remove this check if you really know what you're doing."); +static_assert(strings_equal(RPX_HASH, "cd4c1459d793a600d12afa33425f43be0cc5dfa3"), "Built with an untested root.rpx! Remove this check if you really know what you're doing."); void initIOSUHax();