2023-05-06 20:37:28 +00:00
|
|
|
Half-Life: PAK0.PAK generator
|
2023-05-04 19:38:03 +00:00
|
|
|
|
2023-05-06 20:37:28 +00:00
|
|
|
This repository contains scripts to generate a pak0.pak of
|
|
|
|
Half-Life that is identical to the one that ships on all original disc
|
|
|
|
pressings, when it still talked to the World Opponent Network
|
|
|
|
online service.
|
|
|
|
|
|
|
|
The Steam releases got rid of .pak files altogether, because they
|
|
|
|
(at one point) switched to .gcf archives. Since the SteamPipe update,
|
|
|
|
all files are now completely loose and enforcing file consistency is
|
|
|
|
impossible for source ports.
|
|
|
|
|
|
|
|
These scripts within are stripping the content straight from installers
|
|
|
|
of demos and other official, free downloads.
|
|
|
|
|
|
|
|
This will only build you a pak0.pak file that will pass server purity
|
|
|
|
checks so that you can play multiplayer via source ports and things.
|
|
|
|
This will not grant you a complete install of Half-Life. This will
|
|
|
|
not allow you to play Half-LIfe on Steam or by itself.
|
|
|
|
|
|
|
|
We will still have to improvise where other loose files come from.
|
|
|
|
I've found some good substitutes. If you want it to be truly authentic,
|
|
|
|
please find a 1.0.0.5 of Game of the Year disc pressing of Half-Life
|
|
|
|
and rip the data yourself.
|
|
|
|
|
|
|
|
|
|
|
|
Sources:
|
|
|
|
|
|
|
|
Half-Life: Uplink (web installer)
|
|
|
|
Half-Life Patch 1.1.1.0 (English)
|
|
|
|
Half-Life: Opposing Force - Standalone Demo
|
|
|
|
Half-Life SDK v2.3 Setup
|
|
|
|
Steam Installer with Half-Life Cache
|
|
|
|
|
|
|
|
|
|
|
|
Requirements:
|
|
|
|
|
|
|
|
- approximately 4 GB of disk space
|
|
|
|
- working C compiler
|
|
|
|
- GNU make (probably)
|
|
|
|
- wget
|
|
|
|
- magick
|
|
|
|
|
|
|
|
|
|
|
|
Getting started:
|
|
|
|
|
|
|
|
Run `./start.sh` and wait a few minutes. Make yourself some tea/coffee.
|
|
|
|
|
|
|
|
If you want to speed up the process, get these files off your NFS/NAS:
|
|
|
|
|
|
|
|
hl1110.exe
|
|
|
|
hl_sdk_v23.exe
|
|
|
|
hluplink.exe
|
|
|
|
opfordemofull.exe,
|
|
|
|
steaminstall_halflife.exe
|
|
|
|
|
|
|
|
...and place them alongside this README file.
|
|
|
|
|
|
|
|
|
|
|
|
Script explanation:
|
|
|
|
|
|
|
|
./build_tools.sh builds bmpfix, {hl,pak}extract, qfiles, rewise and
|
|
|
|
places them into ./_bin
|
|
|
|
|
|
|
|
./dl_sources.sh (no args) downloads and sha512 checks the install
|
|
|
|
files.
|
|
|
|
|
|
|
|
./rip_sources.sh (no args) extracts the files, and does trickery to
|
|
|
|
make 2 bad-CRC files work
|
|
|
|
|
|
|
|
./build_pak0.sh [gamedir] will read games/[gamedir]-pak0.sha256 and
|
|
|
|
assemble the pak0.pak
|
|
|
|
|
|
|
|
./build_loose.sh [gamedir] will read games[gamedir.sha256 and finds
|
|
|
|
other desired loose files
|
|
|
|
|
|
|
|
./ccase.sh fixes case sensitivity issues
|
|
|
|
|
|
|
|
the end result is placed into ./_build for you to copy wherever.
|
|
|
|
All the directories prefixed with '_' can be removed, as they're
|
|
|
|
created by the scripts.
|
|
|
|
|
|
|
|
|
|
|
|
Thanks:
|
|
|
|
|
|
|
|
Xylemon - for being the top dog that kept motivating me and for
|
|
|
|
delivering pizza onto my desk
|
|
|
|
|
|
|
|
Theuaredead` - for lots of research and pointers on where we can
|
|
|
|
acquire data sets and files
|
|
|
|
|
|
|
|
CYBERDEViL - for blessing us with REWise, a sane wise installer
|
|
|
|
extractor
|
|
|
|
|
|
|
|
HeteroChromia420 - for bothering me for years in regards to the
|
|
|
|
content purity mess
|
|
|
|
|
|
|
|
Valve - I know you don't love HL1 anymore, but thanks for bringing
|
|
|
|
it into this world
|
|
|
|
|
|
|
|
|
|
|
|
License:
|
|
|
|
|
|
|
|
Scripts in the root dir are CC0
|
|
|
|
ccase.sh was distributed by various Linux game ports, unknown author
|
|
|
|
tools/bmpfix is CC0
|
|
|
|
tools/gpl-quake/ contains GNU GPL V2 code.
|
|
|
|
|
|
|
|
|
|
|
|
Dependency licenses:
|
|
|
|
|
|
|
|
hllib is GNU LGPL 2.1
|
|
|
|
hlextract is GNU GPL V2
|
|
|
|
pakextract its own permissive (ISC-styled) license
|
|
|
|
REWise is GNU GPL V3
|
|
|
|
|
|
|
|
|
|
|
|
Need help:
|
|
|
|
|
|
|
|
None of this comes with support, warranty or whatever. Don't bother
|
|
|
|
ANYONE about this. If you want to improve script compatibility or
|
|
|
|
whatever, feel free to reach out.
|