Team Fortress File Factory
News  Essentials  Utilities  Customizations  Maps  FAQ  Search  Contact
   TF  [ TFC ]
FILE  INFO
TFC > Utilities > Pak/GCF tools
File: GCFScape v1.7.5
Filename: gcfscape175.exe
Author: NEMESIS
Downloads: 13619
Description: Allows a user to open and view the contents of GCF and VPK (Valve/Steam) files. Latest version as of December 12th, 2009.
Size: 429KB
Date: 03/12/2010

Click to Download
Additional Info:
===================================
===================================
GCFScape BY: RYAN "NEMESIS" GREGG
===================================
===================================

===========================
Program/Author Information:
===========================

---- General Program Information ----
Date : December 12th, 2009
Author : Ryan "NEMESIS" Gregg
Title : GCFScape
Build : 1.7.5
Email address : [email protected]
Home page / Website : http://nemesis.thewavelength.net/

---- Program Construction Information ----
Written In : C++ .NET

=============
Requirements:
=============

OS
- Windows Vista
- Windows XP SP2
- Windows 2000 SP3
- Windows ME
- Windows 98
- Windows NT
- Windows Server 2003

CPU
- 90 MHz Intel Pentium Class Processor or Equivalent

RAM
- 32 MB of RAM (96 MB recommended.)

====
FAQ:
====

Q.
When I launch GCFScape I get the following error message:
"The application failed to initialize properly (0xc0000135). Click ok
to terminate the application."

A.
GCFScape is written in C++ .NET (using Visual C++ 2005 SP1) and as such
requires the .NET runtime and Visual C++ SP1 libraries to run. See the
following links for more information:

x86 architectures (choose this if you are unsure):
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en

x64 architectures:
http://www.microsoft.com/downloads/details.aspx?familyid=B44A0000-ACF8-4FA1-AFFB-40E78D788B00&displaylang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA&displaylang=en


Q.

When I launch GCFScape I get the following error message:
"A required .DLL file, MSCOREE.DLL, was not found."

A.
GCFScape is written in C++ .NET (using Visual C++ 2005 SP1) and as such
requires the .NET runtime and Visual C++ SP1 libraries to run. See the
following links for more information:

http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en


Q.
Are GCF files compressed archives?

A.
No.


Q.
What are GCF files then?

A.
GCF (Assumed to stand for Game Cache File) files can best be compared to a
virtual file system not unlike FAT or other common file systems. The virtual
file system supports meta data, file fragments, checksums and other minor
features. GCF files are the backbone of Steam's content delivery system.


Q.
Why do I have to close Steam to open a GCF file?

A.
GCFScape uses a technique called file mapping to directly access data in a
GCF file as you would data in memory. This is a useful technique because it
means GCFScape doesn't have to read tons of data into memory to read a GCF
file and it can read a GCF file without having to seek all over the place.

Because Steam opens GCF files in read/write mode and is liable to change the
contents of any GCF file at any time, GCFScape requires that you close Steam.
If Steam was open and it changed the contents of a GCF file while it was mapped,
GCFScape would become unstable and likely crash.


Q.
When I open a package I get the following error message:
"Failed to open file."

A.
GCFScape requires strict read rights to a package file to maintain stability.
Make sure the package file is not open in any other program including Steam.
As a work around you can enable Volatile Access from the Options menu. Note:
this may cause GCFScape to become unstable if Steam is updating the package you
have open.


Q.
When I open a GCF file I get the following error message:
"Invalid GCF version number (vX)."

