From 8dcd4d93bb4495e329eee43bf735d084f9ba6e47 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 29 Aug 2004 09:19:11 +0000 Subject: [PATCH] only persist a subset of options that players would want to use for every song. When players turn on tricky options for the last song, they often forget to turn all of the tricky stuff off again in the next game. --- stepmania/src/GameState.cpp | 2 +- stepmania/src/PlayerOptions.cpp | 14 ++++++++++++++ stepmania/src/PlayerOptions.h | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index ff7dd8a633..135cce5d3a 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -396,7 +396,7 @@ void GameState::SaveCurrentSettingsToProfile( PlayerNumber pn ) Profile* pProfile = PROFILEMAN->GetProfile(pn); pProfile->m_bUsingProfileDefaultModifiers = true; - pProfile->m_sDefaultModifiers = m_PlayerOptions[pn].GetString(); + pProfile->m_sDefaultModifiers = m_PlayerOptions[pn].GetSavedPrefsString(); if( IsSongSort(m_SortOrder) ) pProfile->m_SortOrder = m_SortOrder; if( m_PreferredDifficulty[pn] != DIFFICULTY_INVALID ) diff --git a/stepmania/src/PlayerOptions.cpp b/stepmania/src/PlayerOptions.cpp index cb7cfd4254..29a863b24c 100644 --- a/stepmania/src/PlayerOptions.cpp +++ b/stepmania/src/PlayerOptions.cpp @@ -636,6 +636,20 @@ bool PlayerOptions::ContainsTransformOrTurn() const return false; } +CString PlayerOptions::GetSavedPrefsString() const +{ + PlayerOptions po_prefs; +#define SAVE(x) po_prefs.x = this->x; + SAVE( m_fTimeSpacing ); + SAVE( m_fScrollSpeed ); + SAVE( m_fScrollBPM ); + SAVE( m_fScrolls[SCROLL_REVERSE] ); + SAVE( m_fPerspectiveTilt ); + SAVE( m_sNoteSkin ); +#undef SAVE + return po_prefs.GetString(); +} + /* * (c) 2001-2004 Chris Danford, Glenn Maynard * All rights reserved. diff --git a/stepmania/src/PlayerOptions.h b/stepmania/src/PlayerOptions.h index 5769cb5a56..db9da809aa 100644 --- a/stepmania/src/PlayerOptions.h +++ b/stepmania/src/PlayerOptions.h @@ -16,6 +16,7 @@ struct PlayerOptions void Init(); void Approach( const PlayerOptions& other, float fDeltaSeconds ); CString GetString() const; + CString GetSavedPrefsString() const; // only the basic options that players would want for every song static CString ThemeMod( CString sOneMod ); CString GetThemedString() const; void FromString( CString sOptions );