MDC.CPP - void CMDC::PreparePointers (void)
Code: lpTags = new Tag [lpFileHeader->ulNumTags]; for (ul = 0; ul < lpFileHeader->ulNumTags; ul++) { lpTags[ul].lpTagName = &lpTagNames[ul]; lpTags[ul].lpTagFrames = (TagFrame *) ( lpuc + lpFileHeader->ulOffsetTagFrames + ul * lpFileHeader->ulNumFrames * sizeof(TagFrame) ); }
UNITMDC.PAS - Procedure LoadMDC(Var Model : TMDCFile; Const Filename : String);
Code: Seek(F,Model.Header.ulOffsetTagNames); If model.Header.ulNumTags > 0 then for x := 0 to Model.Header.ulNumTags-1 do BlockRead(f,Model.TagName[x],sizeof(TMDCTagName)); Seek(F,Model.Header.ulOffsetTagFrames); If model.Header.ulNumTags > 0 then for x := 0 to Model.Header.ulNumTags-1 do for y := 0 to Model.Header.ulNumFrames-1 do BlockRead(f,Model.TagFrame[x][y],sizeof(TMDCTagFrame));
Looking at the C code the delphi code seems to read from the right part of the file, dispite the fact that ulOffsetTagNames = ulOffsetTagFrames.
|