Commit Graph

182 Commits

Author SHA1 Message Date
Maschell
43e2825ec5 Add break in CallHook switch-case 2023-01-04 02:10:12 +01:00
Maschell
bd0a6ce3bf Call the DEINIT_HOOK before restoring the function patches 2023-01-04 02:10:12 +01:00
Maschell
9635766217 Update version string 2022-10-09 16:40:31 +02:00
Maschell
0e56538cb1 Keep track of acquired RPLs and release them on exit 2022-10-05 21:01:41 +02:00
Maschell
2882635f6f Set a custom OSDynLoad Allocator when processing relocations 2022-10-03 22:04:26 +02:00
Maschell
0a254e59f4 Fix resetting the trampoline data to avoid a crash when re-loading plugins 50+ times 2022-10-03 22:04:26 +02:00
Maschell
5303e05508 Call the DEINIT_PLUGIN hook after before unloading a plugin 2022-10-03 22:04:26 +02:00
Maschell
178085750d Use switch-case for hook calling 2022-10-03 22:04:26 +02:00
Maschell
616fc832d1 Ignore files that don't end with ".wps" or start with "." or "_" 2022-09-24 13:19:12 +02:00
Maschell
9dc58d389f Config: Move "onButtonPressed" check out of the loop 2022-09-23 22:45:26 +02:00
Maschell
030c9b4265 Config: Implement "onSelected" callback 2022-09-23 22:45:26 +02:00
Maschell
4a2f60592e Config: Implement "isMovementAllowed" callback 2022-09-23 22:45:26 +02:00
Maschell
e7eeb10873 Config: Add support for X,Y, L3, R3, PLUS and MINUS in "onButtonPressed" callback 2022-09-23 22:45:26 +02:00
Maschell
e5b63ebf9f Bump the version 2022-09-19 22:58:44 +02:00
Maschell
f6d8e850d2 Truncate the headline in config menu 2022-09-19 21:55:48 +02:00
Maschell
80d577b1dd Ignore stick inputs for the config menu combo. 2022-09-19 21:55:48 +02:00
Maschell
e3d3f8a12e Exit the config menu when you RELEASE the home button 2022-09-19 21:55:48 +02:00
Maschell
7aaa35197d Log the current module version on each application start 2022-09-19 16:14:33 +02:00
Maschell
a818088f14 Display the correct version in the config menu 2022-09-19 16:14:33 +02:00
Maschell
c89db187b6 Fix opening the config menu with the classic controller 2022-09-19 16:03:39 +02:00
Maschell
5da5c0e117 Make sure the extensionType is valid before usin KPADData in the config menu 2022-09-19 16:03:39 +02:00
Maschell
edf06a5ee8 Check arguments for WUPSConfigItems exports 2022-09-19 12:58:06 +02:00
Maschell
60daf7aff6 Reduce stacksize for WUPSConfigItem 2022-09-19 12:58:06 +02:00
Maschell
37fb50eebe Fix displaying the config menu on games which run in native 1080p 2022-09-18 21:11:35 +02:00
Maschell
29b0dd6114 ConfigMenu: Render a proper message if not configurable plugins are loaded 2022-08-29 00:49:48 +02:00
Maschell
df01d3785a ConfigMenu: Remove unused option to enable plugins 2022-08-29 00:49:48 +02:00
Maschell
17aa2c0231 ConfigMenu: Redraw the next frame after button has been pressed 2022-08-29 00:49:48 +02:00
Maschell
876d7f0c29 Avoid memory leak in StorageUtils 2022-08-26 22:31:18 +02:00
Maschell
4103493388 Use latest WUPS version 2022-08-26 22:31:18 +02:00
Maschell
ff5d23cae2 Optimize file reading 2022-08-08 12:02:25 +02:00
Maschell
3f3c335a8f Update Dockerfile to use latest wut version 2022-07-25 13:24:51 -07:00
Maschell
9cd0d43111 Fix loading plugins with ".wut_load_bounds" section 2022-05-14 15:43:30 +02:00
Maschell
cda9c3e055 Rewrite the plugin backend, use smart pointers is possible, don't persist in structs and simplify code 2022-05-14 15:43:30 +02:00
Maschell
fb6373ec63 Fix elfLinkOne to support a tramp in both directions 2022-05-14 15:43:30 +02:00
Maschell
ad63f27a8d Add the module name to the logs 2022-05-14 15:43:30 +02:00
Maschell
a7494c59cb Minor code cleanup 2022-04-23 09:11:36 +02:00
Maschell
48eb915a70 Use DEBUG_FUNCTION_LINE_ERR on error. 2022-04-23 09:11:36 +02:00
Maschell
598c928d79 Control verbose logging via buildflags 2022-04-23 09:11:36 +02:00
Maschell
86a946a9fb Store the plugin configs at the correct location when running inside an environment 2022-02-26 16:43:08 +01:00
Maschell
b0d1391e5a Call deinitLogging on exit not request exit 2022-02-26 16:43:08 +01:00
Maschell
a6ced98864 Use proper alignmend buffer for reading/writing 2022-02-26 16:43:08 +01:00
Maschell
a916a6e42b Stop calling deinit when unloading plugins 2022-02-26 16:43:08 +01:00
Maschell
ae3719c833 Only call init malloc/newlib/stdcpp on init 2022-02-26 16:43:08 +01:00
Maschell
4f5ba85c39 Only call fini when the plugin will be unloaded 2022-02-26 16:43:08 +01:00
Maschell
6df6d871aa Include cleanup, fix compiling with latest wut, 2022-02-26 16:43:08 +01:00
Maschell
2547c7edca Format the code via clang-format 2022-02-04 16:35:53 +01:00
Maschell
aca917c8aa Load the plugins from the environment directory 2022-01-30 13:31:58 +01:00
Maschell
614f58ea8e Formatting, fix spelling, clean up 2022-01-27 12:47:33 +01:00
Maschell
84afdb3179 Fix building with logs 2022-01-26 14:09:36 +01:00
Maschell
93eca9c403 Deinit logging, only do logging when built with make DEBUG=1 2022-01-23 21:43:54 +01:00
Maschell
b49f561430 WUPS 0.7.0 support 2022-01-23 21:16:38 +01:00
Maschell
79eb5758b7 Use std::shared_ptr 2021-12-15 17:09:30 +01:00
Maschell
64f78ccec4 Patch Kernel to resolve symbols names of plugins 2021-12-15 17:04:30 +01:00
Maschell
719ae8e4da Decrease the maximum plugin description length to 100 byte. 2021-12-11 13:00:54 +01:00
Maschell
1f2b65b308 Use the LoggingModule if possible 2021-11-06 23:16:37 +01:00
Maschell
fe2e7d6fa9 WUPS 0.6.1 support 2021-10-01 17:25:48 +02:00
Maschell
aa90e2478b Formatting and cleanup 2021-09-25 14:26:18 +02:00
Maschell
13ed348f43 Add support for the config and storage API. Bump version to 0.6 2021-09-24 20:37:54 +02:00
Maschell
ed792716fe Code cleanup 2021-09-18 12:21:27 +02:00
Maschell
a968fb3277 Add missing "WUMS_USE_WUT_DEVOPTAB()" hook, use latest WUPS/WUMS version in Dockerfile 2021-09-17 16:45:11 +02:00
Maschell
5247775b03 Support for WUPS 0.5, compile with latest wut version 2021-04-17 14:05:39 +02:00
Maschell
51e1c4c1f2 Tweak some compiler options 2021-04-17 13:38:36 +02:00
Maschell
fe64a68d41 Stop logging every hook call 2021-04-01 00:44:05 +02:00
Maschell
b48a53b63d Try to allocate memory for the plugins via the memory mapping module 2021-04-01 00:37:22 +02:00
Maschell
f11649bc36 Support WUPS 0.4, remove some unused code. 2021-03-16 17:55:32 +01:00
Maschell
189af02743 Reduce logging 2021-02-19 19:41:04 +01:00
Maschell
75735e4e4d Remove some unneeded logging 2021-01-10 18:20:54 +01:00
Maschell
f0b78caec3 Updating logging messages, call DCFlushRange on the actual heap instead of a hardcoded address, general clean up. 2021-01-10 13:17:47 +01:00
Maschell
881337ca41 Allocate memory for storing plugins on the default heap 2021-01-01 01:59:36 +01:00
Maschell
ec443161af Fix potential memory leaks 2021-01-01 01:59:09 +01:00
Maschell
db0f9f70d4 Read plugins into a aligned buffer to improve reading speed. 2020-12-28 14:46:30 +01:00
Maschell
f7b4b568d2 Remove \n in log messages 2020-12-28 14:40:53 +01:00
Maschell
4ef9a90378 Fix patching of dynamic functions by resetting there status on exit 2020-12-28 14:38:49 +01:00
Maschell
75bbf9b457 Call ApplicationEnd-hooks inside WUMS_APPLICATIONS_ENDS, remove __init_wut()/__fini_wut() calls 2020-12-28 14:38:08 +01:00
Maschell
96cfe71230 Add OSDynLoad_AddNotifyCallback to patch function if a new RPL was loaded 2020-12-26 15:59:06 +01:00
Maschell
e9bd4651ca Clean up and formatting 2020-12-26 14:17:50 +01:00
Maschell
0467178650 Add missing __init_wut and __fini_wut calls 2020-12-26 13:27:50 +01:00
Maschell
2e2c46324c Implement WUPS_LOADER_HOOK_VSYNC hook 2020-08-09 18:14:58 +02:00
Maschell
c58428c4b2 Add RELEASE_FORGROUND and ACQUIRED_FOREGROUND hooks 2020-08-09 18:01:18 +02:00
Maschell
c76edf09c4 Actually read the target process from the plugin while function patching 2020-06-19 17:04:39 +02:00
Maschell
ce73ac48e0 Use the function patcher module for the plugin function patches 2020-06-13 16:57:53 +02:00
Maschell
4aeeb09901 Init default return value in WUPSGetPluginDataForContainerHandles 2020-06-12 21:10:32 +02:00
Maschell
2633d983f3 Fix check for NULL-pointer in WUPSGetLoadedPlugins 2020-06-12 21:06:34 +02:00
Maschell
dfb8828829 Use libfunctionpatcher for non-plugin function patches 2020-06-12 20:51:21 +02:00
Maschell
4d13709c00 Check the module information struct version 2020-06-07 14:10:31 +02:00
Maschell
4edc55f02e Get module_information_t pointer from args instead of "guessing" it 2020-06-06 22:10:41 +02:00
Maschell
506b8eaf9a Use definitions from WUMS if possible 2020-06-06 16:40:25 +02:00
Maschell
42866ffbac Don't clear the .bss section anymore, call the wut init functions only once, except the devop one 2020-06-03 19:33:09 +02:00
Maschell
2b517b5699 Remove the elfio reader from the PluginData class, use it when it's needed 2020-06-03 18:34:31 +02:00
Maschell
1917ff9fb4 Adjust the setter the PluginContainer to use const values 2020-06-03 18:30:05 +02:00
Maschell
592ecf8eed Fix setting the trampolineID 2020-06-03 18:23:23 +02:00
Maschell
cfc2d4197e Use alloc/free from memorymapping module if possible 2020-06-03 18:22:44 +02:00
Maschell
b2562f6275 Adopt to new chnages of WUMS 2020-06-03 18:21:43 +02:00
Maschell
62d93a065f elfio: use delete instead of free 2020-06-03 18:20:19 +02:00
Maschell
48683e167e Add flush after patching the functions 2020-05-29 19:27:55 +02:00
Maschell
518d53b5fb Update module_defines.h to match latest SetupPayload version 2020-05-29 17:16:34 +02:00
Maschell
13e5d854d1 Use libkernel for a KernelCopy instead register own kernel functions. 2020-05-28 21:58:15 +02:00
Maschell
9ee8085a64 OSReceiveMessage hook: Only look into the message if the result is true 2020-05-28 20:51:56 +02:00
Maschell
7a7a1f7a63 Organize imports and format code 2020-05-28 20:51:31 +02:00
Maschell
80a0712519 Make sure to use plugins only in proccess 2 and 15. 2020-05-28 20:49:52 +02:00