Sprite copy ctor, same reason (refcounted textures)
this is the sort of thing HiddenPtr is meant to avoid, but I'm not ready to start using it on refcounted objects just yet ...
This commit is contained in:
1 parent
ff2c101d82
commit
2aa932ca3a
2 files changed
+22
No files matched your search
@@ -14,6 +14,7 @@
|
||||
#include "Foreach.h"
|
||||
#include "LuaBinding.h"
|
||||
#include "LuaManager.h"
|
||||
#include "RageUtil_AutoPtr.h"
|
||||
|
||||
REGISTER_ACTOR_CLASS( Sprite )
|
||||
|
||||
@@ -40,6 +41,26 @@ Sprite::~Sprite()
|
||||
UnloadTexture();
|
||||
}
|
||||
|
||||
Sprite::Sprite( const Sprite &cpy )
|
||||
{
|
||||
#define CPY(a) a = cpy.a
|
||||
CPY( m_sSpritePath );
|
||||
CPY( m_bDrawIfTextureNull );
|
||||
CPY( m_States );
|
||||
CPY( m_iCurState );
|
||||
CPY( m_fSecsIntoState );
|
||||
CPY( m_bUsingCustomTexCoords );
|
||||
CPY( m_bSkipNextUpdate );
|
||||
memcpy( m_CustomTexCoords, cpy.m_CustomTexCoords, sizeof(m_CustomTexCoords) );
|
||||
CPY( m_fRememberedClipWidth );
|
||||
CPY( m_fRememberedClipHeight );
|
||||
CPY( m_fTexCoordVelocityX );
|
||||
CPY( m_fTexCoordVelocityY );
|
||||
#undef CPY
|
||||
|
||||
m_pTexture = TEXTUREMAN->CopyTexture( cpy.m_pTexture );
|
||||
}
|
||||
|
||||
RageTextureID Sprite::SongBGTexture( RageTextureID ID )
|
||||
{
|
||||
ID.bMipMaps = true;
|
||||
|
||||
Reference in new issue
Block a user