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

Method packData

Engine/source/T3D/projectile.cpp:405–467  ·  view source on GitHub ↗

--------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

403
404//--------------------------------------------------------------------------
405void ProjectileData::packData(BitStream* stream)
406{
407 Parent::packData(stream);
408
409 PACKDATA_ASSET(ProjectileShape);
410
411 stream->writeFlag(faceViewer);
412 if(stream->writeFlag(scale.x != 1 || scale.y != 1 || scale.z != 1))
413 {
414 stream->write(scale.x);
415 stream->write(scale.y);
416 stream->write(scale.z);
417 }
418
419 if (stream->writeFlag(particleEmitter != NULL))
420 stream->writeRangedU32(particleEmitter->getId(), DataBlockObjectIdFirst,
421 DataBlockObjectIdLast);
422
423 if (stream->writeFlag(particleWaterEmitter != NULL))
424 stream->writeRangedU32(particleWaterEmitter->getId(), DataBlockObjectIdFirst,
425 DataBlockObjectIdLast);
426
427 if (stream->writeFlag(explosion != NULL))
428 stream->writeRangedU32(explosion->getId(), DataBlockObjectIdFirst,
429 DataBlockObjectIdLast);
430
431 if (stream->writeFlag(waterExplosion != NULL))
432 stream->writeRangedU32(waterExplosion->getId(), DataBlockObjectIdFirst,
433 DataBlockObjectIdLast);
434
435 if (stream->writeFlag(splash != NULL))
436 stream->writeRangedU32(splash->getId(), DataBlockObjectIdFirst,
437 DataBlockObjectIdLast);
438
439 if (stream->writeFlag(decal != NULL))
440 stream->writeRangedU32(decal->getId(), DataBlockObjectIdFirst,
441 DataBlockObjectIdLast);
442 PACKDATA_ASSET(ProjectileSound);
443
444 if ( stream->writeFlag(lightDesc != NULL))
445 stream->writeRangedU32(lightDesc->getId(), DataBlockObjectIdFirst,
446 DataBlockObjectIdLast);
447
448 stream->write(impactForce);
449
450// stream->writeRangedU32(lifetime, 0, Projectile::MaxLivingTicks);
451// stream->writeRangedU32(armingDelay, 0, Projectile::MaxLivingTicks);
452// stream->writeRangedU32(fadeDelay, 0, Projectile::MaxLivingTicks);
453
454 // [tom, 3/21/2007] Changing these to write all 32 bits as the previous
455 // code limited these to a max value of 4095.
456 stream->write(lifetime);
457 stream->write(armingDelay);
458 stream->write(fadeDelay);
459
460 if(stream->writeFlag(isBallistic))
461 {
462 stream->write(gravityMod);

Callers

nothing calls this directly

Calls 4

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

Tested by

no test coverage detected