Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

Pod.h File Reference

Header file for Pod filesystem library. More...

#include <map>
#include <set>
#include <string>
#include "../Include/LogFile.h"

Go to the source code of this file.

Classes

struct  PFSPOD
struct  PFSPODFILE
struct  PFS
struct  PODFILE

Defines

#define EPD_VOLUME_LENGTH   (0x100)
#define EPD_FILENAME_LENGTH   (0x40)
#define POD_VOLUME_LENGTH   (0x50)
#define POD_AUDIT_USERNAME_LENGTH   (0x20)
#define POD_FILENAME_LENGTH   (0x100)
#define POD_AUTHOR_LENGTH   (0x50)
#define POD_COPYRIGHT_LENGTH   (0x50)

Enumerations

enum  EPodFormat { PodFormatUnknown = 0, PodFormatEpd, PodFormatPod2, PodFormatPod3 }
enum  EContentSource { PODFILE_SOURCE_POD, PODFILE_SOURCE_DISK }

Functions

void pinit (PFS *pPfs, const char *root, bool searchPodFilesFirst)
 Initialize pod filesystem.
void pshutdown (PFS *pPfs)
 Shut down pod filesystem.
void paddpod (PFS *pPfs, const char *filename)
void premovepod (PFS *pPfs, const char *filename)
void paddpodfolder (PFS *pPfs, const char *folder)
void padddiskfolder (PFS *pPfs, const char *folder)
bool pexists (PFS *pPfs, const char *filename)
PODFILEpopen (PFS *pPfs, const char *filename)
size_t pread (void *buffer, size_t size, size_t count, PODFILE *f)
int peof (PODFILE *f)
int pgetc (PODFILE *f)
char * pgets (char *s, int n, PODFILE *f)
int pseek (PODFILE *f, long offset, int origin)
long ptell (PODFILE *f)
void prewind (PODFILE *f)
void pclose (PODFILE *f)
void pfsdump (PFS *pfs, FILE *f)

Variables

static const unsigned int PodSignatureEpd = 'extd'
static const unsigned int PodSignaturePod2 = 'POD2'
static const unsigned int PodSignaturePod3 = 'POD3'


Detailed Description

Definition in file Pod.h.


Define Documentation

#define EPD_FILENAME_LENGTH   (0x40)
 

Definition at line 70 of file Pod.h.

Referenced by pmountepd().

#define EPD_VOLUME_LENGTH   (0x100)
 

Definition at line 69 of file Pod.h.

Referenced by pmountepd().

#define POD_AUDIT_USERNAME_LENGTH   (0x20)
 

Definition at line 72 of file Pod.h.

#define POD_AUTHOR_LENGTH   (0x50)
 

Definition at line 74 of file Pod.h.

Referenced by pmountpod3().

#define POD_COPYRIGHT_LENGTH   (0x50)
 

Definition at line 75 of file Pod.h.

Referenced by pmountpod3().

#define POD_FILENAME_LENGTH   (0x100)
 

Definition at line 73 of file Pod.h.

Referenced by pmountpod2(), and pmountpod3().

#define POD_VOLUME_LENGTH   (0x50)
 

Definition at line 71 of file Pod.h.

Referenced by pmountpod2(), and pmountpod3().


Enumeration Type Documentation

enum EContentSource
 

Enumerator:
PODFILE_SOURCE_POD 
PODFILE_SOURCE_DISK 

Definition at line 81 of file Pod.h.

enum EPodFormat
 

Enumerator:
PodFormatUnknown 
PodFormatEpd 
PodFormatPod2 
PodFormatPod3 

Definition at line 58 of file Pod.h.


Function Documentation

void padddiskfolder PFS pPfs,
const char *  folder
 

Definition at line 478 of file Pod.cpp.

References padddiskfile(), padddiskfolder(), plog(), PFS::root, and strupper().

Referenced by main(), and padddiskfolder().

void paddpod PFS pPfs,
const char *  filename
 

Definition at line 390 of file Pod.cpp.

References PATH_MAX, plog(), pmount(), PFS::podList, and PFS::root.

Referenced by CScenerySet::Load().

void paddpodfolder PFS pPfs,
const char *  folder
 

Todo:
Why not use paddpod?

