You are viewing a potentially older version of this package. View all versions.
ReturnOfModding-ReturnOfModding-1.0.20 icon

ReturnOfModding

Lua Mod Loader for Risk of Rain Returns

Date uploaded 2 months ago
Version 1.0.20
Download link ReturnOfModding-ReturnOfModding-1.0.20.zip
Downloads 270
Dependency string ReturnOfModding-ReturnOfModding-1.0.20

README

Return Of Modding

Risk of Rain Returns Modding Discord


Return Of Modding is a modding plugin / framework for Risk of Rain Returns. (A game made with GameMaker 2023.6 ultimately transpiled from GML to C++ with the GameMaker YYC compiler)

Manual Installation

  • Place the main ReturnOfModding file, called version.dll, next to the game executable called Risk of Rain Returns.exe inside the game folder.

User Interface

  • Return of Modding ships with a ImGui user interface. The default key for opening the GUI is INSERT

Creating mods with Return Of Modding

  • Define a main.lua file in which to code your mod.

  • Create a manifest.json file that follows the Thunderstore Version 1 Manifest format.

  • Create a folder whose name follows the GUID format TeamName-ModName, for example: ReturnOfModding-DebugToolkit.

  • Place the main.lua file and the manifest.json file in the folder you've just created.

  • Place the newly created folder in the plugins folder in the Return Of Modding root folder, called ReturnOfModding, so the path to your manifest.json should be something like ReturnOfModding/plugins/ReturnOfModding-DebugToolkit/manifest.json.

  • You can check the existing examples in that github repository if you wanna try stuff out.

Mod Manager Integration

If you'd like to integrate Return Of Modding into your mod manager, here are the specifications:

Return Of Modding is injected into the game process using DLL hijacking (more precisely, it hijacks the Windows dynamic linked library version.dll), which is the same technique used by other bootstrappers such as UnityDoorstop.

The root folder used by Return Of Modding (which will then be used to load mods from this folder) can be defined in several ways:

  • Setting the process environment variable: return_of_modding_root_folder <CUSTOM_PATH>

  • Command line argument when launching the game executable: --return_of_modding_root_folder <CUSTOM_PATH>

  • If the process environment variable is not defined, the command line arguments are checked. If neither is defined, the ReturnOfModding folder is placed in the game folder, next to the game executable.

Interesting folders under the root folder:

  • plugins: Location of .lua, README, manifest.json files.
  • plugins_data: Used for data that must persist between sessions but not be manipulated by the user.
  • config: Used for data that must persist between sessions and that can be manipulated by the user. A TOML library is exposed to Lua and is the preferred method for configuring mods.

Credits

This project wouldn't have been possible without