| 2437 | //---------------------------------------------------------------------------- |
| 2438 | |
| 2439 | void ShapeBase::resetImageSlot(U32 imageSlot) |
| 2440 | { |
| 2441 | AssertFatal(imageSlot<MaxMountedImages,"Out of range image slot"); |
| 2442 | |
| 2443 | // Clear out current image |
| 2444 | MountedImage& image = mMountedImageList[imageSlot]; |
| 2445 | for (U32 i=0; i<ShapeBaseImageData::MaxShapes; ++i) |
| 2446 | { |
| 2447 | delete image.shapeInstance[i]; |
| 2448 | image.shapeInstance[i] = 0; |
| 2449 | } |
| 2450 | |
| 2451 | // stop sound |
| 2452 | for(Vector<SFXSource*>::iterator i = image.mSoundSources.begin(); i != image.mSoundSources.end(); i++) |
| 2453 | { |
| 2454 | SFX_DELETE((*i)); |
| 2455 | } |
| 2456 | image.mSoundSources.clear(); |
| 2457 | |
| 2458 | for (S32 i = 0; i < MaxImageEmitters; i++) { |
| 2459 | MountedImage::ImageEmitter& em = image.emitter[i]; |
| 2460 | if (bool(em.emitter)) { |
| 2461 | em.emitter->deleteWhenEmpty(); |
| 2462 | em.emitter = 0; |
| 2463 | } |
| 2464 | } |
| 2465 | |
| 2466 | image.dataBlock = 0; |
| 2467 | image.nextImage = InvalidImagePtr; |
| 2468 | image.skinNameHandle = NetStringHandle(); |
| 2469 | image.nextSkinNameHandle = NetStringHandle(); |
| 2470 | image.state = 0; |
| 2471 | image.delayTime = 0; |
| 2472 | image.rDT = 0; |
| 2473 | image.ammo = false; |
| 2474 | image.triggerDown = false; |
| 2475 | image.altTriggerDown = false; |
| 2476 | image.loaded = false; |
| 2477 | image.motion = false; |
| 2478 | |
| 2479 | for (U32 i=0; i<ShapeBaseImageData::MaxGenericTriggers; ++i) |
| 2480 | { |
| 2481 | image.genericTrigger[i] = false; |
| 2482 | } |
| 2483 | |
| 2484 | image.lightStart = 0; |
| 2485 | if ( image.lightInfo != NULL ) |
| 2486 | SAFE_DELETE( image.lightInfo ); |
| 2487 | |
| 2488 | updateMass(); |
| 2489 | } |
| 2490 | |
| 2491 | |
| 2492 | //---------------------------------------------------------------------------- |
nothing calls this directly
no test coverage detected