HLLib is a package library for Half-Life that abstracts several package formats and provides a simple - interface for all of them. HLLib is written in native C++ but exposes both a C and C++ interface which - can be used in any C or C++ application (additional languages may also use the library with standard C - imports). HLLib works natively in both Windows (x86 and x64) and Linux. BSP, GCF, NCF, PAK, VPK, WAD, - XZP and uncompressed ZIP package formats are supported.
- -HLLib is an open source library licensed under the LGPL. It comes with the source code and binaries - necessary to use it. An example application called HLExtract, which is licensed under the GPL, is also - included. HLExtract is a command line utility written in C that can load all HLLib supported packages - and extract multiple items from them while maintaining their directory structure. Also included is a - C# HLExtract port called HLExtract.Net.
- - Download: - - - - GridMount: - -A MacFUSE - file system handler called GridMount - is available for those looking to run HLLib on a Mac.
- - Java Wrapper: - -A Java wrapper is available for those looking to use HLLib in Java. It can be found on SourceForge. -
- - Revision History: - -- - v2.4.6 -
-
-
- Modified VPF file support to handle the removal of a null terminator from the end of the - directory. -
-
-
- Added support for new SGA file format (v6). -
- Added support for new SGA file format (v7). -
-
-
- Fixed support for VPK file format (v1). -
-
-
- Added support for new VPK file format (v2). - -
- Added SGA file support. - -
- Added ZIP deflate support. - -
-
-
- Fixed crash when opening VBSP files with no pak file lump. - -
-
-
- Fixed crash in CProcStream. - -
- Fixed VPK signature check. - -
- Workaround for crash in .Net wrapper. - -
-
-
- Added support for GCF files larger than 4 GB. - -
-
-
- Added support for x64. - -
- Added Visual Studio 2010 solution. - -
- Added Visual Studio 2008 solution.. - -
- Removed Visual Studio 2003 solution. - -
-
-
- Added support for packages larger than 4 GB. - -
-
-
- Added support for new VBSP file format. - -
-
-
- Added support for new VPK file format. - -
- Added VPK file validation. - -
- Fixed crash when closing VPK files. - -
-
-
- Added VPK file support. - -
-
-
- Added VBSP .lmp support. - -
- Fixed support for files over 2 GB. - -
-
-
- Added Last Version Played attribute to NCF file. - -
- Fixed change to directory entry folder terminator. - -
-
-
- Added Last Version Played attribute to GCF file. - -
-
-
- Improved GCF version check. - -
- Fixed fragmentation header checksum after defragment. - -
-
-
- Added different search string comparisons. - -
- Added Visual Studio 2005 solution. - -
- Improved package type tests. - -
-
-
- 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. -
-
-
- Added Linux support. - -
- Fixed near infinite find next recursion. - -
-
-
- Fixed bug in GCF file defragmentation progress. - -
-
-
- Added NCF file support. - -
-
-
- 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. - -
-
-
- 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. - -
-
-
- 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. -
-
-
- Added XZP file support. -
-
-
- Added Source engine BSP support. -
-
-
- Added mipmap level option to CWADFile. -
-
-
- Improved WAD file support. -
-
-
- Improved detection of corrupt packages. -
-
-
- 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. -
-
-
- Extended CPackage. -
- Extended CMappedPackage. -
- Improved error messages for system calls. -
-
-
- Fixed last error not being set in CMappedPackage::Open(). -
-
-
- 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. -
-
-
- 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. -
-
-
- Extended CWADFile. -
- Changed GetFileSizeEx() to GetFileSize() (Not all versions of Windows supported the former). -
-
-
- Extended CPackage. -
- Extended CGCFFile. -
- Converted from bool to BOOL. -
- HLLib now used by GCFScape. -
-
-
- Added callback functionality to CPackageUtility::Extract(). -
- Extended CGCFFile. -
- Minor bug fixes. -
-
-
- Original build. -
-
SavannahLion of HLPD has ported my HLLib library to Linux. The port has been dubbed libhl and - contains a HLExtract clone Slatch.
- - Download: - --
-
- HLPD - -