From 73271fa3d29564c573c866ff5538f748781f4193 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 28 Apr 2004 22:57:42 +0000 Subject: [PATCH] fix DifficultyIcon hiding when no song is selected (Note that in general, actors should never SetHidden(false) on themselves, since that will cause themed "hidden,1" commands to be overridden.) --- stepmania/src/DifficultyIcon.cpp | 8 +++++++- stepmania/src/DifficultyIcon.h | 5 +++++ stepmania/src/ScreenSelectDifficultyEX.h | 1 - 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/stepmania/src/DifficultyIcon.cpp b/stepmania/src/DifficultyIcon.cpp index 3fe2959ec7..08751260de 100644 --- a/stepmania/src/DifficultyIcon.cpp +++ b/stepmania/src/DifficultyIcon.cpp @@ -26,6 +26,10 @@ #include "RageDisplay.h" #include "arch/ArchHooks/ArchHooks.h" +DifficultyIcon::DifficultyIcon() +{ + m_bBlank = false; +} bool DifficultyIcon::Load( CString sPath ) { @@ -48,13 +52,14 @@ bool DifficultyIcon::Load( CString sPath ) void DifficultyIcon::SetFromNotes( PlayerNumber pn, Steps* pNotes ) { if( pNotes == NULL ) - SetHidden(true); + m_bBlank = true; else SetFromDifficulty( pn, pNotes->GetDifficulty() ); } void DifficultyIcon::SetFromDifficulty( PlayerNumber pn, Difficulty dc ) { + m_bBlank = false; switch( GetNumStates() ) { case NUM_DIFFICULTIES: SetState( dc ); break; @@ -65,6 +70,7 @@ void DifficultyIcon::SetFromDifficulty( PlayerNumber pn, Difficulty dc ) void DifficultyIcon::SetFromCourseDifficulty( PlayerNumber pn, CourseDifficulty cd ) { + m_bBlank = false; switch( cd ) { case COURSE_DIFFICULTY_REGULAR: SetFromDifficulty(pn,DIFFICULTY_MEDIUM); break; diff --git a/stepmania/src/DifficultyIcon.h b/stepmania/src/DifficultyIcon.h index 086d6ba4bf..1e9a4828a7 100644 --- a/stepmania/src/DifficultyIcon.h +++ b/stepmania/src/DifficultyIcon.h @@ -19,7 +19,12 @@ class Steps; class DifficultyIcon : public Sprite { + bool m_bBlank; + public: + DifficultyIcon(); + virtual bool EarlyAbortDraw() { return m_bBlank || Sprite::EarlyAbortDraw(); } + bool Load( CString sFilePath ); void SetFromNotes( PlayerNumber pn, Steps* pNotes ); diff --git a/stepmania/src/ScreenSelectDifficultyEX.h b/stepmania/src/ScreenSelectDifficultyEX.h index 808a3b5fc4..7ae3293325 100644 --- a/stepmania/src/ScreenSelectDifficultyEX.h +++ b/stepmania/src/ScreenSelectDifficultyEX.h @@ -17,7 +17,6 @@ #include "RandomSample.h" #include "ScreenSelect.h" #include "Sprite.h" -#include "DifficultyIcon.h" #include "OptionsCursor.h" class ScreenSelectDifficultyEX : public ScreenSelect