Commit Graph

67 Commits

Author SHA1 Message Date
Maschell
1e6c687a71 Add simple "safe mode" which disable all non-basearoma plugins 2024-11-28 21:35:25 +01:00
Maschell
acde4d666d Add initial support for persisting a lsit inactive plugins 2024-11-28 21:30:05 +01:00
Maschell
8be76541cd Initial support for disabling/enabling plugins in config menu 2024-11-28 21:21:28 +01:00
Maschell
b34fa84bed Only show active plugins in config menu 2024-11-28 20:57:40 +01:00
Maschell
629dc0393f Make PluginLinkInformation not optional anymore in PluginContainer, add stub link data if missing 2024-11-28 20:45:46 +01:00
Maschell
ab99e6dcf7 Rename PluginInformation to PluginLinkInformation and make it optional in PluginContainer 2024-11-28 20:40:00 +01:00
Maschell
1524f0a6a9 Update plugin (un)loading logic to keep plugins loaded if possible 2024-11-28 20:26:17 +01:00
Maschell
447e1eb218 Code cleanup 2024-11-28 19:44:14 +01:00
Maschell
d1cfff4861 Fix displaying the config menu when using 480i + 4:3 or 576i as output resolution 2024-05-10 12:34:34 +02:00
Maschell
7d07f6525b Remove unnecessary std::unique_ptr usages 2024-04-25 16:19:26 +02:00
Maschell
a66bd1f275 Simplify NotificationUtils 2024-04-25 16:19:26 +02:00
Maschell
acc372c836 Simplify the StorageAPI 2024-04-25 16:19:26 +02:00
Maschell
cc5acd0980 - use const auto& where possible
- avoid using const std::unique_ptr& and const std::shared_ptr&
- avoid wrapping results in std::optional
- prefer std::string_view over const std::string&
- update FSUtils::LoadFileToMem to write into std::vector<uint8_t>
- use std::span when possible
- Avoid unnessecary copies in PluginDataFactory
- allocate plugins as HeapMemoryFixedSize which bascially is a std::unique_ptr with fixed size
2024-04-25 16:19:26 +02:00
Maschell
07de996bf9 Add support for notifications on error 2023-08-16 11:03:28 +02:00
Maschell
4b2480fda0 Add additional checks to make sure thread clean up callbacks are valid 2023-07-18 12:48:54 +02:00
Maschell
2071c6cbf8 Update to use the latest libfunctionpatcher 2023-01-07 13:44:05 +01:00
Maschell
47ad061f5c Use WUMS 0.3.2 2023-01-07 13:44:05 +01:00
Maschell
bd0a6ce3bf Call the DEINIT_HOOK before restoring the function patches 2023-01-04 02:10:12 +01:00
Maschell
0e56538cb1 Keep track of acquired RPLs and release them on exit 2022-10-05 21:01:41 +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
7aaa35197d Log the current module version on each application start 2022-09-19 16:14:33 +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
48eb915a70 Use DEBUG_FUNCTION_LINE_ERR on error. 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
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
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
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
1f2b65b308 Use the LoggingModule if possible 2021-11-06 23:16:37 +01: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
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
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
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
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
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
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