[default -> splittiming] Cleanliness.

This commit is contained in:
Jason Felds
2011-05-11 17:07:20 -04:00
41 changed files with 279 additions and 183 deletions
+1 -8
View File
@@ -2807,7 +2807,7 @@ Fallback="ScreenOptionsServiceChild"
[ScreenSelectGame]
Fallback="ScreenOptionsServiceChild"
PrevScreen=Branch.TitleMenu()
PrevScreen="ScreenOptionsService"
NextScreen=Branch.TitleMenu()
LineNames="1"
Line1="conf,Game"
@@ -2837,13 +2837,6 @@ Class="ScreenReloadSongs"
Fallback="Screen"
NextScreen=Branch.TitleMenu()
[ScreenSelectGame]
Fallback="ScreenOptionsServiceChild"
PrevScreen="ScreenOptionsService"
NextScreen=Branch.TitleMenu()
LineNames="1"
Line1="conf,Game"
[ScreenPlayerOptions]
Fallback="ScreenOptions"
Class="ScreenPlayerOptions"
+2 -2
View File
@@ -37,7 +37,7 @@ void AnnouncerManager::GetAnnouncerNames( vector<RString>& AddTo )
// strip out the empty announcer folder
for( int i=AddTo.size()-1; i>=0; i-- )
if( !stricmp( AddTo[i], EMPTY_ANNOUNCER_NAME ) )
if( !AddTo[i].EqualsNoCase( EMPTY_ANNOUNCER_NAME ) )
AddTo.erase(AddTo.begin()+i, AddTo.begin()+i+1 );
}
@@ -49,7 +49,7 @@ bool AnnouncerManager::DoesAnnouncerExist( RString sAnnouncerName )
vector<RString> asAnnouncerNames;
GetAnnouncerNames( asAnnouncerNames );
for( unsigned i=0; i<asAnnouncerNames.size(); i++ )
if( 0==stricmp(sAnnouncerName, asAnnouncerNames[i]) )
if( sAnnouncerName.EqualsNoCase(asAnnouncerNames[i]) )
return true;
return false;
}
+7 -7
View File
@@ -388,30 +388,30 @@ void BGAnimationLayer::LoadFromNode( const XNode* pNode )
pNode->GetAttrValue( "Stretch", bStretch );
// Check for string match first, then do integer match.
// "if(atoi(type)==0)" was matching against all string matches.
// "if(StringType(type)==0)" was matching against all string matches.
// -Chris
if( stricmp(type,"sprite")==0 )
if( type.EqualsNoCase("sprite") )
{
m_Type = TYPE_SPRITE;
}
else if( stricmp(type,"particles")==0 )
else if( type.EqualsNoCase("particles") )
{
m_Type = TYPE_PARTICLES;
}
else if( stricmp(type,"tiles")==0 )
else if( type.EqualsNoCase("tiles") )
{
m_Type = TYPE_TILES;
}
else if( atoi(type) == 1 )
else if( StringToInt(type) == 1 )
{
m_Type = TYPE_SPRITE;
bStretch = true;
}
else if( atoi(type) == 2 )
else if( StringToInt(type) == 2 )
{
m_Type = TYPE_PARTICLES;
}
else if( atoi(type) == 3 )
else if( StringToInt(type) == 3 )
{
m_Type = TYPE_TILES;
}
+25 -25
View File
@@ -61,13 +61,13 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
const MsdFile::value_t &sParams = msd.GetValue(i);
// handle the data
if( 0 == stricmp(sValueName, "COURSE") )
if( sValueName.EqualsNoCase("COURSE") )
out.m_sMainTitle = sParams[1];
else if( 0 == stricmp(sValueName, "COURSETRANSLIT") )
else if( sValueName.EqualsNoCase("COURSETRANSLIT") )
out.m_sMainTitleTranslit = sParams[1];
else if( 0 == stricmp(sValueName, "SCRIPTER") )
else if( sValueName.EqualsNoCase("SCRIPTER") )
out.m_sScripter = sParams[1];
else if( 0 == stricmp(sValueName, "REPEAT") )
else if( sValueName.EqualsNoCase("REPEAT") )
{
RString str = sParams[1];
str.MakeLower();
@@ -75,27 +75,27 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
out.m_bRepeat = true;
}
else if( 0 == stricmp(sValueName, "BANNER") )
else if( sValueName.EqualsNoCase("BANNER") )
{
out.m_sBannerPath = sParams[1];
}
else if( 0 == stricmp(sValueName, "BACKGROUND") )
else if( sValueName.EqualsNoCase("BACKGROUND") )
{
out.m_sBackgroundPath = sParams[1];
}
else if( 0 == stricmp(sValueName, "LIVES") )
else if( sValueName.EqualsNoCase("LIVES") )
{
out.m_iLives = max( atoi(sParams[1]), 0 );
out.m_iLives = max( StringToInt(sParams[1]), 0 );
}
else if( 0 == stricmp(sValueName, "GAINSECONDS") )
else if( sValueName.EqualsNoCase("GAINSECONDS") )
{
fGainSeconds = StringToFloat( sParams[1] );
}
else if( 0 == stricmp(sValueName, "METER") )
else if( sValueName.EqualsNoCase("METER") )
{
if( sParams.params.size() == 2 )
{
out.m_iCustomMeter[Difficulty_Medium] = max( atoi(sParams[1]), 0 ); /* compat */
out.m_iCustomMeter[Difficulty_Medium] = max( StringToInt(sParams[1]), 0 ); /* compat */
}
else if( sParams.params.size() == 3 )
{
@@ -105,12 +105,12 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
LOG->UserLog( "Course file", sPath, "contains an invalid #METER string: \"%s\"", sParams[1].c_str() );
continue;
}
out.m_iCustomMeter[cd] = max( atoi(sParams[2]), 0 );
out.m_iCustomMeter[cd] = max( StringToInt(sParams[2]), 0 );
}
}
// todo: add COMBO and COMBOMODE from DWI CRS files? -aj
else if( 0 == stricmp(sValueName, "MODS") )
else if( sValueName.EqualsNoCase("MODS") )
{
Attack attack;
float end = -9999;
@@ -156,7 +156,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
}
}
else if( 0 == stricmp(sValueName, "SONG") )
else if( sValueName.EqualsNoCase("SONG") )
{
CourseEntry new_entry;
@@ -167,28 +167,28 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
// most played
if( sParams[1].Left(strlen("BEST")) == "BEST" )
{
new_entry.iChooseIndex = atoi( sParams[1].Right(sParams[1].size()-strlen("BEST")) ) - 1;
new_entry.iChooseIndex = StringToInt( sParams[1].Right(sParams[1].size()-strlen("BEST")) ) - 1;
CLAMP( new_entry.iChooseIndex, 0, 500 );
new_entry.songSort = SongSort_MostPlays;
}
// least played
else if( sParams[1].Left(strlen("WORST")) == "WORST" )
{
new_entry.iChooseIndex = atoi( sParams[1].Right(sParams[1].size()-strlen("WORST")) ) - 1;
new_entry.iChooseIndex = StringToInt( sParams[1].Right(sParams[1].size()-strlen("WORST")) ) - 1;
CLAMP( new_entry.iChooseIndex, 0, 500 );
new_entry.songSort = SongSort_FewestPlays;
}
// best grades
else if( sParams[1].Left(strlen("GRADEBEST")) == "GRADEBEST" )
{
new_entry.iChooseIndex = atoi( sParams[1].Right(sParams[1].size()-strlen("GRADEBEST")) ) - 1;
new_entry.iChooseIndex = StringToInt( sParams[1].Right(sParams[1].size()-strlen("GRADEBEST")) ) - 1;
CLAMP( new_entry.iChooseIndex, 0, 500 );
new_entry.songSort = SongSort_TopGrades;
}
// worst grades
else if( sParams[1].Left(strlen("GRADEWORST")) == "GRADEWORST" )
{
new_entry.iChooseIndex = atoi( sParams[1].Right(sParams[1].size()-strlen("GRADEWORST")) ) - 1;
new_entry.iChooseIndex = StringToInt( sParams[1].Right(sParams[1].size()-strlen("GRADEWORST")) ) - 1;
CLAMP( new_entry.iChooseIndex, 0, 500 );
new_entry.songSort = SongSort_LowestGrades;
}
@@ -284,7 +284,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
else if( !sMod.CompareNoCase("nodifficult") )
new_entry.bNoDifficult = true;
else if( sMod.length() > 5 && !sMod.Left(5).CompareNoCase("award") )
new_entry.iGainLives = atoi( sMod.substr(5).c_str() );
new_entry.iGainLives = StringToInt( sMod.substr(5) );
else
continue;
mods.erase( mods.begin() + j );
@@ -298,22 +298,22 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
out.m_vEntries.push_back( new_entry );
}
else if( !stricmp(sValueName, "DISPLAYCOURSE") || !stricmp(sValueName, "COMBO") ||
!stricmp(sValueName, "COMBOMODE") )
else if( !sValueName.EqualsNoCase("DISPLAYCOURSE") || !sValueName.EqualsNoCase("COMBO") ||
!sValueName.EqualsNoCase("COMBOMODE") )
{
// Ignore
}
else if( bFromCache && !stricmp(sValueName, "RADAR") )
else if( bFromCache && !sValueName.EqualsNoCase("RADAR") )
{
StepsType st = (StepsType) atoi(sParams[1]);
CourseDifficulty cd = (CourseDifficulty) atoi( sParams[2] );
StepsType st = (StepsType) StringToInt(sParams[1]);
CourseDifficulty cd = (CourseDifficulty) StringToInt( sParams[2] );
RadarValues rv;
rv.FromString( sParams[3] );
out.m_RadarCache[Course::CacheEntry(st, cd)] = rv;
}
else if( 0 == stricmp(sValueName, "STYLE") )
else if( sValueName.EqualsNoCase("STYLE") )
{
RString sStyles = sParams[1];
vector<RString> asStyles;
+3 -3
View File
@@ -272,14 +272,14 @@ void FileTransfer::HTTPUpdate()
m_sResponseName = "Malformed response.";
return;
}
m_iResponseCode = atoi(m_sBUFFER.substr(i+1,j-i).c_str());
m_iResponseCode = StringToInt(m_sBUFFER.substr(i+1,j-i));
m_sResponseName = m_sBUFFER.substr( j+1, k-j );
i = m_sBUFFER.find("Content-Length:");
j = m_sBUFFER.find("\n", i+1 );
if( i != string::npos )
m_iTotalBytes = atoi(m_sBUFFER.substr(i+16,j-i).c_str());
m_iTotalBytes = StringToInt(m_sBUFFER.substr(i+16,j-i));
else
m_iTotalBytes = -1; // We don't know, so go until disconnect
@@ -350,7 +350,7 @@ bool FileTransfer::ParseHTTPAddress( const RString &URL, RString &sProto, RStrin
sServer = asMatches[1];
if( asMatches[3] != "" )
{
iPort = atoi(asMatches[3]);
iPort = StringToInt(asMatches[3]);
if( iPort == 0 )
return false;
}
+2 -2
View File
@@ -414,7 +414,7 @@ void Font::LoadFontPageSettings( FontPageSettings &cfg, IniFile &ini, const RStr
// If val is an integer, it's a width, eg. "10=27".
if( IsAnInt(sName) )
{
cfg.m_mapGlyphWidths[atoi(sName)] = pValue->GetValue<int>();
cfg.m_mapGlyphWidths[StringToInt(sName)] = pValue->GetValue<int>();
continue;
}
@@ -516,7 +516,7 @@ void Font::LoadFontPageSettings( FontPageSettings &cfg, IniFile &ini, const RStr
TrimLeft( sRowStr );
ASSERT( IsAnInt(sRowStr) );
const int iRow = atoi( sRowStr.c_str() );
const int iRow = StringToInt( sRowStr );
const int iFirstFrame = iRow * iNumFramesWide;
if( iRow > iNumFramesHigh )
+2 -2
View File
@@ -335,12 +335,12 @@ void GameCommand::LoadOne( const Command& cmd )
else if( sName == "weight" )
{
m_iWeightPounds = atoi( sValue );
m_iWeightPounds = StringToInt( sValue );
}
else if( sName == "goalcalories" )
{
m_iGoalCalories = atoi( sValue );
m_iGoalCalories = StringToInt( sValue );
}
else if( sName == "goaltype" )
+2
View File
@@ -87,8 +87,10 @@ enum StepsType
StepsType_para_single,
StepsType_ds3ddx_single,
StepsType_beat_single5,
StepsType_beat_versus5,
StepsType_beat_double5,
StepsType_beat_single7,
StepsType_beat_versus7,
StepsType_beat_double7,
StepsType_maniax_single,
StepsType_maniax_double,
+89 -2
View File
@@ -1584,7 +1584,47 @@ static const Style g_Style_Beat_Single5 =
false, // m_bLockDifficulties
};
static const Style g_Style_Beat_Double =
static const Style g_Style_Beat_Versus5 =
{ // STYLE_BEAT_VERSUS
true, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForDemonstration
false, // m_bUsedForHowToPlay
"versus", // m_szName
StepsType_beat_versus5, // m_StepsType
StyleType_TwoPlayersTwoSides, // m_StyleType
6, // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1, -BEAT_COL_SPACING*2.5f, NULL },
{ TRACK_2, -BEAT_COL_SPACING*1.5f, NULL },
{ TRACK_3, -BEAT_COL_SPACING*0.5f, NULL },
{ TRACK_4, +BEAT_COL_SPACING*0.5f, NULL },
{ TRACK_5, +BEAT_COL_SPACING*1.5f, NULL },
{ TRACK_6, +BEAT_COL_SPACING*3.0f, "scratch" },
},
{ // PLAYER_2
{ TRACK_1, -BEAT_COL_SPACING*2.5f, NULL },
{ TRACK_2, -BEAT_COL_SPACING*1.5f, NULL },
{ TRACK_3, -BEAT_COL_SPACING*0.5f, NULL },
{ TRACK_4, +BEAT_COL_SPACING*0.5f, NULL },
{ TRACK_5, +BEAT_COL_SPACING*1.5f, NULL },
{ TRACK_6, +BEAT_COL_SPACING*3.0f, "scratch" },
},
},
{ // m_iInputColumn[NUM_GameController][NUM_GameButton]
{ 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING },
{ 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING }
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0,1,2,3,4,5
},
false, // m_bNeedsZoomOutWith2Players
false, // m_bCanUseBeginnerHelper
false, // m_bLockDifficulties
};
static const Style g_Style_Beat_Double5 =
{ // STYLE_BEAT_DOUBLE
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
@@ -1680,6 +1720,51 @@ static const Style g_Style_Beat_Single7 =
false, // m_bLockDifficulties
};
static const Style g_Style_Beat_Versus7 =
{ // STYLE_BEAT_VERSUS7
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
false, // m_bUsedForDemonstration
false, // m_bUsedForHowToPlay
"single7", // m_szName
StepsType_beat_versus7, // m_StepsType
StyleType_TwoPlayersTwoSides, // m_StyleType
8, // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_8, -BEAT_COL_SPACING*3.5f, "scratch" },
{ TRACK_1, -BEAT_COL_SPACING*2.0f, NULL },
{ TRACK_2, -BEAT_COL_SPACING*1.0f, NULL },
{ TRACK_3, -BEAT_COL_SPACING*0.0f, NULL },
{ TRACK_4, +BEAT_COL_SPACING*1.0f, NULL },
{ TRACK_5, +BEAT_COL_SPACING*2.0f, NULL },
{ TRACK_6, +BEAT_COL_SPACING*3.0f, NULL },
{ TRACK_7, +BEAT_COL_SPACING*4.0f, NULL },
},
{ // PLAYER_2
{ TRACK_1, -BEAT_COL_SPACING*3.5f, NULL },
{ TRACK_2, -BEAT_COL_SPACING*2.5f, NULL },
{ TRACK_3, -BEAT_COL_SPACING*1.5f, NULL },
{ TRACK_4, -BEAT_COL_SPACING*0.5f, NULL },
{ TRACK_5, +BEAT_COL_SPACING*0.5f, NULL },
{ TRACK_6, +BEAT_COL_SPACING*1.5f, NULL },
{ TRACK_7, +BEAT_COL_SPACING*2.5f, NULL },
{ TRACK_8, +BEAT_COL_SPACING*4.0f, "scratch" },
},
},
{ // m_iInputColumn[NUM_GameController][NUM_GameButton]
{ 1, 2, 3, 4, 5, 6, 7, 0, 0, Style::END_MAPPING },
{ 0, 1, 2, 3, 4, 5, 6, 7, 7, Style::END_MAPPING },
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0,1,2,3,4,5,6,7
},
false, // m_bNeedsZoomOutWith2Players
false, // m_bCanUseBeginnerHelper
false, // m_bLockDifficulties
};
static const Style g_Style_Beat_Double7 =
{ // STYLE_BEAT_DOUBLE7
true, // m_bUsedForGameplay
@@ -1743,8 +1828,10 @@ static const Style g_Style_Beat_Double7 =
static const Style *g_apGame_Beat_Styles[] =
{
&g_Style_Beat_Single5,
&g_Style_Beat_Double,
&g_Style_Beat_Versus5,
&g_Style_Beat_Double5,
&g_Style_Beat_Single7,
&g_Style_Beat_Versus7,
&g_Style_Beat_Double7,
NULL
};
+1 -1
View File
@@ -209,7 +209,7 @@ void GameState::ApplyCmdline()
RString sPlayer;
for( int i = 0; GetCommandlineArgument( "player", &sPlayer, i ); ++i )
{
int pn = atoi( sPlayer )-1;
int pn = StringToInt( sPlayer )-1;
if( !IsAnInt( sPlayer ) || pn < 0 || pn >= NUM_PLAYERS )
RageException::Throw( "Invalid argument \"--player=%s\".", sPlayer.c_str() );
+1 -1
View File
@@ -948,7 +948,7 @@ MultiPlayer InputMapper::InputDeviceToMultiPlayer( InputDevice id )
GameButton InputScheme::ButtonNameToIndex( const RString &sButtonName ) const
{
for( GameButton gb=(GameButton) 0; gb<m_iButtonsPerController; gb=(GameButton)(gb+1) )
if( stricmp(GetGameButtonName(gb), sButtonName) == 0 )
if( sButtonName.EqualsNoCase(GetGameButtonName(gb)) )
return gb;
return GameButton_Invalid;
+1 -1
View File
@@ -11,7 +11,7 @@
#include "Command.h"
#include "RageTypes.h"
#include <sstream>
#include <sstream> // conversion for lua functions.
#include <csetjmp>
#include <cassert>
#include <map>
+1 -1
View File
@@ -63,7 +63,7 @@ bool LyricsLoader::LoadFromLRCFile(const RString& sPath, Song& out)
StripCrnl(sValueData);
// handle the data
if( 0==stricmp(sValueName,"COLOUR") || 0==stricmp(sValueName,"COLOR") )
if( sValueName.EqualsNoCase("COLOUR") || sValueName.EqualsNoCase("COLOR") )
{
// set color var here for this segment
int r, g, b;
+1 -1
View File
@@ -63,7 +63,7 @@ void ModIcon::Set( const RString &_sText )
};
for( unsigned i=0; i<ARRAYLEN(sStopWords); i++ )
if( 0==stricmp(sText,sStopWords[i]) )
if( sText.EqualsNoCase(sStopWords[i]) )
sText = "";
sText.Replace( " ", "\n" );
+4 -3
View File
@@ -199,7 +199,7 @@ bool NoteSkinManager::DoesNoteSkinExist( const RString &sSkinName )
vector<RString> asSkinNames;
GetAllNoteSkinNamesForGame( GAMESTATE->m_pCurGame, asSkinNames );
for( unsigned i=0; i<asSkinNames.size(); i++ )
if( 0==stricmp(sSkinName, asSkinNames[i]) )
if( sSkinName.EqualsNoCase(asSkinNames[i]) )
return true;
return false;
}
@@ -251,7 +251,7 @@ RString NoteSkinManager::GetMetric( const RString &sButtonName, const RString &s
int NoteSkinManager::GetMetricI( const RString &sButtonName, const RString &sValueName )
{
return atoi( GetMetric(sButtonName,sValueName) );
return StringToInt( GetMetric(sButtonName,sValueName) );
}
float NoteSkinManager::GetMetricF( const RString &sButtonName, const RString &sValueName )
@@ -261,7 +261,8 @@ float NoteSkinManager::GetMetricF( const RString &sButtonName, const RString &sV
bool NoteSkinManager::GetMetricB( const RString &sButtonName, const RString &sValueName )
{
return atoi( GetMetric(sButtonName,sValueName) ) != 0;
// Could also call GetMetricI here...hmm.
return StringToInt( GetMetric(sButtonName,sValueName) ) != 0;
}
apActorCommands NoteSkinManager::GetMetricA( const RString &sButtonName, const RString &sValueName )
+8 -8
View File
@@ -398,8 +398,8 @@ static void ReadTimeSigs( const NameToData_t &mapNameToData, MeasureToTimeSig_t
if( sName.size() != 6 || sName[0] != '#' || !IsAnInt( sName.substr(1,5) ) )
continue;
// this is step or offset data. Looks like "#00705"
int iMeasureNo = atoi( sName.substr(1, 3).c_str() );
int iBMSTrackNo = atoi( sName.substr(4, 2).c_str() );
int iMeasureNo = StringToInt( sName.substr(1, 3) );
int iBMSTrackNo = StringToInt( sName.substr(4, 2) );
RString nData = it->second;
int totalPairs = nData.size() / 2;
if( iBMSTrackNo != BMS_TRACK_TIME_SIG && iBMSTrackNo != 7 )
@@ -423,10 +423,10 @@ static void ReadTimeSigs( const NameToData_t &mapNameToData, MeasureToTimeSig_t
// this is step or offset data. Looks like "#00705"
const RString &sData = it->second;
int iMeasureNo = atoi( sName.substr(1, 3).c_str() );
int iMeasureNo = StringToInt( sName.substr(1, 3) );
if( iMeasureNo < iStartMeasureNo )
continue;
int iBMSTrackNo = atoi( sName.substr(4, 2).c_str() );
int iBMSTrackNo = StringToInt( sName.substr(4, 2) );
if( iBMSTrackNo == BMS_TRACK_TIME_SIG )
out[iMeasureNo] = StringToFloat( sData );
}
@@ -446,9 +446,9 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo
int iPlayer = -1;
RString sData;
if( GetTagFromMap( mapNameToData, "#player", sData ) )
iPlayer = atoi(sData);
iPlayer = StringToInt(sData);
if( GetTagFromMap( mapNameToData, "#playlevel", sData ) )
out.SetMeter( atoi(sData) );
out.SetMeter( StringToInt(sData) );
NoteData ndNotes;
ndNotes.SetNumTracks( NUM_BMS_TRACKS );
@@ -475,8 +475,8 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo
continue;
// this is step or offset data. Looks like "#00705"
int iMeasureNo = atoi( sName.substr(1,3).c_str() );
int iRawTrackNum = atoi( sName.substr(4,2).c_str() );
int iMeasureNo = StringToInt( sName.substr(1,3) );
int iRawTrackNum = StringToInt( sName.substr(4,2) );
int iRowNo = GetMeasureStartRow( mapMeasureToTimeSig, iMeasureNo, sigAdjustments );
float fBeatsPerMeasure = GetBeatsPerMeasure( mapMeasureToTimeSig, iMeasureNo, sigAdjustments );
const RString &sNoteData = it->second;
+20 -20
View File
@@ -206,7 +206,7 @@ static bool LoadFromDWITokens(
DEFAULT_FAIL( out.m_StepsType );
}
int iNumFeet = atoi(sNumFeet);
int iNumFeet = StringToInt(sNumFeet);
// out.SetDescription(sDescription); // Don't put garbage in the description.
out.SetMeter(iNumFeet);
out.SetDifficulty( DwiCompatibleStringToDifficulty(sDescription) );
@@ -447,10 +447,10 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
}
// handle the data
if( 0==stricmp(sValueName,"FILE") )
if( sValueName.EqualsNoCase("FILE") )
out.m_sMusicFile = sParams[1];
else if( 0==stricmp(sValueName,"TITLE") )
else if( sValueName.EqualsNoCase("TITLE") )
{
NotesLoader::GetMainAndSubTitlesFromFullTitle( sParams[1], out.m_sMainTitle, out.m_sSubTitle );
@@ -460,22 +460,22 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
ConvertString( out.m_sSubTitle, "utf-8,english" );
}
else if( 0==stricmp(sValueName,"ARTIST") )
else if( sValueName.EqualsNoCase("ARTIST") )
{
out.m_sArtist = sParams[1];
ConvertString( out.m_sArtist, "utf-8,english" );
}
else if( 0==stricmp(sValueName,"GENRE") )
else if( sValueName.EqualsNoCase("GENRE") )
{
out.m_sGenre = sParams[1];
ConvertString( out.m_sGenre, "utf-8,english" );
}
else if( 0==stricmp(sValueName,"CDTITLE") )
else if( sValueName.EqualsNoCase("CDTITLE") )
out.m_sCDTitleFile = sParams[1];
else if( 0==stricmp(sValueName,"BPM") )
else if( sValueName.EqualsNoCase("BPM") )
{
const float fBPM = StringToFloat( sParams[1] );
@@ -491,7 +491,7 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
NoteRowToBeat(0), fBPM );
}
}
else if( 0==stricmp(sValueName,"DISPLAYBPM") )
else if( sValueName.EqualsNoCase("DISPLAYBPM") )
{
// #DISPLAYBPM:[xxx..xxx]|[xxx]|[*];
int iMin, iMax;
@@ -515,17 +515,17 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
}
}
else if( 0==stricmp(sValueName,"GAP") )
else if( sValueName.EqualsNoCase("GAP") )
// the units of GAP is 1/1000 second
out.m_SongTiming.m_fBeat0OffsetInSeconds = -atoi( sParams[1] ) / 1000.0f;
out.m_SongTiming.m_fBeat0OffsetInSeconds = -StringToInt( sParams[1] ) / 1000.0f;
else if( 0==stricmp(sValueName,"SAMPLESTART") )
else if( sValueName.EqualsNoCase("SAMPLESTART") )
out.m_fMusicSampleStartSeconds = ParseBrokenDWITimestamp(sParams[1], sParams[2], sParams[3]);
else if( 0==stricmp(sValueName,"SAMPLELENGTH") )
else if( sValueName.EqualsNoCase("SAMPLELENGTH") )
out.m_fMusicSampleLengthSeconds = ParseBrokenDWITimestamp(sParams[1], sParams[2], sParams[3]);
else if( 0==stricmp(sValueName,"FREEZE") )
else if( sValueName.EqualsNoCase("FREEZE") )
{
vector<RString> arrayFreezeExpressions;
split( sParams[1], ",", arrayFreezeExpressions );
@@ -547,7 +547,7 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
}
}
else if( 0==stricmp(sValueName,"CHANGEBPM") || 0==stricmp(sValueName,"BPMCHANGE") )
else if( sValueName.EqualsNoCase("CHANGEBPM") || sValueName.EqualsNoCase("BPMCHANGE") )
{
vector<RString> arrayBPMChangeExpressions;
split( sParams[1], ",", arrayBPMChangeExpressions );
@@ -577,10 +577,10 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
}
}
else if( 0==stricmp(sValueName,"SINGLE") ||
0==stricmp(sValueName,"DOUBLE") ||
0==stricmp(sValueName,"COUPLE") ||
0==stricmp(sValueName,"SOLO") )
else if( sValueName.EqualsNoCase("SINGLE") ||
sValueName.EqualsNoCase("DOUBLE") ||
sValueName.EqualsNoCase("COUPLE") ||
sValueName.EqualsNoCase("SOLO") )
{
Steps* pNewNotes = out.CreateSteps();
LoadFromDWITokens(
@@ -597,8 +597,8 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set<RString> &Bla
else
delete pNewNotes;
}
else if( 0==stricmp(sValueName,"DISPLAYTITLE") ||
0==stricmp(sValueName,"DISPLAYARTIST") )
else if( sValueName.EqualsNoCase("DISPLAYTITLE") ||
sValueName.EqualsNoCase("DISPLAYARTIST") )
{
/* We don't want to support these tags. However, we don't want
* to pick up images used here as song images (eg. banners). */
+2 -2
View File
@@ -143,9 +143,9 @@ static void Deserialize( Song &out, const Json::Value &root )
out.m_fMusicSampleStartSeconds = (float)root["SampleStart"].asDouble();
out.m_fMusicSampleLengthSeconds = (float)root["SampleLength"].asDouble();
RString sSelectable = root["Selectable"].asString();
if( !stricmp(sSelectable,"YES") )
if( sSelectable.EqualsNoCase("YES") )
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if(!stricmp(sSelectable,"NO"))
else if( sSelectable.EqualsNoCase("NO") )
out.m_SelectionDisplay = out.SHOW_NEVER;
out.m_fFirstBeat = (float)root["FirstBeat"].asDouble();
+10 -10
View File
@@ -35,7 +35,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song,
// handle the data
if( sValueName=="TICKCOUNT" )
{
iTickCount = atoi( sParams[1] );
iTickCount = StringToInt( sParams[1] );
if( iTickCount <= 0 )
{
LOG->UserLog( "Song file", sPath, "has an invalid tick count: %d.", iTickCount );
@@ -51,7 +51,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song,
}
else if( sValueName=="DIFFICULTY" )
{
out.SetMeter( max(atoi(sParams[1]), 0) );
out.SetMeter( max(StringToInt(sParams[1]), 0) );
}
// new cases from Aldo_MX's fork:
else if( sValueName=="PLAYER" )
@@ -192,7 +192,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song,
else if ( BeginsWith(sRowString, "|T") )
{
RString temp = sRowString.substr(2,sRowString.size()-3);
newTick = atoi(temp);
newTick = StringToInt(temp);
bTickChangeNeeded = true;
out.m_Timing.AddTickcountSegment(TickcountSegment(fCurBeat, newTick));
continue;
@@ -289,12 +289,12 @@ static void LoadTags( const RString &str, Song &out )
split( str, " - ", asBits, false );
// Ignore the difficulty, since we get that elsewhere.
if( asBits.size() == 3 && (
!stricmp(asBits[2], "double") ||
!stricmp(asBits[2], "easy") ||
!stricmp(asBits[2], "normal") ||
!stricmp(asBits[2], "hard") ||
!stricmp(asBits[2], "crazy") ||
!stricmp(asBits[2], "nightmare"))
asBits[2].EqualsNoCase("double") ||
asBits[2].EqualsNoCase("easy") ||
asBits[2].EqualsNoCase("normal") ||
asBits[2].EqualsNoCase("hard") ||
asBits[2].EqualsNoCase("crazy") ||
asBits[2].EqualsNoCase("nightmare"))
)
{
asBits.erase( asBits.begin()+2, asBits.begin()+3 );
@@ -404,7 +404,7 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool &bKIUCompliant
/* TICKCOUNT will be used below if there are DM compliant BPM changes
* and stops. It will be called again in LoadFromKSFFile for the
* actual steps. */
iTickCount = atoi( sParams[1] );
iTickCount = StringToInt( sParams[1] );
iTickCount = iTickCount > 0 ? iTickCount : 2; // again, Direct Move uses 4 as a default.
// add a tickcount for those using the [Player]
// CheckpointsUseTimeSignatures metric. -aj
+8 -8
View File
@@ -346,8 +346,8 @@ static void ReadTimeSigs( const NameToData_t &mapNameToData, MeasureToTimeSig_t
// this is step or offset data. Looks like "#00705"
const RString &sData = it->second;
int iMeasureNo = atoi( sName.substr(1, 3).c_str() );
int iPMSTrackNo = atoi( sName.substr(4, 2).c_str() );
int iMeasureNo = StringToInt( sName.substr(1, 3) );
int iPMSTrackNo = StringToInt( sName.substr(4, 2) );
if( iPMSTrackNo == PMS_TRACK_TIME_SIG )
out[iMeasureNo] = StringToFloat( sData );
}
@@ -367,9 +367,9 @@ static bool LoadFromPMSFile( const RString &sPath, const NameToData_t &mapNameTo
int iPlayer = -1;
RString sData;
if( GetTagFromMap( mapNameToData, "#player", sData ) )
iPlayer = atoi(sData);
iPlayer = StringToInt(sData);
if( GetTagFromMap( mapNameToData, "#playlevel", sData ) )
out.SetMeter( atoi(sData) );
out.SetMeter( StringToInt(sData) );
NoteData ndNotes;
ndNotes.SetNumTracks( NUM_PMS_TRACKS );
@@ -396,8 +396,8 @@ static bool LoadFromPMSFile( const RString &sPath, const NameToData_t &mapNameTo
continue;
// this is step or offset data. Looks like "#00705"
int iMeasureNo = atoi( sName.substr(1,3).c_str() );
int iRawTrackNum = atoi( sName.substr(4,2).c_str() );
int iMeasureNo = StringToInt( sName.substr(1,3) );
int iRawTrackNum = StringToInt( sName.substr(4,2) );
int iRowNo = GetMeasureStartRow( mapMeasureToTimeSig, iMeasureNo, sigAdjustments );
float fBeatsPerMeasure = GetBeatsPerMeasure( mapMeasureToTimeSig, iMeasureNo, sigAdjustments );
const RString &sNoteData = it->second;
@@ -649,8 +649,8 @@ static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, Measur
if( sName.size() != 6 || sName[0] != '#' || !IsAnInt( sName.substr(1,5) ) )
continue;
// this is step or offset data. Looks like "#00705"
int iMeasureNo = atoi( sName.substr(1, 3).c_str() );
int iPMSTrackNo = atoi( sName.substr(4, 2).c_str() );
int iMeasureNo = StringToInt( sName.substr(1, 3) );
int iPMSTrackNo = StringToInt( sName.substr(4, 2) );
int iStepIndex = GetMeasureStartRow( mapMeasureToTimeSig, iMeasureNo, sigAdjustmentsOut );
float fBeatsPerMeasure = GetBeatsPerMeasure( mapMeasureToTimeSig, iMeasureNo, sigAdjustmentsOut );
int iRowsPerMeasure = BeatToNoteRow( fBeatsPerMeasure );
+11 -11
View File
@@ -60,7 +60,7 @@ void SMLoader::LoadFromSMTokens(
out.SetDifficulty( Difficulty_Challenge );
}
out.SetMeter( atoi(sMeter) );
out.SetMeter( StringToInt(sMeter) );
vector<RString> saValues;
split( sRadarValues, ",", saValues, true );
int categories = NUM_RadarCategory - 1; // Fakes aren't counted in the radar values.
@@ -426,7 +426,7 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString
// Backward compatibility:
if( change.m_def.m_sEffect.empty() )
{
bool bLoop = atoi( aBGChangeValues[5] ) != 0;
bool bLoop = StringToInt( aBGChangeValues[5] ) != 0;
if( !bLoop )
change.m_def.m_sEffect = SBE_StretchNoLoop;
}
@@ -436,7 +436,7 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString
// Backward compatibility:
if( change.m_def.m_sEffect.empty() )
{
bool bRewindMovie = atoi( aBGChangeValues[4] ) != 0;
bool bRewindMovie = StringToInt( aBGChangeValues[4] ) != 0;
if( bRewindMovie )
change.m_def.m_sEffect = SBE_StretchRewind;
}
@@ -445,7 +445,7 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString
// param 9 overrides this.
// Backward compatibility:
if( change.m_sTransition.empty() )
change.m_sTransition = (atoi( aBGChangeValues[3] ) != 0) ? "CrossFade" : "";
change.m_sTransition = (StringToInt( aBGChangeValues[3] ) != 0) ? "CrossFade" : "";
// fall through
case 3:
change.m_fRate = StringToFloat( aBGChangeValues[2] );
@@ -575,12 +575,12 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache
else if( sValueName=="HASMUSIC" )
{
if( bFromCache )
out.m_bHasMusic = atoi( sParams[1] ) != 0;
out.m_bHasMusic = StringToInt( sParams[1] ) != 0;
}
else if( sValueName=="HASBANNER" )
{
if( bFromCache )
out.m_bHasBanner = atoi( sParams[1] ) != 0;
out.m_bHasBanner = StringToInt( sParams[1] ) != 0;
}
else if( sValueName=="SAMPLESTART" )
@@ -611,20 +611,20 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache
else if( sValueName=="SELECTABLE" )
{
if(!stricmp(sParams[1],"YES"))
if(sParams[1].EqualsNoCase("YES"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if(!stricmp(sParams[1],"NO"))
else if(sParams[1].EqualsNoCase("NO"))
out.m_SelectionDisplay = out.SHOW_NEVER;
// ROULETTE from 3.9. It was removed since UnlockManager can serve
// the same purpose somehow. This, of course, assumes you're using
// unlocks. -aj
else if(!stricmp(sParams[1],"ROULETTE"))
else if(sParams[1].EqualsNoCase("ROULETTE"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
/* The following two cases are just fixes to make sure simfiles that
* used 3.9+ features are not excluded here */
else if(!stricmp(sParams[1],"ES") || !stricmp(sParams[1],"OMES"))
else if(sParams[1].EqualsNoCase("ES") || sParams[1].EqualsNoCase("OMES"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if( atoi(sParams[1]) > 0 )
else if( StringToInt(sParams[1]) > 0 )
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else
LOG->UserLog( "Song file", sPath, "has an unknown #SELECTABLE value, \"%s\"; ignored.", sParams[1].c_str() );
+8 -8
View File
@@ -59,7 +59,7 @@ void SMALoader::LoadFromSMATokens(
out.SetDifficulty( Difficulty_Challenge );
}
out.SetMeter( atoi(sMeter) );
out.SetMeter( StringToInt(sMeter) );
vector<RString> saValues;
split( sRadarValues, ",", saValues, true );
int categories = NUM_RadarCategory - 1; // Fakes aren't counted in the radar values.
@@ -244,20 +244,20 @@ bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out )
else if( sValueName=="SELECTABLE" )
{
if(!stricmp(sParams[1],"YES"))
if(sParams[1].EqualsNoCase("YES"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if(!stricmp(sParams[1],"NO"))
else if(sParams[1].EqualsNoCase("NO"))
out.m_SelectionDisplay = out.SHOW_NEVER;
// ROULETTE from 3.9. It was removed since UnlockManager can serve
// the same purpose somehow. This, of course, assumes you're using
// unlocks. -aj
else if(!stricmp(sParams[1],"ROULETTE"))
else if(sParams[1].EqualsNoCase("ROULETTE"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
/* The following two cases are just fixes to make sure simfiles that
* used 3.9+ features are not excluded here */
else if(!stricmp(sParams[1],"ES") || !stricmp(sParams[1],"OMES"))
else if(sParams[1].EqualsNoCase("ES") || sParams[1].EqualsNoCase("OMES"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if( atoi(sParams[1]) > 0 )
else if( StringToInt(sParams[1]) > 0 )
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else
LOG->UserLog( "Song file", sPath, "has an unknown #SELECTABLE value, \"%s\"; ignored.", sParams[1].c_str() );
@@ -430,13 +430,13 @@ void SMALoader::LoadTimingFromSMAFile( const MsdFile &msd, TimingData &out )
break;
}
encountered = true;
rowsPerMeasure = atoi( sParams[1] );
rowsPerMeasure = StringToInt( sParams[1] );
}
else if( sValueName=="BEATSPERMEASURE" )
{
TimeSignatureSegment new_seg;
new_seg.m_iStartRow = 0;
new_seg.m_iNumerator = atoi( sParams[1] );
new_seg.m_iNumerator = StringToInt( sParams[1] );
new_seg.m_iDenominator = 4;
out.AddTimeSignatureSegment( new_seg );
}
+9 -9
View File
@@ -292,18 +292,18 @@ bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCach
else if( sValueName=="SELECTABLE" )
{
if(!stricmp(sParams[1],"YES"))
if(sParams[1].EqualsNoCase("YES"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if(!stricmp(sParams[1],"NO"))
else if(sParams[1].EqualsNoCase("NO"))
out.m_SelectionDisplay = out.SHOW_NEVER;
// ROULETTE from 3.9 is no longer in use.
else if(!stricmp(sParams[1],"ROULETTE"))
else if(sParams[1].EqualsNoCase("ROULETTE"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
/* The following two cases are just fixes to make sure simfiles that
* used 3.9+ features are not excluded here */
else if(!stricmp(sParams[1],"ES") || !stricmp(sParams[1],"OMES"))
else if(sParams[1].EqualsNoCase("ES") || sParams[1].EqualsNoCase("OMES"))
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else if( atoi(sParams[1]) > 0 )
else if( StringToInt(sParams[1]) > 0 )
out.m_SelectionDisplay = out.SHOW_ALWAYS;
else
LOG->UserLog( "Song file", sPath, "has an unknown #SELECTABLE value, \"%s\"; ignored.", sParams[1].c_str() );
@@ -466,13 +466,13 @@ bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCach
else if( sValueName=="HASMUSIC" )
{
if( bFromCache )
out.m_bHasMusic = atoi( sParams[1] ) != 0;
out.m_bHasMusic = StringToInt( sParams[1] ) != 0;
}
else if( sValueName=="HASBANNER" )
{
if( bFromCache )
out.m_bHasBanner = atoi( sParams[1] ) != 0;
out.m_bHasBanner = StringToInt( sParams[1] ) != 0;
}
// This tag will get us to the next section.
@@ -509,7 +509,7 @@ bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCach
else if( sValueName=="METER" )
{
pNewNotes->SetMeter( atoi( sParams[1] ) );
pNewNotes->SetMeter( StringToInt( sParams[1] ) );
}
else if( sValueName=="RADARVALUES" )
@@ -751,7 +751,7 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat
else if( sValueName=="METER" )
{
pNewNotes->SetMeter( atoi( sParams[1] ) );
pNewNotes->SetMeter( StringToInt( sParams[1] ) );
bSSCFormat = true;
}
+3 -3
View File
@@ -154,7 +154,7 @@ public:
RageException::Throw( "Parse error in \"ScreenOptionsMaster::%s\".", sParam.c_str() );
m_Def.m_bOneChoiceForAllPlayers = false;
const int NumCols = atoi( lCmds.v[0].m_vsArgs[0] );
const int NumCols = StringToInt( lCmds.v[0].m_vsArgs[0] );
for( unsigned i=1; i<lCmds.v.size(); i++ )
{
const Command &cmd = lCmds.v[i];
@@ -165,7 +165,7 @@ public:
else if( sName == "selectone" ) m_Def.m_selectType = SELECT_ONE;
else if( sName == "selectnone" ) m_Def.m_selectType = SELECT_NONE;
else if( sName == "showoneinrow" ) m_Def.m_layoutType = LAYOUT_SHOW_ONE_IN_ROW;
else if( sName == "default" ) m_Def.m_iDefault = atoi( cmd.GetArg(1).s ) - 1; // match ENTRY_MODE
else if( sName == "default" ) m_Def.m_iDefault = StringToInt( cmd.GetArg(1).s ) - 1; // match ENTRY_MODE
else if( sName == "reloadrowmessages" )
{
for( unsigned a=1; a<cmd.m_vsArgs.size(); a++ )
@@ -177,7 +177,7 @@ public:
for( unsigned a=1; a<cmd.m_vsArgs.size(); a++ )
{
RString sArg = cmd.m_vsArgs[a];
PlayerNumber pn = (PlayerNumber)(atoi(sArg)-1);
PlayerNumber pn = (PlayerNumber)(StringToInt(sArg)-1);
ASSERT( pn >= 0 && pn < NUM_PLAYERS );
m_Def.m_vEnabledForPlayers.insert( pn );
}
+1 -1
View File
@@ -299,7 +299,7 @@ bool PlayerOptions::FromOneModString( const RString &sOneMod, RString &sErrorOut
{
/* XXX We know what they want, is there any reason not to handle it? */
/* Yes. We should be strict in handling the format. -Chris */
sErrorOut = ssprintf("Invalid player options \"%s\"; did you mean '*%d'?", s->c_str(), atoi(*s) );
sErrorOut = ssprintf("Invalid player options \"%s\"; did you mean '*%d'?", s->c_str(), StringToInt(*s) );
return false;
}
else
+1 -1
View File
@@ -1922,7 +1922,7 @@ RString Profile::MakeUniqueFileNameNoExtension( RString sDir, RString sFileNameB
continue;
ASSERT( matches.size() == 1 );
iIndex = atoi( matches[0] )+1;
iIndex = StringToInt( matches[0] )+1;
break;
}
+1 -1
View File
@@ -429,7 +429,7 @@ bool ProfileManager::CreateLocalProfile( RString sName, RString &sProfileIDOut )
vector<RString> vs;
GetLocalProfileIDs( vs );
FOREACH_CONST( RString, vs, s )
iMaxProfileNumber = atoi( *s );
iMaxProfileNumber = StringToInt( *s );
int iProfileNumber = iMaxProfileNumber + 1;
RString sProfileID = ssprintf( "%08d", iProfileNumber );
+2 -2
View File
@@ -26,8 +26,8 @@ static void GetResolutionFromFileName( RString sPath, int &iWidth, int &iHeight
if( !re.Compare(sPath, asMatches) )
return;
iWidth = atoi( asMatches[0].c_str() );
iHeight = atoi( asMatches[1].c_str() );
iWidth = StringToInt( asMatches[0] );
iHeight = StringToInt( asMatches[1] );
}
RageBitmapTexture::RageBitmapTexture( RageTextureID name ) :
+2 -2
View File
@@ -51,8 +51,8 @@ void RageTexture::GetFrameDimensionsFromFileName( RString sPath, int* piFramesWi
*piFramesWide = *piFramesHigh = 1;
return;
}
*piFramesWide = atoi(asMatch[0]);
*piFramesHigh = atoi(asMatch[1]);
*piFramesWide = StringToInt(asMatch[0]);
*piFramesHigh = StringToInt(asMatch[1]);
}
const RectF *RageTexture::GetTextureCoordRect( int iFrameNo ) const
+18 -3
View File
@@ -10,6 +10,7 @@
#include <numeric>
#include <ctime>
#include <sstream>
#include <map>
#include <sys/types.h>
#include <sys/stat.h>
@@ -193,8 +194,8 @@ float HHMMSSToSeconds( const RString &sHHMMSS )
arrayBits.insert(arrayBits.begin(), "0" ); // pad missing bits
float fSeconds = 0;
fSeconds += atoi( arrayBits[0] ) * 60 * 60;
fSeconds += atoi( arrayBits[1] ) * 60;
fSeconds += StringToInt( arrayBits[0] ) * 60 * 60;
fSeconds += StringToInt( arrayBits[1] ) * 60;
fSeconds += StringToFloat( arrayBits[2] );
return fSeconds;
@@ -1695,6 +1696,20 @@ void MakeLower( wchar_t *p, size_t iLen )
UnicodeUpperLower( p, iLen, g_LowerCase );
}
int StringToInt( const RString &sString )
{
int ret;
istringstream ( sString ) >> ret;
return ret;
}
RString IntToString( const int &iNum )
{
stringstream ss;
ss << iNum;
return ss.str();
}
float StringToFloat( const RString &sString )
{
float ret = strtof( sString, NULL );
@@ -2141,7 +2156,7 @@ namespace StringConversion
if( sValue.size() == 0 )
return false;
out = (atoi(sValue) != 0);
out = (StringToInt(sValue) != 0);
return true;
}
+10
View File
@@ -405,6 +405,16 @@ void MakeUpper( char *p, size_t iLen );
void MakeLower( char *p, size_t iLen );
void MakeUpper( wchar_t *p, size_t iLen );
void MakeLower( wchar_t *p, size_t iLen );
/**
* @brief Have a standard way of converting Strings to integers.
* @param sString the string to convert.
* @return the integer we are after. */
int StringToInt( const RString &sString );
/**
* @brief Have a standard way of converting integers to Strings.
* @param iNum the integer to convert.
* @return the string we are after. */
RString IntToString( const int &iNum );
float StringToFloat( const RString &sString );
bool StringToFloat( const RString &sString, float &fOut );
+5 -7
View File
@@ -2623,9 +2623,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
}
else if( SM == SM_BackFromDifficultyMeterChange )
{
int i;
std::istringstream ss( ScreenTextEntry::s_sLastAnswer );
ss >> i;
int i = StringToInt( ScreenTextEntry::s_sLastAnswer );
GAMESTATE->m_pCurSteps[PLAYER_1]->SetMeter(i);
SetDirty( true );
}
@@ -2652,7 +2650,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
}
else if( SM == SM_BackFromTimeSignatureNumeratorChange )
{
int iNum = atoi( ScreenTextEntry::s_sLastAnswer );
int iNum = StringToInt( ScreenTextEntry::s_sLastAnswer );
if( iNum > 0 )
{
m_pSteps->m_Timing.SetTimeSignatureNumeratorAtBeat( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat, iNum );
@@ -2661,7 +2659,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
}
else if ( SM == SM_BackFromTimeSignatureDenominatorChange )
{
int iDen = atoi( ScreenTextEntry::s_sLastAnswer );
int iDen = StringToInt( ScreenTextEntry::s_sLastAnswer );
if( iDen > 0)
{
m_pSteps->m_Timing.SetTimeSignatureDenominatorAtBeat( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat, iDen );
@@ -2670,7 +2668,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
}
else if ( SM == SM_BackFromTickcountChange )
{
int iTick = atoi( ScreenTextEntry::s_sLastAnswer );
int iTick = StringToInt( ScreenTextEntry::s_sLastAnswer );
if ( iTick >= 0 && iTick <= ROWS_PER_BEAT )
{
m_pSteps->m_Timing.SetTickcountAtBeat( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat, iTick );
@@ -2679,7 +2677,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
}
else if ( SM == SM_BackFromComboChange )
{
int iCombo = atoi( ScreenTextEntry::s_sLastAnswer );
int iCombo = StringToInt( ScreenTextEntry::s_sLastAnswer );
if ( iCombo >= 0 )
{
m_pSteps->m_Timing.SetComboAtBeat( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat, iCombo );
+1 -1
View File
@@ -2757,7 +2757,7 @@ void ScreenGameplay::SaveReplay()
continue;
ASSERT( matches.size() == 1 );
iIndex = atoi( matches[0] )+1;
iIndex = StringToInt( matches[0] )+1;
break;
}
+1 -4
View File
@@ -4,7 +4,6 @@
#define SCREEN_MINI_MENU_H
#include "ScreenOptions.h"
#include <sstream>
#include "GameConstantsAndTypes.h"
typedef bool (*MenuRowUpdateEnabled)();
@@ -86,9 +85,7 @@ struct MenuRowDef
{
for ( int i = low; i <= high; i++ )
{
std::stringstream ss;
ss << i;
choices.push_back(ss.str().c_str());
choices.push_back(IntToString(i).c_str());
}
}
+6 -6
View File
@@ -181,7 +181,7 @@ static void GameSel( int &sel, bool ToSel, const ConfOption *pConfOption )
sel = 0;
for(unsigned i = 0; i < choices.size(); ++i)
if( !stricmp(choices[i], sCurGameName) )
if( !choices[i].EqualsNoCase(sCurGameName) )
sel = i;
} else {
vector<const Game*> aGames;
@@ -222,12 +222,12 @@ static void Language( int &sel, bool ToSel, const ConfOption *pConfOption )
{
sel = -1;
for( unsigned i=0; sel == -1 && i < vs.size(); ++i )
if( !stricmp(vs[i], THEME->GetCurLanguage()) )
if( !vs[i].EqualsNoCase(THEME->GetCurLanguage()) )
sel = i;
// If the current language doesn't exist, we'll show BASE_LANGUAGE, so select that.
for( unsigned i=0; sel == -1 && i < vs.size(); ++i )
if( !stricmp(vs[i], SpecialFiles::BASE_LANGUAGE) )
if( !vs[i].EqualsNoCase(SpecialFiles::BASE_LANGUAGE) )
sel = i;
if( sel == -1 )
@@ -276,7 +276,7 @@ static void RequestedTheme( int &sel, bool ToSel, const ConfOption *pConfOption
{
sel = 0;
for( unsigned i=1; i<vsThemeNames.size(); i++ )
if( !stricmp(vsThemeNames[i], PREFSMAN->m_sTheme.Get()) )
if( !vsThemeNames[i].EqualsNoCase(PREFSMAN->m_sTheme.Get()) )
sel = i;
}
else
@@ -302,7 +302,7 @@ static void Announcer( int &sel, bool ToSel, const ConfOption *pConfOption )
{
sel = 0;
for( unsigned i=1; i<choices.size(); i++ )
if( !stricmp(choices[i], ANNOUNCER->GetCurAnnouncerName()) )
if( !choices[i].EqualsNoCase(ANNOUNCER->GetCurAnnouncerName()) )
sel = i;
}
else
@@ -329,7 +329,7 @@ static void DefaultNoteSkin( int &sel, bool ToSel, const ConfOption *pConfOption
po.FromString( PREFSMAN->m_sDefaultModifiers );
sel = 0;
for( unsigned i=0; i < choices.size(); i++ )
if( !stricmp(choices[i], po.m_sNoteSkin) )
if( !choices[i].EqualsNoCase(po.m_sNoteSkin) )
sel = i;
}
else
+3 -3
View File
@@ -622,14 +622,14 @@ void ScreenPackages::HTTPUpdate()
m_sResponseName = "Malformed response.";
return;
}
m_iResponseCode = atoi(m_sBUFFER.substr(i+1,j-i).c_str());
m_iResponseCode = StringToInt(m_sBUFFER.substr(i+1,j-i));
m_sResponseName = m_sBUFFER.substr( j+1, k-j );
i = m_sBUFFER.find("Content-Length:");
j = m_sBUFFER.find("\n", i+1 );
if( i != string::npos )
m_iTotalBytes = atoi(m_sBUFFER.substr(i+16,j-i).c_str());
m_iTotalBytes = StringToInt(m_sBUFFER.substr(i+16,j-i));
else
m_iTotalBytes = -1; //We don't know, so go until disconnect
@@ -696,7 +696,7 @@ bool ScreenPackages::ParseHTTPAddress( const RString &URL, RString &sProto, RStr
sServer = asMatches[1];
if( asMatches[3] != "" )
{
iPort = atoi(asMatches[3]);
iPort = StringToInt(asMatches[3]);
if( iPort == 0 )
return false;
}
+3 -3
View File
@@ -619,13 +619,13 @@ void Song::TidyUpData()
// Skip any image that we've already classified
if( HasBanner() && stricmp(m_sBannerFile, arrayImages[i])==0 )
if( HasBanner() && m_sBannerFile.EqualsNoCase(arrayImages[i]) )
continue; // skip
if( HasBackground() && stricmp(m_sBackgroundFile, arrayImages[i])==0 )
if( HasBackground() && m_sBackgroundFile.EqualsNoCase(arrayImages[i]) )
continue; // skip
if( HasCDTitle() && stricmp(m_sCDTitleFile, arrayImages[i])==0 )
if( HasCDTitle() && m_sCDTitleFile.EqualsNoCase(arrayImages[i]) )
continue; // skip
// todo: add checks for Jacket, Disc, and CDImage -aj
+1 -1
View File
@@ -879,7 +879,7 @@ void SongManager::InitRandomAttacks()
continue;
}
if( stricmp(sType,"ATTACK") != 0 )
if( !sType.EqualsNoCase("ATTACK") )
{
LOG->Warn( "Got \"%s:%s\" tag with wrong declaration", sType.c_str(), sAttack.c_str() );
continue;
+1 -1
View File
@@ -173,7 +173,7 @@ bool SongOptions::FromOneModString( const RString &sOneMod, RString &sErrorOut )
Regex lives("^([0-9]+) ?(lives|life)$");
if( lives.Compare(sBit, matches) )
{
m_iBatteryLives = atoi( matches[0] );
m_iBatteryLives = StringToInt( matches[0] );
return true;
}
+2 -2
View File
@@ -50,9 +50,9 @@ void XNode::Free()
}
void XNodeStringValue::GetValue( RString &out ) const { out = m_sValue; }
void XNodeStringValue::GetValue( int &out ) const { out = atoi(m_sValue); }
void XNodeStringValue::GetValue( int &out ) const { out = StringToInt(m_sValue); }
void XNodeStringValue::GetValue( float &out ) const { out = StringToFloat(m_sValue); }
void XNodeStringValue::GetValue( bool &out ) const { out = atoi(m_sValue) != 0; }
void XNodeStringValue::GetValue( bool &out ) const { out = StringToInt(m_sValue) != 0; }
void XNodeStringValue::GetValue( unsigned &out ) const { out = strtoul(m_sValue,NULL,0); }
void XNodeStringValue::PushValue( lua_State *L ) const
{
-7
View File
@@ -192,13 +192,6 @@ typedef StdString::CStdString RString;
#include "RageException.h"
#if !defined(WIN32)
/** @brief Define stricmp to be strcasecmp. */
#define stricmp strcasecmp
/** @brief Define strnicmp to be strncasecmp. */
#define strnicmp strncasecmp
#endif
/* Define a few functions if necessary */
#include <cmath>