int F3DFile::ReadMD2(const char *pFilename) { pModel = this; size_t size; char *pFile = MFFileSystem_Load(pFilename, &size); if(!pFile) { MFDebug_Warn(2, MFStr("Failed to open MD2 file %s", pFilename)); return 1; } int a; for(a=(int)MFString_Length(pFilename)-1; a>=0; --a) { if(pFilename[a] == '/' || pFilename[a] == '\\') { break; } } pModel->name = pFilename + a+1; pModel->name.TruncateExtension(); ParseMD2File(pFile, size); MFHeap_Free(pFile); return 0; }
int F3DFile::ReadMD2(const char *pFilename) { pModel = this; size_t size; char *pFile = MFFileSystem_Load(pFilename, &size); if(!pFile) { MFDebug_Warn(2, MFStr("Failed to open MD2 file %s", pFilename)); return 1; } int a; for(a=MFString_Length(pFilename)-1; a>=0; --a) { if(pFilename[a] == '/' || pFilename[a] == '\\') { break; } } MFString_Copy(pModel->name, &pFilename[a+1]); pModel->name[MFString_Length(pModel->name) - 4] = 0; ParseMD2File(pFile, size); MFHeap_Free(pFile); return 0; }
void ParseMD2FileFromMemory(char *pFile, size_t size, F3DFile *_pModel) { pModel = _pModel; ParseMD2File(pFile, size); }