get rid of CStdioFile
This commit is contained in:
+42
-51
@@ -12,11 +12,8 @@
|
||||
*/
|
||||
|
||||
#include "IniFile.h"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#include <fstream>
|
||||
using namespace std;
|
||||
|
||||
//constructor, can specify pathname here instead of using SetPath later
|
||||
IniFile::IniFile(CString inipath)
|
||||
@@ -30,33 +27,28 @@ IniFile::~IniFile()
|
||||
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Public Functions
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
//sets path of ini file to read and write from
|
||||
// sets path of ini file to read and write from
|
||||
void IniFile::SetPath(CString newpath)
|
||||
{
|
||||
path = newpath;
|
||||
}
|
||||
|
||||
//reads ini file specified using IniFile::SetPath()
|
||||
//returns true if successful, false otherwise
|
||||
// reads ini file specified using IniFile::SetPath()
|
||||
// returns true if successful, false otherwise
|
||||
bool IniFile::ReadFile()
|
||||
{
|
||||
CStdioFile file;
|
||||
CFileStatus status;
|
||||
if (!file.GetStatus(path,status))
|
||||
return 0;
|
||||
if (!file.Open(path, CFile::modeRead))
|
||||
ifstream file(path);
|
||||
|
||||
if (file.bad())
|
||||
{
|
||||
error = "Unable to open ini file.";
|
||||
return 0;
|
||||
}
|
||||
|
||||
CString keyname, valuename, value;
|
||||
CString temp;
|
||||
CString line;
|
||||
while (file.ReadString(line))
|
||||
while (getline(file, line))
|
||||
{
|
||||
if (line == "")
|
||||
continue;
|
||||
@@ -78,11 +70,10 @@ bool IniFile::ReadFile()
|
||||
}
|
||||
}
|
||||
}
|
||||
file.Close();
|
||||
return 1;
|
||||
}
|
||||
|
||||
//writes data stored in class to ini file
|
||||
// writes data stored in class to ini file
|
||||
void IniFile::WriteFile()
|
||||
{
|
||||
FILE* fp = fopen( path, "w" );
|
||||
@@ -101,19 +92,19 @@ void IniFile::WriteFile()
|
||||
fclose( fp );
|
||||
}
|
||||
|
||||
//deletes all stored ini data
|
||||
// deletes all stored ini data
|
||||
void IniFile::Reset()
|
||||
{
|
||||
keys.clear();
|
||||
}
|
||||
|
||||
//returns number of keys currently in the ini
|
||||
// returns number of keys currently in the ini
|
||||
int IniFile::GetNumKeys() const
|
||||
{
|
||||
return keys.size();
|
||||
}
|
||||
|
||||
//returns number of values stored for specified key, or -1 if key not found
|
||||
// returns number of values stored for specified key, or -1 if key not found
|
||||
int IniFile::GetNumValues(const CString &keyname) const
|
||||
{
|
||||
keymap::const_iterator k = keys.find(keyname);
|
||||
@@ -123,8 +114,8 @@ int IniFile::GetNumValues(const CString &keyname) const
|
||||
return k->second.size();
|
||||
}
|
||||
|
||||
//gets value of [keyname] valuename =
|
||||
//overloaded to return CString, int, and double
|
||||
// gets value of [keyname] valuename =
|
||||
// overloaded to return CString, int, and double
|
||||
bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString& value)
|
||||
{
|
||||
keymap::const_iterator k = keys.find(keyname);
|
||||
@@ -146,8 +137,8 @@ bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString
|
||||
return true;
|
||||
}
|
||||
|
||||
//gets value of [keyname] valuename =
|
||||
//overloaded to return CString, int, and double
|
||||
// gets value of [keyname] valuename =
|
||||
// overloaded to return CString, int, and double
|
||||
bool IniFile::GetValueI(const CString &keyname, const CString &valuename, int& value)
|
||||
{
|
||||
CString sValue;
|
||||
@@ -158,8 +149,8 @@ bool IniFile::GetValueI(const CString &keyname, const CString &valuename, int& v
|
||||
return true;
|
||||
}
|
||||
|
||||
//gets value of [keyname] valuename =
|
||||
//overloaded to return CString, int, and double
|
||||
// gets value of [keyname] valuename =
|
||||
// overloaded to return CString, int, and double
|
||||
bool IniFile::GetValueF(const CString &keyname, const CString &valuename, float& value)
|
||||
{
|
||||
CString sValue;
|
||||
@@ -170,8 +161,8 @@ bool IniFile::GetValueF(const CString &keyname, const CString &valuename, float&
|
||||
return true;
|
||||
}
|
||||
|
||||
//gets value of [keyname] valuename =
|
||||
//overloaded to return CString, int, and double
|
||||
// gets value of [keyname] valuename =
|
||||
// overloaded to return CString, int, and double
|
||||
bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool& value)
|
||||
{
|
||||
CString sValue;
|
||||
@@ -182,10 +173,10 @@ bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool&
|
||||
return true;
|
||||
}
|
||||
|
||||
//sets value of [keyname] valuename =.
|
||||
//specify the optional paramter as false (0) if you do not want it to create
|
||||
//the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
//overloaded to accept CString, int, and double
|
||||
// sets value of [keyname] valuename =.
|
||||
// specify the optional paramter as false (0) if you do not want it to create
|
||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
// overloaded to accept CString, int, and double
|
||||
bool IniFile::SetValue(const CString &keyname, const CString &valuename, const CString &value, bool create)
|
||||
{
|
||||
if (!create && keys.find(keyname) == keys.end()) //if key doesn't exist
|
||||
@@ -199,10 +190,10 @@ bool IniFile::SetValue(const CString &keyname, const CString &valuename, const C
|
||||
return true;
|
||||
}
|
||||
|
||||
//sets value of [keyname] valuename =.
|
||||
//specify the optional paramter as false (0) if you do not want it to create
|
||||
//the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
//overloaded to accept CString, int, and double
|
||||
// sets value of [keyname] valuename =.
|
||||
// specify the optional paramter as false (0) if you do not want it to create
|
||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
// overloaded to accept CString, int, and double
|
||||
bool IniFile::SetValueI(const CString &keyname, const CString &valuename, int value, bool create)
|
||||
{
|
||||
CString temp;
|
||||
@@ -210,10 +201,10 @@ bool IniFile::SetValueI(const CString &keyname, const CString &valuename, int va
|
||||
return SetValue(keyname, valuename, temp, create);
|
||||
}
|
||||
|
||||
//sets value of [keyname] valuename =.
|
||||
//specify the optional paramter as false (0) if you do not want it to create
|
||||
//the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
//overloaded to accept CString, int, and double
|
||||
// sets value of [keyname] valuename =.
|
||||
// specify the optional paramter as false (0) if you do not want it to create
|
||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
// overloaded to accept CString, int, and double
|
||||
bool IniFile::SetValueF(const CString &keyname, const CString &valuename, float value, bool create)
|
||||
{
|
||||
CString temp;
|
||||
@@ -221,10 +212,10 @@ bool IniFile::SetValueF(const CString &keyname, const CString &valuename, float
|
||||
return SetValue(keyname, valuename, temp, create);
|
||||
}
|
||||
|
||||
//sets value of [keyname] valuename =.
|
||||
//specify the optional paramter as false (0) if you do not want it to create
|
||||
//the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
//overloaded to accept CString, int, and double
|
||||
// sets value of [keyname] valuename =.
|
||||
// specify the optional paramter as false (0) if you do not want it to create
|
||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||
// overloaded to accept CString, int, and double
|
||||
bool IniFile::SetValueB(const CString &keyname, const CString &valuename, bool value, bool create)
|
||||
{
|
||||
CString temp;
|
||||
@@ -232,8 +223,8 @@ bool IniFile::SetValueB(const CString &keyname, const CString &valuename, bool v
|
||||
return SetValue(keyname, valuename, temp, create);
|
||||
}
|
||||
|
||||
//deletes specified value
|
||||
//returns true if value existed and deleted, false otherwise
|
||||
// deletes specified value
|
||||
// returns true if value existed and deleted, false otherwise
|
||||
bool IniFile::DeleteValue(const CString &keyname, const CString &valuename)
|
||||
{
|
||||
keymap::iterator k = keys.find(keyname);
|
||||
@@ -248,8 +239,8 @@ bool IniFile::DeleteValue(const CString &keyname, const CString &valuename)
|
||||
return true;
|
||||
}
|
||||
|
||||
//deletes specified key and all values contained within
|
||||
//returns true if key existed and deleted, false otherwise
|
||||
// deletes specified key and all values contained within
|
||||
// returns true if key existed and deleted, false otherwise
|
||||
bool IniFile::DeleteKey(const CString &keyname)
|
||||
{
|
||||
keymap::iterator k = keys.find(keyname);
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "RageLog.h"
|
||||
#include "GameManager.h"
|
||||
#include "RageException.h"
|
||||
#include <fstream>
|
||||
|
||||
// BMS encoding: tap-hold
|
||||
// 4&8panel: Player1 Player2
|
||||
@@ -67,12 +68,12 @@ bool BMSLoader::LoadFromBMSFile( const CString &sPath, Notes &out )
|
||||
NoteData* pNoteData = new NoteData;
|
||||
pNoteData->m_iNumTracks = MAX_NOTE_TRACKS;
|
||||
|
||||
CStdioFile file;
|
||||
if( !file.Open( sPath, CFile::modeRead|CFile::shareDenyNone ) )
|
||||
ifstream file(sPath);
|
||||
if( file.bad() )
|
||||
throw RageException( "Failed to open %s for reading.", sPath.GetString() );
|
||||
|
||||
CString line;
|
||||
while( file.ReadString(line) ) // foreach line
|
||||
while( getline(file, line) ) // foreach line
|
||||
{
|
||||
CString value_name; // fill these in
|
||||
CString value_data;
|
||||
@@ -276,12 +277,12 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
|
||||
CString sPath = out.m_sSongDir + arrayBMSFileNames[0];
|
||||
|
||||
CStdioFile file;
|
||||
if( !file.Open( sPath, CFile::modeRead|CFile::shareDenyNone ) )
|
||||
ifstream file(sPath);
|
||||
if( file.bad() )
|
||||
throw RageException( "Failed to open %s for reading.", sPath.GetString() );
|
||||
|
||||
CString line;
|
||||
while( file.ReadString(line) ) // foreach line
|
||||
while( getline(file, line) ) // foreach line
|
||||
{
|
||||
CString value_name; // fill these in
|
||||
CString value_data;
|
||||
@@ -413,12 +414,12 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
|
||||
|
||||
// open the song file again and and look for this tag's value
|
||||
CStdioFile file;
|
||||
if( !file.Open( sPath, CFile::modeRead|CFile::shareDenyNone ) )
|
||||
ifstream file(sPath);
|
||||
if( file.bad() )
|
||||
throw RageException( "Failed to open %s for reading.", sPath.GetString() );
|
||||
|
||||
CString line;
|
||||
while( file.ReadString(line) ) // foreach line
|
||||
while( getline(file, line) ) // foreach line
|
||||
{
|
||||
CString value_name; // fill these in
|
||||
CString value_data;
|
||||
@@ -463,7 +464,6 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
LOG->Trace( "Inserting new BPM change at beat %f, BPM %f", newSeg.m_fStartBeat, newSeg.m_fBPM );
|
||||
}
|
||||
|
||||
file.Close();
|
||||
break;
|
||||
}
|
||||
case 9: { // stop
|
||||
@@ -475,12 +475,12 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
|
||||
|
||||
// open the song file again and and look for this tag's value
|
||||
CStdioFile file;
|
||||
if( !file.Open( sPath, CFile::modeRead|CFile::shareDenyNone ) )
|
||||
ifstream file(sPath);
|
||||
if( file.bad() )
|
||||
throw RageException( "Failed to open %s for reading.", sPath.GetString() );
|
||||
|
||||
CString line;
|
||||
while( file.ReadString(line) ) // foreach line
|
||||
while( getline(file, line) ) // foreach line
|
||||
{
|
||||
CString value_name; // fill these in
|
||||
CString value_data;
|
||||
@@ -540,7 +540,6 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
LOG->Trace( "Inserting new Freeze at beat %f, secs %f", newSeg.m_fStartBeat, newSeg.m_fStopSeconds );
|
||||
}
|
||||
|
||||
file.Close();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -552,7 +551,6 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
LOG->Trace( "There is a BPM change at beat %f, BPM %f, index %d",
|
||||
out.m_BPMSegments[i].m_fStartBeat, out.m_BPMSegments[i].m_fBPM, i );
|
||||
|
||||
file.Close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ CString NotesWriterDWI::NotesToDWIString( char cNoteCol1, char cNoteCol2, char c
|
||||
if( cHold != '0' )
|
||||
return ssprintf( "%c!%c", cShow, cHold );
|
||||
else
|
||||
return cShow;
|
||||
return ssprintf( "%c", cShow );
|
||||
}
|
||||
|
||||
CString NotesWriterDWI::NotesToDWIString( char cNoteCol1, char cNoteCol2, char cNoteCol3, char cNoteCol4 )
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#include "IniFile.h"
|
||||
#include "RageTimer.h"
|
||||
|
||||
#include <fstream>
|
||||
using namespace std;
|
||||
|
||||
ThemeManager* THEME = NULL; // global object accessable from anywhere in the program
|
||||
|
||||
@@ -127,10 +129,9 @@ try_element_again:
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + "*.redir", asPossibleElementFilePaths, false, true );
|
||||
if( !asPossibleElementFilePaths.empty() )
|
||||
{
|
||||
CStdioFile file;
|
||||
file.Open( asPossibleElementFilePaths[0], CFile::modeRead );
|
||||
ifstream file(asPossibleElementFilePaths[0]);
|
||||
CString sLine;
|
||||
file.ReadString( sLine );
|
||||
getline(file, sLine);
|
||||
}
|
||||
|
||||
|
||||
@@ -196,13 +197,14 @@ try_element_again:
|
||||
CString sDir, sFName, sExt;
|
||||
splitrelpath( sRedirFilePath, sDir, sFName, sExt );
|
||||
|
||||
CStdioFile file;
|
||||
file.Open( sRedirFilePath, CFile::modeRead );
|
||||
CString sNewFileName;
|
||||
file.ReadString( sNewFileName );
|
||||
{
|
||||
ifstream file(sRedirFilePath);
|
||||
getline(file, sNewFileName );
|
||||
// CString sNewFilePath = sDir+"\\"+sNewFileName; // This is what it used to be, FONT redirs were getting extra slashes
|
||||
// at the start of their file names, so I took out this extra slash - Andy.
|
||||
file.Close();
|
||||
}
|
||||
|
||||
CString sNewFilePath = sDir+sNewFileName;
|
||||
if( sNewFileName == "" || !DoesFileExist(sNewFilePath) )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user