Repository navigation
Chef Shared Loader 1.5.0
·
15 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
A big release, with a full review of the loader behind it: switching a mod in F9 works in the same launch, CRASH RECOVERY can try a mod again right away, it works beside Rat's Shared Loader in either deploy order, saved data is safer, and the crash guard and hang watchdog catch more.
- Switching a mod in F9 works in the same launch. A mod with no on_stop that you switch off is paused: what it changed or spawned stays, and switched back on, the same copy carries on when the menu closes. A mod with on_stop, or one that was off at launch, starts when the menu closes, when it can.
- CRASH RECOVERY's Try again now restarts a mod in the same launch. A crash-guarded mod shows CRASH GUARD in the menu.
- Works beside Rat's Shared Loader in either deploy order, and only the mods marked for it are left to it. They show a read-only row in F9, and mods from one patch file share a row.
- With Rat's Shared Loader on top, a crash in a mod's start no longer gets this loader blocked by it.
- Saved data survives more: unusual bytes in saved values and tables come back as they were, a table that saves always loads, a settings file that can't be read at launch isn't replaced, a switch-off survives a package gaining a mod or a crash in the mod's stop, and a log that can't open no longer moves a launch's files.
- The crash guard learns from crashes in after_startup, event listeners, on_change, buttons, timers and spreads, each by where its code sits, and in the unit lookup, so a skip takes that place alone. A locked state or trace file no longer loses a crash or blames a working mod.
- The hang watchdog catches loops it used to miss, such as a mod that keeps calling the loader's helpers or spends nearly all its time in a listener it fires, and an options file with an endless loop no longer freezes the launch.
- A unit kept from an earlier world stays refused in every later world, even if nothing asked about it in between. (thanks sscoolqaz)
- For mod authors: a chef helper handed a unit from a world that's gone now says so in the log, once per mod for each helper. chef.unit_alive stays quiet, so checking a unit first is still the clean way. (thanks sscoolqaz)
- Fixes across the options menu, the performance monitor, language files, boot-style mods and the packing tools.
- For mod authors: chef.watch hands back a small handle: items, generation, active (now documented), pause, resume, refresh and stop. w.a, w.next and w.kinds are gone from it; keep your own kinds table.
- For mod authors: option specs are copied when you register a row, so editing a label or a list afterward doesn't change the row. A label or choice given as a function stays live.
- Fixed: the HD2 Lua Runtime look-alike could end the game putting back a material a mod had replaced, using an id kept from earlier.
- Full list: CHANGELOG.md. For mod authors: docs/MODDING.md and docs/TESTING.md.
Updating: replace the old zip (Chef-Shared-Loader-1.4.1.zip, or the one you have) with this zip in your mod manager, keep it at the highest priority, then Purge and Deploy.
Download: Chef-Shared-Loader-1.5.0.zip below (not the source code). Mod authors: chef_loader_stub.lua is the start-up stub to carry as your mod's boot (docs/MODDING.md, "Carrying the stub").