Commit Graph

229 Commits

Author SHA1 Message Date
Maschell
9e4930acec Add missing lock to gLoadedData access 2024-04-25 16:19:26 +02:00
Maschell
d2adc304f0 Move global variables out of data section 2024-04-25 16:19:26 +02:00
Maschell
175a4fde53 ConfigMenu: ignore first input data 2024-04-25 16:19:26 +02:00
Maschell
076b4b8058 Add support for latest libwupsbackend 2024-04-25 16:19:26 +02:00
Maschell
f88e72a387 StorageAPI: Store root item not inside a shared_ptr 2024-04-25 16:19:26 +02:00
Maschell
8b215a5ea7 For plugin config v2 use the name from the config in the config menu 2024-04-25 16:19:26 +02:00
Maschell
a66bd1f275 Simplify NotificationUtils 2024-04-25 16:19:26 +02:00
Maschell
950a55cd8f Minor cleanups 2024-04-25 16:19:26 +02:00
Maschell
4a03f3efe6 Bump version to 0.3.0-dev 2024-04-25 16:19:26 +02:00
Maschell
3a91c90e76 ConfigMenu: Fix calling onCloseCallback for item which are not in a category 2024-04-25 16:19:26 +02:00
Maschell
823c94ca9c StorageAPI: support for loading/storing empty strings/binaries 2024-04-25 16:19:26 +02:00
Thomas Rohloff
184ca0bc5c Don't draw transparent pixels
Signed-off-by: Thomas Rohloff <v10lator@myway.de>
2024-04-25 16:19:26 +02:00
Maschell
c38ef605cc StorageAPI: Update GetItemSize to take an additional itemType parameter to avoid a accidential string to binary conversion (e.g. for hashes) 2024-04-25 16:19:26 +02:00
Maschell
8cc78de58c StorageAPI: WUPS_STORAGE_ERROR_NOT_FOUND on StorageOpen is not an error anymoe 2024-04-25 16:19:26 +02:00
Maschell
acc372c836 Simplify the StorageAPI 2024-04-25 16:19:26 +02:00
Maschell
921b5ce157 Implement new ConfigAPI and new Config Menu 2024-04-25 16:19:26 +02:00
Maschell
d1f701abab Fix getNearestFunctionSymbolData 2024-04-25 16:19:26 +02:00
Maschell
ed13894dc3 Implementation of new StorageAPI 2024-04-25 16:19:26 +02:00
Maschell
fb2ea68627 Deprecate WUPS_LOADER_HOOK_INIT_STORAGE hook and implemenation 2024-04-25 16:19:26 +02:00
Maschell
553d887526 Store the WUPS version a plugin was compiled with inside the MetaInformation 2024-04-25 16:19:26 +02:00
Maschell
36e99e95a2 Update PluginInformation to return std::optional instead of raw pointer 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
1e7c77b39f Improve error message when parsing a plugin failed 2023-08-16 11:03:28 +02:00
Maschell
07de996bf9 Add support for notifications on error 2023-08-16 11:03:28 +02:00
Maschell
efcde57f74 Config: Delete corrupted config files 2023-08-16 11:03:28 +02:00
Maschell
7b3558b892 Bump version 2023-07-19 18:35:45 +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
64667d6169 Fix compiling with latest wut, Update Dockerfile 2023-07-18 12:48:54 +02:00
Maschell
32150a8c82 Bump Version 2023-03-23 15:04:12 +01:00
Maschell
debc0eda5e Config: Fix opening empty config categories, display information text 2023-03-12 13:16:42 +01:00
Maschell
21fec8e451 Config: Fix possible crash when navigating the config menu 2023-03-12 13:16:42 +01:00
Maschell
12c565681f Bump version 2023-02-19 18:57:27 +01:00
Maschell
d8a906f1db Extend the wupsbackend api to provide some extra functions to query plugin information 2023-02-19 18:44:19 +01:00
Maschell
b579bbdfa9 Update to latest WUPS and libfunctionpatcher 2023-02-17 11:52:35 +01:00
Maschell
cc007a5987 Bump version to 0.2.1 2023-01-10 18:32:46 +01: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
a2081206ed Fix memory leak in DrawUtils::print function 2023-01-05 22:09:23 +01:00
Maschell
e951299ea9 Improve config menu by adding a loading screen 2023-01-05 22:09:23 +01:00
Maschell
43ddb8f1dd Improve config menu navigation 2023-01-05 22:09:23 +01:00
Maschell
a039901388 Fix the scroll indicator in config menu 2023-01-05 22:09:23 +01:00
Maschell
e12b8a9d84 Update the config menu UI to show the correct controls 2023-01-05 22:09:23 +01:00
Maschell
e7186d67fb Use libschrift instead of Freetype for font rendering 2023-01-04 22:12:14 +01:00
Maschell
333359c75d Avoid using streams in ELFIO to massively reduce the binary size 2023-01-04 16:35:06 +01:00
Maschell
be5574ee9f Remove address translator from ELFIO 2023-01-04 16:35:06 +01:00
Maschell
8367e0e32c Remove all save functions from ELFIO. We don't need them anyway 2023-01-04 16:35:06 +01:00
Maschell
c9ccf0f657 Update to latest ELFIO and undo any changes directly to ELFIO 2023-01-04 03:14:27 +01:00
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