this loop only works fine if the Blender DNA structure of the file matches the headerfiles
| 1164 | |
| 1165 | ///this loop only works fine if the Blender DNA structure of the file matches the headerfiles |
| 1166 | void bFile::resolvePointersChunk(const bChunkInd &dataChunk, int verboseMode) |
| 1167 | { |
| 1168 | bParse::bDNA *fileDna = mFileDNA ? mFileDNA : mMemoryDNA; |
| 1169 | |
| 1170 | short int *oldStruct = fileDna->getStruct(dataChunk.dna_nr); |
| 1171 | short oldLen = fileDna->getLength(oldStruct[0]); |
| 1172 | //char* structType = fileDna->getType(oldStruct[0]); |
| 1173 | |
| 1174 | char *cur = (char *)findLibPointer(dataChunk.oldPtr); |
| 1175 | for (int block = 0; block < dataChunk.nr; block++) |
| 1176 | { |
| 1177 | resolvePointersStructRecursive(cur, dataChunk.dna_nr, verboseMode, 1); |
| 1178 | cur += oldLen; |
| 1179 | } |
| 1180 | } |
| 1181 | |
| 1182 | int bFile::resolvePointersStructRecursive(char *strcPtr, int dna_nr, int verboseMode, int recursion) |
| 1183 | { |