From 658e925c4ec9dfdc0797cc312e2e04ba0556ab10 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 1 Aug 2003 00:54:29 +0000 Subject: [PATCH] add ProTimingDisplay --- stepmania/src/ProTimingDisplay.cpp | 61 ++++++++++++++++++++++++++++++ stepmania/src/ProTimingDisplay.h | 19 ++++++++++ 2 files changed, 80 insertions(+) create mode 100644 stepmania/src/ProTimingDisplay.cpp create mode 100644 stepmania/src/ProTimingDisplay.h diff --git a/stepmania/src/ProTimingDisplay.cpp b/stepmania/src/ProTimingDisplay.cpp new file mode 100644 index 0000000000..1c40ee8c6c --- /dev/null +++ b/stepmania/src/ProTimingDisplay.cpp @@ -0,0 +1,61 @@ +#include "global.h" +#include "ProTimingDisplay.h" +#include "ThemeManager.h" + +static CachedThemeMetric MARVELOUS_COMMAND ("ProTimingDisplay","MarvelousCommand"); +static CachedThemeMetric PERFECT_COMMAND ("ProTimingDisplay","PerfectCommand"); +static CachedThemeMetric GREAT_COMMAND ("ProTimingDisplay","GreatCommand"); +static CachedThemeMetric GOOD_COMMAND ("ProTimingDisplay","GoodCommand"); +static CachedThemeMetric BOO_COMMAND ("ProTimingDisplay","BooCommand"); +static CachedThemeMetric MISS_COMMAND ("ProTimingDisplay","MissCommand"); + + +ProTimingDisplay::ProTimingDisplay() +{ +// m_Judgment.LoadFromFont( THEME->GetPathToF("ProTimingDisplay Judgment") ); + m_Judgment.LoadFromFont( THEME->GetPathToF("Common Normal") ); + m_Judgment.SetName( "Judgment" ); + this->AddChild( &m_Judgment ); + + MARVELOUS_COMMAND.Refresh(); + PERFECT_COMMAND.Refresh(); + GREAT_COMMAND.Refresh(); + GOOD_COMMAND.Refresh(); + BOO_COMMAND.Refresh(); + MISS_COMMAND.Refresh(); +} + +void ProTimingDisplay::Reset() +{ + m_Judgment.SetText(""); + + m_Judgment.SetDiffuse( RageColor(1,1,1,0) ); + m_Judgment.SetXY( 0, 0 ); + m_Judgment.StopTweening(); + m_Judgment.SetEffectNone(); +} + +void ProTimingDisplay::SetJudgment( int ms, TapNoteScore score ) +{ + Reset(); + + m_Judgment.SetText( ssprintf("%i", ms) ); + + const CachedThemeMetric *Commands[NUM_TAP_NOTE_SCORES] = + { + NULL, /* no TNS_NONE */ + &MISS_COMMAND, &BOO_COMMAND, &GOOD_COMMAND, &GREAT_COMMAND, &PERFECT_COMMAND, &MARVELOUS_COMMAND + }; + ASSERT( score != TNS_NONE ); + ASSERT( score < NUM_TAP_NOTE_SCORES ); + + m_Judgment.Command( *Commands[score] ); +} + +/* +----------------------------------------------------------------------------- + Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved. + Glenn Maynard + Chris Danford +----------------------------------------------------------------------------- +*/ diff --git a/stepmania/src/ProTimingDisplay.h b/stepmania/src/ProTimingDisplay.h new file mode 100644 index 0000000000..6c386b8874 --- /dev/null +++ b/stepmania/src/ProTimingDisplay.h @@ -0,0 +1,19 @@ +#ifndef PRO_TIMING_DISPLAY_H +#define PRO_TIMING_DISPLAY_H + +#include "ActorFrame.h" +#include "BitmapText.h" +#include "GameConstantsAndTypes.h" + +class ProTimingDisplay: public ActorFrame +{ + BitmapText m_Judgment; + +public: + ProTimingDisplay(); + void SetJudgment( int ms, TapNoteScore score ); + void Reset(); +}; + +#endif +