From 663c22aa9b86ffe121de7e1577ceedbba352c282 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 13 Sep 2010 01:52:05 -0400 Subject: [PATCH] Hack. Allow all courses to be played. Even if noteskins are declared in the crs file. It still seems to crash on failure. It may crash on success too. But at least they can be played. --- src/NoteField.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 06b3f44790..0d79a73736 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -186,6 +186,23 @@ void NoteField::Load( // The note skin may have changed at the beginning of a new course song. RString sNoteSkinLower = m_pPlayerState->m_PlayerOptions.GetCurrent().m_sNoteSkin; + + /* XXX: Combination of good idea and bad idea to ensure + * courses load regardless of noteskin content. + * This may take awhile to fix. */ + NoteDisplayCols *badIdea = m_pCurDisplay; + + if (sNoteSkinLower.empty()) + { + sNoteSkinLower = m_pPlayerState->m_PlayerOptions.GetPreferred().m_sNoteSkin; + + if (sNoteSkinLower.empty()) + { + sNoteSkinLower = "default"; + } + m_NoteDisplays.insert(pair (sNoteSkinLower, badIdea)); + } + sNoteSkinLower.MakeLower(); map::iterator it = m_NoteDisplays.find( sNoteSkinLower ); ASSERT_M( it != m_NoteDisplays.end(), sNoteSkinLower ); @@ -193,6 +210,19 @@ void NoteField::Load( FOREACH_EnabledPlayer( pn ) { RString sNoteSkinLower = GAMESTATE->m_pPlayerState[pn]->m_PlayerOptions.GetCurrent().m_sNoteSkin; + + // XXX: Re-setup sNoteSkinLower. Unsure if inserting the skin again is needed. + if (sNoteSkinLower.empty()) + { + sNoteSkinLower = GAMESTATE->m_pPlayerState[pn]->m_PlayerOptions.GetPreferred().m_sNoteSkin; + + if (sNoteSkinLower.empty()) + { + sNoteSkinLower = "default"; + } + m_NoteDisplays.insert(pair (sNoteSkinLower, badIdea)); + } + sNoteSkinLower.MakeLower(); it = m_NoteDisplays.find( sNoteSkinLower ); ASSERT_M( it != m_NoteDisplays.end(), sNoteSkinLower );