Skip to content

v0.4.0-pre3: fixes from the second two-player test

Pre-release
Pre-release

Choose a tag to compare

@Dudiebug Dudiebug released this 18 Oct 02:07
· 15 commits to main since this release

Pre-release: fixes from the second two-player test. Not yet re-tested on two machines. Every offline check passes: build with -Werror, 37 unit test programs under ASan/UBSan, a 300k-input protocol fuzz, 516/516 mutants killed, and the DLL export check. Protocol revision 11: everyone must update. v0.4.0-pre2 cannot join this version.

Fixed

  • Extra NPCs on the client, and no match HUD. The client ignored the match info of Duel and Zombies matches, so it never knew a match was running. It now takes them, removes the level's own foes and its old bodies, and shows the round status, scoreboard, respawn countdown and spectating.
  • Hits with no bone. The game sometimes reports a hit without a bone. The other machine used to refuse these hits; it now applies them.
  • Dead bodies. The host no longer tries to remove already-destroyed bodies every second.
  • Multiplayer button. It no longer disappears after opening and closing Settings.
  • Multiplayer page. It is now a full-screen page with Lobby, Match settings and Map columns. You choose the map from a list of the maps the mode allows.

New in the log

Every 5 s, HSMMod.log now also shows how much of each frame the mod itself takes, a count of the fighters in the level (dead, fallen, knocked out, bleeding), and how hard the first hits landed on each side. This is to find out why the client slowed down in the last test. Please send both logs after playing.

Install

Copy dwmapi.dll into <Half Sword>/HalfswordUE5/Binaries/Win64/, replacing any older copy. HSMMod.ini is created on first run. Everyone needs this same version and Steam game build 24185754.
Linux / Steam Deck (Proton): Proton loads its own built-in dwmapi.dll unless told otherwise. In Steam, right-click Half Sword → Properties → General → Launch Options and set:

WINEDLLOVERRIDES="dwmapi=n,b" %command%

Windows players need no launch option.

To use the older host-simulates-everyone sync, the host sets sync_mode=host under [net] in HSMMod.ini.

Known limits

  • The client's frame rate dropped during fights in the last test; the cause is not found yet.
  • A weapon picked up from the floor stays a loose prop on other screens and can trail the hand a little.
  • A weapon moved to the other side's sheath (right-hand weapon into a left slot) is not mirrored.
  • The grab pull is a soft handle, not the game's own grab constraint.
  • Level props are not synced.

Please report bugs with the HSMMod.log from both machines.

dwmapi.dll SHA-256: 08275ba6c858c46164f0d6257cda6431ba91c7eadfd26f28a7adedfe34ee1d4e

Contains code ported from Cyrex0/HalfSword-MP, Copyright (c) 2026 Cyrex0 and the HalfSword-MP contributors, MIT (see THIRD_PARTY_NOTICES.md, attached). Unofficial fan mod, not affiliated with Half Sword Games.