| 661 | } |
| 662 | |
| 663 | void ExplosionData::packData(BitStream* stream) |
| 664 | { |
| 665 | Parent::packData(stream); |
| 666 | |
| 667 | PACKDATA_ASSET(ExplosionShape); |
| 668 | |
| 669 | //PACKDATA_SOUNDASSET(Sound); |
| 670 | PACKDATA_ASSET(Sound); |
| 671 | |
| 672 | if (stream->writeFlag(particleEmitter)) |
| 673 | stream->writeRangedU32(particleEmitter->getId(),DataBlockObjectIdFirst,DataBlockObjectIdLast); |
| 674 | |
| 675 | stream->writeInt(particleDensity, 14); |
| 676 | stream->write(particleRadius); |
| 677 | stream->writeFlag(faceViewer); |
| 678 | if(stream->writeFlag(explosionScale.x != 1 || explosionScale.y != 1 || explosionScale.z != 1)) |
| 679 | { |
| 680 | stream->writeInt((S32)(explosionScale.x * 100), 16); |
| 681 | stream->writeInt((S32)(explosionScale.y * 100), 16); |
| 682 | stream->writeInt((S32)(explosionScale.z * 100), 16); |
| 683 | } |
| 684 | stream->writeInt((S32)(playSpeed * 20), 14); |
| 685 | stream->writeRangedU32((U32)debrisThetaMin, 0, 180); |
| 686 | stream->writeRangedU32((U32)debrisThetaMax, 0, 180); |
| 687 | stream->writeRangedU32((U32)debrisPhiMin, 0, 360); |
| 688 | stream->writeRangedU32((U32)debrisPhiMax, 0, 360); |
| 689 | stream->writeRangedU32((U32)debrisNum, 0, 1000); |
| 690 | stream->writeRangedU32(debrisNumVariance, 0, 1000); |
| 691 | stream->writeInt((S32)(debrisVelocity * 10), 14); |
| 692 | stream->writeRangedU32((U32)(debrisVelocityVariance * 10), 0, 10000); |
| 693 | stream->writeInt(delayMS >> 5, 16); |
| 694 | stream->writeInt(delayVariance >> 5, 16); |
| 695 | stream->writeInt(lifetimeMS >> 5, 16); |
| 696 | stream->writeInt(lifetimeVariance >> 5, 16); |
| 697 | stream->write(offset); |
| 698 | |
| 699 | stream->writeFlag( shakeCamera ); |
| 700 | stream->write(camShakeFreq.x); |
| 701 | stream->write(camShakeFreq.y); |
| 702 | stream->write(camShakeFreq.z); |
| 703 | stream->write(camShakeAmp.x); |
| 704 | stream->write(camShakeAmp.y); |
| 705 | stream->write(camShakeAmp.z); |
| 706 | stream->write(camShakeDuration); |
| 707 | stream->write(camShakeRadius); |
| 708 | stream->write(camShakeFalloff); |
| 709 | |
| 710 | for( S32 j=0; j<EC_NUM_DEBRIS_TYPES; j++ ) |
| 711 | { |
| 712 | if( stream->writeFlag( debrisList[j] ) ) |
| 713 | { |
| 714 | stream->writeRangedU32( debrisList[j]->getId(), DataBlockObjectIdFirst, DataBlockObjectIdLast ); |
| 715 | } |
| 716 | } |
| 717 | |
| 718 | S32 i; |
| 719 | for( i=0; i<EC_NUM_EMITTERS; i++ ) |
| 720 | { |
nothing calls this directly
no test coverage detected