Skip to content

Conversation

@Sychke
Copy link
Contributor

@Sychke Sychke commented Oct 13, 2025

Change repository of .asl download for BONEWORKS and add a helper .dll for the .asl, and remove BONELAB from the list because it has not been functional since the release of the game, is not and will not be maintained, and to prevent confusion in the Bonelab/Works speedrun community

If you are adding or modifying an Auto Splitter, please fill out this checklist:

  • My Auto Splitter does not contain any malicious functionality and I'm entirely responsible for any damages myself. (Any kind of abuse in an Auto Splitter will result in an immediate ban.)
  • I am not replacing an existing Auto Splitter by a different author, or I have received permission from the author to replace the existing Auto Splitter.
  • The Auto Splitter has an open source license that allows anyone to fork and host it.

Change repository of .asl download for BONEWORKS and add a helper .dll for the .asl
Remove BONELAB from the list because it has not been functional since the release of the game, is not and will not be maintained, and to prevent confusion in the Bonelab speedrunning Discord server.
@just-ero
Copy link
Contributor

BONEWORKS appears to be a Unity game. Do the established tools for that engine not work for you?

@wooferzfg wooferzfg added this pull request to the merge queue Oct 14, 2025
@wooferzfg
Copy link
Member

Merged, but please answer Ero's question @Sychke

Merged via the queue into LiveSplit:master with commit 6f71599 Oct 14, 2025
1 check passed
@jakzo
Copy link
Contributor

jakzo commented Oct 14, 2025

There's an explanation in the repo readme as to why it needs the dll:

Boneworks autosplitters have historically detected the loading state by finding a memory address within vrclient_x64.dll. However this sucks because that file is part of SteamVR which gets constant updates, so even though Boneworks goes years without updates we have to keep updating the pointer in the ASL. We tried using sigscanning but eventually an update broke that too.

The new approach is to get the loading state using SteamVR's public APIs. These should be guaranteed stable since Valve changing them would cause old games like Boneworks to stop working in SteamVR. The ASL loads BoneworksAslHelper.dll which in turn finds openvr_api.dll within the Boneworks directory then initializes it and calls IsCurrentSceneFocusAppLoading to get the loading state.

@Sychke Sychke deleted the patch-1 branch October 14, 2025 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants