Fixes Modular Map Loading Runtimes (#64212)

## About The Pull Request

Moves the modmap root object's load_map() call to New(). This changes something about where it falls in init order that stops it from causing a flood of lighting runtimes. Don't ask my why, it just does.

## Why It's Good For The Game

Fixes #64192
This commit is contained in:
Thunder12345
2022-01-19 20:38:17 +00:00
committed by GitHub
parent b85c96a8b9
commit 60db0b4d3a
2 changed files with 4 additions and 0 deletions

View File

@@ -14,6 +14,8 @@ This root object handled picking and loading in map modules. It has two variable
* `var/key` - A string, used to pull a list of `.dmm` files from the configuration file.
* `load_map()` - Called asynchronously in the root's `Initialize()`. This proc creates a new instance of `/datum/map_template/map_module`, ingests the configuration file `config_file` points to, and picks a `.dmm` file path which maps to the root's `key`, by picking a random filename from among those which `key` maps to, and appending it to a folder path. This file path is passed into the map templace instance's `load()`, and the template takes over.
INITIALIZE_IMMEDIATE is used to ensure the ruins are loaded at the right time to avoid runtime errors related to lighting.
### /datum/map_template/map_module
This map templace subtype is responsible for loading in the module, it has two variables and two relevant procs.

View File

@@ -11,6 +11,8 @@
/// Key used to look up the appropriate map paths in the associated .toml file
var/key = null
INITIALIZE_IMMEDIATE(/obj/modular_map_root)
/obj/modular_map_root/Initialize(mapload)
. = ..()
INVOKE_ASYNC(src, .proc/load_map)