Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Little extractor program

The Original Forum. Game archives, full of resources. How to open them? Get help here.
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

@Mr.Mouse:
So what?
Do you want a gaudy MultiMegaByte installation application for stupid mouse clickers or do you want simply unpack game files? No problem, I can upload eight 100MB files on rapidshare, in case you want to have something to busy with. But the result will be the same somehow.
What's wrong with the interface? Are you not able to use your keyboard properly? OK, it is inappropriate for people who play games at a console with their two thumbs.
Despite the age of the module skeleton (as I mentioned first I am updating and optimizing it since 1996) this program is able to handle more file formats easier than any awkward and resource-eating .NET or JAVA junk.
Each module costs about 50...200 Bytes in real executable code size, depending on the complexity. If I want to reach the 64KByte file size barrier I would still have to add 150 to 200 formats...
Mr.Mouse
Site Admin
Posts: 4073
Joined: Wed Jan 15, 2003 6:45 pm
Location: Dungeons of Doom
Has thanked: 450 times
Been thanked: 682 times
Contact:

Re: Little extractor program

Post by Mr.Mouse »

I would advise you to keep that tone in check.

I merely said it reminds me of my own first multi format extractor, MultiEx.

I did not say anything about which approach is best, nor do I feel any need to do so, as that is really not worth it. If you feel the need to express frustration with 'stupid-mouse clickers', or have to slam .NET and JAVA 'junk', go ahead and afterwards feel good about yourself, but leave us out of it.

You have a nifty little program there, I'm sure we all appreciate.
mambox
mega-veteran
mega-veteran
Posts: 190
Joined: Wed Mar 24, 2004 2:06 pm
Has thanked: 5 times
Been thanked: 4 times

Re: Little extractor program

Post by mambox »

i think Mr.Mouse dont wanted to offense anyone.
your tool is welcome here,thanks to share it!
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

Added: Space Siege, SSG*-files.
Genre: Role-playing, Action


