MCPcopy Create free account
hub / github.com/JACoders/OpenJK / AddLoopedEffects

Method AddLoopedEffects

code/cgame/FxScheduler.cpp:281–308  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

279}
280
281void CFxScheduler::AddLoopedEffects()
282{
283 int i;
284
285 for (i=0;i<MAX_LOOPED_FX;i++)
286 {
287 if (mLoopedEffectArray[i].mId && mLoopedEffectArray[i].mNextTime < theFxHelper.mTime )
288 {
289 const int entNum = ( mLoopedEffectArray[i].mBoltInfo >> ENTITY_SHIFT ) & ENTITY_AND;
290 if ( cg_entities[entNum].gent->inuse )
291 {// only play the looped effect when the ent is still inUse....
292 PlayEffect( mLoopedEffectArray[i].mId, cg_entities[entNum].lerpOrigin, 0, mLoopedEffectArray[i].mBoltInfo, -1, mLoopedEffectArray[i].mPortalEffect, false, mLoopedEffectArray[i].mIsRelative ); //very important to send FALSE looptime to not recursively add me!
293 mLoopedEffectArray[i].mNextTime = theFxHelper.mTime + mEffectTemplates[mLoopedEffectArray[i].mId].mRepeatDelay;
294 }
295 else
296 {
297 theFxHelper.Print( "CFxScheduler::AddLoopedEffects- entity was removed without stopping any looping fx it owned." );
298 memset( &mLoopedEffectArray[i], 0, sizeof(mLoopedEffectArray[i]) );
299 continue;
300 }
301 if ( mLoopedEffectArray[i].mLoopStopTime && mLoopedEffectArray[i].mLoopStopTime < theFxHelper.mTime ) //time's up
302 {//kill this entry
303 memset( &mLoopedEffectArray[i], 0, sizeof(mLoopedEffectArray[i]) );
304 }
305 }
306 }
307
308}
309
310//-----------------------------------------------------------
311void SEffectTemplate::operator=(const SEffectTemplate &that)

Callers

nothing calls this directly

Calls 1

PrintMethod · 0.45

Tested by

no test coverage detected