/*=========================================================================== * * File: Dfblocks.H * Author: Dave Humphrey (uesp@m0use.net) * Created On: Friday, June 29, 2001 * * Defines the CDFBlocksFile for manipulating Daggerfall's BLOCKS.BSA * file, containing 3D building block information. * *=========================================================================*/ #ifndef __DFBLOCKS_H #define __DFBLOCKS_H /*=========================================================================== *+ * Begin Required Include Files * *=========================================================================*/ #include "uesp/dagger/bsa/dfrmb.h" #include "uesp/dagger/bsa/dfbsa.h" #include "file/file3ds.h" /*=========================================================================== * End of Required Include Files *=========================================================================*/ /*=========================================================================== * * Begin Definitions * *=========================================================================*/ /* Number of records in the Blocks.BSA file */ #define DFBLK_MAX_RECORDS 1400 /*=========================================================================== * End of Definitions *=========================================================================*/ /*=========================================================================== * * Begin Type and Structure Definitions * *=========================================================================*/ #pragma pack(push, 1) #pragma pack(pop) /*=========================================================================== * End of Structure and Type Definitions *=========================================================================*/ /*=========================================================================== * * Class CDFBlocksFile Definition * * Handles the input/output of records from Daggerfall's BLOCKS.BSA file. * *=========================================================================*/ class CDFBlocksFile : public CDFBsaFile { /*---------- Begin Protected Class Members --------------------*/ protected: /*---------- Begin Protected Class Methods --------------------*/ protected: /*---------- Begin Public Class Methods -----------------------*/ public: /* Class constructor/destructor */ CDFBlocksFile(); virtual ~CDFBlocksFile() { Destroy(); } virtual void Destroy (void); /* Checks a directory entry for filename types */ boolean IsRMBFile (const int Index) const; boolean IsRDIFile (const int Index) const; boolean IsRDBFile (const int Index) const; /* Create and load an RMB object */ boolean LoadRMB (CDFRmbFile** ppObject, const int Index); boolean LoadRMB (CDFRmbFile** ppObject, const char* pFilename); boolean LoadRMB (CDFRmbFile** ppObject, const int FileIndex, const int CharIndex, const int Number); }; /*=========================================================================== * End of Class CDFBlocksFile Definition *=========================================================================*/ /*=========================================================================== * * Begin Function Prototypes * *=========================================================================*/ /*=========================================================================== * End of Function Prototypes *=========================================================================*/ #endif /*=========================================================================== * End of File DFBlocks.H *=========================================================================*/