HLLib
HLLib copied to clipboard
Reads Valve GCF/NCF/etc archives
================================
HLLib BY: RYAN "NEMESIS" GREGG
================================
=========================== Library/Author Information:
---- General Library Information ---- Date : November 1st, 2010 Author : Ryan Gregg Michael Mohr (Linux Port) Title : HLLib Build : 2.4.0 Email address : [email protected] (Ryan Gregg) [email protected] (Michael Mohr) Home page / Website : http://nemesis.thewavelength.net/
---- Library Construction Information ---- Written In : C, C++
====== Other:
The library contains four folders:
Bin
- Contains library and example program binaries.
HLExtract
- Contains example program source code.
HLLib
- Contains library source code.
Lib
- Contains library C/C++ Header and Inline Files.
Sln
- Contains Visual Studio solutions.
The project files are for Visual Studio .NET 2003 and 2005; no .NET extensions are used.
================ HLExtract Usage:
Correct HLExtract usage:
-p
Example HLExtract usage: HLExtract.exe -p "C:\half-life.gcf" -d "C:\backup" -e "root\valve\models" -e "root\valve\config.cfg" HLExtract.exe -p "C:\half-life.gcf" -c -m -q -v HLExtract.exe -p "C:\half-life.gcf" -lf "C:\half-life.txt" -m -s HLExtract.exe -p "C:\half-life.gcf" -m -f
Console Commands (Interactive console mode):
dir [filter] Directory listing.
cd
================== Library Changelog:
v2.3.0
- Added support for GCF files larger than 4 GB.
v2.3.0
- Added support for x64.
- Added Visual Studio 2010 solution.
- Added Visual Studio 2008 solution.
- Removed Visual Studio 2003 solution.
v2.2.0
- Added support for packages larger than 4 GB.
v2.1.2
- Added support for new VBSP file format.
v2.1.1
- Added support for new VPK file format.
- Added VPK file validation.
- Fixed crash when closing VPK files.
v2.1.0
- Added VPK file support.
v2.0.11
- Added VBSP .lmp support.
- Fixed support for files over 2 GB.
v2.0.10
- Added Last Version Played attribute to NCF file.
- Fixed change to directory entry folder terminator.
v2.0.9
- Added Last Version Played attribute to GCF file.
v2.0.8
- Improved GCF version check.
- Fixed fragmentation header checksum after defragment.
v2.0.7
- Added different search string comparisons.
- Added Visual Studio 2005 solution.
- Improved package type tests.
v2.0.6
- Added generic write support to mapping interface.
- Added no recurse option to FindFirst()/FindNext().
- Improved package item attribute consistency.
- Fixed GCC visibility support.
- Fixed unnecessary GCF bounds check.
- Fixed BSP unused lump check.
v2.0.5
- Added Linux support.
- Fixed near infinite find next recursion.
v2.0.4
- Fixed bug in GCF file defragmentation progress.
v2.0.3
- Added NCF file support.
v2.0.2
- Added GCF file defragmentation.
- Added fragmentation property to GCF files.
- Added Dark Messiah VBSP support.
- Fixed hlPackageCreateStream() bug.
- Fixed CMapping::GetTotalMemoryUsed() calculation.
- Fixed PAK file path parsing.
- Improved error messages.
- Improved file mapping performance.
v2.0.1
- Added memory tracking.
- Improved view management.
- Fixed memory mapping bug.
- Fixed user data bug in proc reader.
- Fixed WAD file GetImageData() bug.
- Fixed default mapping stream view size.
- Fixed a minor memory leak.
v2.0.0
- Rewrote entire library.
- Open packages from anywhere (files, memory, abstract streams).
- Get package and item attributes.
- Stream package data.
- Validate package data.
- Added a C wrapper.
- Improved and optimized package loading code.
- Improved package detection.
v1.1.8
- Added CXZPFile support.
v1.1.7
- Added Source engine BSP support.
v1.1.6
- Added mipmap level option to CWADFile.
v1.1.5
- Improved CWADFile file support.
v1.1.4
- Improved detection of corrupt packages.
v1.1.3
- Extended CGCFFile.
- Extended CFileMapping and CPrimitiveFileMapping to allow for volatile access.
- Fixed CPackageUtility::Extract() bug caused by illegal characters.
- Files of size 0 B are now treated as valid files.
v1.1.2
- Extended CPackage.
- Extended CMappedPackage.
- Improved error messages for system calls.
v1.1.1
- Fixed last error not being set in CMappedPackage::Open().
v1.1.0
- Rewrote mapping code to be more flexible.
- Packages located on disk or in memory can now be loaded.
- Optimized file mapping.
- Fixed CPackage::Root bug.
- Fixed CGCFFile::GetFileSizeOnDisk() bug.
v1.0.4
- Fixed CPackage memory leak.
- Fixed CMappedPackage initialization bug.
- Fixed CMappedPackage deinitialization bug.
- Changed CDirectoryItem::Parent to a CDirectoryFolder.
- Extended CWADFile.
- Added CBSPFile which acts like CWADFile on a BSP's textures.
v1.0.3
- Extended CWADFile.
- Changed GetFileSizeEx() to GetFileSize() (Not all versions of Windows supported the former).
v1.0.2
- Extended CPackage.
- Extended CGCFFile.
- Converted from bool to BOOL.
- HLLib now used by GCFScape.
v1.0.1
- Added callback functionality to CPackageUtility::Extract().
- Extended CGCFFile.
- Minor bug fixes.
v1.0.0
- Original build.
============================== Program Copyright-Permissions:
See the lgpl.txt (HLLib) and gpl.txt (HLExtract) files contained in the distribution.