diff --git a/stepmania/src/NoteFieldPositioning.cpp b/stepmania/src/NoteFieldPositioning.cpp index 17185a043f..fbc86e389d 100644 --- a/stepmania/src/NoteFieldPositioning.cpp +++ b/stepmania/src/NoteFieldPositioning.cpp @@ -40,36 +40,8 @@ void NoteFieldMode::EndDrawTrack(int tn) DISPLAY->CameraPopMatrix(); } -template -static bool GetValue(const XNode *pNode, int pn, const CString &valuename, T &value ) -{ - if(pn != -1 && pNode->GetAttrValue( ssprintf("P%i%s", pn+1, valuename.c_str()), value)) - return true; - return pNode->GetAttrValue( valuename, value ); -} - -void NoteFieldMode::Load(const XNode *pNode, int pn) -{ - m_Id = pNode->m_sName; - - /* Required: */ - ASSERT( pNode->GetAttrValue("Name", m_Name ) ); -} - NoteFieldPositioning::NoteFieldPositioning(CString fn) { - m_Filename = fn; - IniFile ini; - if( !ini.ReadFile(fn) ) - return; - - FOREACH_CONST_Child( &ini, i ) - { - NoteFieldMode m; - m.Load( i ); - - Modes.push_back(m); - } } bool NoteFieldMode::MatchesCurrentGame() const @@ -91,65 +63,9 @@ void NoteFieldPositioning::Load(PlayerNumber pn) const float fPixelXOffsetFromCenter = s->m_ColumnInfo[pn][tn].fXOffset; mode.m_fPositionTrackX[tn] = fPixelXOffsetFromCenter; } - - /* Is there a custom mode with the current name that fits the current game? */ - const int ModeNum = GetID(GAMESTATE->m_pPlayerState[pn]->m_PlayerOptions.m_sPositioning); - if(ModeNum == -1) - return; /* No, only use the style table settings. */ - - /* We have a custom mode. Reload the mode on top of the default style - * table settings. */ - IniFile ini; - if( !ini.ReadFile(m_Filename) ) - return; - - XNode* pNode = ini.GetChild( Modes[ModeNum].m_Id ); - ASSERT( pNode ); - mode.Load( pNode, pn ); } -/* Get the unique ID of the given name, for the current game/style. If it - * doesn't exist, return "". */ -int NoteFieldPositioning::GetID(const CString &name) const -{ - for(unsigned i = 0; i < Modes.size(); ++i) - { - if(Modes[i].m_Name.CompareNoCase(name)) - continue; - - if(!Modes[i].MatchesCurrentGame()) - continue; - - return i; - } - - return -1; -} - - -/* Get all arrow modifier names for the current game. */ -void NoteFieldPositioning::GetNamesForCurrentGame(vector &IDs) -{ // XXX dupes - /* Iterate over all keys. */ - for(unsigned i = 0; i < Modes.size(); ++i) - { - if(!Modes[i].MatchesCurrentGame()) - continue; - - IDs.push_back(Modes[i].m_Name); - } -} - -bool NoteFieldPositioning::IsValidModeForAnyStyle(CString mode) const -{ - for(unsigned i = 0; i < Modes.size(); ++i) - if(Modes[i].m_Name.CompareNoCase(mode)==0) - return true; - - return false; -} - /* * (c) 2001-2004 Chris Danford, Glenn Maynard * All rights reserved. diff --git a/stepmania/src/NoteFieldPositioning.h b/stepmania/src/NoteFieldPositioning.h index 1b4320603b..774c9db0d1 100644 --- a/stepmania/src/NoteFieldPositioning.h +++ b/stepmania/src/NoteFieldPositioning.h @@ -12,17 +12,10 @@ struct NoteFieldMode { NoteFieldMode(); bool MatchesCurrentGame() const; - void Load(const XNode* pNode, int pn = -1); void BeginDrawTrack(int tn); void EndDrawTrack(int tn); - /* Visual name. */ - CString m_Name; - - /* Unique ID from the INI. */ - CString m_Id; - float m_fPositionTrackX[MAX_NOTE_TRACKS]; }; @@ -32,14 +25,8 @@ public: NoteFieldPositioning(CString fn); void Load(PlayerNumber pn); - void GetNamesForCurrentGame(vector &IDs); - bool IsValidModeForCurrentStyle(CString mode) const; - bool IsValidModeForAnyStyle(CString mode) const; - private: - CString m_Filename; vector Modes; - int GetID(const CString &name) const; }; extern NoteFieldMode g_NoteFieldMode[NUM_PLAYERS]; diff --git a/stepmania/src/PlayerOptions.cpp b/stepmania/src/PlayerOptions.cpp index 737a1109f9..836999ba8f 100644 --- a/stepmania/src/PlayerOptions.cpp +++ b/stepmania/src/PlayerOptions.cpp @@ -34,7 +34,6 @@ void PlayerOptions::Init() ZERO( m_bTransforms ); m_bProTiming = false; m_ScoreDisplay = SCORING_ADD; - m_sPositioning = ""; // "null" m_sNoteSkin = "default"; } @@ -170,8 +169,6 @@ CString PlayerOptions::GetString() const else if( m_fSkew==0 && m_fPerspectiveTilt==+1 ) sReturn += "Distant, "; - if( !m_sPositioning.empty() ) - sReturn += m_sPositioning + ", "; if( !m_sNoteSkin.empty() && m_sNoteSkin.CompareNoCase("default")!=0 ) sReturn += m_sNoteSkin + ", "; @@ -304,12 +301,6 @@ void PlayerOptions::FromString( CString sOptions ) else if( sBit == "space" ) { m_fSkew = level; m_fPerspectiveTilt = +level; m_SpeedfSkew = m_SpeedfPerspectiveTilt = speed; } else if( sBit == "hallway" ) { m_fSkew = 0; m_fPerspectiveTilt = -level; m_SpeedfSkew = m_SpeedfPerspectiveTilt = speed; } else if( sBit == "distant" ) { m_fSkew = 0; m_fPerspectiveTilt = +level; m_SpeedfSkew = m_SpeedfPerspectiveTilt = speed; } - else if( GAMESTATE->m_pPosition && GAMESTATE->m_pPosition->IsValidModeForAnyStyle(sBit) ) - // The only time we'll be in this function and NOTESKIN isn't created is - // when calculating RadarValues for courses with transform mods. - m_sPositioning = sBit; - else if( sBit == "nopositioning" ) - m_sPositioning = ""; else if( NOTESKIN && NOTESKIN->DoesNoteSkinExist(sBit) ) m_sNoteSkin = sBit; else if( sBit == "noteskin" && !on ) /* "no noteskin" */ @@ -530,7 +521,6 @@ bool PlayerOptions::operator==( const PlayerOptions &other ) const COMPARE(m_bProTiming); COMPARE(m_fPerspectiveTilt); COMPARE(m_fSkew); - COMPARE(m_sPositioning); COMPARE(m_sNoteSkin); for( int i = 0; i < PlayerOptions::NUM_ACCELS; ++i ) COMPARE(m_fAccels[i]); diff --git a/stepmania/src/PlayerOptions.h b/stepmania/src/PlayerOptions.h index f22cacc351..322b274fe2 100644 --- a/stepmania/src/PlayerOptions.h +++ b/stepmania/src/PlayerOptions.h @@ -127,7 +127,6 @@ struct PlayerOptions bool m_bProTiming; ScoreDisplay m_ScoreDisplay; - CString m_sPositioning; /* The current positioning mode, or empty to use the normal positions. */ CString m_sNoteSkin; void NextAccel();