From ba717617c2d6ae302c4197351239fc2fe74c1395 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 20 Jul 2003 06:26:29 +0000 Subject: [PATCH] simplify, add StringToSongSortOrder --- stepmania/src/GameConstantsAndTypes.cpp | 46 +++++++++++++++---------- stepmania/src/GameConstantsAndTypes.h | 1 + 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/stepmania/src/GameConstantsAndTypes.cpp b/stepmania/src/GameConstantsAndTypes.cpp index 3ca7af21d8..5684276ef5 100644 --- a/stepmania/src/GameConstantsAndTypes.cpp +++ b/stepmania/src/GameConstantsAndTypes.cpp @@ -108,26 +108,34 @@ CString CoinModeToString( CoinMode cm ) } } +static const char *SongSortOrderNames[NUM_SORT_ORDERS] = { + "PREFERRED", + "GROUP", + "TITLE", + "BPM", + "PLAYERS BEST", + "TOP GRADE", + "ARTIST", + "EASY METER", + "MEDIUM METER", + "HARD METER", + "SORT", + "COURSES", + "ROULETTE" +}; CString SongSortOrderToString( SongSortOrder so ) { - switch( so ) - { - case SORT_PREFERRED: return "PREFERRED"; - case SORT_GROUP: return "GROUP"; - case SORT_TITLE: return "TITLE"; - case SORT_BPM: return "BPM"; - case SORT_MOST_PLAYED: return "PLAYERS BEST"; - case SORT_GRADE: return "TOP GRADE"; - case SORT_ARTIST: return "ARTIST"; - case SORT_EASY_METER: return "EASY METER"; - case SORT_MEDIUM_METER: return "MEDIUM METER"; - case SORT_HARD_METER: return "HARD METER"; - case SORT_SORT: return "SORT"; - case SORT_COURSES: return "COURSES"; - case SORT_ROULETTE: return "ROULETTE"; - default: - ASSERT(0); - return ""; - } + ASSERT(so < NUM_SORT_ORDERS); + return SongSortOrderNames[so]; +} + +SongSortOrder StringToSongSortOrder( CString str ) +{ + for( unsigned i = 0; i < NUM_SORT_ORDERS; ++i) + if( !str.CompareNoCase(SongSortOrderNames[i]) ) + return (SongSortOrder)i; + + ASSERT(0); + return SORT_PREFERRED; } diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index 6b2cdd02f9..292f52991a 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -123,6 +123,7 @@ enum SongSortOrder { const SongSortOrder MAX_SELECTABLE_SORT = (SongSortOrder)(SORT_ROULETTE-1); CString SongSortOrderToString( SongSortOrder so ); +SongSortOrder StringToSongSortOrder( CString str ); //