Snapshots fixed

This commit is contained in:
Chris Brooke 2012-07-14 10:46:48 +01:00
parent 3311e3a0da
commit b8095edbb5
1 changed files with 12 additions and 2 deletions

View File

@ -148,7 +148,6 @@ bool DoesFileExist( const char* pBuff, long& lSize ){
return false; return false;
} }
void Map_Snapshot(){ void Map_Snapshot(){
CString strMsg; CString strMsg;
@ -183,11 +182,22 @@ void Map_Snapshot(){
CString strNewPath; CString strNewPath;
strNewPath = strOrgPath; strNewPath = strOrgPath;
strNewPath += strOrgFile; strNewPath += strOrgFile;
// QB - snapshots now follow the format: <mapname>.<snapnum>.<ext>
// **NOTE** atm snapshots must end with a .map (or .xmap) ext (this is why they were broken)
CString strOldEXT = "map"; //default to .map
const char* type = strrchr( strOrgFile.GetBuffer(),'.' );
if ( type != NULL ) { strOldEXT = ++type; }; // get the ext for later.
StripExtension(strNewPath); // then strip it from the new path
//
CString strFile; CString strFile;
while ( bGo ) while ( bGo )
{ {
char buf[PATH_MAX]; char buf[PATH_MAX];
sprintf( buf, "%s.%i", strNewPath.GetBuffer(), nCount ); //sprintf( buf, "%s.%i", strNewPath.GetBuffer(), nCount );
// snapshot will now end with a known ext.
sprintf( buf, "%s.%i.%s", strNewPath.GetBuffer(), nCount, strOldEXT.GetBuffer() );
strFile = buf; strFile = buf;
bGo = DoesFileExist( strFile, lSize ); bGo = DoesFileExist( strFile, lSize );
nCount++; nCount++;