Shadows of Doubt
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
415
Size
132KB

Faster Loading: 3:38 down to 1:16

A BepInEx (mod loader) plugin for Shadows of Doubt. Spend your evening on the case, not on the loading screen.

An 8x8 city went from 3:38 to 1:16. New cities generate faster and saves load faster too, and the city you end up in is the same one.

Part of the Quality of Life and Complete modpacks.

If it saves you some waiting, please leave a like on its Thunderstore page. It keeps me motivated to make more mods. Donations are welcome too:

Support me on Ko-fi Buy me a coffee

What you get

  • Big cities load in about a third of the time from the second load of a city.
  • A faster first load too: about 40% off on that same 8x8 city, before anything has been remembered.
  • Saves load about 40% faster.
  • New cities generate faster: about 30% on an 8x8 city, which saves minutes.
  • The bigger the city, the more you save. Big cities are where the game gets slow, and that is where this mod does the most.
  • Nothing to set up. Install it and load a city.
  • Nothing in your saves. It only stores a small helper file per city, and you can remove the mod at any time.

The numbers

Loading an 8x8 city: vanilla 3:38, first load 2:11, later loads 1:16

Vanilla game against this mod, with no other mods running:

8x8 city (10x10 with the ring, 1831 people) Vanilla Faster Loading Saved
Load a city, first time 3:38 2:11 40%
Load a city, later times 3:38 1:16 65%
Generate a new city 8:45 6:11 29%
5x5 city (7x7 with the ring, 709 people) Vanilla Faster Loading Saved
Load a save 1:01 0:35 42%

More sizes, loading a city from the second time on. These two were measured with extra content mods in the game, which changed the 8x8 times by 14 seconds or less:

City Without Faster Loading Saved
5x5 (7x7 with the ring) 0:59 0:33 44%
10x10 (12x12 with the ring) 7:06 1:52 74%

Times run from the start of the load until you are in the city, on one PC with 16 GB of memory. Yours will differ, but the proportions should be similar. Very small cities already load in seconds, so there is less to win on those.

How it works

The game works out the same things from scratch on every load. This mod lets it skip that repeated work:

  • Remembers room visibility: the first load of a city keeps what the game worked out about which rooms can see what, and later loads read it back in a moment.
  • Finds facts faster: the game searches a long list for every new fact. An index gives the same answer right away.
  • Skips pointless breaker searches: no more searching every object in the city for a breaker that does not exist yet.
  • Helps Density Mod: if you use it, its search over the city's tiles runs only while a new city is being generated.

I compared the results with the game's own on several cities: every room, camera and fact check came out the same, so the city plays as it always did.

Good to know

  • After you arrive: the game stays busy for a while once you are in the city, which can stutter on big cities. This mod does not change that yet, so the time until the city runs smoothly improves less: 5:26 to 3:01 on 8x8.
  • Helper files: a few MB per city at most, in BepInEx/cache/sm3gm.loadfix. You can delete them at any time. The next load just builds them again.
  • After changing mods: adding, removing or updating a BepInEx mod makes the next load of each city build its helper file again, so that one load counts as a first load.
  • Pairs well with: Skip Intro, which skips the logos and the press-any-key screen.

Config

You do not need to change anything. After one launch, edit BepInEx/config/sm3gm.sod.loadfix.cfg with the game closed.

Setting Default Meaning
Fixes / RememberRoomData true Remember room visibility and reuse it on later loads of the same city.
Fixes / FastFactLookup true Find existing facts with an index.
Fixes / FastBreakerSearch true Skip searching for breakers that do not exist yet.
Fixes / DensityModOnlyWhenNeeded true Run Density Mod's search only while a new city is being generated.
Debug / CheckRoomData false Write comparison data after each load. Adds about 5 seconds, so leave it off.

Install

Use Thunderstore Mod Manager or r2modman and install as normal. BepInEx is installed automatically.

To install by hand:

  1. Install BepInExPack IL2CPP version 6.0.755.
  2. Put SoDLoadFix.dll in BepInEx/plugins/FasterLoading/ inside your existing BepInEx folder.

Feedback

Found a bug or have an idea? Post it on the official Shadows of Doubt Discord: https://discord.gg/shadows

Also by sm3gm

All my mods are on Thunderstore.

Support

This mod is free and always will be.

Likes are greatly appreciated and keep me motivated to release more mods, so if you enjoy it, please leave one. You give a like on the mod's Thunderstore page while logged in to Thunderstore. If you installed through a mod manager, open that page in your browser to find the button.

And if you love what I do and want to support future projects, or just want to send a friendly thought, you can do so here:

Support me on Ko-fi Buy me a coffee

Thanks for playing.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.