Latest commit: a766aa4 by Karsten Pedersen on 2023-02-09
Message: Import from internal CVS.
$ git clone https://www.thamessoftware.co.uk/git/openhl.git
This project is an attempt at the digital preservation of Half-Life. The focus is not on features but instead to create a maintainable codebase which can be easily ported to future POSIX platforms.
The goal is not necessarily to support as many platforms as possible, but instead open / sane platforms that are accessible to people. I don't plan to faff about with AppStore packaging systems. I also don't plan to support any platform which does not provide a system compiler.
Note: You are expected to be compliant with Valve's license terms (typically this means owning a copy of the game).
The game data provided by this project is appropriate to distribute and does not constitute piracy. The game data was made public by Valve and shared on popular services such as FilePlanet and magazine demo disks.
The original intention was probably to popularize their Steam DRM platform but nonetheless, the data was made public. It is also extracted using standard GCF tools (as distributed on Valve's Developer Wiki). There has been no cracking involved. These publicly distributable files are as follows:
Note: Only the former is provided by this project to save space. It can be found in the "dist" folder (split up into 100MB chunks to fit in our Git server's restrictions).
The entire system can be compiled by changing to the project directory and running:
$ sh build.sh
Once this has finished the game can then be run via:
$ export/bin/hl
That "export" folder can be renamed or moved to any location you like. Effort has been made to ensure that there are no hard-coded paths. This should ease packaging.
By default, both the main Half-Life game and Opposing Force is compiled. However only the Half-Life data files are provided to conserve space. Opposing Force can be obtained from the steaminstall_full.exe package.
Flying with Gauss - An open-source re-implementation of the Half-Life engine. An outstanding technical feat.
Matt Nadareski - An open-source unpacker for self extracting win32 executables from Wise Solutions. A really cool project in its own right and also very handy to extract the Half-Life game data.
Ryan Freeman - Providing the initial OpenBSD port. Whilst this project is a fork with a growing number of differences, this port was still valuable to work out how it was built.
Valve Software - The Steam DRM platform damages digital preservation. Without that, this project wouldn't need to exist.