HAL v1.3.0 Release Notes

This version of HAL comes with a few important updates for greater compatibility with Harlowe 3, and fixes you’ll want even if you’ve stuck to Harlowe 2.

The biggest addition is that HAL now preserves and restores it’s own state separately from Harlowe. In Harlowe 2, reloading the browser simply restarted the game, and this restarted HAL along with it. Loading a saved game had no meaningful effect on HAL. In Harlowe 3, browser reloads now preserve Harlowe’s state, but not in a way similar to loading a saved game. Instead, Harlowe reconstructs the history in a different way that completely ignores startup passages, meaning HAL tracks, playlists, and groups set up in such passages break even though the game itself is fine, and this failure was not handled well.

Now, HAL will attempt to preserve it’s own state and restore it. This preservation only applies to tracks, playlists, and groups, and restores the ability of authors to use startup passages with these features.

The menu API, however, cannot be easily serialized, and therefore must always be defined in user scripts.

It is still gently recommended that you try to stick to Story JavaScript as much as possible, but this change should make it so you no longer have to rewrite code that was valid for Harlowe 2.

Some other bug fixes, updates, and internal improvements are also included in this release, so it’s recommended you update even if the above problem wasn’t an issue for you.

In future releases:

I will continue monitoring issue and clashes with Harlowe v3 and look into reported issues on mobile devices.