Commit Graph

80 Commits

Author SHA1 Message Date
Maschell
41da4db58c Replaced all instances of the word "module" with "plugin" 2018-02-18 16:10:27 +01:00
Maschell
d0908e7eb6 [Loader] Refactored the plugin loading.
- Now all plugins in the "sd:/wiiu/plugins" folder will be loaded.
- Minor code cleanup
2018-02-18 15:55:43 +01:00
Maschell
f6ec4bcc56 [Loader] Fixed stupid typo 2018-02-17 15:30:42 +01:00
Maschell
58b18b31f2 [Travis] Fixed travis. Extracting missing portlibs 2018-02-17 14:54:48 +01:00
Maschell
de95b2e599 [Loader] Added simple, initial gui.
- Added all files for creating a gui.
- Moved some of the module related into an own sub folder
2018-02-17 14:51:05 +01:00
Maschell
b5153953de [Tools] Added gettext windows binaries 2018-02-17 14:45:45 +01:00
Maschell
749ce215cf Updated the READMEs of the plugins 2018-02-16 22:22:41 +01:00
Maschell
8c3a28d444 Updated the README, moved plans/ideas into an own file 2018-02-16 22:20:04 +01:00
Maschell
797e58f576 [General] Moving the FS-wrapper into an own lib, no more macro madness
The library now needs to be build with "make" and installed with "make install".
Make sure to include the -lwups into the plugin projecs.
If you call "WUPS_InitFS(args);" in the INITIALIZE method, the plugin has full SD/USB access.
2018-02-16 21:51:35 +01:00
Maschell
1cfa474ca9 [Plugins] Moved example_plugin into the plugins folder 2018-02-16 21:25:31 +01:00
Maschell
401c742362 [General] Updated the readmes 2018-02-14 23:42:06 +01:00
Maschell
46358ce67a Added SD/USB support for plugins!
Now the plugins inherit the SD/USB access from the loader.
Check
(args != NULL && (args->device_mounted & WUPS_SD_MOUNTED) > 0)
in your INITIALZE method if you have SD access, and
(args != NULL && (args->device_mounted & WUPS_USB_MOUNTED) > 0)
for usb access.
You can simply use open, read etc. then with "sd:/" and "usb:".
No (un)mounting required.
NTFS support is NOT implemented yet.

So:
HID to VPAD plugin can now read configurations
SDCafiine now has support for libfat (other games than SSBU + FAT32 USB)
2018-02-14 22:52:16 +01:00
Maschell
f8e8f7f52e [Travis] Added Makefile to the plugins folder to build all with one command. 2018-02-14 22:36:28 +01:00
Maschell
b350d7e478 [Travis] Fixed the travis script. Added devkitARM 2018-02-14 19:52:14 +01:00
Maschell
b8d2c51f76 [Plugins] Don't mount the SDCard withing the SDCafiine plugin.
This breaks the SDCafiine, but will be hopefully fixed later!
2018-02-14 19:47:52 +01:00
Maschell
dc8a9a81fc [Loader] Added mocha and device mounting.
- Now patching two more function which could be used as hooks (PPCExit and ProcUIProcessMessages)
2018-02-14 19:46:14 +01:00
Maschell
894a60c2bf [Loader] Moved method elfLink from ModuleData to ElfTools, other minor stuff 2018-02-14 18:18:42 +01:00
Maschell
389e3ba5f1 [Loader] Added some more comments and TODOs 2018-02-13 22:36:05 +01:00
Maschell
b7f9e68c90 [Loader] Updated logging message 2018-02-13 22:28:08 +01:00
Maschell
a31d6e8db5 [Loader] Huge refactoring. Getting rid of the global lists in C. Using std::vector now and classes. 2018-02-13 22:20:38 +01:00
Maschell
78a160a74c [Plugins] Added readmes to the plugins, renamed SwapDRC to SwipSwapMe 2018-02-13 08:22:05 +01:00
Maschell
96224310b0 [Plugin] Added HID to VPAD support
- Missing support for configuration files
- Missing controller mapper (all controller map to the gamepad by default)

BUT:
- Network controller support!
- Support for pads with built in support (Switch Pro Controller via USB, GC Adapter, XInput via network client etc.)

