From 936f2066e19fed022908a9d1f77545c76ea29668 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 29 Mar 2004 09:44:00 +0000 Subject: [PATCH] clean up ScreenTestLights --- stepmania/src/EnumHelper.h | 37 +++++++++++++++++++++++++ stepmania/src/ForeachEnum.h | 6 ---- stepmania/src/GameConstantsAndTypes.cpp | 30 +------------------- stepmania/src/GameConstantsAndTypes.h | 9 +----- stepmania/src/GameInput.h | 2 +- stepmania/src/LightsManager.cpp | 13 +++++++++ stepmania/src/LightsManager.h | 3 +- stepmania/src/PlayerNumber.h | 2 +- stepmania/src/PlayerOptions.cpp | 3 +- stepmania/src/ScreenTestLights.cpp | 10 +++++-- 10 files changed, 66 insertions(+), 49 deletions(-) create mode 100644 stepmania/src/EnumHelper.h delete mode 100644 stepmania/src/ForeachEnum.h diff --git a/stepmania/src/EnumHelper.h b/stepmania/src/EnumHelper.h new file mode 100644 index 0000000000..77f8f8b329 --- /dev/null +++ b/stepmania/src/EnumHelper.h @@ -0,0 +1,37 @@ +#ifndef EnumHelper_H +#define EnumHelper_H + +#define FOREACH_ENUM( e, max, var ) for( e var=(e)0; varGetMetric( #X, X##ToString(x) ); \ + } + +#define StringToX(X) \ + X StringTo##X( const CString& s ) \ + { \ + CString s2 = s; \ + s2.MakeLower(); \ + unsigned i; \ + for( i = 0; i < ARRAYSIZE(X##Names); ++i ) \ + if( !s2.CompareNoCase(X##Names[i]) ) \ + return (X)i; \ + return (X)(i+1); /*invalid*/ \ + } + + +#endif diff --git a/stepmania/src/ForeachEnum.h b/stepmania/src/ForeachEnum.h deleted file mode 100644 index a413a28e5c..0000000000 --- a/stepmania/src/ForeachEnum.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef FOREACHENUM_H -#define FOREACHENUM_H - -#define FOREACH_ENUM( e, max, var ) for( e var=(e)0; varGetMetric( #X, X##ToString(x) ); \ - } - -#define StringToX(X) \ - X StringTo##X( const CString& s ) \ - { \ - CString s2 = s; \ - s2.MakeLower(); \ - unsigned i; \ - for( i = 0; i < ARRAYSIZE(X##Names); ++i ) \ - if( !s2.CompareNoCase(X##Names[i]) ) \ - return (X)i; \ - return (X)(i+1); /*invalid*/ \ - } +#include "EnumHelper.h" static const CString RadarCategoryNames[NUM_RADAR_CATEGORIES] = { diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index 01ea7d69c4..87a3ec29b8 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -14,7 +14,7 @@ */ #include "PlayerNumber.h" // TODO: Get rid of this dependency. -Chris -#include "ForeachEnum.h" +#include "EnumHelper.h" // // Screen Dimensions @@ -59,7 +59,6 @@ enum RadarCategory NUM_RADAR_CATEGORIES // leave this at the end }; #define FOREACH_RadarCategory( rc ) FOREACH_ENUM( RadarCategory, NUM_RADAR_CATEGORIES, rc ) - const CString& RadarCategoryToString( RadarCategory cat ); struct RadarValues @@ -96,7 +95,6 @@ enum Difficulty DIFFICULTY_INVALID }; #define FOREACH_Difficulty( dc ) FOREACH_ENUM( Difficulty, NUM_DIFFICULTIES, dc ) - const CString& DifficultyToString( Difficulty dc ); CString DifficultyToThemedString( Difficulty dc ); Difficulty StringToDifficulty( const CString& sDC ); @@ -110,7 +108,6 @@ enum CourseDifficulty COURSE_DIFFICULTY_INVALID }; #define FOREACH_CourseDifficulty( cd ) FOREACH_ENUM( CourseDifficulty, NUM_COURSE_DIFFICULTIES, cd ) - const CString& CourseDifficultyToString( CourseDifficulty dc ); CString CourseDifficultyToThemedString( CourseDifficulty dc ); CourseDifficulty StringToCourseDifficulty( const CString& sDC ); @@ -165,7 +162,6 @@ enum PlayMode PLAY_MODE_INVALID }; #define FOREACH_PlayMode( pm ) FOREACH_ENUM( PlayMode, NUM_PLAY_MODES, pm ) - const CString& PlayModeToString( PlayMode pm ); PlayMode StringToPlayMode( const CString& s ); @@ -195,9 +191,7 @@ enum SortOrder { SORT_INVALID }; const SortOrder MAX_SELECTABLE_SORT = (SortOrder)(SORT_ROULETTE-1); - #define FOREACH_SortOrder( so ) FOREACH_ENUM( SortOrder, NUM_SORT_ORDERS, so ) - const CString& SortOrderToString( SortOrder so ); SortOrder StringToSortOrder( const CString& str ); @@ -219,7 +213,6 @@ enum TapNoteScore { NUM_TAP_NOTE_SCORES }; #define FOREACH_TapNoteScore( tns ) FOREACH_ENUM( TapNoteScore, NUM_TAP_NOTE_SCORES, tns ) - const CString& TapNoteScoreToString( TapNoteScore tns ); //enum TapNoteTiming { diff --git a/stepmania/src/GameInput.h b/stepmania/src/GameInput.h index 27f72d1d7e..57e3d8fbc2 100644 --- a/stepmania/src/GameInput.h +++ b/stepmania/src/GameInput.h @@ -11,7 +11,7 @@ ----------------------------------------------------------------------------- */ -#include "ForeachEnum.h" +#include "EnumHelper.h" enum GameController { diff --git a/stepmania/src/LightsManager.cpp b/stepmania/src/LightsManager.cpp index 4de2f63324..ecd58fe43d 100644 --- a/stepmania/src/LightsManager.cpp +++ b/stepmania/src/LightsManager.cpp @@ -20,6 +20,19 @@ #include "InputMapper.h" +static const CString CabinetLightNames[NUM_CABINET_LIGHTS] = { + "MarqueeUpLeft", + "MarqueeUpRight", + "MarqueeLrLeft", + "MarqueeLrRight", + "ButtonsLeft", + "ButtonsRight", + "BassLeft", + "BassRight", +}; +XToString( CabinetLight ); + + LightsManager* LIGHTSMAN = NULL; // global and accessable from anywhere in our program LightsManager::LightsManager(CString sDriver) diff --git a/stepmania/src/LightsManager.h b/stepmania/src/LightsManager.h index f1ae842c47..848dfeff77 100644 --- a/stepmania/src/LightsManager.h +++ b/stepmania/src/LightsManager.h @@ -13,7 +13,7 @@ #include "PlayerNumber.h" #include "GameInput.h" -#include "ForeachEnum.h" +#include "EnumHelper.h" enum CabinetLight { @@ -28,6 +28,7 @@ enum CabinetLight NUM_CABINET_LIGHTS }; #define FOREACH_CabinetLight( i ) FOREACH_ENUM( CabinetLight, NUM_CABINET_LIGHTS, i ) +const CString& CabinetLightToString( CabinetLight cl ); enum LightsMode { diff --git a/stepmania/src/PlayerNumber.h b/stepmania/src/PlayerNumber.h index 886b41c22a..0f0bf97b73 100644 --- a/stepmania/src/PlayerNumber.h +++ b/stepmania/src/PlayerNumber.h @@ -14,7 +14,7 @@ */ #include "RageTypes.h" // for RageColor -#include "ForeachEnum.h" +#include "EnumHelper.h" // diff --git a/stepmania/src/PlayerOptions.cpp b/stepmania/src/PlayerOptions.cpp index 2943e9308a..cc23901f2b 100644 --- a/stepmania/src/PlayerOptions.cpp +++ b/stepmania/src/PlayerOptions.cpp @@ -249,7 +249,8 @@ void PlayerOptions::FromString( CString sOptions ) #define SET_FLOAT( opt ) \ { m_ ## opt = level; m_Speed ## opt = speed; } const bool on = (level > 0.5f); - if( sBit == "boost" ) SET_FLOAT( fAccels[ACCEL_BOOST] ) + if( sBit == "clearall" ) Init(); + else if( sBit == "boost" ) SET_FLOAT( fAccels[ACCEL_BOOST] ) else if( sBit == "brake" || sBit == "land" ) SET_FLOAT( fAccels[ACCEL_BRAKE] ) else if( sBit == "wave" ) SET_FLOAT( fAccels[ACCEL_WAVE] ) else if( sBit == "expand" ) SET_FLOAT( fAccels[ACCEL_EXPAND] ) diff --git a/stepmania/src/ScreenTestLights.cpp b/stepmania/src/ScreenTestLights.cpp index 833fbfe167..dde4dfb6ca 100644 --- a/stepmania/src/ScreenTestLights.cpp +++ b/stepmania/src/ScreenTestLights.cpp @@ -59,10 +59,16 @@ void ScreenTestLights::Update( float fDeltaTime ) int iSec = (int)RageTimer::GetTimeSinceStart(); + CabinetLight cl = (CabinetLight)(iSec%NUM_CABINET_LIGHTS); + int iNumGameButtons = GAMESTATE->GetCurrentGameDef()->m_iButtonsPerController; + GameButton gb = (GameButton)(iSec%iNumGameButtons); + CString sCabLight = CabinetLightToString(cl); + CString sGameButton = GAMESTATE->GetCurrentGameDef()->m_szButtonNames[gb]; + CString s; - s += ssprintf("cabinet light %d\n", iSec%NUM_CABINET_LIGHTS); + s += ssprintf("cabinet light %d: %s\n", cl, sCabLight.c_str()); FOREACH_GameController( gc ) - s += ssprintf("controller %d light %d\n", gc+1, iSec%MAX_GAME_BUTTONS); + s += ssprintf("controller %d light %d: %s\n", gc+1, gb, sGameButton.c_str()); m_textInputs.SetText( s ); }