RageTextureManager::CopyTexture
This commit is contained in:
@@ -134,6 +134,12 @@ RageTexture* RageTextureManager::LoadTexture( RageTextureID ID )
|
|||||||
return pTexture;
|
return pTexture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RageTexture* RageTextureManager::CopyTexture( RageTexture *pCopy )
|
||||||
|
{
|
||||||
|
++pCopy->m_iRefCount;
|
||||||
|
return pCopy;
|
||||||
|
}
|
||||||
|
|
||||||
void RageTextureManager::VolatileTexture( RageTextureID ID )
|
void RageTextureManager::VolatileTexture( RageTextureID ID )
|
||||||
{
|
{
|
||||||
RageTexture* pTexture = LoadTextureInternal( ID );
|
RageTexture* pTexture = LoadTextureInternal( ID );
|
||||||
@@ -147,7 +153,7 @@ void RageTextureManager::UnloadTexture( RageTexture *t )
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
t->m_iRefCount--;
|
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 )
|
if( t->m_iRefCount )
|
||||||
return; /* Can't unload textures that are still referenced. */
|
return; /* Can't unload textures that are still referenced. */
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ public:
|
|||||||
void Update( float fDeltaTime );
|
void Update( float fDeltaTime );
|
||||||
|
|
||||||
RageTexture* LoadTexture( RageTextureID ID );
|
RageTexture* LoadTexture( RageTextureID ID );
|
||||||
|
RageTexture* CopyTexture( RageTexture *pCopy ); // returns a ref to the same texture, not a deep copy
|
||||||
bool IsTextureRegistered( RageTextureID ID ) const;
|
bool IsTextureRegistered( RageTextureID ID ) const;
|
||||||
void RegisterTexture( RageTextureID ID, RageTexture *p );
|
void RegisterTexture( RageTextureID ID, RageTexture *p );
|
||||||
void VolatileTexture( RageTextureID ID );
|
void VolatileTexture( RageTextureID ID );
|
||||||
|
|||||||
Reference in New Issue
Block a user