github Reloaded-Project/Reloaded-II 1.4.0
[Stable] Mechanical Resonance: Protocol Dream! | 1.4.0

latest releases: 1.27.5, 1.27.4, 1.27.3...
4 years ago

Prerequisites

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) to O(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.

Don't miss a new Reloaded-II release

NewReleases is sending notifications on new releases.