Sprite::Sprite(const Sprite& ref) { if(mImageAlloc) delete mFullImage; *this = ref; TheDisplay.CreateSurfaceFromSurface(&mFullImage, ref.mFullImage); mFullImage->SetColorKey(0xFF00FF); mSurf = mFullImage->GetDDrawSurface(); mImageAlloc = true; }
bool Sprite::InitializeSpriteCopy(const Sprite* ref) { if(!ref) return false; if(mImageAlloc) delete mFullImage; *this = *ref; TheDisplay.CreateSurfaceFromSurface(&mFullImage, ref->mFullImage); mFullImage->SetColorKey(0xFF00FF); mSurf = mFullImage->GetDDrawSurface(); mImageAlloc = true; return true; }