A.
GCFScape does not know how to read the GCF file version you are attempting to
open. This could be because it is an old GCF file version that I haven't yet
added support for (due to the fact that I don't know what the format is) or a
new GCF file version that a recent Steam update produced. Either way let me know.


Q.
When I open a package I get the following error message:
"Corrupt file."

A.
GCFScape will display this error when it maps a package file to memory only to
find there is not enough data in the file for the resulting map. This may or may
not mean your file is corrupt but almost certainly means GCFScape would crash it
continued to load your package file.


Q.
When I open a package I get the following error message:
"Failed to map view of file."

A.
GCFScape will display this error when the system call MapViewOfFile() fails.
This can happen on older operating systems with primitive virtual memory management.
As a work around you can disable File Mapping from the Options menu. Note: disabling
File Mapping will incur a memory and performance penalty.


Q.
When I press the Extract button, a Browse for Folder dialog appears but there is
no directory tree to allow me to select a folder.

A.
There is an unfortunate bug with the .NET framework that causes this dialog to
operate incorrectly. This is a pretty rare occurrence, but there is a workaround:

1. Close GCFScape.
2. Open the gcfscape.cfg file, located in your GCFScape directory, in notepad.
3. Set the GCFScape.ExtractDirectory argument to a folder on your hard drive such as C:\.
4. Open GCFScape and extract your file.


Q.
When I extract a file I get the following error message:
"Error writing [filename] (File contains no physical data to write)."

A.
This error occurs when you attempt to extract a file that has no physical data associated
with it. This is a file that exists in the directory tree but which Steam has not yet
downloaded. Use Steam to make sure the file is fully acquired.


Q.
How do I create a GCF file?

A.
As of yet, not enough is known about the GCF file format to programmatically create one.
There are still plenty of unknown fields that need an understanding before a GCF file can
be created. That said there is also no guarantee that creating a GCF file is all that is
needed for Steam to recognize and make use of it. Some other registration might be required
and may not be possible without hacking Steam. For these reasons I have no plans to add the
ability to create a GCF file.


Q.
How do I modify a GCF file?

A.
The purpose of the GCF file is to make it easy for Steam to update Valve's software.
When a new version of a program (say CS) is released, all Steam has to do is look in
the CS GCF file and compare versions (hashes) of each file to determine if each file
needs to be added, updated or removed. Because of this, if you were to modify a file,
Steam would interpret this as meaning that the file is out of date and redownload
the correct version of the file.

Steam does, however, provide an interface to add or overwrite a file. To add or
overwrite a file simply place it in the corresponding directory in the
Steam\SteamApps\[EMail]\[GCF File] directory on your hard drive. You might have to
create the appropriate subdirectories.


Q.
Will GCFScape be able to create or modify GCF files in the future?

A.
Not likely.

==================
Program Changelog:
==================

v1.7.5
- Added support for packages larger than 4 GB.
- Added Open Containing Folder to context menu.
- Upgraded to HLLib v2.2.0.
- Fixed formatting of "Items" in the Poperties form.

v1.7.4
- Upgraded to HLLib v2.1.2.

v1.7.3
- Upgraded to HLLib v2.1.1.

v1.7.2
- Fixed a crash sorting columns when opening a file of a different type than a previously opened file.

v1.7.1
- Upgraded to HLLib v2.1.0.
- Added VPK file support.

v1.7.0
- Upgraded to HLLib v2.0.11.
- Fixed support for files over 2 GB.

v1.6.9
- Added Fragmentation Report tool.
- Added Batch Defragment tool.
- Added regular expression matching.
- Added Disable Warnings option.
- Fixed wildcard matching.
- Splitters now remember their locations.

v1.6.8
- Upgraded to HLLib v2.0.10.

v1.6.7
- Added program selection for unassociated file types.
- Upgraded to HLLib v2.0.9.

v1.6.6
- Upgraded to HLLib v2.0.8.

v1.6.5
- Added NCF path auto setting and clearing.
- Added file type icon to properties dialog.
- Added close to File menu.
- Added clear history to Recent Files menu.
- Added validate to Tools menu.
- Added error message for failed associations/disassociations.
- Improved performance.

v1.6.4
- Added additional search features.
- Added the ability to associate GCFScape with various formats.
- Upgraded to HLLib v2.0.7.

v1.6.3
- Added configurable columns for custom properties.
- Upgraded to HLLib v2.0.6.

v1.6.2
- Fixed bug in GCF file defragmentation progress.
- Upgraded to HLLib v2.0.4.

v1.6.1
- Added NCF file support.
- Upgraded to HLLib v2.0.3.

v1.6.0
- Added the ability to defragment GCF files.
- Added check for missing recent files.
- Fixed initial menu item state bug.
- Fixed potential threading synchronization bug.
- Upgraded to HLLib v2.0.2.

v1.5.1
- Added the ability to pause extraction and validation.
- Improved drag & drop functionality.
- Upgraded to HLLib v2.0.1.

v1.5.0
- Added the ability to validate packages.
- Improved accessibility to package and item attributes.
- Improved progress dialog.
- Improved default setting selection.
- Upgraded to HLLib v2.0.0.

v1.4.1
- Added XZP file support.
- Upgraded to HLLib v1.1.8.

v1.4.0
- Upgraded to .NET v2.0.
- Upgraded to HLLib v1.1.7.

v1.3.1
- Improved extraction progress form.
- Fixed properties form refresh bug.

v1.3.0
- Added Completion attribute to properties form.
- Upgraded to HLLib v1.1.6.

v1.2.9
- Added support for shell icons and descriptions.
- Improved WAD file support.
- Various optimizations.
- Upgraded to HLLib v1.1.5.

v1.2.8
- Added support for wildcards in search strings.
- Added support for Windows temporary folders.
- Improved detection of corrupt packages.
- Upgraded to HLLib v1.1.4.

v1.2.7
- Added multiple file selection.
- Improved drag & drop functionality.

v1.2.6
- Added volatile access mode.
- Files of size 0 B are now treated as valid files.
- Upgraded to HLLib v1.1.3.
- Updated Nem's Tools link.

v1.2.5
- Added Verbose console output mode. (Slows down extracting.)
- Added disable file mapping option.
- Incomplete files are now grayed.
- HLLib improvements.

v1.2.4
- Added tool bar.
- Added address bar.
- Added back, forward and up buttons.
- Added support for back and forward mouse buttons.
- Encrypted files are now grayed.
- Other GUI improvements.

v1.2.3
- HLLib fixes.

v1.2.2
- Workaround for .NET FolderBrowserDialog bug.
- Forced garbage collection.
- HLLib fixes.

v1.2.1
- Added support for BSP packages.
- Double clicking a file shell executes it.
- Added ability to look up extensions in registry.
- Fixed HLLib initialization bug.

v1.2.0
- Reprogrammed to use HLLib.
- Added support for PAK and WAD packages.
- Column headers can sort listbox items.

v1.1.6
- Altered file mapping algorithm to map small blocks instead of one large one.
- Added checks for invalid Windows directory names.

v1.1.5
- Removed Beta status.
- Added property form.
- Removed 'Local Copy' column.

v1.1.4
- Added support for version 3 GCF files.
- Added new panel in status bar which displays the GCF version number.

v1.1.3.1
- On error, useful GCF file data is dumpped to "dump.txt".

v1.1.3
- Figured out GCF versioning and added support for versions 5 and 6.
- Improved error handling.

v1.1.2
- Modified the program to allow it to work with a Steam update (June 21, 2004).

v1.1.1
- Modified the program to allow it to work with a Steam update (June 16, 2004).
- Added 'Local Copy' column. If true a local copy of the file should exist on your hard drive.
- Added 'Go To Directory' button. This will allow users to find the directory a search result is located in.

v1.1.0
- Added the ability to search for files within a GCF file.
- Added extraction progress bar and abort button.
- Added the ability to select and extract multiple items in the list box.
- Extracting several items no longer visually locks up GCFScape.
- GCFScape now remembers its position, window state and last extraction directory.
- Fixed bug which cased crash when shell executing a file without a default application.

==============================
Program Copyright-Permissions:
==============================

LICENSE

Terms and Conditions for Copying, Distributing, and Modifying

Items other than copying, distributing, and modifying the Content
with which this license was distributed (such as using, etc.) are
outside the scope of this license.

1. You may copy and distribute exact replicas of GCFScape as you receive
it, in any medium, provided that you conspicuously and appropriately
publish on each copy an appropriate copyright notice and disclaimer
of warranty; keep intact all the notices that refer to this License
and to the absence of any warranty; and give any other recipients of
GCFScape a copy of this License along with GCFScape. You may at your
option charge a fee for the media and/or handling involved in creating
a unique copy of the GCFScape for use offline, you may at your option offer
instructional support for the GCFScape in exchange for a fee, or you may at
your option offer warranty in exchange for a fee. You may not charge a
fee for GCFScape itself. You may not charge a fee for the sole service
of providing access to and/or use of GCFScape via a network (e.g. the Internet),
whether it be via the world wide web, FTP, or any other method.

2. You may not modify your copy or copies of GCFScape or any portion of it.

3. You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to copy, distribute or modify GCFScape.
These actions are prohibited by law if you do not accept this License. Therefore,
by copying or distributing GCFScape you indicate your acceptance of this License to do
so, and all its terms and conditions for copying, distributing and modifying GCFScape.

NO WARRANTY

4. BECAUSE GCFSCAPE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR GCFSCAPE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED
IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE GCFSCAPE "AS IS" WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK OF USE OF THE GCFSCAPE IS WITH YOU. SHOULD GCFSCAPE PROVE FAULTY, INACCURATE, OR
OTHERWISE UNACCEPTABLE YOU ASSUME THE COST OF ALL NECESSARY REPAIR OR CORRECTION.

5. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MIRROR AND/OR REDISTRIBUTE GCFSCAPE AS
PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE GCFSCAPE,
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.