Commit Graph

327 Commits

Author SHA1 Message Date
Maschell
c3cca4926c Build with WiiUModuleSystem, export a bunch of useful functions to control the backend 2020-05-17 21:08:13 +02:00
Maschell
169bea55be Allow direct access to plugin data buffers 2020-05-17 21:07:26 +02:00
Maschell
192b00baae Adopt module_defines to be compatible to the latest SetupPayload 2020-05-17 21:07:07 +02:00
Maschell
b63723eb72 Add option to delete or not delete the actual plugin data when unloading plugins 2020-05-17 21:06:11 +02:00
Maschell
49fde27123 Make sure to restore patches before unloading plugins 2020-05-17 21:06:00 +02:00
Maschell
da5b26b583 Add callDeinitHooks and RestorePatches to the PlugingManagement 2020-05-17 21:04:16 +02:00
Maschell
a2816cea61 Addned functions to load plugin meta information from a path or buffer 2020-05-17 20:50:31 +02:00
Maschell
3d642c25d0 Fix logging of std::string 2020-05-17 20:50:05 +02:00
Maschell
3652eb4204 Remove debug logs 2020-05-17 20:49:48 +02:00
Maschell
05ef5246f0 Improve logging 2020-05-17 20:49:40 +02:00
Maschell
9a5d3a843f Add support for loading a list of plugin data on the next application change 2020-05-17 20:49:31 +02:00
Maschell
db9b113eab Add PluginDataPersistence 2020-05-17 20:45:10 +02:00
Maschell
3b9f4a9a51 Add missing copy constructors 2020-05-17 20:43:04 +02:00
Maschell
7247ad3093 Free trampolin data when unloading plugins 2020-05-17 20:41:11 +02:00
Maschell
e38cd528bf Add missing import 2020-05-17 20:40:12 +02:00
Maschell
3af7de28d8 Move global variables into a own file 2020-05-17 20:40:05 +02:00
Maschell
441191e40b Fix warning by not using the c++17 flag on c files 2020-05-17 20:36:46 +02:00
Maschell
ccdc22c923 Improve logging 2020-05-08 11:17:24 +02:00
Maschell
3fb7f80050 Move loadPlugins function to PluginManagement 2020-05-03 14:20:00 +02:00
Maschell
0a4652c10a Add a function to unload all plugins from memory in the PluginManagement 2020-05-03 14:16:11 +02:00
Maschell
ead8b14f98 Add the PluginHeapHandle as an argument instead of using the global variable 2020-05-03 14:14:22 +02:00
Maschell
037e1f2ce8 Fix calculating the size needed to store the plugins in memory. 2020-05-03 13:51:39 +02:00
Maschell
80eb885dd2 Refactor loading plugins 2020-05-03 12:37:20 +02:00
Maschell
0c0680be77 Even more formatting 2020-05-03 12:30:15 +02:00
Maschell
4bf4a0eeea Formatting 2020-05-03 12:25:38 +02:00
Maschell
c1c7594926 Save the address of memory allocated on the plugin heap 2020-05-03 12:23:50 +02:00
Maschell
53f454f6ed Fix logic behin calling hooks, improve logging when calling hooks. 2020-05-03 11:40:44 +02:00
Maschell
e556490d27 Call the CRT hooks at each application start, not just once. 2020-05-03 11:34:43 +02:00
Maschell
7c0476fab4 Formatting of hooks.cpp, improving logs when a hook is not implemented 2020-05-03 11:16:22 +02:00
Maschell
4f5de0f889 Add intial support for function patching via plugins 2020-05-03 11:13:55 +02:00
Maschell
6d8fd08f25 Increase the maximum number of relocations from 500 to 1000. Refactor some code to a "PluginManagement" class. 2020-05-03 10:21:05 +02:00
Maschell
89445b77c2 Calling FINI_WUT_DEVOPTAB at the end of a application is softlocking.
MEM2 is cleared anyway so this shouldn't be a memory leak. Needs further research
2020-04-29 18:07:03 +02:00
Maschell
2705a91c13 First iteration of the WUPS-Backend as a .rpx/module for the SetupPayload
- Function replacements are not implemented yet
- Serveral features like the config menu are missing

Still WIP
2020-04-29 18:02:36 +02:00
Maschell
a83d11379e Fix typo 2019-11-19 18:35:07 +01:00
Maschell
fbb6c98314 Add .bss/.sbss clearing 2019-11-18 21:10:11 +01:00
Maschell
69ed56522a Fix some compiler warnings 2019-11-18 11:39:09 +01:00
Maschell
8cd0367514 Add support for new CRT hook, increase the maximum hooks per plugin to 25 2019-11-17 23:05:13 +01:00
Maschell
7d7a668210 Add new IPC function to get information for a plugin by filepath 2019-11-16 15:14:17 +01:00
Maschell
532d6f8454 Add new IPC function 2019-11-16 15:13:52 +01:00
Maschell
aed66958e9 Serverval small stuff 2019-11-16 15:13:16 +01:00
Maschell
5cb55e3081 Increase the maximum function name length 2019-11-16 15:12:51 +01:00
Maschell
8b6f465892 Adapt to new WUPS hooks. 2019-11-16 15:12:30 +01:00
Maschell
73640c01f5 Update ipc interface, some functions are not static in the PluginLoader 2019-11-16 15:04:04 +01:00
Maschell
82f5f6eb05 Remove some debug messages 2019-11-16 15:02:53 +01:00
Maschell
d305958ea4 Add new functions to the dynamic_libs 2019-11-16 15:01:36 +01:00
Maschell
6b6038a004 Add support for patching functions at a physical address 2019-11-16 15:01:01 +01:00
orboditilt
614f75364b Fix the filename. 2019-08-18 22:39:09 +02:00
orboditilt
2edccb1b68 Add a README 2019-08-18 22:38:48 +02:00
orboditilt
b7aa6401fe Just the backend of the plugin system. 2019-08-15 10:45:18 +02:00
Maschell
0c0f9f36e2 Add missing libs for linking to fix compiling 2019-05-14 22:29:28 +02:00