First commit on the WUPS plugin branch

This commit is contained in:
Maschell 2018-06-23 18:46:49 +02:00
parent 6e348fde02
commit 49378fb6b4
190 changed files with 315 additions and 8644 deletions

3
.gitignore vendored
View File

@ -54,4 +54,5 @@ hidtovpad_dbg.elf
hidtopad.cscope_file_list hidtopad.cscope_file_list
hidtopad.cbp hidtopad.cbp
hidtopad.layout hidtopad.layout
hidtopad.cbp hidtopad.cbp
hidtovpad.mod

View File

@ -7,6 +7,7 @@ dist: trusty
env: env:
global: global:
- DEVKITPRO=/opt/devkitpro - DEVKITPRO=/opt/devkitpro
- WUT_ROOT=/opt/devkitpro/wut
- DEVKITPPC=/opt/devkitpro/devkitPPC - DEVKITPPC=/opt/devkitpro/devkitPPC
- PORTLIBREPOS=$HOME/portlibrepos - PORTLIBREPOS=$HOME/portlibrepos
@ -28,18 +29,23 @@ before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo dpkg -i /tmp/devkitpro-pacman.deb; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo dpkg -i /tmp/devkitpro-pacman.deb; fi
- yes | sudo dkp-pacman -Syu devkitPPC --needed - yes | sudo dkp-pacman -Syu devkitPPC --needed
- yes | sudo dkp-pacman -Syu general-tools --needed - yes | sudo dkp-pacman -Syu general-tools --needed
- wget $(curl -s https://api.github.com/repos/decaf-emu/wut/releases/latest | grep 'browser_' | grep 'linux' | cut -d\" -f4)
install: install:
- 7z x -y $(ls | grep "linux") -o${WUT_ROOT}
- cd $PORTLIBREPOS - cd $PORTLIBREPOS
- ((git clone https://github.com/Maschell/dynamic_libs.git -b lib && (7z x -y ./dynamic_libs/libs/portlibs.zip -o${DEVKITPRO})) || (cd dynamic_libs && git pull))
- (git clone https://github.com/Maschell/libutils.git || (cd libutils && git pull))
- ((git clone https://github.com/Maschell/libgui.git && (7z x -y ./libgui/libs/portlibs.zip -o${DEVKITPRO})) || (cd libgui && git pull))
- (git clone https://github.com/Maschell/controller_patcher.git || (cd controller_patcher && git pull))
- (git clone https://github.com/Maschell/controller_patcher_configs.git || (cd controller_patcher_configs && git pull)) - (git clone https://github.com/Maschell/controller_patcher_configs.git || (cd controller_patcher_configs && git pull))
- (cd dynamic_libs && ((make -j8 | grep -c "built ... ") && make install && echo "installed" ) || (echo "no need for make install" && make)) - git clone https://github.com/Maschell/libutils.git -b wut
- (cd libutils && ((make -j8 | grep -c "built ... ") && make install && echo "installed" ) || (echo "no need for make install" && make)) - git clone https://github.com/Maschell/controller_patcher.git -b wut
- (cd libgui && ((make -j8 | grep -c "built ... ") && make install) || echo "no need for make install") - cd libutils
- (cd controller_patcher && ((make -j8 | grep -c "built ... ") && make install && echo "installed" ) || (echo "no need for make install" && make)) - mkdir build && cd build
- cmake -DCMAKE_TOOLCHAIN_FILE=$WUT_ROOT/share/wut.toolchain.cmake -DCMAKE_INSTALL_PREFIX=$WUT_ROOT ../
- make install
- cd $PORTLIBREPOS
- cd libutils
- mkdir build && cd build
- cmake -DCMAKE_TOOLCHAIN_FILE=$WUT_ROOT/share/wut.toolchain.cmake -DCMAKE_INSTALL_PREFIX=$WUT_ROOT ../
- make install
before_script: before_script:
- cd $TRAVIS_BUILD_DIR/ - cd $TRAVIS_BUILD_DIR/
@ -52,19 +58,14 @@ before_deploy:
- mkdir -p "wiiu/apps/hidtovpad/languages" - mkdir -p "wiiu/apps/hidtovpad/languages"
- mkdir -p "wiiu/controller" - mkdir -p "wiiu/controller"
- cp $PORTLIBREPOS/controller_patcher_configs/*.ini ./wiiu/controller - cp $PORTLIBREPOS/controller_patcher_configs/*.ini ./wiiu/controller
- cp ./languages/*.lang ./wiiu/apps/hidtovpad/languages
- commit="$(git rev-parse --short=7 HEAD)" - commit="$(git rev-parse --short=7 HEAD)"
- chmod +x gitrev.sh - cp hidtovpad.mod wiiu/plugins/
- versiontag="$(./gitrev.sh)"
- make
- cp meta/* wiiu/apps/hidtovpad
- cp hidtovpad.elf wiiu/apps/hidtovpad
- zip -r hid_to_vpad_$versiontag.zip wiiu - zip -r hid_to_vpad_$versiontag.zip wiiu
- git config --global user.email "builds@travis-ci.com" - git config --global user.email "builds@travis-ci.com"
- git config --global user.name "Travis CI" - git config --global user.name "Travis CI"
- export GIT_TAG=HIDtoVPAD-$versiontag - export GIT_TAG=HIDtoVPAD-WUPS-$versiontag
- commitLog="$(git log -1 --pretty=%B)" - commitLog="$(git log -1 --pretty=%B)"
- commitMessage="$(echo -e "-\n" && echo "HID to VPAD nightly build. Not a stable release. Expect bugs!" && echo -e "\nCommitlog:\n")" - commitMessage="$(echo -e "-\n" && echo "HID to VPAD nightly WUPS build. Not a stable release. Expect bugs!" && echo -e "Commitlog:")"
- git tag $GIT_TAG -a -m "$commitMessage" -m "$commitLog" - git tag $GIT_TAG -a -m "$commitMessage" -m "$commitLog"
- git push --quiet https://$GITHUBKEY@github.com/Maschell/hid_to_vpad $GIT_TAG > /dev/null 2>&1 - git push --quiet https://$GITHUBKEY@github.com/Maschell/hid_to_vpad $GIT_TAG > /dev/null 2>&1
- chmod +x ftpupload.sh - chmod +x ftpupload.sh
@ -76,7 +77,7 @@ deploy:
prerelease: true prerelease: true
api_key: api_key:
secure: "r2jF3dwTUdeo+0Rg5cDuJhxJU3kVnsEbCfIxRrL0QLjPQUCIPLQyqZCC2ApBW1VrOZ7oH6HUW1RhXdnu2izN2Bsis5jPmCJl4vDDb6tWvdW/h2BbZOiOqsGkjTVxBYs6ZddnENxrJBUBHyDbPijERr8lVMhs066S0yPQvVGWG9K+ClXkS2bO/Mq3wO/CzQNv93LrZXWGgkB9Ej2bzcYrt+ieA3jkVOn9K3PbLapRQCNec4RM3R+dJT4uQmrih892e4+JzZlyf4HGmIFH8xNIPQvXH5wD1nGcTzXDC6eQw5ljMPaxhWn2YtIv9knUKjhWzEe9fx8e+380SjpTTP0ir6I+EF2Y/A5spYJMuJDHLSvU2Qq1BwfE4pm/Om+/wRlTaPC8FYUuQPc1YdBLRYBpd3YwlJFEZSi4IEUbEOjOKDhagw0cYHQC42zypsm1aW+q8eVSeylsyjxOR2eawVHIzvOoMKA0FHIdA7zNFxh50y3EdYJw+L6/4wU14743ifT5TOrMuTWfSQXY4eBBkjMytkkhMsJfbs2xHHZkBgl2249Z93odr+2C5WbOqnEQRhPZunOxrMO8bga/K50wmTfOPSxkFJOxXnOuXlGWd0TsUeAtGg7Nk3pRaPVXhOMc+gXb/Ktdj6S11bUNO4VLXb4z7FmMy0yxmxrw3elpXDjaB/U=" secure: "r2jF3dwTUdeo+0Rg5cDuJhxJU3kVnsEbCfIxRrL0QLjPQUCIPLQyqZCC2ApBW1VrOZ7oH6HUW1RhXdnu2izN2Bsis5jPmCJl4vDDb6tWvdW/h2BbZOiOqsGkjTVxBYs6ZddnENxrJBUBHyDbPijERr8lVMhs066S0yPQvVGWG9K+ClXkS2bO/Mq3wO/CzQNv93LrZXWGgkB9Ej2bzcYrt+ieA3jkVOn9K3PbLapRQCNec4RM3R+dJT4uQmrih892e4+JzZlyf4HGmIFH8xNIPQvXH5wD1nGcTzXDC6eQw5ljMPaxhWn2YtIv9knUKjhWzEe9fx8e+380SjpTTP0ir6I+EF2Y/A5spYJMuJDHLSvU2Qq1BwfE4pm/Om+/wRlTaPC8FYUuQPc1YdBLRYBpd3YwlJFEZSi4IEUbEOjOKDhagw0cYHQC42zypsm1aW+q8eVSeylsyjxOR2eawVHIzvOoMKA0FHIdA7zNFxh50y3EdYJw+L6/4wU14743ifT5TOrMuTWfSQXY4eBBkjMytkkhMsJfbs2xHHZkBgl2249Z93odr+2C5WbOqnEQRhPZunOxrMO8bga/K50wmTfOPSxkFJOxXnOuXlGWd0TsUeAtGg7Nk3pRaPVXhOMc+gXb/Ktdj6S11bUNO4VLXb4z7FmMy0yxmxrw3elpXDjaB/U="
file: hid_to_vpad_$versiontag.zip file: hid_to_vpad_WUPS_$versiontag.zip
on: on:
repo: Maschell/hid_to_vpad repo: Maschell/hid_to_vpad
tags: false tags: false

217
Makefile
View File

@ -1,4 +1,5 @@
DO_LOGGING := 0 # You probably never need to adjust this Makefile.
# All changes can be done in the makefile.mk
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
@ -11,15 +12,19 @@ endif
ifeq ($(strip $(DEVKITPRO)),) ifeq ($(strip $(DEVKITPRO)),)
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPRO") $(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPRO")
endif endif
export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH):$(DEVKITPRO)/tools/bin
export PORTLIBS := $(DEVKITPRO)/portlibs/ppc export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH)
export PORTLIBS := $(DEVKITPRO)/portlibs/ppc
export WUPSDIR := $(DEVKITPRO)/wups
export GCC_VER := $(shell $(DEVKITPPC)/bin/powerpc-eabi-gcc -dumpversion)
PREFIX := powerpc-eabi- PREFIX := powerpc-eabi-
export AS := $(PREFIX)as export AS := $(PREFIX)as
export CC := $(PREFIX)gcc export CC := $(PREFIX)gcc
export CXX := $(PREFIX)g++ export CXX := $(PREFIX)g++
export AR := $(PREFIX)ar export LD := $(PREFIX)ld
export AR := $(PREFIX)ar
export OBJCOPY := $(PREFIX)objcopy export OBJCOPY := $(PREFIX)objcopy
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@ -28,43 +33,95 @@ export OBJCOPY := $(PREFIX)objcopy
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := hidtovpad TARGET := $(notdir $(CURDIR)).mod
BUILD := build BUILD := build
BUILD_DBG := $(TARGET)_dbg
SOURCES := src \
src/common \
src/custom/gui \
src/language \
src/menu \
src/menu/tv \
src/menu/drc \
src/menu/drc/content \
src/patcher \
src/resources \
src/settings \
DATA := data \ ifeq ($(notdir $(CURDIR)),$(BUILD))
data/images \ include ../makefile.mk
data/fonts \ else
data/sounds include makefile.mk
endif
INCLUDES := src include $(WUPSDIR)/plugin_makefile.mk
#MAP ?= $(TARGET:.mod=.map)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS := -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
-O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE) # -Os: optimise size
CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math -D_GNU_SOURCE \ # -Wall: generate lots of warnings
-O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE) # -DGEKKO_U: define the symbol GEKKO (used in some headers)
# -D__wiiu__: define the symbol __wiiu__ (used in some headers)
# -mcpu=750: enable processor specific compilation
# -meabi: enable eabi specific compilation
# -mhard-float: enable hardware floating point instructions
# -fno-common: stop common variables which the loader can't understand
# -msdata-none: do not use r2 or r13 as small data areas
# -memb: enable embedded application specific compilation
# -ffunction-sections: split up functions so linker can garbage collect
# -fdata-sections: split up data so linker can garbage collect
COMMON_CFLAGS += -Os -Wall -DGEKKO_U -D__wiiu__ -D__WIIU__ -mrvl -mcpu=750 -meabi -mhard-float -fno-common -msdata=none -memb -ffunction-sections -fdata-sections
# -x c: compile as c code
# -std=c11: use the c11 standard
CFLAGS += $(COMMON_CFLAGS) -x c -std=gnu11
# -x c: compile as c++ code
# -std=gnu++11: use the c++11 standard
CXXFLAGS += $(COMMON_CFLAGS) -x c++ -std=gnu++11
ifeq ($(DO_LOGGING), 1) ifeq ($(DO_LOGGING), 1)
CFLAGS += -D__LOGGING__ CFLAGS += -D__LOGGING__
CXXFLAGS += -D__LOGGING__ CXXFLAGS += -D__LOGGING__
endif endif
ADD_NO_WHOLE_ARCHIVE := 0
ifeq ($(WUT_ENABLE_CPP), 1)
WUT_ENABLE_NEWLIB := 1
LD_FLAGS_ELF += -whole-archive -lwutstdc++
ADD_NO_WHOLE_ARCHIVE := 1
NEEDS_WUT := 1
endif
ifeq ($(WUT_ENABLE_NEWLIB), 1)
LD_FLAGS_ELF += -whole-archive -lwutnewlib
ADD_NO_WHOLE_ARCHIVE := 1
NEEDS_WUT := 1
endif
ifeq ($(WUT_DEFAULT_MALLOC), 1)
LD_FLAGS_ELF += -whole-archive -lwutmalloc
ADD_NO_WHOLE_ARCHIVE := 1
NEEDS_WUT := 1
endif
ifeq ($(ADD_NO_WHOLE_ARCHIVE), 1)
LD_FLAGS_ELF += -no-whole-archive
endif
ifeq ($(NEEDS_WUT), 1)
ifeq ($(strip $(WUT_ROOT)),)
$(error "Please set WUT_ROOT in your environment. export WUT_ROOT=<path to>wut)
endif
CFLAGS += -D__WUT__
CXXFLAGS += -D__WUT__
endif
ASFLAGS := -mregnames ASFLAGS +=
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
LDFLAG_COMMON +=
ifeq ($(WRAP_MALLOC), 1)
LDFLAG_COMMON += -Wl,-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
endif
LDFLAGS_MOD += $(LD_FLAGS_MOD)
LDFLAGS_ELF += $(LD_FLAGS_ELF)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
Q := @ Q := @
@ -72,17 +129,14 @@ MAKEFLAGS += --no-print-directory
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -lgui -lcontrollerpatcher -lutils -ldynamiclibs -lfreetype -lgd -lpng -ljpeg -lz -lmad -lvorbisidec ALL_LIBS := $(LIBS)
# #
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := $(CURDIR) \ LIBDIRS +=
$(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 # no real need to edit anything past this point unless you need to add additional
@ -99,8 +153,6 @@ export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
FILELIST := $(shell bash ./filelist.sh)
LANGUAGES := $(shell bash ./updatelang.sh)
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
@ -113,9 +165,9 @@ PNGFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.png)))
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD_MOD := $(CC)
else else
export LD := $(CXX) export LD_MOD := $(CXX)
endif endif
export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
@ -125,17 +177,16 @@ export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE_FULL += $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ $(EXTERNAL_INCLUDE)
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2\
-I$(PORTLIBS)/include/libutils -I$(PORTLIBS)/include/libgui
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS_FULL += $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(PORTLIBS)/lib $(EXTERNAL_LIBPATHS)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean install .PHONY: $(BUILD) clean install
@ -143,34 +194,42 @@ export OUTPUT := $(CURDIR)/$(TARGET)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
#@$(MAKE) --no-print-directory -C $(CURDIR)/libcontrollerpatcher -f $(CURDIR)/libcontrollerpatcher/Makefile
#@$(MAKE) --no-print-directory -C $(CURDIR)/libcontrollerpatcher -f $(CURDIR)/libcontrollerpatcher/Makefile install
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
#@$(MAKE) --no-print-directory -C $(CURDIR)/libcontrollerpatcher -f $(CURDIR)/libcontrollerpatcher/Makefile clean @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf $(OUTPUT)
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- THIS_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
# main targets
#---------------------------------------------------------------------------------
$(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- ###############################################################################
# This rule links in binary data with the .jpg extension # Rule to make everything.
#--------------------------------------------------------------------------------- PHONY += all
%.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 $@
all : $(OUTPUT)
###############################################################################
# Special build rules
# Rule to make the module file.
$(OUTPUT) : output.elf
@echo "checking for missing symbols ..."
@$(LD_MOD) ../$(BUILD)/output.elf $(LDFLAG_COMMON) $(LD_FLAGS_MOD) $(ALL_LIBS) $(LIBPATHS_FULL) -o check_linking.elf
@echo "linking ..." $@
@$(LD_MOD) ../$(BUILD)/output.elf $(LDFLAG_COMMON) $(LDFLAGS_MOD) $(ALL_LIBS) $(LIBPATHS_FULL) -o $@
# Rule to make the module file.
output.elf : $(OFILES)
@echo "linking ... output.elf"
@$(LD) $(OFILES) $(LDFLAGS_ELF) $(ALL_LIBS) $(LIBPATHS_FULL) -o $@
###############################################################################
# Standard build rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.a: %.a:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@ -181,17 +240,17 @@ $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.o: %.cpp %.o: %.cpp
@echo $(notdir $<) @echo $(notdir $<)
@$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) @$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) $(INCLUDE_FULL) -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.o: %.c %.o: %.c
@echo $(notdir $<) @echo $(notdir $<)
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ $(ERROR_FILTER) @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) $(INCLUDE_FULL) -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.o: %.S %.o: %.S
@echo $(notdir $<) @echo $(notdir $<)
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(INCLUDE_FULL) -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.png.o : %.png %.png.o : %.png
@ -228,6 +287,32 @@ $(OUTPUT).elf: $(OFILES)
@echo $(notdir $<) @echo $(notdir $<)
@bin2s -a 32 $< | $(AS) -o $(@) @bin2s -a 32 $< | $(AS) -o $(@)
###############################################################################
# Assembly listing rules
# Rule to make assembly listing.
PHONY += list
list : $(LIST)
# Rule to make the listing file.
%.list : $(TARGET)
$(LOG)
-$Qmkdir -p $(dir $@)
$Q$(OBJDUMP) -d $< > $@
###############################################################################
# Clean rule
# Rule to clean files.
PHONY += clean
clean :
$Qrm -rf $(wildcard $(BUILD) $(BIN))
###############################################################################
# Phony targets
.PHONY : $(PHONY)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,12 +1,12 @@
[Current Stable Release](https://github.com/Maschell/hid_to_vpad/releases/latest) | [Nightly builds](https://github.com/Maschell/hid_to_vpad/releases) | [Issue Tracker](https://github.com/Maschell/hid_to_vpad/issues) | [Support Thread](https://gbatemp.net/threads/hid-to-vpad.424127/) [Current Stable Release](https://github.com/Maschell/hid_to_vpad/releases/latest) | [Nightly builds](https://github.com/Maschell/hid_to_vpad/releases) | [Issue Tracker](https://github.com/Maschell/hid_to_vpad/issues) | [Support Thread](https://gbatemp.net/threads/hid-to-vpad.424127/)
# HID to VPAD [![Build Status](https://api.travis-ci.org/Maschell/hid_to_vpad.svg?branch=master)](https://travis-ci.org/Maschell/hid_to_vpad) # HID to VPAD (WUPS plugin) [![Build Status](https://api.travis-ci.org/Maschell/hid_to_vpad.svg?branch=wups)](https://travis-ci.org/Maschell/hid_to_vpad)
This is a little tool that let you use a hid device on the WiiU. <br /> This is a plugin for the [Wii U Plugin System (WUPS)](https://github.com/Maschell/WiiUPluginSystem/) that let you use a HID device on the WiiU. <br />
It's based on the [controller_patcher](https://github.com/Maschell/controller_patcher) engine. It's based on the [controller_patcher](https://github.com/Maschell/controller_patcher/tree/wut) engine.
## Usage ## Usage
Start the .elf with the homebrew launcher. A GUI will open where you can assign your controller. You can attach and detach devices at any time. To change the mapping, open the Mii Maker. Start place the .mod file into the WUPS plugin folder `sd:/wiiu/plugins` and start the plugin loader.
Place the config files into the following folder: Place the config files into the following folder:
``` ```
@ -47,10 +47,9 @@ If you don't find an anwser, please open an issue.
# Building # Building
In order to build this application you need serval libs: In order to build this application you need serval libs:
- [dynamic_libs](https://github.com/Maschell/dynamic_libs/tree/lib) for access to the functions. - [wut] (https://github.com/decaf-emu/wut)
- [libutils](https://github.com/Maschell/libutils) for common functions. - [libutilswut](https://github.com/Maschell/libutils/tree/wut) for common functions.
- [controller_patcher](https://github.com/Maschell/controller_patcher) to emulate the controllers. - [lcontrollerpatcherwut](https://github.com/Maschell/controller_patcher/tree/wut) to emulate the controllers.
- [libgui](https://github.com/Maschell/libgui) for the gui elements.
Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself. Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Some files were not shown because too many files have changed in this diff Show More