From f4136c72e6af2beed747b81ced6b5732eeacdf12 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 2 Nov 2006 06:47:48 +0000 Subject: [PATCH] simplify --- stepmania/src/NoteDisplay.cpp | 46 +++++++++-------------------------- stepmania/src/NoteDisplay.h | 10 +++++--- 2 files changed, 18 insertions(+), 38 deletions(-) diff --git a/stepmania/src/NoteDisplay.cpp b/stepmania/src/NoteDisplay.cpp index d27e49e593..84c4483cbc 100644 --- a/stepmania/src/NoteDisplay.cpp +++ b/stepmania/src/NoteDisplay.cpp @@ -154,25 +154,8 @@ static NoteResource *MakeNoteResource( const RString &sButton, const RString &sE return pRet; } -static NoteResource *FindNoteResource( const Actor *pActor ) +static void DeleteNoteResource( NoteResource *pRes ) { - map::iterator it; - for( it = g_NoteResource.begin(); it != g_NoteResource.end(); ++it ) - { - NoteResource *pRes = it->second; - if( pRes->m_pActor == pActor ) - return pRes; - } - - return NULL; -} - -static void DeleteNoteResource( const Actor *pActor ) -{ - if( pActor == NULL ) - return; - - NoteResource *pRes = FindNoteResource( pActor ); ASSERT( pRes != NULL ); ASSERT_M( pRes->m_iRefCount > 0, ssprintf("%i", pRes->m_iRefCount) ); @@ -184,20 +167,6 @@ static void DeleteNoteResource( const Actor *pActor ) delete pRes; } -Actor *MakeRefcountedActor( const RString &sButton, const RString &sElement ) -{ - NoteResource *pRes = MakeNoteResource( sButton, sElement, false ); - return pRes->m_pActor; -} - -Sprite *MakeRefcountedSprite( const RString &sButton, const RString &sElement ) -{ - NoteResource *pRes = MakeNoteResource( sButton, sElement, true ); - Sprite *pSprite = dynamic_cast( pRes->m_pActor ); - ASSERT( pSprite != NULL ); - return pSprite; -} - NoteColorActor::NoteColorActor() { m_p = NULL; @@ -211,10 +180,15 @@ NoteColorActor::~NoteColorActor() void NoteColorActor::Load( const RString &sButton, const RString &sElement ) { - m_p = MakeRefcountedActor( sButton, sElement ); + m_p = MakeNoteResource( sButton, sElement, false ); } +Actor *NoteColorActor::Get() +{ + return m_p->m_pActor; +} + NoteColorSprite::NoteColorSprite() { m_p = NULL; @@ -228,9 +202,13 @@ NoteColorSprite::~NoteColorSprite() void NoteColorSprite::Load( const RString &sButton, const RString &sElement ) { - m_p = MakeRefcountedSprite( sButton, sElement ); + m_p = MakeNoteResource( sButton, sElement, true ); } +Sprite *NoteColorSprite::Get() +{ + return dynamic_cast( m_p->m_pActor ); +} static const char *HoldTypeNames[] = { "hold", diff --git a/stepmania/src/NoteDisplay.h b/stepmania/src/NoteDisplay.h index 0e7e112394..ab465da396 100644 --- a/stepmania/src/NoteDisplay.h +++ b/stepmania/src/NoteDisplay.h @@ -25,14 +25,16 @@ enum NotePart NUM_NotePart }; +struct NoteResource; + struct NoteColorActor { NoteColorActor(); ~NoteColorActor(); void Load( const RString &sButton, const RString &sElement ); - Actor *Get() { return m_p; } + Actor *Get(); private: - Actor *m_p; + NoteResource *m_p; }; struct NoteColorSprite @@ -40,9 +42,9 @@ struct NoteColorSprite NoteColorSprite(); ~NoteColorSprite(); void Load( const RString &sButton, const RString &sElement ); - Sprite *Get() { return m_p; } + Sprite *Get(); private: - Sprite *m_p; + NoteResource *m_p; }; enum HoldType