95                 void parseStruct(
char *strcPtr, 
char *dtPtr, 
int old_dna, 
int new_dna, 
bool fixupPointers);
    96                 void getMatchingFileDNA(
short* old, 
const char* lookupName, 
const char* lookupType, 
char *strcData, 
char *data, 
bool fixupPointers);
    97                 char* 
getFileElement(
short *firstStruct, 
char *lookupName, 
char *lookupType, 
char *data, 
short **foundPos);
   100                 void swap(
char *head, 
class bChunkInd& ch, 
bool ignoreEndianFlag);
   101                 void swapData(
char *data, 
short type, 
int arraySize, 
bool ignoreEndianFlag);
   102                 void swapStruct(
int dna_nr, 
char *data, 
bool ignoreEndianFlag);
   110                 virtual void    parseInternal(
int verboseMode, 
char* memDna,
int memDnaLength);
   113                 bFile(
const char *filename, 
const char headerString[7]);
   117                 bFile( 
char *memoryBuffer, 
int len, 
const char headerString[7]);
   146                 virtual void parse(
int verboseMode) = 0;
   148                 virtual int     write(
const char* fileName, 
bool fixupPointers=
false) = 0;
   150                 virtual void    writeChunks(FILE* fp, 
bool fixupPointers );
   152                 virtual void    writeDNA(FILE* fp) = 0;
   159                 virtual void setFileDNA(
int verboseMode, 
char* buffer, 
int len);
 virtual void writeDNA(FILE *fp)=0
void resolvePointersChunk(const bChunkInd &dataChunk, int verboseMode)
this loop only works fine if the Blender DNA structure of the file matches the headerfiles ...
btAlignedObjectArray< char * > m_pointerPtrFixupArray
int getNextBlock(bChunkInd *dataChunk, const char *dataPtr, const int flags)
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
char * readStruct(char *head, class bChunkInd &chunk)
virtual void parseData()=0
virtual void parseInternal(int verboseMode, char *memDna, int memDnaLength)
virtual int write(const char *fileName, bool fixupPointers=false)=0
virtual void addDataBlock(char *dataBlock)=0
void dumpChunks(bDNA *dna)
int resolvePointersStructRecursive(char *strcPtr, int old_dna, int verboseMode, int recursion)
bFile(const char *filename, const char headerString[7])
The btHashMap template class implements a generic and lightweight hashmap. 
void swapLen(char *dataPtr)
void setFileDNAisMemoryDNA()
btAlignedObjectArray< char * > m_pointerFixupArray
void resolvePointers(int verboseMode)
Resolve pointers replaces the original pointers in structures, and linked lists by the new in-memory ...
void swapStruct(int dna_nr, char *data, bool ignoreEndianFlag)
void parseStruct(char *strcPtr, char *dtPtr, int old_dna, int new_dna, bool fixupPointers)
void safeSwapPtr(char *dst, const char *src)
virtual void parseHeader()
void writeFile(const char *fileName)
virtual void parse(int verboseMode)=0
char * getAsString(int code)
bPtrMap & getLibPointers()
btAlignedObjectArray< bChunkInd > m_chunks
virtual void setFileDNA(int verboseMode, char *buffer, int len)
void getMatchingFileDNA(short *old, const char *lookupName, const char *lookupType, char *strcData, char *data, bool fixupPointers)
virtual void writeChunks(FILE *fp, bool fixupPointers)
void * findLibPointer(void *ptr)
void swapData(char *data, short type, int arraySize, bool ignoreEndianFlag)
char * getFileElement(short *firstStruct, char *lookupName, char *lookupType, char *data, short **foundPos)
void swap(char *head, class bChunkInd &ch, bool ignoreEndianFlag)
btHashMap< btHashPtr, bChunkInd > m_chunkPtrPtrMap
void resolvePointersMismatch()