Definition at line 427 of file Pod.cpp.

References PATH_MAX, plog(), pmount(), PFS::podList, and PFS::root.

Referenced by main().

void pclose PODFILE f  ) 
 

Definition at line 868 of file Pod.cpp.

References PODFILE::pFile, PODFILE_SOURCE_DISK, PODFILE_SOURCE_POD, PODFILE::pPod, PFSPOD::refs, PODFILE::source, and WARNINGLOG.

Referenced by CWaterMaskDatabase::AddGlobeTile(), CBitmapPBG::CBitmapPBG(), CBitmapPBM::CBitmapPBM(), CDefaultTextureDatabase::CDefaultTextureDatabase(), CFuiManager::CFuiManager(), CFuiTheme::CFuiTheme(), CImageTIFF::CImageTIFF(), CloseStream(), CMaskImage::CMaskImage(), CModelACM::CModelACM(), CModelBIN::CModelBIN(), CModelSMF::CModelSMF(), CRawImage::CRawImage(), CAudioManager::CreateSfx(), CRawImage::Load(), CQTRFile::Load(), CElevationBlockBT::Load(), CCursor::Load(), CDatabaseTemplate::Load(), CDatabaseIndex::Load(), CStarImages::LoadBSCDatabase(), CStarImages::LoadConstellations(), CBitmappedFont::LoadRaw(), CDatabase::Unmount(), and CTerrainTypeDatabase::~CTerrainTypeDatabase().

int peof PODFILE f  ) 
 

Definition at line 748 of file Pod.cpp.

References PODFILE::offset, PODFILE::pFile, PODFILE_SOURCE_DISK, PODFILE_SOURCE_POD, PODFILE::pos, PODFILE::size, and PODFILE::source.

Referenced by CFuiManager::CFuiManager(), CFuiTheme::CFuiTheme(), CStarImages::LoadBSCDatabase(), CStarImages::LoadConstellations(), and CStarImages::LoadFlyDatabase().

bool pexists PFS pPfs,
const char *  filename
 

Definition at line 635 of file Pod.cpp.

References existsinpod(), existsondisk(), and PFS::searchPodFilesFirst.

Referenced by CDefaultTextureDatabase::GetBaseTexture(), CTileElevationDatabase::LoadBT(), and CTileElevationDatabase::LoadQTR().

void pfsdump PFS pfs,
FILE *  f
 

Definition at line 900 of file Pod.cpp.

References PFS::diskFileList, PFSPOD::format, gtfo, PFSPODFILE::name, PFSPOD::name, PFSPODFILE::pod, PFS::podFileList, PFS::podList, PFSPODFILE::priority, PFS::root, and PFS::searchPodFilesFirst.

Referenced by debug_dump_system_pfs_cb().

int pgetc PODFILE f  ) 
 

Definition at line 785 of file Pod.cpp.

References PODFILE::pFile, PODFILE_SOURCE_DISK, PODFILE_SOURCE_POD, PODFILE::pos, and PODFILE::source.

char* pgets char *  s,
int  n,
PODFILE f
 

Definition at line 808 of file Pod.cpp.

References PODFILE::pFile, PODFILE_SOURCE_DISK, PODFILE_SOURCE_POD, PODFILE::pos, and PODFILE::source.

Referenced by CFuiManager::CFuiManager(), CFuiTheme::CFuiTheme(), CModelACM::CModelACM(), CModelSMF::CModelSMF(), CDatabaseTemplate::Load(), CStarImages::LoadBSCDatabase(), CStarImages::LoadConstellations(), CStarImages::LoadFlyDatabase(), and sgets().

void pinit PFS pPfs,
const char *  root,
bool  searchPodFilesFirst
 

Parameters:
pPfs Pointer to PFS pod filesystem struct
root Character string containing complete pathname of PFS root folder
searchPodFilesFirst If true, then calls to popen() and pexists() will check PODs for the existence fo the file before checking disk files. If false, then the disk is searched first.

Definition at line 109 of file Pod.cpp.

References GetIniVar(), PFS::log, plog(), PFS::root, and PFS::searchPodFilesFirst.

Referenced by main().

PODFILE* popen PFS pPfs,
const char *  filename
 

