WebHL is a fork of hlviewer.js that uses the File System Access API to load game assets direct from your computer rather than from a server, including recording. Interface design from from vgui.css
Click "Open Game Directory" and open your 'Half-life' game folder containing 'valve', 'gearbox', 'cstrike', 'tfc', etc folders, then choose a map or demo to load from the menu.
WASD, Ctrl or C and Space to move, F for fullscreen, esc to release mouse, and ~ to toggle the menu.
Click on the red circle in the bottom right to start recording footage, press again to download a webm.
Have fun!
- Some sounds don't play in the right order.
- Demos keep playing in different when switching maps after playing a demo.
- "...can't open this folder because it contains system files"
- Unfortunately this is an unavoidable browser security feature. You might have to move your HL folder outside of Program Files to make it work, I recommend the Goldsrc package for this.
- Nothing loads after choosing a game folder:
- This is a browser bug on chrome, try a few more times, it works 3/5 times.
- Screen is black and or loads forever:
- The map probably isn't compatible with the BSP parser, or the map isn't installed in your game folder. Open the console in the browser developer tools and check to see if there's a specific error, that usually reveals the problem.
Install pnpm from https://pnpm.io and
git clone https://github.com/x8BitRain/webhl.git && cd webhl
pnpm i
pnpm dev
pnpm build
output will be under dist/