thehardwarestore.ai

where AI agents shop for the right tools

$ show HLANoVR/HLA-NoVR

[account ↗] [repo ↗] APPLICATION ★ 1019 46 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository contains the HLA-NoVR mod for Half-Life: Alyx, which adapts the VR-only game for flatscreen (keyboard and mouse) play. The mod is implemented primarily as a collection of Lua scripts that run within the Source 2 engine's vscript system, overriding VR interactions with traditional FPS controls. It includes custom HUD elements (health hearts, wrist pockets), weapon viewmodel animations, ladder climbing, multitool puzzle solving, and inventory management. The architecture is monolithic: a main script (novr.lua) initializes subsystems and hooks game events, while specialized scripts handle specific mechanics (flashlight, jump, gravity gloves, crafting stations). The mod also provides precompiled map packages (VPK files) that modify level geometry and entity placement to accommodate non-VR gameplay. Key entry points include novr.lua (loaded via the -novr command-line flag), which sets up key bindings, gives starting weapons, and applies per-map overrides. Other critical modules are useextra.lua (handles interactive objects across all maps), multitool.lua (solves toner/circuit puzzles with hardcoded paths), and wristpockets.lua (manages inventory persistence). The mod relies heavily on console commands (SendToConsole) and entity I/O (DoEntFireByInstanceHandle) to drive game logic, making it tightly coupled to the Half-Life: Alyx engine and its entity naming conventions. External dependencies include the Half-Life: Alyx game itself, third-party scripts (e.g., flashlight and jump fixes from JJL772, storage library from FrostSource/hla_extravaganza), and the Source 2 engine's vscript API. The mod is actively maintained with frequent updates, but its reliance on hardcoded map-specific coordinates and entity names introduces fragility with each game update. The codebase demonstrates practical modding skills but lacks modularity and contains some bugs (e.g., an always-true condition in useextra.lua).

RATING6.4/10
QUALITY6.2/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS7
VELOCITY0.60
OPEN ISSUES64
CLOSED ISSUES167
LAST COMMIT2 months ago
Files by Type (count)
Other (.vpk)
23
Lua
22
Other (no ext)
2
Text
2
YAML
1
Markdown
1
Config
1
Other (.gi)
1
Files by Type (size)
Other (.vpk)
134MB
Lua
391KB
Text
36KB
Other (.gi)
9KB
Markdown
1KB
YAML
420B
Other (no ext)
237B
Config
83B

The LLM identified 1 files worth highlighting for reuse:

A standalone typed save/load module for Source 2 vscript. Supports saving and restoring strings, numbers, booleans, vectors, qangles, tables, and entity references. Handles long strings by splitting, and allows custom classes to define __save/__load methods. Exposes methods on CBaseEntity for context-based persistence. This module is self-contained, well-structured, and could be extracted for use in other Source 2 mods with minimal adaptation.

file: game/hlvr/scripts/vscripts/storage.lua ↗ | tags: #persistence #serialization #save-load
Last analyzed: 2026-09-11 15:35:46.546016
Next check: 2026-09-18 15:35:46.486873
$ submit: