-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathReadme.txt
249 lines (198 loc) · 6.68 KB
/
Readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
================================
================================
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 : ryansgregg@hotmail.com (Ryan Gregg)
m.mohr@laposte.net (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 <filepath> (Package to load.)
-d <path> (Destination extraction directory.)
-e <itempath> (Item in package to extract.)
-t <itempath> (Item in package to validate.)
-l[d][f] [filepath] (List the contents of the package.)
-f (Defragment package.)
-c (Console mode.)
-s (Silent mode.)
-m (Use file mapping.)
-q (Use quick file mapping.)
-v (Allow volatile access.)
-o (Don't overwrite files.)
-r (Force defragmenting on all files.)
-n <path> (NCF file's root path.)
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 <folder> Change directory to <folder>.
info <item> Information on <item>.
extract <item> Extract <item> to <path> specified by -d.
validate <item> Validate <item> data.
find <filter> Search the current folder for <item> recursively.
type <file> Type <file> to the console.
open <file> Open nested package <file>.
root Change directory to root\.
status Package information.
cls Clear screen.
help Display help.
exit Exit HLExtract.
==================
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.