- Updated travis script
2018-02-12 20:53:37 +01:00
Maschell
7aec6a2bfd [General] Updated the wups_loader_entry_t struct
Removed the union
2018-02-12 20:51:24 +01:00
Maschell
48e5ea7e4c [Plugins] Updated the SDCafiine plugin
- Now using the FSWrapper lib
- Added the modpack selector
- Still only support for games with nativ SD Access
2018-02-12 20:50:27 +01:00
Maschell
b9af38c7ff [General] Removed the DISCARD section in the .ld file. This fixes C++ support.. 2018-02-12 20:40:54 +01:00
Maschell
8c0a3c965b [Plugin] Added a port of SwapDRC (SwipSwapMe) 2018-02-11 19:49:42 +01:00
Maschell
38e045e41d [Loader] Fixed returning to the HBL if multiple plugin override the same function
- They need to be restored in the reversed order!
- Disabled verbose function patching logging.
2018-02-11 18:52:11 +01:00
Maschell
34e5773714 [Loader] Load the SDCafiine plugin 2018-02-11 18:43:32 +01:00
Maschell
af3e5086f5 [Plugins] Fixed the SDCafiine plugin 2018-02-11 18:43:12 +01:00
Maschell
ac912010f2 [Plugins] Started on creating a SDCafiine plugin. Still WIP.
- Stiil need to add iosuhax support (probably thrpugh iosuhax n the loader)
- modpack chooser needs complety rewritten in C =(

So currently this is only compatible with games with nativ sd access.
Probably unstable!
2018-02-11 18:33:07 +01:00
Maschell
2cbc49b030 [Loader] only procced when the loading was successful 2018-02-11 18:18:10 +01:00
Maschell
d12bb68c16 [Plugins] Remove the fPIC flag, is not needed. 2018-02-11 18:16:32 +01:00
Maschell
3cc18c2557 [Plugins] Updated the Makefile
- Added some comments
- Linking without --relocatable to check if all symbols can be found
- cleanup
2018-02-11 14:45:20 +01:00
Maschell
2d685cf41f [General] Fixed the travis script 2018-02-11 03:40:29 +01:00
Maschell
d181e445c7 [Plugins] Updated the Makefile. C++ and stdlib should work now.
- Using a different base for the makefile, which provides some more function
- Linking with stdlib should work now
- C++ _should_ work. not really tested yet.

[Example Plugin] Updated example plugin to log all FSOpen actions.
2018-02-11 03:26:54 +01:00
Maschell
db29f7a302 [Loader] Only load plugin if no more relocations are needed. 2018-02-11 03:24:32 +01:00
Maschell
c53b6a3d8e [Loader] unmount sdcard after loading the plugins 2018-02-10 17:10:20 +01:00
Maschell
53bbfa3bd4 [Travis] Added padcon to nightly release 2018-02-10 17:08:18 +01:00
Maschell
e58dc7a506 [Plugins] Added a simple padcon plugin! 2018-02-10 17:06:42 +01:00
Maschell
9ebad4be5d [example_plugin] Changed to example_plugin to hook into FS_INIT
- Using the init hook
2018-02-10 17:05:32 +01:00
Maschell
ec217c6aef [Loader] Added support for the init hook.
- The loader now returns to the system menu and restores all patches when entering mii maker.
2018-02-10 17:05:11 +01:00
Maschell
81b5bed341 [WUPS] Added Macro for the Initialization hook 2018-02-10 17:00:17 +01:00
Maschell
17e34ad60b [Loader] First successfull, complete replacement!
- Copied the function patcher from the function_patcher example and modified to work with this porject
- Minor formatting
- Added global struct with stores the replacement functions
- Extended the useable space for plugins
2018-02-10 14:58:58 +01:00
Maschell
b6119fde91 [Example Plugin] Updated the example plugin to override the OSFatal function.
The new OSFatal function logs the old message, and the calls the "real" OSFatal with a new String.
[General] - Added the .sdata section to the wups.ld
- Added all library_types to the enum
- Updated the wups_loader_entry_t struct to store the needed data
- Simplified the WUPS_MUST_REPLACE macro
- Removed unneeded stuff
2018-02-10 14:56:07 +01:00
Maschell
10c5eccd93 [Example Plugin] Updated the example plugin
- It's now linking with libc/libutils/libdynamiclibs
- moved the main.c into the a "src" folder

[Loader]- Added DCFlushRange and DCInvalidateRange
- Improved logging.

Finally we can load the plugin from the sdcard and call it's function!
2018-02-09 21:31:05 +01:00
Maschell
4ce98a64f1 [General] Added file to .gitignore 2018-02-09 21:28:57 +01:00
Maschell
4cdcbe2d20 [Loader] Added missing relocation type 2018-02-09 21:28:39 +01:00
Maschell
46456df8fc [Loader] Updated the loader to call functions
Progress?
2018-02-04 22:25:15 +01:00
Maschell
83a9aa7b7b [WUPS] Make the include c++ compatible 2018-02-04 22:18:43 +01:00
Maschell
88f323de17 [example_plugin] not using the "real" function in example 2018-02-04 22:18:09 +01:00