From 7c7ad8163803243a8abe43e4d6526914f05fb88d Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 3 Jul 2005 02:30:45 +0000 Subject: [PATCH] RageTextureManager::CopyTexture --- stepmania/src/RageTextureManager.cpp | 8 +++++++- stepmania/src/RageTextureManager.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/stepmania/src/RageTextureManager.cpp b/stepmania/src/RageTextureManager.cpp index 3a4c5d2899..295cb66bad 100644 --- a/stepmania/src/RageTextureManager.cpp +++ b/stepmania/src/RageTextureManager.cpp @@ -134,6 +134,12 @@ RageTexture* RageTextureManager::LoadTexture( RageTextureID ID ) return pTexture; } +RageTexture* RageTextureManager::CopyTexture( RageTexture *pCopy ) +{ + ++pCopy->m_iRefCount; + return pCopy; +} + void RageTextureManager::VolatileTexture( RageTextureID ID ) { RageTexture* pTexture = LoadTextureInternal( ID ); @@ -147,7 +153,7 @@ void RageTextureManager::UnloadTexture( RageTexture *t ) return; t->m_iRefCount--; - ASSERT( t->m_iRefCount >= 0 ); + ASSERT_M( t->m_iRefCount >= 0, ssprintf("%i, %s", t->m_iRefCount, t->GetID().filename.c_str()) ); if( t->m_iRefCount ) return; /* Can't unload textures that are still referenced. */ diff --git a/stepmania/src/RageTextureManager.h b/stepmania/src/RageTextureManager.h index 4589728185..6ef6a001c8 100644 --- a/stepmania/src/RageTextureManager.h +++ b/stepmania/src/RageTextureManager.h @@ -56,6 +56,7 @@ public: void Update( float fDeltaTime ); RageTexture* LoadTexture( RageTextureID ID ); + RageTexture* CopyTexture( RageTexture *pCopy ); // returns a ref to the same texture, not a deep copy bool IsTextureRegistered( RageTextureID ID ) const; void RegisterTexture( RageTextureID ID, RageTexture *p ); void VolatileTexture( RageTextureID ID );