void GameBase::DestroyTransitionAggregate( ) { if( !m_pTransAgg ) return; #ifndef _FINAL CTransitionAggregate *pIAgg = dynamic_cast<CTransitionAggregate*>(m_pTransAgg); if( !pIAgg ) { g_pLTServer->CPrint( "NOT a CTransitionAggregate!!!" ); return; } #endif RemoveAggregate( (LPAGGREGATE)m_pTransAgg ); s_bankCTransAggs.Delete( m_pTransAgg ); m_pTransAgg = NULL; }
void CAnimationMgr::DestroyAnimationContext(CAnimationContext* pAnimationContext) { pAnimationContext->Term(); s_bankCAnimationContext.Delete(pAnimationContext); }
__declspec(dllexport) void fxDelete(CBaseFX *pDeleteFX) { // Figure out what kind of FX we are deleting and make sure the propper bank handles it... switch( pDeleteFX->GetFXType() ) { case CBaseFX::eParticleSystemFX : { g_ParticleSystemFX_Bank.Delete( (CParticleSystemFX*)pDeleteFX ); } break; case CBaseFX::eSpriteFX : { g_SpriteFX_Bank.Delete( (CSpriteFX*)pDeleteFX ); } break; case CBaseFX::eLTBModelFX : { g_LTBModelFX_Bank.Delete( (CLTBModelFX*)pDeleteFX ); } break; case CBaseFX::eDynaLightFX : { g_DynaLightFX_Bank.Delete( (CDynaLightFX*)pDeleteFX ); } break; case CBaseFX::ePlaySoundFX : { g_PlaySoundFX_Bank.Delete( (CPlaySoundFX*)pDeleteFX ); } break; case CBaseFX::eCamJitterFX : { g_CamJitterFX_Bank.Delete( (CCamJitterFX*)pDeleteFX ); } break; case CBaseFX::eCamWobbleFX : { g_CamWobbleFX_Bank.Delete( (CCamWobbleFX*)pDeleteFX ); } break; case CBaseFX::eLTBBouncyChunkFX : { g_LTBBouncyChunkFX_Bank.Delete( (CLTBBouncyChunkFX*)pDeleteFX ); } break; case CBaseFX::eNullFX : { g_NullFX_Bank.Delete( (CNullFX*)pDeleteFX ); } break; case CBaseFX::ePolyTubeFX : { g_PolyTubeFX_Bank.Delete( (CPolyTubeFX*)pDeleteFX ); } break; case CBaseFX::ePlayRandomSoundFX : { g_PlayRandomSoundFX_Bank.Delete( (CPlayRandomSoundFX*)pDeleteFX ); } break; case CBaseFX::eSpriteSystem : { g_SpriteSystem_Bank.Delete( (CSpriteSystem*)pDeleteFX ); } break; case CBaseFX::eCreateFX : { g_CreateFX_Bank.Delete( (CCreateFX*)pDeleteFX ); } break; case CBaseFX::eFlareSpriteFX : { g_FlareSpriteFX_Bank.Delete( (CFlareSpriteFX*)pDeleteFX ); } break; case CBaseFX::eLightningFX : { g_LightningFX_Bank.Delete( (CLightningFX*)pDeleteFX ); } break; default: { // We should never be getting here! ASSERT( LTFALSE ); } break; } }
void CSFXMgr::DeleteSFX(CSpecialFX* pFX) { // Make sure we've got a valid pointer if (!pFX) return; // Make sure we don't try to delete the static fx(s)... if (pFX == &s_WeaponFX) return; // Alrighty, get the ID from the effect... switch(pFX->GetSFXID()) { // Delete it from the right place... case SFX_PLAYERSOUND_ID : { g_SFXBank_PlayerSound.Delete((CPlayerSoundFX*)pFX); } break; case SFX_MARK_ID : { g_SFXBank_Mark.Delete((CMarkSFX*)pFX); } break; case SFX_SHELLCASING_ID : { g_SFXBank_ShellCasing.Delete((CShellCasingFX*)pFX); } break; case SFX_PROJECTILE_ID : { g_SFXBank_Projectile.Delete((CProjectileFX*)pFX); } break; case SFX_CAMERA_ID : { g_SFXBank_Camera.Delete((CCameraFX*)pFX); } break; case SFX_POLYGRID_ID : { g_SFXBank_PolyGrid.Delete((CPolyGridFX*)pFX); } break; case SFX_RENDERTARGET_ID : { g_SFXBank_RenderTarget.Delete((CRenderTargetFX*)pFX); } break; case SFX_RENDERTARGETGROUP_ID : { g_SFXBank_RenderTargetGroup.Delete((CRenderTargetGroupFX*)pFX); } break; case SFX_EXPLOSION_ID : { g_SFXBank_Explosion.Delete((CExplosionFX*)pFX); } break; case SFX_VOLUMEBRUSH_ID : { g_SFXBank_VolumeBrush.Delete((CVolumeBrushFX*)pFX); } break; case SFX_CHARACTER_ID : { g_SFXBank_Character.Delete((CCharacterFX*)pFX); } break; case SFX_SEARCHLIGHT_ID : { g_SFXBank_SearchLight.Delete((CSearchLightFX*)pFX); } break; case SFX_PICKUPITEM_ID : { g_SFXBank_PickupItem.Delete((CPickupItemFX*)pFX); } break; case SFX_AIMMAGNET_ID : { g_SFXBank_AimMagnet.Delete((CAimMagnetFX*)pFX); } break; case SFX_NAVMARKER_ID : { g_SFXBank_NavMarker.Delete((CNavMarkerFX*)pFX); } break; case SFX_LADDER_ID : { g_SFXBank_Ladder.Delete((CLadderFX*)pFX); } break; case SFX_SPECIALMOVE_ID : { g_SFXBank_SpecialMove.Delete((CSpecialMoveFX*)pFX); } break; case SFX_FINISHINGMOVE_ID : { g_SFXBank_FinishingMove.Delete((CFinishingMoveFX*)pFX); } break; case SFX_DEBUGLINE_ID : { g_SFXBank_DebugLine.Delete((CDebugLineFX*)pFX); } break; case SFX_SNOW_ID : { g_SFXBank_Snow.Delete((CSnowFX*)pFX); } break; case SFX_JUMPVOLUME_ID : { g_SFXBank_JumpVolume.Delete((CJumpVolumeFX*)pFX); } break; case SFX_DYNAMIC_SECTOR_ID : { g_SFXBank_DynamicSectorVolume.Delete((CDynamicSectorVolumeFX*)pFX); } break; case SFX_SCATTER_ID : { g_SFXBank_Scatter.Delete((CScatterFX*)pFX); } break; case SFX_TRIGGER_ID : { g_SFXBank_Trigger.Delete((CTriggerFX*)pFX); } break; case SFX_FORENSICOBJECT_ID : { g_SFXBank_ForensicObject.Delete((CForensicObjectFX*)pFX); } break; case SFX_TURRET_ID: { g_SFXBank_Turret.Delete( (CTurretFX*)pFX ); } break; case SFX_TEAMCLIENTFX_ID: { g_SFXBank_TeamClientFx.Delete( (TeamClientFXSFX*)pFX ); } break; case SFX_CTFFLAGBASE_ID: case SFX_CTFFLAG_ID: case SFX_CONTROLPOINT_ID: { delete pFX; } break; case SFX_SOUND_NONPOINT_ID: { g_SFXBank_SoundNonPoint.Delete( (CSoundNonPointFX*)pFX ); } break; case SFX_VOLUMETRICLIGHT_ID: { g_SFXBank_VolumetricLight.Delete( (CVolumetricLightFX*)pFX ); } break; case SFX_ENTRYTOOLLOCK_ID: { g_SFXBank_EntryToolLock.Delete( (CEntryToolLockFX*)pFX ); } break; case SFX_SCREENEFFECT_ID: { g_SFXBank_ScreenEffect.Delete( (CScreenEffectFX*)pFX ); } break; case SFX_ACTIVATEOBJECT_ID : { g_SFXBank_ActivateObject.Delete( (CActivateObjectFX*)pFX); } break; case SFX_PHYSICS_CONSTRAINT_ID: { g_SFXBank_PhysicsConstraintFX.Delete( (CPhysicsConstraintFX*)pFX ); } break; case SFX_PHYSICS_COLLISION_SYSTEM_ID: { g_SFXBank_PhysicsCollisionSystemFX.Delete( (CPhysicsCollisionSystemFX*)pFX ); } break; // Ok, it's not a banked effect default: { debug_delete(pFX); } break; } }