MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / EffectSingleLoop

Function EffectSingleLoop

src/SB/Core/x/xAnim.cpp:1344–1370  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1342}
1343
1344static void EffectSingleLoop(xAnimSingle* single)
1345{
1346 EffectSingleRun(single);
1347 xAnimActiveEffect* alist = single->ActiveList;
1348 U32 index = 0;
1349 U32 count = single->ActiveCount;
1350 while (index < count && alist[index].Effect != NULL)
1351 {
1352 if (!(alist[index].Effect->Flags & 0x20))
1353 {
1354 alist[index].Effect->Callback(3, &alist[index], single, single->Play->Object);
1355
1356 EffectActiveRemove(&alist[index], index, count);
1357 }
1358 else
1359 {
1360 index++;
1361 }
1362 }
1363
1364 xAnimEffect* effect = single->State->Effects;
1365 while (effect != NULL && effect->StartTime < 0.0f)
1366 {
1367 effect = effect->Next;
1368 }
1369 single->Effect = effect;
1370}
1371
1372static void EffectSingleStop(xAnimSingle* single)
1373{

Callers 1

LoopUpdateFunction · 0.70

Calls 2

EffectActiveRemoveFunction · 0.85
EffectSingleRunFunction · 0.70

Tested by

no test coverage detected