diff --git a/source/projectl/prnpcspr.cpp b/source/projectl/prnpcspr.cpp index 2e087373b..874cd95f9 100644 --- a/source/projectl/prnpcspr.cpp +++ b/source/projectl/prnpcspr.cpp @@ -31,13 +31,14 @@ CEnemyAsSpriteProjectile *CEnemyAsSpriteProjectile::Create() { CEnemyAsSpriteProjectile *projectile; - projectile = (CEnemyAsSpriteProjectile*)CThingManager::GetThing(TYPE_PLAYERPROJECTILE,0); + projectile = (CEnemyAsSpriteProjectile*)CThingManager::GetThing(TYPE_PLAYERPROJECTILE,1); if ( !projectile ) { projectile = new ("player projectile") CEnemyAsSpriteProjectile; } ASSERT(projectile); + projectile->setThingSubType(1); return( projectile ); } diff --git a/source/projectl/projectl.cpp b/source/projectl/projectl.cpp index 740b5e627..4ad1f3623 100644 --- a/source/projectl/projectl.cpp +++ b/source/projectl/projectl.cpp @@ -64,6 +64,7 @@ CProjectile *CProjectile::Create() } ASSERT(projectile); + projectile->setThingSubType(0); return( projectile ); } @@ -76,7 +77,6 @@ void CProjectile::init() m_spriteFrame = FRM__SPIKE; - setThingSubType(0); m_initHeading = m_heading = 0; m_lifetime = GameState::getOneSecondInFrames() * 2; m_movementType = PROJECTILE_DUMBFIRE; @@ -484,6 +484,7 @@ CPlayerProjectile *CPlayerProjectile::Create() } ASSERT(projectile); + projectile->setThingSubType(0); return( projectile ); } @@ -493,7 +494,6 @@ CPlayerProjectile *CPlayerProjectile::Create() void CPlayerProjectile::init() { CPlayerProjectileThing::init(); - setThingSubType(0); m_heading = 0; m_lifetime = GameState::getOneSecondInFrames() * 2; m_movementType = PLAYER_PROJECTILE_DUMBFIRE; diff --git a/source/projectl/projectl.h b/source/projectl/projectl.h index 2643b3a46..2cf230694 100644 --- a/source/projectl/projectl.h +++ b/source/projectl/projectl.h @@ -104,7 +104,7 @@ public: }; enum { // For Dynamic ThingCache - MAX_SUBTYPE =1, + MAX_SUBTYPE =2, }; static CPlayerProjectile *Create();