Merge pull request #86 from QBall147/issue#65-snapshots-fix

Issue #65 snapshots fix
This commit is contained in:
Timothee "TTimo" Besset 2012-07-14 11:51:43 -07:00
commit e5366326f2
2 changed files with 17 additions and 3 deletions

View file

@ -3413,11 +3413,15 @@ void CGameInstall::Run() {
// write out the game file
Str gameFilePath = g_strAppPath.GetBuffer();
gameFilePath += "games/";
gameFilePath += "games";
if ( CheckFile( gameFilePath ) != PATH_DIRECTORY ) {
radCreateDirectory( gameFilePath );
}
// QB - Fix for when you have more than one game configured (before it just bombed out due to the dir already existing).
// add the slash here instead of above else CheckFile() fails hard (on windows at least :/ )
gameFilePath += "/";
switch ( m_availGames[ m_nComboSelect ] ) {
case GAME_Q2:
gameFilePath += "q2.game";

View file

@ -148,7 +148,6 @@ bool DoesFileExist( const char* pBuff, long& lSize ){
return false;
}
void Map_Snapshot(){
CString strMsg;
@ -183,11 +182,22 @@ void Map_Snapshot(){
CString strNewPath;
strNewPath = strOrgPath;
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;
while ( bGo )
{
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;
bGo = DoesFileExist( strFile, lSize );
nCount++;