Ok, I think GCFScape is ready for a beta release so here it goes.
GCFScape is written in a mixture of managed and unmanaged C++ which means it requires the .NET framework. (The reason I chose C++ .NET is because of its low level programming capabilities and its high level form design capabilities. I wrote a whole lot of code to simply figure the format out so I didn't want to spend too much time on the GUI.) I will try to re-release GCFScape using pure unmanaged C++ but it's the holidays and I want a break so it might not be for some time. I will also do up what I know of the GCF file format and release that.
Please note that I do not in any way guarantee the correctness of this program or the content it exports. The program was written by studying large .gcf files in a hex editor so it is entirely possible that the format I observed is incorrect. Although I was unable to figure out how to programmatically scan past what I call the sixth section, I believe the code that scans for the data block header is accurate. The data block header contains five fields (including a checksum) and all of which I know which means it is highly unlikely that the program will accidentally mistake incorrect data for the data block header though it is entirely possible.
With all of that said you can D/L GCFScape from here.
THX man you'r tha king:)))
khm this version still does not support extract or what?? if it suports how can i specify the output library (it shows a blank window for me:(( )
Impressive. All the files wich could be necessary for mappers (exepted a few sky's tga) are extractable \o/
wow might i say it works quite well cant wait till its finished off works great.
ps: you might want to get a donate$ button as i can see it might be used a few times once you finish this handy little app.
also its nice to see a programmer who makes simple to use clean interfaces good job on all the programs you have written.(promptly removes lips from nem's ass)
sweet. I tried it and it works great
thanks nem :D
As it is the application is pretty much done (aside any bugs it may have). If you have any feature requests (for example I was thinking it might be nice to be able to extract multiple items all at once) please feel free to let me know. Just so you know the ability to create GCF files is probably unrealistic, I just don't know enough of the GCF format.
For anyone who hasn't figured it out yet. To extract an item all you have to do is right click on it in the tree or in the list and select 'extract'. Once you have selected a directory to extract to the console will show you exactly where you are in the extraction process.
I should also point out that if you get the error:
<filename> not found in block entries.
this means the files exists in your directory but not in the GCF file (Steam hasn't yet downloaded it).
If anyone extracts an incomplete or corrupt file please let me know and Lucky, I'm having a hard time following what you have to say, could you please elaborate on it?
OK i'll try to be more precise
1. wanted to extract the palette.lmp file from the gfx directory in the counter-strike.gcf
2. i found the file right clicked on it then extract
3. a window pops up entitled browseing but it is blank save "extract gcf item" and 3 buttons on the bottom "new directory" "OK" "cancel"
4. i tryed clicking on all of the buttons but the window just disappears and i dont have the file anywhere on my harddrive
the same thing happens no matter what file i was going to extract
i will try to upload somewhere the screenshot or should i mail it for you?
well it works almost perfectly some files are corrupt when extracted
Extracting mp.dll to C:\Documents and Settings\steven_m64\Desktop.
Error writing C:\Documents and Settings\steven_m64\Desktop\mp.dll.
C:\Games\Steam\SteamApps\dedicated server.gcf loaded.
Extracting swds.dll to C:\Documents and Settings\steven_m64\Desktop.
Error writing C:\Documents and Settings\steven_m64\Desktop\swds.dll.
EDIT: there were others but i forgot witch files thay were
i checked the cache status for Counter-Strike.gcf and dedicated server.gcf both ready to play and acquired % are at 100%.
a bug i found is if you use the show desktop shortcut or minimize, it will pop-up a error
Lucky: What OS do you have? What version of .NET do you have? Does anything appear in the console at all?
steven_m64: Can you tell me the size of the .dll's that failed to extract? The error you are getting occurs when fwrite fails, I just want to check if it maybe has something to do with the file size being divisible by the block size. I've also already fixed the minimize bug (same D/L).
Microsoft .NET Framework version 1.1.4322.579 Windows XP pro (hungarian)(could this be a problem?)nothing appears in the console besides: [path]counter-strike.gfc loaded
i hope this helps you find whats wrong
should i email a screenshot of the extract window that appears?
No, I don't think a screenshot is necessary. I think it is a bug with the .NET framework (I'd like to take this opportunity give Bill a pat on the back).
Is the e-mail on your profile valid? If so I'll slap togeather another build using a more conventional dialog and we can see if that fixes the problem.
Actual size 852KB
Actual size 1,496KB
i will post the other files that had errors when extracting
the program grinds to a complete halt(looks as if it crashed) and hits 100% cpu when extracting a large ammount of files but after a while it finishes and go's to normal. but as for a complete crash of the program ive had none, great work.
New users can register here.