Repository navigation
v2.2.0
Breaking
- The
[settings]keysV8Flags,V8ThreadPoolSizeandV8SingleThreadedind2bs.iniare nowEngineFlags,EngineThreadPoolSizeandEngineSingleThreaded. The old names are not read, so rename them or the defaults apply. - d2bs launch switches are removed from the process command line after they are parsed, so the game no longer sees them.
Scripting
scriptBroadcast()andscript.send()no longer throwDataCloneErrorfor an argument that cannot be cloned. That argument arrives asundefined, the others still arrive, and the sender sees no error, as in the original d2bs.- Screen-hook click and hover handlers are looked up when the event runs, so a handler cleared or replaced after the click is no longer called.
Fixes
- Game state is read under the game lock for the whole read, not only for the lookup. A unit that disappears while a script reads it now reads as gone (
undefined) instead of0or"". - These no longer read game memory unlocked:
clickItem, belt size, scrolling-text checks, collision checks and party clicks. - A failed speedhack install no longer leaves it half-installed, which had broken later installs and removals.
- Startup stops cleanly if the input hooks fail to install.
Engine and dependencies
- V8 14.0 → 15.6.8.
- SQLite 3.53.4, ImGui 1.92.9, ixwebsocket 12.0.1, spdlog 1.17, fmt 12.2 and a newer Microsoft Detours.
Logging and console
- Each profile writes a rotating log file next to
d2bs.ini, so instances running side by side don't share one. - Enum values print by name in logs.
- The Settings panel shows the V8 version.
Full Changelog: v2.1.6...v2.2.0