Mods Main Menu Streamliner

Main Menu Streamliner

Download Main Menu Streamliner
  • Moved nodeconfig.lua to mods/saves/mmstreamline_nodeconfig.lua instead to account for BLT's exceedingly "helpful" behavior of deleting all files not present in the update zip archive (thanks to Jaime J. Denizard for the report)

Third time's the charm, hopefully.

Attention

If you're not going to read anything else in this changelog, at least read the following instructions:

Instructions for upgrading from r1 (0.0.1) / r2 (0.0.2) ? this revision (r3 / 0.0.3):

  1. Hold it right there - do not update the mod yet, instead Alt+Tab out of the game or close it.

  2. Go to mods/MainMenuStreamliner and right-click copy nodeconfig.lua. Do not delete anything or make any changes.

  3. Go to mods/saves and paste nodeconfig.lua inside it, then rename the file to mmstreamline_nodeconfig.lua. If you had Alt+Tab-ed out of the game in step 1, return to it and close it before proceeding to the next step.

  4. Start the game and perform the update as usual, your configuration should now be preserved properly from now on even when future updates are made.

Apologies for the inconvenience caused by my oversight.

FAQ

Q: Too late - I've updated. Now what?

A: Long story short, you'll need to reconfigure the menu entries from scratch again because BLT just nuked the entire mod folder. nodeconfig.lua no longer exists, modify mods/saves/mmstreamline_nodeconfig.lua instead from now on. The file's format remains identical to before, it has merely been moved to a different location.

Q: Hey smartass, why didn't you make it generate the file in mod/saves from the beginning so we wouldn't be inconvenienced by these updates?

A: This was mod was never really intended for public release in the first place, but I decided to do so anyway as I figured that there may be some out there who wanted to tweak their main menu entries, but didn't know how. Besides, nodeconfig.lua is - as its extension implies - a Lua script (i.e. code), so it seems somewhat out of place in mod/saves as the files there are mainly JSON (data).
I was hoping that BLT would ignore files that did not exist in the zip archive and simply overwrite those that did exist in the archive, but it looks like BLT nukes the entire folder and (only then) extracts the archive's contents into it. Bummer. :/

Q: Why not use JSON as with all the other mods, then? Why use Lua for this?

A: JSON, by specification, does not permit comments, which would make configuring the file notably more difficult since I can't provide inline comments to indicate what a given menu entry actually corresponds to in the game menu, nor can you simply add/remove comments to a line to disable/enable it.
Not to mention that BLT's inbuilt JSON encoder doesn't bother adding newline and tab characters, which would make editing it much more tedious since everything would be condensed into one or two very long lines. If you've ever messed around with minified JavaScript, that's exactly the situation when using JSON here. Sure, I could write my own JSON encoder, but there's already my own solution that writes directly to a Lua script so I'm not about to spend time writing yet another solution for JSON, especially when it has fundamental issues with comments.


Download Main Menu Streamliner