Repository navigation
Releases: StoneForgeTeam/StoneForge
Release list
StoneForge main (latest)
StoneForge built from main at 539b179, replaced on every push to it - for mods' CI to check
their pushes against StoneForge's latest API. Not a release: install a versioned release to play.
StoneForge 0.9.15
-
Fixed: the log window froze after Ctrl+C > Close log window (#22). The window now hides while its console
connection stays alive until the game exits, so logging continues safely. -
Fixed: snapping or removing a walking unit could leave invisible blocked tiles (StoneshardMP #37). Clear its
physical and reserved cells and update snapped grid coordinates, without clearing another live unit's cell. -
Choose which installation to use. When several game copies are found, the installer lists their storefronts
and full paths. Duplicate folders appear once. Automated installs and API builds require an explicit folder when
discovery is ambiguous. -
Discover Epic and GOG installations. The installer and API data generator read Epic launcher manifests and
GOG registry entries from Galaxy or offline installers. Epic and GOG runner compatibility remains unverified;
finding an installation does not guarantee that YYToolkit supports its executable. Launch and re-patching messages
no longer assume Steam. -
Fixed: Chinese, Japanese and Korean mod titles were missing characters. Use the description font for those
names in tabs, headings and buttons.
StoneForge 0.9.14
- StoneForge can update itself. Add
--updateto Steam's launch option (... StoneForge.Patcher.exe" run --update %command%). As the game starts, it checks GitHub for a newer release, at most once an hour, and installs it if it's
the same minor version (0.9.x to a later 0.9.x). A new minor version can need mods updated, so it's only announced.
If anything fails, the game starts with what's installed.
StoneForge 0.9.13
- Fixed: dialogue broke with StoneForge installed (#21). To make a script hookable, the patcher recompiled the
whole file the script is in. The game's DialogueFlow file holds dozens of functions, and recompiling it bound its
calls between them differently. The hook's few instructions now go straight into the function as bytecode, and
the rest of the file stays exactly as the game shipped it. The hotkey guard goes in the same way.
StoneForge 0.9.12
- Fixed: RogueShard (and other MSL Enhanced mods) failed beside standard MSL mods ("GML Compile Error ...
scr_contattack"). Run second, they read game data standard MSL had written, which decompiles differently from the
game's own - their edits, written against the game's, no longer compiled. MSL Enhanced's packages now run first, on
the game's own data, and standard MSL's after; the standard pass keeps MSL's one-time additions from the first
(its own mods menu entries and credits aren't added).
StoneForge 0.9.11
- Fixed: mixing standard and MSL Enhanced mods failed in the second pass ("Cannot add the event Create_0 in
o_msl_timer since it already exists"). MSL's one-time additions - its log objects, loot scripts, disclaimer room and
mods menu - were added again on data the first pass had patched. A later pass now keeps the earlier one's and goes
on; only the mods themselves are applied again. (A later pass's own loot tables aren't added: the log says so.)
StoneForge 0.9.10
- Fixed: a standard MSL mod failed beside one needing MSL Enhanced ("Could not load type
'ModShardLauncher.LocalizationWeaponText'" - katana with an MSLE mod). One package needing MSL Enhanced put every
package on it, and MSL Enhanced lacks some of standard MSL's types. The packages now run in passes: those standard
MSL can run first, on the game's data, then those needing MSL Enhanced on that output.msl-runtime.json's Mode
enhancedstill puts them all on MSL Enhanced, in one pass.
StoneForge 0.9.9
- Fixed:
Units.Removeleft the unit's passive skills behind. It skips the unit's Destroy event, which is what
destroys them; left, each reads its owner every turn, and the game stopped on the one that's gone ("REAL argument
incorrect type undefined" in o_enemy_pass_hive - an orchard's beehive, removed from a StoneshardMP follower's game).
They're destroyed with it now.
StoneForge 0.9.8
- Fixed:
DsMap/DsListread into a nested map or list the game had destroyed under its mark. The game destroys
some maps and lists it nests and leaves the key or slot marked as one.IsMap/IsList/GetMap/GetListnow
say no for those, andAssignFrom(and setting the key or slot) replaces them anew instead of copying into them -
which was an error in the game inside the call ("Packet receive failed: SEHException ... DsMap.AssignFrom" in
StoneshardMP, entering the caravan camp), leaving the game's error handling broken.
StoneForge 0.9.7
- Fixed: the game crashed on start with no C# mods - an empty mods folder, or only .sml mods. With no mod folders
to load, start-up counted as finished at once, and what waits for it (the check on unloaded mods' items, the report
window) touched the game in its first frames, while the runner was still starting. Start-up now finishes past those
frames, as it does with mods to load.