Releases: Reloaded-Project/Reloaded-II
[Stable] 1.4.3
Bug FIxes
- PropertyGrid from WPF Toolkit now has its stock, default theme.
- Updated Dependencies (notably Reloaded.WPF no longer has implicit inheritance for TextBlock, had to update many menus to reflect this).
Potential Bugs
As I had to adjust every single instance of a particular control, there's tiny possibility of there being black text in some menu. Please let me know if you run across it.
[Stable] Minor Bugfix 1.4.2
- Fixed bug where loading 0 mods will yield an error message introduced in the last major update.
- Updated Kernel32AddressDumper to use new VS2019 project format and .NET Core 3.
[Stable] Mod Update Hotfix | 1.4.1
Bug Fix
Fixed bug where mod updates may get extracted to the wrong folder if the mod uses the new ReadyToRun format.
[Stable] Mechanical Resonance: Protocol Dream! | 1.4.0
Prerequisites
- Windows 7, 8.1, 10 or above.
- .NET Core 3.0 Runtime (Both x64 and x86)
- .NET Core 3.0 Desktop Runtime (Both x64 and x86)
- Visual C++ Redist 2015/17/19 (x64) and (x86)
X86 Runtimes are necessary for using Reloaded II with 32bit applications.
X64 Runtimes are necessary for running Reloaded II's Launcher and 64bit applications.
You need to install both the "Runtime" and the "Desktop Runtime".
New Features
-
Mod Collections: You can now save and load sets of mods to use for any application. It also comes with some nifty features.
- If a mod loaded from a set is missing, the launcher will inform you and try to download the mod for you (if possible).
- If a mod is not enabled for the game, the launcher will inform you and let you either enable the mods for the application or disable the mods from running.
-
Support for ReadyToRun Format
- ReadyToRun is a new .NET Core assembly (DLL) format that combines precompiled native code with existing IL code to bring the best of both managed and unmanaged worlds.
- It significantly improves startup times at the expense of slightly inflating the size of the applications/mods (and needing separate x86/x64 versions).
- R2R has been implemented at both, Launcher/Loader level and mod level, Launcher startup times cut down by 60%!!
- To get started publishing mods in the R2R format, read this guide. All of my mods were upgraded to this format.
-
Native Mod Loading Support: Reloaded II can now load mods containing native DLLs.
- Currently not documented, aside from this release notes, however easy to figure out.
- This functionality was added for those people who may at one point in the future migrate from other mod loaders/frameworks.
- Supported entry points (DLL Exports) include:
ReloadedStart
,InitializeASI
,Init
returning void without parameters in this order. If any of these is called, others will be not. - Resume, Suspend etc. is supported. However you REALLY need to know what you're doing with native code if you wish to implement those features.
- For more info consider looking in
NativeMod.cs
.
Improvements (User)
-
Asynchronous Mod Loader Loading: Starting the Mod Loader Server host and startup (Steam) DRM checks are now asynchronous, reducing boot times.
-
Parallelized Mod Loading: Loading mods has been parallelized to take advantage of the power of your many cores!
- The mod loading process consists of a few steps. Two important pre-processing steps involve loading all interfaces from mods that are to be shared with other mods and finding the entry points of each of the mods via reflection.
- These pre-processing steps are now ran in parallel to speed up startup times, returning mods that are "Ready to Start".
- Then we start them in the intended order, meaning that all mods still technically load in the user's set order.
- Combined with the previously mentioned ReadyToRun implementation, and asynchronous loading, the time to start the mod loader and all mods reduced by up to 50%.
-
Creating an application in the Add App menu will now directly make the menu select the newly added application rather than keeping the old selection.
Bug Fixes
- Fixed Application not disappearing live in Manage Mods and Add App menu when the directory of the application config was deleted directly as opposed to all files.
- Previously pages did not save if the user pressed the exit button, only when switching to a different page. Individual pages will now save when the user closes the Reloaded II window.
Improvements (Technical)
- Live-monitoring of applications/mods was optimized to use less CPU resources. (i.e. When you add a new mod, you don't have to reload the page to see it in Reloaded's Launcher. Doing this is more efficient now.)
- A lot of dead unused code was removed and some existing code refactored, major background changes.
- Removed all hacks from old code for working around various minor issues. Replaced with proper fixes.
- Algorithm for getting mods for an application in their correct load order was optimized from
O(N^2)
toO(N)
- Fixed a terrible hack that I once used involving
Costura.Fody
and mod loading. Mods are now correctly loaded as Plugins thanks to this PR I made. Assemblies are also not loaded twice anymore meaning some RAM is saved. - Removed dependency on COM component (IWshRuntimeLibrary), replaced with own application shortcut creation code.
- Increased process scan interval, reducing idle CPU usage in non-admin mode for fetching process list for PC (this is an expensive process).
- Added IEquatable to some commonly compared/accessed classes for better performance.
- Removed dependency:
Rock.Collections
, custom collections replaced with suitable stock alternatives. - Updated all remaining dependencies.
[Stable?] Hotfix: Crappy Application Menu Performance | 1.3.3
Changes
Reloads of application list triggered by the FileSystemWatcher are now cancellable, meaning that as the reload requests queue, only the last one will be executed in practice.
[Stable?] 1.3.2
Bug Fixes
Fixed bug where repeatedly leaving and entering an application in the launcher (spamming the mouse key) could lead to a crash if an application's first mod supports in-launcher configuration.
Changes
All plugins (mods) are now kept on the stack, allowing for easier unloadability. ensuring references to DLLs are not kept.
Hovering over a mod supporting configuration should not (hopefully) keep a reference to the DLL anymore, meaning you can update your mods while hovering over them. (Useful for developers).
[Beta] 1.3.1
Changes
Silencing errors on reading configuration files. If a configuration file has errors, the file will now instead be silently discarded.
[Beta] 1.3.0
Features
Implemented non-administrator launcher mode.
- Using Reloaded's launcher no longer requires administrator.
- It is slightly gimped however, the list of active Reloaded/Non-Reloaded processes wouldn't refresh as fast and Auto-inject wouldn't act with low latency anymore.
- Running with admin will restore old low-latency behaviour for process monitoring.
Real Time Configuration Reloading
- Mod configurations now support reloading of configurations in real time.
- Supported with any mod that uses the new templates.
Other
Updated project templates.
Fixes
Fixed Potential Crash
A race condition that is technically impossible to trigger, but nonetheless.
Fixed potential crash when loading two games through the UI at the same time.
Fixed Crash
When clicking on a process after it has shut down under Reloaded/Non-Reloaded Processes.