Commit Graph

86 Commits

Author SHA1 Message Date
Maschell
77288a2365 Fix a crash that could happen due worng relocations. The address in the used bl is SINGNED. This mean for everything above 0x01FFFFFC we need to use the big jump. 2018-09-14 19:07:57 +02:00
Maschell
b1d89c9d4d Improve the ConfigItem callback system.
- The callback is now only called when then config menu has been closed and value has actually changed (or an newer value has been read from SD). This increased the performance!
- The WUPSConfigItemBoolean and WUPSConfigItemMultipleValues callbacks now provide a pointer to the causes config item.
2018-09-14 13:02:06 +02:00
Maschell
5d9a2273ad Minor formatting in the CSettings class 2018-07-17 15:28:30 +02:00
Maschell
e6e488a453 Add the possibility of configurations to the plugins!
Adds the configuration menu.
2018-07-17 15:26:52 +02:00
Maschell
712ace5072 Add the plugin file extension to the common.h 2018-07-15 20:14:54 +02:00
Maschell
d4371da0a3 Check the path instead of the plugin name to check if a plugin was loaded. 2018-07-15 19:57:28 +02:00
Maschell
8c99eb42d1 Add argument to the WUPS_OpenOverlay function which can be used to pass data to the callback. 2018-07-15 16:04:22 +02:00
Maschell
3e3b66b581 Add the path to the plugins to the common/common.h 2018-07-15 15:58:23 +02:00
Maschell
e66a61e107 Remove unused settings defines. 2018-07-14 12:05:42 +02:00
Maschell
689e368b26 Add missing non-touch controls to the loader 2018-07-04 17:20:07 +02:00
Maschell
adf9c24ef1 - Allow users to enable/disable plugin in the loader
- Fix some memory leaks
- Add assets needed to display plugins
2018-07-04 16:31:49 +02:00
Maschell
88da4f3490 Fix loading multiple plugins at the same time. The plugin destination in memory is not aligned by 0x100. 2018-07-01 12:56:02 +02:00
Maschell
763c5c2006 Add hook that provides functions with kernel access to the plugin 2018-06-30 19:40:59 +02:00
Maschell
c959e86226 Format the function_patcher.h 2018-06-30 19:36:50 +02:00
Maschell
3f1d27f7b2 Replace the "void *" of the fs and overlay access with proper function pointers 2018-06-30 16:49:49 +02:00
Maschell
4bdca98d8d Fix for overlay 2018-06-28 23:26:57 +02:00
Maschell
0882634c11 Add support for the new plugin format to the loader!
ALL EXISTING PLUGINS ARE STILL BROKEN AND NEED TO BE BUILT AGAIN
2018-06-28 22:25:04 +02:00
Maschell
79c7571248 Reduce the relocation list length in order to reduce the size of the binary 2018-06-26 10:37:29 +02:00
Maschell
c19a916619 Stop rely on wut for building the loader 2018-06-20 16:16:44 +02:00
Maschell
6e6c727b12 Fix types 2018-06-20 16:15:23 +02:00
Maschell
8c04d34d39 Add support SHN_COMMON relocations (not tested) 2018-06-19 16:12:47 +02:00
Maschell
9a15e549c7 Add support for handling relocations which leads to high addresses (and require a big jump) 2018-06-18 22:22:11 +02:00
Maschell
0d46322cbb Add support for plugins that use wut libraries.
Add the requirement to have wut installed
Modify the plugin makefile, now you need to enable malloc wrapping manually
Change the calling behaviour of the "WUPS_APP_STATUS_CLOSED" hook. PPCExit does NOT get called when opening an application from the system menu.
Add error output to the UDPLogger on failure.
2018-06-17 12:47:45 +02:00
Maschell
3066de2d76 When loading a plugin via wiiload the plugin loader now only closes when the plugin was linked successfully. 2018-06-14 16:15:31 +02:00
Maschell
02b70d1cfa [Loader] Fixed Makefile, mixed up devkitPro and devkitPPC, ups. 2018-05-26 14:24:41 +02:00
Maschell
94dd3cb7ff [Loader] Adding $(DEVKITPPC)/tools/bin to the PATH to make bin2s visible. 2018-05-26 14:19:42 +02:00
Maschell
e5ab52c4af [Loader] Refacored memory mapping class, added function to get size of a mapped memory region.
- Removed log
2018-04-08 13:02:53 +02:00
Maschell
b4a07cfdd5 [Loader] Recuded one chunk used for memory mapping. Reordered them by size. 2018-04-07 10:29:45 +02:00
Maschell
a500538584 [Loader] Logging page table information when no memory was mapped. 2018-04-05 15:59:47 +02:00
Maschell
38856c5916 [Loader] Adjusting the memory mapping 2018-04-05 15:42:29 +02:00
Maschell
721f739db6 [Travis] trying to fix compiling. (Case senstive issue) 2018-04-04 17:00:42 +02:00
Maschell
a839430ea0 [Loader] Added intial code for Memory mapping!
The loader will now map some (hopefully) unused memory into userland using the segement registers. Currently we can get ~ 65mb of extra memory. At the moment, none if this memory is used, at first it needs to be checked if it's really unused.
Press MINUS in the plugin loader to map the memory, this can take a moment. Check the UDPLogger for the mapping information. When the memory was mapped, values will be written to the PHYSICAL memory addresses, and read from the effective addresses as an test..
2018-04-04 16:30:54 +02:00
Maschell
60e49ea83f [Loader] Added serveral minor clean ups. 2018-04-04 15:36:57 +02:00
Maschell
a8d1960dc3 [Loader] Check the current titleid before calling hooks. 2018-04-04 14:33:22 +02:00
Maschell
720762d891 [Loader] Fixed possible deadlock 2018-04-04 14:27:04 +02:00
Maschell
2c311aea66 [Loader] Modified to loader to use "long jumps" to our code. 2018-04-04 14:26:43 +02:00
Maschell
6ca382bf6e Formatting, added bash script for installing/updating the dependencies (based on the travis script) 2018-03-11 17:12:46 +01:00
Maschell
0e60a9bb48 [Loader] Fixed loader when loaded from the browser hax 2018-03-11 13:50:45 +01:00
Maschell
b9b8bceebf [Loader] Added mkdir support to the plugins 2018-03-08 16:38:26 +01:00
Maschell
fd5acd8932 Added "ON_FUNCTIONS_PATCHED" hook 2018-03-07 18:53:43 +01:00
Maschell
fcd217fa67 [Loader] This is case-sensitiv on unix. well. Removed travis caching, was pointless anyway. 2018-03-04 16:40:02 +01:00
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
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
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
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
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