Compare commits
10 Commits
e061e4f4ee
...
2063e3e0cd
Author | SHA1 | Date |
---|---|---|
![]() |
2063e3e0cd | |
![]() |
5e3625a8f2 | |
![]() |
f9f11b97c9 | |
![]() |
b2837fe8b4 | |
![]() |
458db53758 | |
![]() |
9e8c14265a | |
![]() |
7308104c6c | |
![]() |
3e71445267 | |
![]() |
bdb71601d1 | |
![]() |
423adba1da |
|
@ -19,8 +19,8 @@ using System.Runtime.InteropServices;
|
||||||
public sealed class HLLib
|
public sealed class HLLib
|
||||||
{
|
{
|
||||||
#region Constants
|
#region Constants
|
||||||
public const int HL_VERSION_NUMBER = ((2 << 24) | (4 << 16) | (5 << 8) | 0);
|
public const int HL_VERSION_NUMBER = ((2 << 24) | (4 << 16) | (6 << 8) | 0);
|
||||||
public const string HL_VERSION_STRING = "2.4.5";
|
public const string HL_VERSION_STRING = "2.4.6";
|
||||||
|
|
||||||
public const uint HL_ID_INVALID = 0xffffffff;
|
public const uint HL_ID_INVALID = 0xffffffff;
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("HLExtract.Net")]
|
[assembly: AssemblyProduct("HLExtract.Net")]
|
||||||
[assembly: AssemblyCopyright("Copyright (C) 2008-2013 Ryan Gregg")]
|
[assembly: AssemblyCopyright("Copyright (C) 2008-2017 Ryan Gregg")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.4.5.0")]
|
[assembly: AssemblyVersion("2.4.6.0")]
|
||||||
[assembly: AssemblyFileVersion("2.4.5.0")]
|
[assembly: AssemblyFileVersion("2.4.6.0")]
|
||||||
|
|
|
@ -51,8 +51,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 2,4,5,0
|
FILEVERSION 2,4,6,0
|
||||||
PRODUCTVERSION 2,4,5,0
|
PRODUCTVERSION 2,4,6,0
|
||||||
FILEFLAGSMASK 0x17L
|
FILEFLAGSMASK 0x17L
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -69,12 +69,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "Comments", "Half-Life Package Extraction Utility"
|
VALUE "Comments", "Half-Life Package Extraction Utility"
|
||||||
VALUE "FileDescription", "HLExtract Application"
|
VALUE "FileDescription", "HLExtract Application"
|
||||||
VALUE "FileVersion", "2.4.5"
|
VALUE "FileVersion", "2.4.6"
|
||||||
VALUE "InternalName", "HLExtract"
|
VALUE "InternalName", "HLExtract"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2006-2013 Ryan Gregg"
|
VALUE "LegalCopyright", "Copyright (C) 2006-2017 Ryan Gregg"
|
||||||
VALUE "OriginalFilename", "HLExtract.exe"
|
VALUE "OriginalFilename", "HLExtract.exe"
|
||||||
VALUE "ProductName", " HLExtract Application"
|
VALUE "ProductName", " HLExtract Application"
|
||||||
VALUE "ProductVersion", "2.4.5"
|
VALUE "ProductVersion", "2.4.6"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -17,6 +17,7 @@ clean:
|
||||||
rm -f hlextract Main.o
|
rm -f hlextract Main.o
|
||||||
|
|
||||||
install: hlextract
|
install: hlextract
|
||||||
|
install -g root -m 0755 -o root -d $(PREFIX)/bin
|
||||||
install -g root -m 0755 -o root hlextract $(PREFIX)/bin
|
install -g root -m 0755 -o root hlextract $(PREFIX)/bin
|
||||||
|
|
||||||
hlextract: Main.o ../HLLib/libhl.a
|
hlextract: Main.o ../HLLib/libhl.a
|
||||||
|
|
|
@ -51,8 +51,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 2,4,5,0
|
FILEVERSION 2,4,6,0
|
||||||
PRODUCTVERSION 2,4,5,0
|
PRODUCTVERSION 2,4,6,0
|
||||||
FILEFLAGSMASK 0x17L
|
FILEFLAGSMASK 0x17L
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -69,12 +69,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "Comments", "Half-Life Package Library"
|
VALUE "Comments", "Half-Life Package Library"
|
||||||
VALUE "FileDescription", "HLLib Dynamic Link Library"
|
VALUE "FileDescription", "HLLib Dynamic Link Library"
|
||||||
VALUE "FileVersion", "2.4.5"
|
VALUE "FileVersion", "2.4.6"
|
||||||
VALUE "InternalName", "HLLib"
|
VALUE "InternalName", "HLLib"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2006-2013 Ryan Gregg"
|
VALUE "LegalCopyright", "Copyright (C) 2006-2017 Ryan Gregg"
|
||||||
VALUE "OriginalFilename", "HLLib.dll"
|
VALUE "OriginalFilename", "HLLib.dll"
|
||||||
VALUE "ProductName", " HLLib Dynamic Link Library"
|
VALUE "ProductName", " HLLib Dynamic Link Library"
|
||||||
VALUE "ProductVersion", "2.4.5"
|
VALUE "ProductVersion", "2.4.6"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CXX = g++
|
CXX = g++
|
||||||
AR = ar
|
AR = ar
|
||||||
RANLIB = ranlib
|
RANLIB = ranlib
|
||||||
HLLIB_VERS = 2.4.5
|
HLLIB_VERS = 2.4.6
|
||||||
LDFLAGS = -shared -Wl,-soname,libhl.so.2
|
LDFLAGS = -shared -Wl,-soname,libhl.so.2
|
||||||
CXXFLAGS = -O2 -g -fpic -funroll-loops -fvisibility=hidden -std=c++11 -Wall
|
CXXFLAGS = -O2 -g -fpic -funroll-loops -fvisibility=hidden -std=c++11 -Wall
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
|
@ -26,8 +26,8 @@ install: libhl.so.$(HLLIB_VERS)
|
||||||
install -g root -m 0755 -o root -d $(PREFIX)/lib $(PREFIX)/include
|
install -g root -m 0755 -o root -d $(PREFIX)/lib $(PREFIX)/include
|
||||||
install -g root -m 0644 -o root libhl.so.$(HLLIB_VERS) $(PREFIX)/lib
|
install -g root -m 0644 -o root libhl.so.$(HLLIB_VERS) $(PREFIX)/lib
|
||||||
install -g root -m 0644 -o root ../lib/HLLib.h $(PREFIX)/include/hl.h
|
install -g root -m 0644 -o root ../lib/HLLib.h $(PREFIX)/include/hl.h
|
||||||
ln -fs $(PREFIX)/lib/libhl.so.$(HLLIB_VERS) $(PREFIX)/lib/libhl.so.2
|
ln -fs libhl.so.$(HLLIB_VERS) $(PREFIX)/lib/libhl.so.2
|
||||||
ln -fs $(PREFIX)/lib/libhl.so.$(HLLIB_VERS) $(PREFIX)/lib/libhl.so
|
ln -fs libhl.so.$(HLLIB_VERS) $(PREFIX)/lib/libhl.so
|
||||||
|
|
||||||
libhl.so.$(HLLIB_VERS): $(objs)
|
libhl.so.$(HLLIB_VERS): $(objs)
|
||||||
$(CXX) $(LDFLAGS) -o $@ $(objs)
|
$(CXX) $(LDFLAGS) -o $@ $(objs)
|
||||||
|
|
|
@ -163,11 +163,11 @@ namespace HLLib
|
||||||
class CSGASpecializedDirectory : public ISGADirectory
|
class CSGASpecializedDirectory : public ISGADirectory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename TSGAHeader SGAHeader;
|
typedef TSGAHeader SGAHeader;
|
||||||
typedef typename TSGADirectoryHeader SGADirectoryHeader;
|
typedef TSGADirectoryHeader SGADirectoryHeader;
|
||||||
typedef typename TSGASection SGASection;
|
typedef TSGASection SGASection;
|
||||||
typedef typename TSGAFolder SGAFolder;
|
typedef TSGAFolder SGAFolder;
|
||||||
typedef typename TSGAFile SGAFile;
|
typedef TSGAFile SGAFile;
|
||||||
|
|
||||||
CSGASpecializedDirectory(CSGAFile& File);
|
CSGASpecializedDirectory(CSGAFile& File);
|
||||||
|
|
||||||
|
@ -192,10 +192,10 @@ namespace HLLib
|
||||||
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile4> : public ISGADirectory
|
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile4> : public ISGADirectory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename TSGAHeader SGAHeader;
|
typedef TSGAHeader SGAHeader;
|
||||||
typedef typename TSGADirectoryHeader SGADirectoryHeader;
|
typedef TSGADirectoryHeader SGADirectoryHeader;
|
||||||
typedef typename TSGASection SGASection;
|
typedef TSGASection SGASection;
|
||||||
typedef typename TSGAFolder SGAFolder;
|
typedef TSGAFolder SGAFolder;
|
||||||
typedef CSGAFile::SGAFile4 SGAFile;
|
typedef CSGAFile::SGAFile4 SGAFile;
|
||||||
|
|
||||||
CSGASpecializedDirectory(CSGAFile& File);
|
CSGASpecializedDirectory(CSGAFile& File);
|
||||||
|
@ -221,10 +221,10 @@ namespace HLLib
|
||||||
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile6> : public ISGADirectory
|
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile6> : public ISGADirectory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename TSGAHeader SGAHeader;
|
typedef TSGAHeader SGAHeader;
|
||||||
typedef typename TSGADirectoryHeader SGADirectoryHeader;
|
typedef TSGADirectoryHeader SGADirectoryHeader;
|
||||||
typedef typename TSGASection SGASection;
|
typedef TSGASection SGASection;
|
||||||
typedef typename TSGAFolder SGAFolder;
|
typedef TSGAFolder SGAFolder;
|
||||||
typedef CSGAFile::SGAFile6 SGAFile;
|
typedef CSGAFile::SGAFile6 SGAFile;
|
||||||
|
|
||||||
CSGASpecializedDirectory(CSGAFile& File);
|
CSGASpecializedDirectory(CSGAFile& File);
|
||||||
|
|
|
@ -115,7 +115,7 @@ hlBool CVPKFile::MapDataStructures()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while(hlTrue)
|
while(lpViewData < lpViewDirectoryDataEnd)
|
||||||
{
|
{
|
||||||
const hlChar *lpExtension;
|
const hlChar *lpExtension;
|
||||||
if(!this->MapString(lpViewData, lpViewDirectoryDataEnd, lpExtension))
|
if(!this->MapString(lpViewData, lpViewDirectoryDataEnd, lpExtension))
|
||||||
|
|
|
@ -65,8 +65,8 @@ typedef hlSingle hlFloat;
|
||||||
#define hlFalse 0
|
#define hlFalse 0
|
||||||
#define hlTrue 1
|
#define hlTrue 1
|
||||||
|
|
||||||
#define HL_VERSION_NUMBER ((2 << 24) | (4 << 16) | (5 << 8) | 0)
|
#define HL_VERSION_NUMBER ((2 << 24) | (4 << 16) | (6 << 8) | 0)
|
||||||
#define HL_VERSION_STRING "2.4.5"
|
#define HL_VERSION_STRING "2.4.6"
|
||||||
|
|
||||||
#define HL_ID_INVALID 0xffffffff
|
#define HL_ID_INVALID 0xffffffff
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,11 @@ Library/Author Information:
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
---- General Library Information ----
|
---- General Library Information ----
|
||||||
Date : October 17th, 2013
|
Date : January 22nd, 2017
|
||||||
Author : Ryan Gregg
|
Author : Ryan Gregg
|
||||||
Michael Mohr (Linux Port)
|
Michael Mohr (Linux Port)
|
||||||
Title : HLLib
|
Title : HLLib
|
||||||
Build : 2.4.5
|
Build : 2.4.6
|
||||||
Email address : ryansgregg@hotmail.com (Ryan Gregg)
|
Email address : ryansgregg@hotmail.com (Ryan Gregg)
|
||||||
m.mohr@laposte.net (Michael Mohr)
|
m.mohr@laposte.net (Michael Mohr)
|
||||||
Home page / Website : http://nemesis.thewavelength.net/
|
Home page / Website : http://nemesis.thewavelength.net/
|
||||||
|
@ -93,6 +93,9 @@ Console Commands (Interactive console mode):
|
||||||
Library Changelog:
|
Library Changelog:
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
v2.4.6
|
||||||
|
- Modified VPF file support to handle the removal of a null terminator from the end of directory.
|
||||||
|
|
||||||
v2.4.5
|
v2.4.5
|
||||||
- Added support for new SGA file format (v6).
|
- Added support for new SGA file format (v6).
|
||||||
- Added support for new SGA file format (v7).
|
- Added support for new SGA file format (v7).
|
||||||
|
|
30
lib/HLLib.h
30
lib/HLLib.h
|
@ -65,8 +65,8 @@ typedef hlSingle hlFloat;
|
||||||
#define hlFalse 0
|
#define hlFalse 0
|
||||||
#define hlTrue 1
|
#define hlTrue 1
|
||||||
|
|
||||||
#define HL_VERSION_NUMBER ((2 << 24) | (4 << 16) | (5 << 8) | 0)
|
#define HL_VERSION_NUMBER ((2 << 24) | (4 << 16) | (6 << 8) | 0)
|
||||||
#define HL_VERSION_STRING "2.4.5"
|
#define HL_VERSION_STRING "2.4.6"
|
||||||
|
|
||||||
#define HL_ID_INVALID 0xffffffff
|
#define HL_ID_INVALID 0xffffffff
|
||||||
|
|
||||||
|
@ -2031,11 +2031,11 @@ namespace HLLib
|
||||||
class CSGASpecializedDirectory : public ISGADirectory
|
class CSGASpecializedDirectory : public ISGADirectory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename TSGAHeader SGAHeader;
|
typedef TSGAHeader SGAHeader;
|
||||||
typedef typename TSGADirectoryHeader SGADirectoryHeader;
|
typedef TSGADirectoryHeader SGADirectoryHeader;
|
||||||
typedef typename TSGASection SGASection;
|
typedef TSGASection SGASection;
|
||||||
typedef typename TSGAFolder SGAFolder;
|
typedef TSGAFolder SGAFolder;
|
||||||
typedef typename TSGAFile SGAFile;
|
typedef TSGAFile SGAFile;
|
||||||
|
|
||||||
CSGASpecializedDirectory(CSGAFile& File);
|
CSGASpecializedDirectory(CSGAFile& File);
|
||||||
|
|
||||||
|
@ -2060,10 +2060,10 @@ namespace HLLib
|
||||||
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile4> : public ISGADirectory
|
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile4> : public ISGADirectory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename TSGAHeader SGAHeader;
|
typedef TSGAHeader SGAHeader;
|
||||||
typedef typename TSGADirectoryHeader SGADirectoryHeader;
|
typedef TSGADirectoryHeader SGADirectoryHeader;
|
||||||
typedef typename TSGASection SGASection;
|
typedef TSGASection SGASection;
|
||||||
typedef typename TSGAFolder SGAFolder;
|
typedef TSGAFolder SGAFolder;
|
||||||
typedef CSGAFile::SGAFile4 SGAFile;
|
typedef CSGAFile::SGAFile4 SGAFile;
|
||||||
|
|
||||||
CSGASpecializedDirectory(CSGAFile& File);
|
CSGASpecializedDirectory(CSGAFile& File);
|
||||||
|
@ -2089,10 +2089,10 @@ namespace HLLib
|
||||||
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile6> : public ISGADirectory
|
class CSGASpecializedDirectory<TSGAHeader, TSGADirectoryHeader, TSGASection, TSGAFolder, SGAFile6> : public ISGADirectory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename TSGAHeader SGAHeader;
|
typedef TSGAHeader SGAHeader;
|
||||||
typedef typename TSGADirectoryHeader SGADirectoryHeader;
|
typedef TSGADirectoryHeader SGADirectoryHeader;
|
||||||
typedef typename TSGASection SGASection;
|
typedef TSGASection SGASection;
|
||||||
typedef typename TSGAFolder SGAFolder;
|
typedef TSGAFolder SGAFolder;
|
||||||
typedef CSGAFile::SGAFile6 SGAFile;
|
typedef CSGAFile::SGAFile6 SGAFile;
|
||||||
|
|
||||||
CSGASpecializedDirectory(CSGAFile& File);
|
CSGASpecializedDirectory(CSGAFile& File);
|
||||||
|
|
Loading…
Reference in New Issue