MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / packData

Method packData

Engine/source/T3D/fx/explosion.cpp:663–766  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

661}
662
663void 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 {

Callers

nothing calls this directly

Calls 6

writeRangedU32Method · 0.80
writeIntMethod · 0.80
writeFloatMethod · 0.80
getIdMethod · 0.65
writeFlagMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected