[ Home ]

wolfcore_decoder.c File Reference

Wolfenstein 3-D front end to data file decoder. More...

#include "wolfcore_decoder.h"
#include "../common/platform.h"
#include "../common/common_utils.h"
#include "../string/wtstring.h"
#include "../filesys/file.h"
#include "../memory/memory.h"
#include "../zlib/zlib.h"

Include dependency graph for wolfcore_decoder.c:


Data Structures

struct  dataDecoder_s

Defines

#define CRC_AUDIOHED_WL6_ACTIVISION   0x2F3BCB70;
#define CRC_AUDIOT_WL6_ACTIVISION   0xC79EFD4C;
#define CRC_GAMEMAPS_WL6_ACTIVISION   0xADA5C827;
#define CRC_MAPHEAD_WL6_ACTIVISION   0x15803E9;
#define CRC_VGADICT_WL6_ACTIVISION   0xAA22054E;
#define CRC_VGAGRAPH_WL6_ACTIVISION   0xA4B1DE1D;
#define CRC_VGAHEAD_WL6_ACTIVISION   0xAB2B44D3;
#define CRC_VSWAP_WL6_ACTIVISION   0xE610C664;
#define CRC_AUDIOHED_WL6_APOGEE   0x2F3BCB70;
#define CRC_AUDIOT_WL6_APOGEE   0xC79EFD4C;
#define CRC_GAMEMAPS_WL6_APOGEE   0xADA5C827;
#define CRC_MAPHEAD_WL6_APOGEE   0x15803E9;
#define CRC_VGADICT_WL6_APOGEE   0x8B4AD0F8;
#define CRC_VGAGRAPH_WL6_APOGEE   0xE0DF1EA0;
#define CRC_VGAHEAD_WL6_APOGEE   0x27EE37C4;
#define CRC_VSWAP_WL6_APOGEE   0x859E8FFC;
#define CRC_VSWAP_SOD   0x591CC4DC;
#define CRC_VSWAP_SD1   0x591CC4DC;
#define CRC_VSWAP_SD2   0x861DCBF7;
#define CRC_VSWAP_SD3   0x1DB521A;

Typedefs

typedef struct dataDecoder_s dataDecoder_t

Functions

void wolffull_decoder (void)
 Decodes Wolfenstein 3-D full version.
void wolfshare1_decoder (void)
 Decodes Wolfenstein 3-D Shareware version.
void wolfshare14_decoder (void)
 Decodes Wolfenstein 3-D Shareware 1.4 version.
void Macintosh_Decoder (void)
 Interface to Macintosh data extractor.
void wolf3do_decoder (void)
 Interface to Wolfenstein 3DO data extractor.
void spear_decoder (void)
 Decodes SOD full version.
void speardemo_decoder (void)
 Decodes SOD Shareware version.
void blakestoneAGfull_decoder (void)
 Decodes Blake Stone Aliens of Gold Full Version data.
void blakestoneAGshare_decoder (void)
 Decodes Blake Stone Aliens of Gold Shareware data.
void blakestonePS_decoder (void)
 Decodes Blake Stone Planet Strike data.
void corridor7_decoder (void)
 Decodes Corridor 7 data.
void corridor7share_decoder (void)
 Decodes Corridor 7 Shareware data.
void super3dNoahsArk_decoder (void)
 Decodes Super 3D Noah's Ark data files.
void obc_decoder (void)
 Decodes Operation: Body Count data files.
void obcshare_decoder (void)
 Decodes Operation: Body Count Shareware data files.
PRIVATE wtBoolean buildCacheDirectories (void)
 Create cache directories.
PRIVATE void deleteCacheDirectories (void)
 Remove cache directories.
PRIVATE void CheckFiles_Wolfenstein ()
PRIVATE void CheckFiles_SOD ()
PRIVATE void CheckFilesForIntegrity (W32 *flag)
 Check files for integrity.
PRIVATE void CheckForDataFiles (W32 *flag)
 Check to see which data files are present.
PUBLIC void wolfDataDecipher (void)
 Wolfenstein data decoder.

Variables

PRIVATE const char * BASEDIR = "base/"
W32 _gameVersion
const char * WPFileExt []
PRIVATE dataDecoder_t dd_decoder []
PRIVATE W32 ddcodemax = sizeof( dd_decoder ) / sizeof( dd_decoder[ 0 ] )

Detailed Description

Wolfenstein 3-D front end to data file decoder.

Author:
Michael Liebscher
Date:
2006-2007

Function Documentation

void blakestoneAGfull_decoder ( void   ) 

Decodes Blake Stone Aliens of Gold Full Version data.

Returns:
Nothing.

Here is the call graph for this function:

void blakestoneAGshare_decoder ( void   ) 

Decodes Blake Stone Aliens of Gold Shareware data.

Returns:
Nothing.

Here is the call graph for this function:

void blakestonePS_decoder ( void   ) 

Decodes Blake Stone Planet Strike data.

Returns:
Nothing.

Here is the call graph for this function:

PRIVATE wtBoolean buildCacheDirectories ( void   ) 

Create cache directories.

Returns:
On success true, otherwise false.

Here is the call graph for this function:

Here is the caller graph for this function:

PRIVATE void CheckFilesForIntegrity ( W32 *  flag  ) 

Check files for integrity.

Parameters:
[in,out] flag Flag value returned from CheckForDataFiles
Returns:
Nothing.
Note:
Must call CheckForDataFiles() before calling this method.

Here is the caller graph for this function:

PRIVATE void CheckForDataFiles ( W32 *  flag  ) 

Check to see which data files are present.

Parameters:
[in,out] flag Zero nothing found. See WDExtFlags for more details.
Returns:
Nothing.

Here is the call graph for this function:

Here is the caller graph for this function:

void corridor7_decoder ( void   ) 

Decodes Corridor 7 data.

Returns:
Nothing.

Here is the call graph for this function:

void corridor7share_decoder ( void   ) 

Decodes Corridor 7 Shareware data.

Returns:
Nothing.

Here is the call graph for this function:

void spear_decoder ( void   ) 

Decodes SOD full version.

Returns:
Nothing.

Here is the call graph for this function:

void speardemo_decoder ( void   ) 

Decodes SOD Shareware version.

Returns:
Nothing.

Here is the call graph for this function:

PUBLIC void wolfDataDecipher ( void   ) 

Wolfenstein data decoder.

Returns:
Nothing.
Note:
1. Change into base directory. 2. Look for data files. 3. Decode data files accordingly.

Here is the call graph for this function:

Here is the caller graph for this function:

void wolffull_decoder ( void   ) 

Decodes Wolfenstein 3-D full version.

Returns:
Nothing.

Here is the call graph for this function:

void wolfshare14_decoder ( void   ) 

Decodes Wolfenstein 3-D Shareware 1.4 version.

Returns:
Nothing.

Here is the call graph for this function:

void wolfshare1_decoder ( void   ) 

Decodes Wolfenstein 3-D Shareware version.

Returns:
Nothing.


Variable Documentation

const char* WPFileExt[]

Initial value:

{
    "*.WL6",
    "*.WL1",
    "*.WL1",
    "*.REZ",
    "*.3DO",
    "*.SOD",
    "*.SDM",
    "*.BS6",
    "*.BS1",
    "*.VSI",
    "*.CO7",
    "*.DMO",
    "*.N3D",
    "*.BC",
    "*.BC",

    NULL            

}