Page 2 of 2

Re: Doom 3 (Xbox) .GOB file

Posted: Sun Jul 24, 2011 4:47 pm
by Teancum
Sorry for the necropost, but I feel like this is related. -- Is there any chance of a Jedi Academy-compatible version of this app? It crashes for me with JA gob files.

Re: Doom 3 (Xbox) .GOB file

Posted: Thu Apr 04, 2013 3:40 am
by Teancum
Necroposting yet again, but the specs for the .GFC/.GOB files have been inadvertently released. With the closing of LucasArts Raven Software released the source code to Jedi Outcast and Jedi Academy. Vicarious Visions' code for these container files, along with all Xbox-specific code, was there.

Jedi Outcast code: http://sourceforge.net/projects/jedioutcast/
Jedi Academy code: http://sourceforge.net/projects/jediacademy/?source=dlp

The code can be found in \[gamename]\code\goblib. Hopefully this helps with import/extraction tools. Heck, that same C++ code probably could be directly integrated to some degree if someone were feeling froggy enough to make a dedicated tool.

Re: Doom 3 (Xbox) .GOB file

Posted: Sun Apr 07, 2013 3:48 pm
by Teancum
Here are the two files from the Jedi Academy source code that handle the .GOB/.GFC container system. It's C++ code. http://www.mediafire.com/?slrtgroox1xv8km

Some notes from the header file:
goblib.h

Code: Select all

/*****************************************
 * GOB File System
 *
 * Purpose: Provide fast, efficient disk access on a variety of platforms.
 * Implementation:
 *		The GOB system maintains two files -- GOB and GFC.  The GOB file is actually
 *		an archive of many files split into variable size, compressed blocks.  The GFC,
 *		GOB File Control, contains 3 tables -- a block table, basic file table, and
 *		extended file table.  The block table is analogous to a DOS FAT.  The basic
 *		file table contains a minimal set of file information to handle basic reading
 *		tasks.  The extended file table is optionally loaded and contains additional
 *		file information.  File names are case insensitive.
 *		  
 *		Files can be read in a normal manner.  Open, read, seek and close
 *		operations are all provided.  Files can only be written in a single
 *		contiguous chunk of blocks at the end of an archive.  Reads are processed
 *		through a configurable number of read ahead buffers to in an effort to
 *		minimize both reads and seeks.  Other operations including delete, verify, 
 *		access, and get size are also supported on files inside an archive.
 *
 *		The system supports read profiling.  By supplying a file read callback 
 *		function, the library will output the block number of each read.  This can 
 *		be used rearrange block in the archive to minimize seek times.  The 
 *		GOBRearrange sorts files in an archive.
 *
 *		Supports block based caching.  Primarily aimed at caching files off a DVD/CD
 *		to a faster hard disk.

#define GOB_MAGIC_IDENTIFIER		0x8008
#define GOB_MAX_FILE_NAME_LEN		96
#define GOB_MAX_FILES				(16*1024)
#define GOB_MAX_BLOCKS				32767
#define GOB_BLOCK_SIZE				(64*1024)
#define GOB_BLOCK_ALIGNMENT			2048
#define GOB_MEM_ALIGNMENT			64
#define GOB_COMPRESS_OVERHEAD		1024
#define GOBMARKER_STARTBLOCK		('L' | 'B' << 8 | 'T' << 16 | 'S' << 24)
#define GOBMARKER_ENDBLOCK			('L' | 'B' << 8 | 'N' << 16 | 'E' << 24)

Re: Doom 3 (Xbox) .GOB file

Posted: Thu Jul 04, 2019 4:10 am
by Phobos90
vadim wrote: Thu Apr 29, 2010 7:57 pm .GOB & global.d3tfull unpacker
Sorry to bring back this old thread, but I wish to know what's the proper usage of this tool to open Doom 3 Xbox .gob and global.d3tfull files.


I just don't know what to do with this exe.