MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / unpackUpdate

Method unpackUpdate

Engine/source/T3D/lightBase.cpp:317–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

315}
316
317void LightBase::unpackUpdate( NetConnection *conn, BitStream *stream )
318{
319 Parent::unpackUpdate( conn, stream );
320
321 mIsEnabled = stream->readFlag();
322
323 if ( stream->readFlag() ) // TransformMask
324 stream->readAffineTransform( &mObjToWorld );
325
326 if ( stream->readFlag() ) // UpdateMask
327 {
328 stream->read( &mColor );
329 stream->read( &mBrightness );
330 mCastShadows = stream->readFlag();
331 stream->read(&mStaticRefreshFreq);
332 stream->read(&mDynamicRefreshFreq);
333
334 stream->read( &mPriority );
335
336 mLight->unpackExtended( stream );
337
338 mAnimState.active = stream->readFlag();
339 stream->read( &mAnimState.animationPeriod );
340 stream->read( &mAnimState.animationPhase );
341 stream->read( &mFlareScale );
342 }
343
344 if ( stream->readFlag() ) // DatablockMask
345 {
346 if ( stream->readFlag() )
347 {
348 SimObjectId id = stream->readRangedU32( DataBlockObjectIdFirst, DataBlockObjectIdLast );
349 LightAnimData *datablock = NULL;
350
351 if ( Sim::findObject( id, datablock ) )
352 mAnimationData = datablock;
353 else
354 {
355 conn->setLastError( "Light::unpackUpdate() - invalid LightAnimData!" );
356 mAnimationData = NULL;
357 }
358 }
359 else
360 mAnimationData = NULL;
361
362 if ( stream->readFlag() )
363 {
364 SimObjectId id = stream->readRangedU32( DataBlockObjectIdFirst, DataBlockObjectIdLast );
365 LightFlareData *datablock = NULL;
366
367 if ( Sim::findObject( id, datablock ) )
368 mFlareData = datablock;
369 else
370 {
371 conn->setLastError( "Light::unpackUpdate() - invalid LightCoronaData!" );
372 mFlareData = NULL;
373 }
374 }

Callers

nothing calls this directly

Calls 7

readFlagMethod · 0.80
readAffineTransformMethod · 0.80
unpackExtendedMethod · 0.80
readRangedU32Method · 0.80
findObjectFunction · 0.50
readMethod · 0.45
setLastErrorMethod · 0.45

Tested by

no test coverage detected