Commit Graph

95 Commits

Author SHA1 Message Date
Maschell
36f4b1f350 [Loader] A single plugin can be loaded via wiiload.
Now more sd swapping for ftpiiu while developing plugins!
Simply use the normal wiiload to send a plugin (.mod) file to the Wii U while the plugin loader in running.
This requires zlib, don't forget to add it to your portlib. It can be found in the "libs" folder.
2018-03-04 16:27:57 +01:00
Maschell
0b6d578e27 Added a codeblocks template for creating plugins 2018-03-04 00:18:19 +01:00
Maschell
1024338498 Added new macros for FS and overlay access.
Now the plugin don't need to use the INITIALIZE_PLUGIN hook for fs and overlay access, but use the WUPS_FS_ACCESS()/WUPS_ALLOW_OVERLAY() macro.
2018-02-25 15:18:52 +01:00
Maschell
6ab6e0532a [Travis] Using github instead of sourceforge 2018-02-25 13:38:40 +01:00
Maschell
2aadfcf68e Added new hook-methods, added more information to the example_plugin
- Split up the WUPS includes into multiple seperate files, renamed some structs
- Added the hooks functions. (INITIALIZE_PLUGIN, DEINITIALIZE_PLUGIN, ON_VYSNC, ON_APP_STATUS_CHANGED, ON_APPLICATION_ENDING). INITIALZE is now "ON_APPLICATION_START". See the example for more information.
- Updated all plugins to fit the new hook. Some profit of the new hooks and are simpler now. (For example SwipSwapMe doesn't need to check if it's the first boot)
- arguments of the ON_APPLICATION_START have changed. It's not a pointer anymore and now has the boolean fields sd_mounted/usb_mounted which indicate if the device was mounted and it available via sd:/ or usb:/
- Some minor cleanups and formatting.
2018-02-25 13:07:49 +01:00
Maschell
a12db00fd9 [Loader] Force make to disable the jobserver while compiling mocha. 2018-02-24 19:23:12 +01:00
Maschell
db8643d3f5 [Plugin] Added plugin that logs some memory infos 2018-02-24 13:49:59 +01:00
Maschell
55dd57d62f [Loader] Code formatting and minor logging improvements. 2018-02-24 12:35:00 +01:00
Maschell
409527fb21 [ALL] Added overlay callback
- Improved the overlay example. It's now using the wups api.
- Not working on TV when the game is rendered in 1080p. (Maybe add option to force screen to 720p?)
2018-02-20 12:41:58 +01:00
Maschell
285fc3b51a Added libgui to the list of dependencies in the readme 2018-02-20 09:55:50 +01:00
Maschell
a3b547e7d1 [Plugins] Added a POC overlay plugin 2018-02-18 23:00:38 +01:00
Maschell
6067cede64 [Loader] Fixed loading plugin which don't replace any functions. 2018-02-18 21:42:41 +01:00
Maschell
2b1b46363d [ALL] Renamed the EntryData into FunctionData, fixed some comments.
- Also
2018-02-18 19:03:51 +01:00
Maschell
d64f221a92 [ALL] Added more fields to the metadata
- Now the plugin it holds the build timestamp and a description
- Added descriptions for all plugins
2018-02-18 18:43:51 +01:00
Maschell
869b3bc391 [Loader] Now show config GUI when entering Mii Maker
- Added for methods to the plugin loader.
2018-02-18 17:47:03 +01:00
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