This is a very tricky file format similar to Dungeon Siege (and Supreme Commander?). I have no idea why the programmers of this game made it that complicated. Without using this text (http://www.watto.org/extract/program/archives.txt) as a help I wouldn't have found out what structure this file format has. The description there is very incomplete so I had to investigate a lot by myself.
Mainly there are two tables, one for the files and one for the directories. Both of them contain dependency information and additional chunk tables if a file is compressed.
First I tried to descend the directory structure but then I decided to loop through the file table and ascend the directory table for each file. This simplified the extraction algorithm.
After intensive testing I assume GOBREAD will unpack all files properly.
You do not have the required permissions to view the files attached to this post.
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

Added: Das schwarze Auge: Drakensang (The Dark Eye: Drakensang), NPK-files
Genre: Classic Role-playing, 3D-Action

This game appears to be an expanded version of an old one from the early ninetees which ran under DOS. I remember that it could be purchased as a cheap budget title at that time (it cost about 3 Deutsch-Mark). It seems the programmers try to brush up an old idea with new graphics.

The NPK file format doesn't use compression. The file structure consists of relative directory and file entries which have to be put together.
Each entry has variable length and starts with a DWORD-flag:
"DIR_" - directory entry, descending the path
"FILE" - file entry
"DEND" - directory entry, ascending the path
"DATA" - start of data area

Because there is no information about the number of files I continue the extraction process until the substraction of [size_of_extracted_file] from [remaining_size_of_data_area] returns zero.
Last edited by asmxtx on Sun Sep 07, 2008 8:31 pm, edited 1 time in total.
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

Added: Dreamstripper, CBN-files
Genre: Adult

The format is mentioned in this topic:
viewtopic.php?f=10&t=3107

Bugfixed (Sep 03, 2008):

- Module Drakensang:
Unpacker stopped with an error message if some existing files couldn't be overwritten
- General
Extraction process cancellation with "ESC"-key:
It was polled between every buffer writes which resulted in improperly cutted files.
Now it is polled only when a file is about to be created.

Changed: (Sep 07, 2008):

- Module Genetroopers:
Removed from automatic detection because the format can't be reliably recognized.
You do not have the required permissions to view the files attached to this post.
gamemaster
n00b
Posts: 18
Joined: Mon Jul 21, 2008 1:07 am

Re: Little extractor program

Post by gamemaster »

Hey thanks for trying to support cbn files in your program but I cant seem to run it. I click on it but all it does is just show a bunch of words in an msdos prompt window that blaze by at the speed of light in less then 2 seconds and it disappears or closes out. I also tried draging the files onto the exe and still nothing. Is the problem that it isnt vista compatible?
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

gamemaster wrote:I click on it but all it does is just show a bunch of words in an msdos prompt window that blaze by at the speed of light in less then 2 seconds and it disappears or closes out. I also tried draging the files onto the exe and still nothing. Is the problem that it isnt vista compatible?
This is a such called "console" or "command line" program. You have to be familiar with the console window of windows and you have to use your keyboard.
I couldn't test it on Vista yet but it should run fine in all versions of Win up to XP.
In XP you can open a console window with:

Code: Select all

cmd
For example, if you wish to save the "light speed blazing" output text to an everlasting file named "help.txt" you would have to type (assuming GOBREAD.EXE is being located in your path/directory/folder, whatever you call it):

Code: Select all

gobread >help.txt
To extract files from Dreamstripper CBN-files into the current path/directory/folder you have to type (assuming "filename" is the name of one of the CBN-files):

Code: Select all

gobread /cbn filename.cbn
If you encounter further problems using the Windows-console, I recommend to RTFM of Windows.
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

Improved: PKR file format handling

The PKR container is used in some games (XMEN2, Spiderman, ProSkater BMX and maybe other).
Obviously the length of the name space in an entry differs for each game (XMEN2 uses 80h Bytes, ProBMX uses 20h).
Because there is no mark (like a version information) in these files which indicates this difference I implemented an algorithm to calculate the required table size. This should allow unpacking of many derivates of this file type.
You do not have the required permissions to view the files attached to this post.
gamemaster
n00b
Posts: 18
Joined: Mon Jul 21, 2008 1:07 am

Re: Little extractor program

Post by gamemaster »

I tried what you said to do and try to run the program through the cmd prompt instead of just clicking but the same thing happens. And what is RTFM of Windows and how do I do it. I searched for it but couldnt find anything about it.
User avatar
asmxtx
veteran
Posts: 127
Joined: Sun Jun 08, 2008 10:32 pm
Location: Developers Country
Has thanked: 1 time
Been thanked: 30 times

Re: Little extractor program

Post by asmxtx »

Added: HPK, ZLIB-compressed container ("Glory of the Roman Empire")

Format of the file:
<HPK_ZLIB><OFS_TABLE><ZLIB_DATA>

Format description (ASM-pseudo syntax):

Code: Select all

HPK_ZLIB	STRUCT
	HPK_MARK	DWORD	"ZLIB"		;Marker
	HPK_USIZE	DWORD	?		;Uncompressed size of destination file
	HPK_CSIZE	DWORD	?		;Maximum size of uncompressed chunk
ENDS
HPK_ZLIB	ENDS

OFS_TABLE	...DWORDs	?		;Start of ZLIB-compressed chunk

ZLIB_DATA	db ? BYTE (?)		;ZLIB-Chunks
There is no END-marker nor number-of-files value. The "END"-condition must be determined by HPK_USIZE.

@gamemaster:
I'm afraid I won't help you. If I would, I would be paid for working at a support center.
As I wrote before: There is no "clicking" support.
Please be conformed to your operating system first and only then post anything regarding to problems using my program.
For common abbreviations JFGI.
By the way, don't expect to see any "spectacular" whithin the DreamStripper-CBN-files.
You do not have the required permissions to view the files attached to this post.
gamemaster
n00b
Posts: 18
Joined: Mon Jul 21, 2008 1:07 am

Re: Little extractor program

Post by gamemaster »

I figured out what rtfm is. Its read the f@!#$ing manual. Duh! I feel like an idiot know. Oh and the only reason I want to extract the files is to see if I can get the models to use for things like mods for games and such.
Last edited by gamemaster on Tue Sep 23, 2008 10:47 pm, edited 2 times in total.
Mr.Mouse
Site Admin
Posts: 4073
Joined: Wed Jan 15, 2003 6:45 pm
Location: Dungeons of Doom
Has thanked: 450 times
Been thanked: 682 times
Contact:

Re: Little extractor program

Post by Mr.Mouse »

Gamemaster, let me help you out a bit.

I've written a simple graphical user interface for people who do wish to be able to click on a button to make GoBread go and extract the stuff from archives it supports.

It's an early version and will only go for the formats that it automatically detects (I couldn't be bothered to add support for non-auto formats, I just wrote it as a quick-fix, it also does not let you create certain archives from file in a folder).

The GUI is called GoBakery. It's attached with a version of gobread.exe. To update it, just take a new version of gobread and copy that to the folder you unzipped GoBakery in.
gobakery01.JPG
Please note that gobread does not support long filenames, does not let you extract to a specific folder, cannot list contents of an archive and cannot update an archive. The "use at your own risk" statement in asmxtx's help text so naturally also applies to GoBakery.
You do not have the required permissions to view the files attached to this post.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: Little extractor program

Post by Darkfox »

I think this should satisfy people who are more familiar with a GUI or have no experience with command line tools. Though I suggest to some that they do. Some pretty awesome programs are command line driven. :) I find it easier and more to the point in some cases. Anyways, I like your GUI Mr.Mouse, it looks well understandable and to the point.

Anyways, should ease the lives of those having trouble with operating GoBread. :)

P.S. Interesting choice title. GoBakery. XD I get the joke.
User avatar
Dinoguy1000
Site Admin
Posts: 786
Joined: Mon Sep 13, 2004 1:55 am
Has thanked: 154 times
Been thanked: 163 times

Re: Little extractor program

Post by Dinoguy1000 »

Woohoo! A bakery for the bread! *is hungry* :D
Welcome to Xentax!

Rules | Requests | Wiki | Discord

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.
Post Reply