faster, more reliable error checking

This commit is contained in:
Glenn Maynard
2006-10-20 09:43:56 +00:00
parent 87d43fb153
commit 04b1490b51
+6 -6
View File
@@ -138,11 +138,9 @@ static NoteResource *MakeNoteResource( const RString &sButton, const RString &sE
/* Make sure pActor is a Sprite (or something derived from Sprite). */ /* Make sure pActor is a Sprite (or something derived from Sprite). */
if( bSpriteOnly ) if( bSpriteOnly )
{ {
Lua *L = LUA->Get(); Sprite *pSprite = dynamic_cast<Sprite *>( pRes->m_pActor );
pRes->m_pActor->PushSelf( L ); if( pSprite == NULL )
Luna<Sprite>::check( L, lua_gettop(L) ); RageException::Throw( "%s: must be a Sprite", nsap.sPath.c_str() );
lua_pop( L, 1 );
LUA->Release( L );
} }
g_NoteResource[nsap] = pRes; g_NoteResource[nsap] = pRes;
@@ -193,7 +191,9 @@ Actor *MakeRefcountedActor( const RString &sButton, const RString &sElement )
Sprite *MakeRefcountedSprite( const RString &sButton, const RString &sElement ) Sprite *MakeRefcountedSprite( const RString &sButton, const RString &sElement )
{ {
NoteResource *pRes = MakeNoteResource( sButton, sElement, true ); NoteResource *pRes = MakeNoteResource( sButton, sElement, true );
return (Sprite *) pRes->m_pActor; /* XXX ick */ Sprite *pSprite = dynamic_cast<Sprite *>( pRes->m_pActor );
ASSERT( pSprite != NULL );
return pSprite;
} }
NoteColorActor::NoteColorActor() NoteColorActor::NoteColorActor()