Definition at line 659 of file Pod.cpp.

References findinpod(), findondisk(), gtfo, PATH_MAX, plog(), PFS::searchPodFilesFirst, and strupper().

Referenced by CWaterMaskDatabase::AddGlobeTile(), CBitmapPBG::CBitmapPBG(), CBitmapPBM::CBitmapPBM(), CDefaultTextureDatabase::CDefaultTextureDatabase(), CFuiManager::CFuiManager(), CFuiTheme::CFuiTheme(), CImageTIFF::CImageTIFF(), CMaskImage::CMaskImage(), CModelACM::CModelACM(), CModelBIN::CModelBIN(), CModelSMF::CModelSMF(), CRawImage::CRawImage(), CAudioManager::CreateSfx(), CTerrainTypeDatabase::CTerrainTypeDatabase(), CRawImage::Load(), CQTRFile::Load(), CElevationBlockBT::Load(), CCursor::Load(), CDatabaseTemplate::Load(), CDatabaseIndex::Load(), CStarImages::LoadBSCDatabase(), CStarImages::LoadConstellations(), CStarImages::LoadFlyDatabase(), CBitmappedFont::LoadRaw(), CDatabase::Mount(), and OpenStream().

size_t pread void *  buffer,
size_t  size,
size_t  count,
PODFILE f
 

Definition at line 725 of file Pod.cpp.

References PODFILE::pFile, PODFILE_SOURCE_DISK, PODFILE_SOURCE_POD, PODFILE::pos, and PODFILE::source.

Referenced by CWaterMaskDatabase::AddGlobeTile(), CDefaultTextureDatabase::CDefaultTextureDatabase(), CImageTIFF::CImageTIFF(), CMaskImage::CMaskImage(), CModelBIN::CModelBIN(), CAudioManager::CreateSfx(), CDatabase::GetRawRecord(), CTerrainTypeDatabase::GetTerrainType(), CRawImage::Load(), CQTRFile::Load(), CBitmapPBG::Load(), CBitmapPBM::Load(), CElevationBlockBT::Load(), CCursor::Load(), CDatabaseIndex::Load(), CBitmappedFont::LoadRaw(), ReadDouble(), ReadFloat(), ReadLong(), ReadUChar(), ReadULong(), ReadUShort(), tifRead16(), and tifRead32().

void premovepod PFS pPfs,
const char *  filename
 

Definition at line 404 of file Pod.cpp.

References PFSPOD::file, plog(), and PFS::podList.

Referenced by CScenerySet::Unload().

void prewind PODFILE f  ) 
 

Definition at line 850 of file Pod.cpp.

References PODFILE::offset, PODFILE::pFile, PODFILE_SOURCE_DISK, PODFILE_SOURCE_POD, PODFILE::pos, and PODFILE::source.

Referenced by CBitmapPBG::Load(), and CDatabaseTemplate::Load().

int pseek PODFILE f,
long  offset,
int  origin
 

Definition at line 831 of file Pod.cpp.

References PODFILE::offset, PODFILE::pFile, and PODFILE::pos.

Referenced by CImageTIFF::CImageTIFF(), CDatabase::GetRawRecord(), and CTerrainTypeDatabase::GetTerrainType().

void pshutdown PFS pPfs  ) 
 

Parameters:
pPfs Pointer to PFS filesystem struct

Definition at line 137 of file Pod.cpp.

References PFSPOD::file, PFS::log, plog(), PFS::podFileList, and PFS::podList.

Referenced by CleanupGlobals().

long ptell PODFILE f  ) 
 

Definition at line 843 of file Pod.cpp.

References PODFILE::offset, and PODFILE::pos.

Referenced by CImageTIFF::CImageTIFF().


Variable Documentation

const unsigned int PodSignatureEpd = 'extd' [static]
 

Definition at line 53 of file Pod.h.

Referenced by pmount().

const unsigned int PodSignaturePod2 = 'POD2' [static]
 

Definition at line 54 of file Pod.h.

Referenced by pmount().

const unsigned int PodSignaturePod3 = 'POD3' [static]
 

Definition at line 55 of file Pod.h.

Referenced by pmount().

SourceForge.net Logo Documentation generated by doxygen