-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rewrite the plugin backend, use smart pointers is possible, don't per…
…sist in structs and simplify code
- Loading branch information
Showing
41 changed files
with
783 additions
and
1,881 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
FROM wiiuenv/devkitppc:20220213 | ||
FROM wiiuenv/devkitppc:20220507 | ||
|
||
COPY --from=wiiuenv/wiiumodulesystem:20220127 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/wiiupluginsystem:20220123 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/libfunctionpatcher:20210924 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/libmappedmemory:20210924 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/libwupsbackend:20220213 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/wiiumodulesystem:20220512 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/wiiupluginsystem:20220513 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/libfunctionpatcher:20220507 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/libmappedmemory:20220211 /artifacts $DEVKITPRO | ||
COPY --from=wiiuenv/libwupsbackend:20220514 /artifacts $DEVKITPRO | ||
|
||
WORKDIR project |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,22 @@ | ||
#pragma once | ||
|
||
#include "plugin/PluginContainer.h" | ||
#include <common/plugin_defines.h> | ||
#include <forward_list> | ||
#include <memory> | ||
#include <vector> | ||
#include <wums/defines/relocation_defines.h> | ||
|
||
class PluginManagement { | ||
public: | ||
static void doRelocations(const std::vector<std::shared_ptr<PluginContainer>> &plugins, relocation_trampoline_entry_t *trampData, uint32_t tramp_size); | ||
static std::vector<std::unique_ptr<PluginContainer>> loadPlugins(const std::forward_list<std::shared_ptr<PluginData>> &pluginList, relocation_trampoline_entry_t *trampoline_data, uint32_t trampoline_data_length); | ||
|
||
static void memsetBSS(const std::vector<std::shared_ptr<PluginContainer>> &plugins); | ||
static void callInitHooks(const std::vector<std::unique_ptr<PluginContainer>> &plugins); | ||
|
||
static void callInitHooks(plugin_information_t *pluginInformation); | ||
static bool doRelocations(const std::vector<std::unique_ptr<PluginContainer>> &plugins, relocation_trampoline_entry_t *trampData, uint32_t tramp_size); | ||
|
||
static void PatchFunctionsAndCallHooks(plugin_information_t *gPluginInformation); | ||
static bool doRelocation(const std::vector<std::unique_ptr<RelocationData>> &relocData, relocation_trampoline_entry_t *tramp_data, uint32_t tramp_length, uint32_t trampolineID); | ||
|
||
static bool doRelocation(const std::vector<std::shared_ptr<RelocationData>> &relocData, relocation_trampoline_entry_t *tramp_data, uint32_t tramp_length, uint32_t trampolineID); | ||
static bool DoFunctionPatches(const std::vector<std::unique_ptr<PluginContainer>> &plugins); | ||
|
||
static void unloadPlugins(plugin_information_t *pluginInformation, MEMHeapHandle pluginHeap, BOOL freePluginData); | ||
|
||
static std::vector<std::shared_ptr<PluginContainer>> | ||
loadPlugins(const std::vector<std::shared_ptr<PluginData>> &pluginList, MEMHeapHandle pHeader, relocation_trampoline_entry_t *trampoline_data, uint32_t trampoline_data_length); | ||
|
||
static void RestorePatches(plugin_information_t *pluginInformation, BOOL pluginOnly); | ||
static bool RestoreFunctionPatches(const std::vector<std::unique_ptr<PluginContainer>> &plugins); | ||
}; |
Oops, something went wrong.