diff --git a/stepmania/src/Background.cpp b/stepmania/src/Background.cpp index f49450530a..ae8d376fec 100644 --- a/stepmania/src/Background.cpp +++ b/stepmania/src/Background.cpp @@ -145,8 +145,7 @@ BGAnimation *Background::CreateSongBGA(const Song *pSong, CString sBGName) const if( !asFiles.empty() ) { pTempBGA = new BGAnimation; - CString sThrowAway, sExt; - splitrelpath( asFiles[0], sThrowAway, sThrowAway, sExt ); + const CString sExt = GetExtension( asFiles[0]) ; if( sExt.CompareNoCase("avi")==0 || sExt.CompareNoCase("mpg")==0 || sExt.CompareNoCase("mpeg")==0 ) diff --git a/stepmania/src/ProfileManager.cpp b/stepmania/src/ProfileManager.cpp index 092801f46a..7c44313295 100644 --- a/stepmania/src/ProfileManager.cpp +++ b/stepmania/src/ProfileManager.cpp @@ -121,11 +121,8 @@ bool Profile::LoadFromIni( CString sIniPath ) { Init(); - CString sDir, sFName, sExt; - splitrelpath( sIniPath, sDir, sFName, sExt ); - CStringArray asBits; - split( sDir, SLASH, asBits, true ); + split( Dirname(sIniPath), SLASH, asBits, true ); CString sLastDir = asBits.back(); // this is a number name, e.g. "0000001" // Fill in a default value in case ini doesn't have it. diff --git a/stepmania/src/RageUtil.cpp b/stepmania/src/RageUtil.cpp index a154f1add4..64bb8301da 100644 --- a/stepmania/src/RageUtil.cpp +++ b/stepmania/src/RageUtil.cpp @@ -508,23 +508,14 @@ void StripCrnl(CString &s) /* path is a .redir pathname. Read it and return the real one. */ CString DerefRedir(const CString &path) { - CString sDir, sFName, sExt; - splitrelpath( path, sDir, sFName, sExt ); - - if(sExt != "redir") + if( GetExtension(path) != "redir" ) { CString path2 = path; ResolvePath( path2 ); return path2; } - CString sNewFileName; - { - ifstream file(path); - getline(file, sNewFileName); - } - - StripCrnl(sNewFileName); + CString sNewFileName = GetRedirContents( path ); /* Empty is invalid. */ if(sNewFileName == "") @@ -532,7 +523,7 @@ CString DerefRedir(const CString &path) FixSlashesInPlace( sNewFileName ); - CString path2 = sDir+sNewFileName; + CString path2 = Dirname(path) + sNewFileName; CollapsePath( path2 ); @@ -546,11 +537,6 @@ CString DerefRedir(const CString &path) CString GetRedirContents(const CString &path) { - CString sDir, sFName, sExt; - splitrelpath( path, sDir, sFName, sExt ); - - ASSERT( sExt == "redir"); // don't ever call this on a non-redirect - CString sNewFileName; { ifstream file(path); diff --git a/stepmania/src/Sprite.cpp b/stepmania/src/Sprite.cpp index 9b14bf1883..0c30125975 100644 --- a/stepmania/src/Sprite.cpp +++ b/stepmania/src/Sprite.cpp @@ -84,12 +84,6 @@ bool Sprite::LoadFromSpriteFile( RageTextureID ID ) m_sSpritePath = ID.filename; - - // Split for the directory. We'll need it below - CString sFontDir, sFontFileName, sFontExtension; - splitrelpath( m_sSpritePath, sFontDir, sFontFileName, sFontExtension ); - - // read sprite file IniFile ini; ini.SetPath( m_sSpritePath ); @@ -101,7 +95,8 @@ bool Sprite::LoadFromSpriteFile( RageTextureID ID ) if( sTextureFile == "" ) RageException::Throw( "Error reading value 'Texture' from %s.", m_sSpritePath.c_str() ); - ID.filename = sFontDir + sTextureFile; // save the path of the real texture + // save the path of the real texture + ID.filename = Dirname(m_sSpritePath) + sTextureFile; { vector asElementPaths; GetDirListing( ID.filename + "*", asElementPaths, false, true );