Below is a list of all updates to Reloaded Mod Loader.
[Plugins] GameBanana Plugin now supports explicit statement of Item ID and Item Type allowing for redistribution of mods outside of GameBanana while retaining update support.
[Plugins] GameBanana and Github update plugins have now been enabled by default.
See Github Releases for full list of changes.
Converted Project to Semantic Versioning
Implemented Plugin System | Incl. GB/Github Update Support
Support for Explicit DLL Names
Autogeneration of Config.json Templates
Optimized Reloaded-Assembler Latency
Implemented Direct Shortcuts to Launch Games
Implemented Pseudo-Launcher (see Github/Launcher for details)
Optimized X64 Loader Startup Times
Reimplemented Auto Attach
Implemented/Exposed Pointers to Arbitrary C# functions (e.g. generate pointer to custom convention 'usercall/userpurge' C# function)
Improve and Further Produce Documentation
libReloaded - Overlays | Improved Frame Pacing
Remove Known Instances of Potentially Intrusive Open File Handles
Pattern Scanner Performance Improvements
Reloaded-GUI: Support for Borderless Resizing
Reloaded-GUI: Support for Recursive Control Theming
Reloaded-Input: Code Cleanup & Refactoring
BugFix: Same-Game dependencies not updated in the GUI.
Steam-API Hook (See Global Mod List)
[Launcher, Loader, IO] Individual game profiles can now include commandline parameters to be passed onto applications, separated by white spaces.
[Loader] Make Reloaded-Loader preload Reloaded-Assembler: Reloaded-Assembler should no longer bother the mod developers working with code when removing/moving some library files ("this file is used by X").
[All] Update NuGet Dependencies: All 3rd party external NuGet packages have been updated and briefly tested for compatibility.
[Launcher] The launcher now remembers the last launched/selected game and will re-apply the last selection when opening the launcher the following time. The selection of the Manage Menu is also now synchronized with the Main Menu selection.
[Assembler] Reloaded-Assembler will now automatically shut itself down after ~10 seconds when all clients connected to it shutdown or disconnect (no more Assembler permanently active in background).
[Template] Implement full AppDomain level DLL separation. This should allow different mods to load different versions of the same libraries at once, which became an issue identified when the external dependency libraries got updated in 1.2.0.
[X86 Hooks] You can now specify extra stack space to be reserved when calling external functions. This will allow developers to hook the peskiest of compiler optimized functions.
[Launcher - Themes] The launcher titlebar title now updates when themes are switched rather than only after exiting the menu.
[NuGet] The NuGet packages should once again display their documentation in IntelliSense. There was a short period after the last update where they failed to do so. This was because IntelliSense appears to only check XMLs of the same filename as the DLL file and to avoid conflicts, I have started versioning the DLLs in name.
[NuGet] The NuGet packages no longer point to publically unlisted test packages also caused by the start of DLL versioning... whoops!
[Hooks] Expose original function wrapper address. For debugging purposes, developers will know what this means.
[All] Minor optimizations to the .csproj project entries for the libReloaded libraries to make them easier to package for NuGet in the future.
[File Redirector New] Minor code adjustments and documentation completion.
[Hooks] Untested Cheat-Engine style assembly hook hidden in the main dev library. Literally untested.
[NuGet] XML Documentation is now available for the Reloaded packages, allowing you to visually see all of the comments available in libReloaded source code when using the NuGet package.
[Memory R/W] Allow for the catching of exceptions if the user attempts to access unallocated "corrupted" memory.
[Samples] New experimental File Monitor and File Redirector now allow for the remaining odd known to have their file accesses traced and file accessed redirected. Notable examples include Dolphin Emulator and Sonic Mania (& Plus).
[Memory R/W] Improve byte array to structure and structure to byte array conversion performance significantly (used in your ReadMemory and WriteMemory).
[Memory R/W] Add overloads where data may be passed by reference to reduce copying and improve performance.
[libReloaded] Fixed bug where the modified version of the LiteNetLib networking library would fail to adhere to its max peer/client limitations as it thought multiple clients were one client.
[Loader] Remove the accidental oversight whereby the max client count was implicitly set to one and refused to connect clients due to the bug fix above.
[libReloaded] Resolved clashes where a mod can load an earlier version of libReloaded lacking features necessary for sample mods by appending the library version to the library module.
[libReloaded] To prevent clashes whereby a mod can load an earlier version of the library and a mod loaded later needed a newer version of the library, all future releases of the libraries will have their version name appended. Any mod developers making use of code in their mods are urged to update their libReloaded libraries (as is already in the template) to prevent clashes with other old/unupdated mods.
[Launcher] Increased padding around left + right edges of games' menu game list.
[Launcher] Decreased length for mod titles, increased length of author names.
[Launcher] Launcher will inform the user if launching explorer in game directory fails.
[Launcher] Implemented a first time basic welcome screen.
[Launcher] Add link to this repository in "about" tab.
[Documents] Updated User Guide
[IO] Disabled automatic updates by default.
[Samples] Stripped X86/X64 in sample names.
Installer should no longer throw a false positive (Windows Defender).
[Unicode] Add support for Unicode file paths in Reloaded from launching applications to Reloaded's injector.
[Loader] Reloaded-Loader will no longer resume suspended threads when attaching into an already running game.
[Samples] Fix Incorrect "Lack of x64" Message in Sample mods' source code.
[Project] Remove old Github-Release Configuration
Reduced the chances of clashes in load times for WPF based overlays.
[Loader] Fix failure to create a new local server when multiple loader instances are ran.
[libReloaded | Memory Pages] Fix 32bit overflow if maximum address not fully defined.
[libReloaded| Memory Pages] Limit access to signed page addresses only.
[Mod Template + libReloaded] Print Exceptions on Init to Console
[Assembler] Fix potential crash if Reloaded-Assembler-Port.txt is empty in %temp%
[libReloaded Hooks] Fix Incorrect Floating Point Parameter Passing logic in X86, do not pass in X64
[Reloaded-GUI] Add LoadCurrentTheme() method
[Reloaded-GUI] Move Bindings' Location
Drastically reduced compile size.
Improved build times for developers.
File Redirector will now pick up file renames, additions and deletions in real time letting you add or remove files to be redirected as a game is running.
Upgraded to .NET Framework 4.7.2
New dependency system for modifications, allowing mods to specify other mods to be loaded before your mod.
See Github for full list of changes: https://github.com/sewer56lol/Reloaded-Mod-Loader/releases
New experimental build with X64 hooks. To receive the update, enable Beta updates in About tab.
Demo [CEMU]: https://cdn.discordapp.com/attachments/404892723418497044/448328997470863380/2018-05-21_20-39-22.png [Button Prompts]
Demo #2 [PPT]: https://cdn.discordapp.com/attachments/404892723418497044/448325548406734848/2018-05-21_20-25-40.png
Images provided via @SlashSMC, modifications are either owned by him or ports of existing mods as test.