slaurent22 / hk-split-maker

HK Split Maker
https://hksplitmaker.com/
17 stars 21 forks source link
hollowknight livesplit

HK Split Maker

Write a small configuration for Hollow Knight splits and a produce a full LiveSplit file. List your triggers once, and get both the autosplitter settings and the segment list from that list!

The configuration is as simple as this. List the autosplit triggers once and add some metadata.

JSON Configuration for Aluba%

The resulting splits have icons!

LiveSplit screenshot of the generated Aluba% Splits

The autosplits are ordered and correct.

LiveSplit screenshot of the generated Aluba% Splits' settings

Use

Use the HK Split Maker web UI! You can load a builtin category or customize your own. Once the configuration is loaded or written, click Generate then Download. Open the resulting lss file with LiveSplit.

Development

For development or local use, clone the repository and install/build manually via Node.js.

npm install --legacy-peer-deps && npm run serve

Navigate to http://localhost:8080/ in your web browser.

Adding New and Updated Autosplits

  1. Copy the contents of public enum SplitName from HollowKnightSplitSettings.cs into splits.txt.
  2. Remove the commented-out lines. At this point, git diff should only list the new (or updated) autosplits.
  3. Update hollowknight-gen-files.js to ensure each new autosplit is mapped to an icon. Optionally, add new icons to the icons/ directory.
  4. Run npm run gen-files to regenerate the core files from these updates.
  5. Run npm run serve to make sure the application runs.
  6. You can use every.json as a test case, or construct a new test case containing the new splits.
  7. Ensure the generated splits have the correct autosplits.

For an example of this process, see https://github.com/slaurent22/hk-split-maker/pull/125

Future Enhancements

You can see the current list of feature ideas in the GitHub issues. More ideas are welcome!