-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ver 0.1.0
- Loading branch information
Yardape
committed
Dec 31, 2016
0 parents
commit ba11e71
Showing
94 changed files
with
19,901 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/build | ||
/*.elf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,216 @@ | ||
#--------------------------------------------------------------------------------- | ||
# Clear the implicit built in rules | ||
#--------------------------------------------------------------------------------- | ||
.SUFFIXES: | ||
#--------------------------------------------------------------------------------- | ||
ifeq ($(strip $(DEVKITPPC)),) | ||
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") | ||
endif | ||
ifeq ($(strip $(DEVKITPRO)),) | ||
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPRO") | ||
endif | ||
export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH) | ||
export LIBOGC_INC := $(DEVKITPRO)/libogc/include | ||
export LIBOGC_LIB := $(DEVKITPRO)/libogc/lib/wii | ||
export PORTLIBS := $(DEVKITPRO)/portlibs/ppc | ||
|
||
PREFIX := powerpc-eabi- | ||
|
||
export AS := $(PREFIX)as | ||
export CC := $(PREFIX)gcc | ||
export CXX := $(PREFIX)g++ | ||
export AR := $(PREFIX)ar | ||
export OBJCOPY := $(PREFIX)objcopy | ||
|
||
#--------------------------------------------------------------------------------- | ||
# TARGET is the name of the output | ||
# BUILD is the directory where object files & intermediate files will be placed | ||
# SOURCES is a list of directories containing source code | ||
# INCLUDES is a list of directories containing extra header files | ||
#--------------------------------------------------------------------------------- | ||
TARGET := menu_sort | ||
BUILD := build | ||
BUILD_DBG := $(TARGET)_dbg | ||
SOURCES := src \ | ||
src/dynamic_libs \ | ||
src/fs \ | ||
src/system \ | ||
src/utils | ||
DATA := | ||
|
||
INCLUDES := src | ||
|
||
#--------------------------------------------------------------------------------- | ||
# options for code generation | ||
#--------------------------------------------------------------------------------- | ||
CFLAGS := -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \ | ||
-O3 -D__wiiu__ -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE) | ||
CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \ | ||
-O3 -D__wiiu__ -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE) | ||
ASFLAGS := -mregnames | ||
LDFLAGS := -nostartfiles -Wl,-Map,$(notdir $@).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,malloc_usable_size,-wrap,_malloc_r,-wrap,_free_r,-wrap,_realloc_r,-wrap,_calloc_r,-wrap,_memalign_r,-wrap,_malloc_usable_size_r,-wrap,valloc,-wrap,_valloc_r,-wrap,_pvalloc_r,--gc-sections | ||
|
||
#--------------------------------------------------------------------------------- | ||
Q := @ | ||
MAKEFLAGS += --no-print-directory | ||
#--------------------------------------------------------------------------------- | ||
# any extra libraries we wish to link with the project | ||
#--------------------------------------------------------------------------------- | ||
LIBS := -lgcc -lfat -liosuhax -lxml2 | ||
|
||
#--------------------------------------------------------------------------------- | ||
# list of directories containing libraries, this must be the top level containing | ||
# include and lib | ||
#--------------------------------------------------------------------------------- | ||
LIBDIRS := $(CURDIR) \ | ||
$(DEVKITPPC)/lib \ | ||
$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2 | ||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# no real need to edit anything past this point unless you need to add additional | ||
# rules for different file extensions | ||
#--------------------------------------------------------------------------------- | ||
ifneq ($(BUILD),$(notdir $(CURDIR))) | ||
#--------------------------------------------------------------------------------- | ||
export PROJECTDIR := $(CURDIR) | ||
export OUTPUT := $(CURDIR)/$(TARGETDIR)/$(TARGET) | ||
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ | ||
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) | ||
export DEPSDIR := $(CURDIR)/$(BUILD) | ||
|
||
#--------------------------------------------------------------------------------- | ||
# automatically build a list of object files for our project | ||
#--------------------------------------------------------------------------------- | ||
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) | ||
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) | ||
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) | ||
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) | ||
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) | ||
TTFFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.ttf))) | ||
PNGFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.png))) | ||
|
||
#--------------------------------------------------------------------------------- | ||
# use CXX for linking C++ projects, CC for standard C | ||
#--------------------------------------------------------------------------------- | ||
ifeq ($(strip $(CPPFILES)),) | ||
export LD := $(CC) | ||
else | ||
export LD := $(CXX) | ||
endif | ||
|
||
export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ | ||
$(sFILES:.s=.o) $(SFILES:.S=.o) \ | ||
$(PNGFILES:.png=.png.o) $(addsuffix .o,$(BINFILES)) | ||
|
||
#--------------------------------------------------------------------------------- | ||
# build a list of include paths | ||
#--------------------------------------------------------------------------------- | ||
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ | ||
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ | ||
-I$(CURDIR)/$(BUILD) -I$(LIBOGC_INC) \ | ||
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2 \ | ||
-I$(CURDIR)/libxml2/include | ||
|
||
#--------------------------------------------------------------------------------- | ||
# build a list of library paths | ||
#--------------------------------------------------------------------------------- | ||
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ | ||
-L$(PORTLIBS)/lib -L$(CURDIR)/libxml2/lib | ||
|
||
export OUTPUT := $(CURDIR)/$(TARGET) | ||
.PHONY: $(BUILD) clean install | ||
|
||
#--------------------------------------------------------------------------------- | ||
$(BUILD): | ||
@[ -d $@ ] || mkdir -p $@ | ||
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile | ||
|
||
#--------------------------------------------------------------------------------- | ||
clean: | ||
@echo clean ... | ||
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf | ||
|
||
#--------------------------------------------------------------------------------- | ||
else | ||
|
||
DEPENDS := $(OFILES:.o=.d) | ||
|
||
#--------------------------------------------------------------------------------- | ||
# main targets | ||
#--------------------------------------------------------------------------------- | ||
$(OUTPUT).elf: $(OFILES) | ||
|
||
#--------------------------------------------------------------------------------- | ||
# This rule links in binary data with the .jpg extension | ||
#--------------------------------------------------------------------------------- | ||
%.elf: link.ld $(OFILES) | ||
@echo "linking ... $(TARGET).elf" | ||
$(Q)$(LD) -n -T $^ $(LDFLAGS) -o ../$(BUILD_DBG).elf $(LIBPATHS) $(LIBS) | ||
$(Q)$(OBJCOPY) -S -R .comment -R .gnu.attributes ../$(BUILD_DBG).elf $@ | ||
|
||
../data/loader.bin: | ||
$(MAKE) -C ../loader clean | ||
$(MAKE) -C ../loader | ||
#--------------------------------------------------------------------------------- | ||
%.a: | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $@) | ||
@rm -f $@ | ||
@$(AR) -rc $@ $^ | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o: %.cpp | ||
@echo $(notdir $<) | ||
@$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o: %.c | ||
@echo $(notdir $<) | ||
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ $(ERROR_FILTER) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o: %.S | ||
@echo $(notdir $<) | ||
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.png.o : %.png | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.jpg.o : %.jpg | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.ttf.o : %.ttf | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.bin.o : %.bin | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.wav.o : %.wav | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.mp3.o : %.mp3 | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.ogg.o : %.ogg | ||
@echo $(notdir $<) | ||
@bin2s -a 32 $< | $(AS) -o $(@) | ||
|
||
-include $(DEPENDS) | ||
|
||
#--------------------------------------------------------------------------------- | ||
endif | ||
#--------------------------------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
Wii U Menu Sort | ||
ver 0.1.0 | ||
|
||
WARNING: TRY ON REDNAND FIRST. | ||
I am not responsible for bricked consoles. | ||
|
||
That said, I tried 10 sorts on 2 accounts on USA sysNAND without issue. | ||
|
||
This will allow you to alphabetically sort your icons on the Wii U Menu. | ||
Icons in folders are also sorted. | ||
Sorts are done per user account. | ||
Not much is shown for a UI. It will just start sorting and tell you when it is done in 5-10s. | ||
|
||
The following items will not move: | ||
Folders and system icons (Disc, Settings, etc) | ||
Homebrew Launcher | ||
CHBC (untested) | ||
Any IDs specified in dontmove.hex | ||
|
||
dontmove.hex must be edited with a hex editor. Do Not use notepad, etc. | ||
Only use the last 4 bytes of the title ID. | ||
The included sample file has: | ||
10 17 9B 00 Brain Age: Train Your Brain In Minutes A Day | ||
10 10 5A 00 Netflix | ||
10 10 57 00 YouTube | ||
4bytes * 3 titles = 12byte file. | ||
The file can be as large or small as you want, depending on the IDs you don't want to move. | ||
It must be a multiple of 4 bytes. | ||
|
||
You can also use dontmoveX.hex where X is 0-9, or A or B. | ||
This allows each user to have separate selection of non-movable icons. | ||
This is the last digit of the 8000000X save folder used by the current user. | ||
Shown by the program as User ID: X | ||
|
||
dontmoveX.hex takes priority over dontmove.hex. | ||
Only 1 file is used. The IDs are not merged. | ||
You can delete the files if not needed. | ||
|
||
It just does a basic string compare. Not sure how well it will work in foreign languages. | ||
Will have to find a small UTF-8 normalize library. | ||
|
||
You will need to compile the Wii U version of libfat. | ||
https://github.com/dimok789/libfat | ||
make from the wiiu\ directory. | ||
Copy the headers and complied library to portlibs\ppc\... |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Built from libxml2-2.9.4 with the following config: | ||
./autogen.sh --disable-shared --enable-static --with-minimum=yes --with-output=yes --host=powerpc-eabi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
/* | ||
* Summary: old DocBook SGML parser | ||
* Description: interface for a DocBook SGML non-verifying parser | ||
* This code is DEPRECATED, and should not be used anymore. | ||
* | ||
* Copy: See Copyright for the status of this software. | ||
* | ||
* Author: Daniel Veillard | ||
*/ | ||
|
||
#ifndef __DOCB_PARSER_H__ | ||
#define __DOCB_PARSER_H__ | ||
#include <libxml/xmlversion.h> | ||
|
||
#ifdef LIBXML_DOCB_ENABLED | ||
|
||
#include <libxml/parser.h> | ||
#include <libxml/parserInternals.h> | ||
|
||
#ifndef IN_LIBXML | ||
#ifdef __GNUC__ | ||
#warning "The DOCBparser module has been deprecated in libxml2-2.6.0" | ||
#endif | ||
#endif | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/* | ||
* Most of the back-end structures from XML and SGML are shared. | ||
*/ | ||
typedef xmlParserCtxt docbParserCtxt; | ||
typedef xmlParserCtxtPtr docbParserCtxtPtr; | ||
typedef xmlSAXHandler docbSAXHandler; | ||
typedef xmlSAXHandlerPtr docbSAXHandlerPtr; | ||
typedef xmlParserInput docbParserInput; | ||
typedef xmlParserInputPtr docbParserInputPtr; | ||
typedef xmlDocPtr docbDocPtr; | ||
|
||
/* | ||
* There is only few public functions. | ||
*/ | ||
XMLPUBFUN int XMLCALL | ||
docbEncodeEntities(unsigned char *out, | ||
int *outlen, | ||
const unsigned char *in, | ||
int *inlen, int quoteChar); | ||
|
||
XMLPUBFUN docbDocPtr XMLCALL | ||
docbSAXParseDoc (xmlChar *cur, | ||
const char *encoding, | ||
docbSAXHandlerPtr sax, | ||
void *userData); | ||
XMLPUBFUN docbDocPtr XMLCALL | ||
docbParseDoc (xmlChar *cur, | ||
const char *encoding); | ||
XMLPUBFUN docbDocPtr XMLCALL | ||
docbSAXParseFile (const char *filename, | ||
const char *encoding, | ||
docbSAXHandlerPtr sax, | ||
void *userData); | ||
XMLPUBFUN docbDocPtr XMLCALL | ||
docbParseFile (const char *filename, | ||
const char *encoding); | ||
|
||
/** | ||
* Interfaces for the Push mode. | ||
*/ | ||
XMLPUBFUN void XMLCALL | ||
docbFreeParserCtxt (docbParserCtxtPtr ctxt); | ||
XMLPUBFUN docbParserCtxtPtr XMLCALL | ||
docbCreatePushParserCtxt(docbSAXHandlerPtr sax, | ||
void *user_data, | ||
const char *chunk, | ||
int size, | ||
const char *filename, | ||
xmlCharEncoding enc); | ||
XMLPUBFUN int XMLCALL | ||
docbParseChunk (docbParserCtxtPtr ctxt, | ||
const char *chunk, | ||
int size, | ||
int terminate); | ||
XMLPUBFUN docbParserCtxtPtr XMLCALL | ||
docbCreateFileParserCtxt(const char *filename, | ||
const char *encoding); | ||
XMLPUBFUN int XMLCALL | ||
docbParseDocument (docbParserCtxtPtr ctxt); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* LIBXML_DOCB_ENABLED */ | ||
|
||
#endif /* __DOCB_PARSER_H__ */ |
Oops, something went wrong.