MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / EffectNewRoom

Function EffectNewRoom

TombEngine/Game/items.cpp:450–481  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

448}
449
450void EffectNewRoom(short fxNumber, short roomNumber)
451{
452 if (InItemControlLoop)
453 {
454 ItemNewRooms[2 * ItemNewRoomNo] = fxNumber;
455 ItemNewRooms[2 * ItemNewRoomNo + 1] = roomNumber;
456 ItemNewRoomNo++;
457 }
458 else
459 {
460 auto* fx = &EffectList[fxNumber];
461 auto* room = &g_Level.Rooms[fx->roomNumber];
462
463 if (room->fxNumber == fxNumber)
464 room->fxNumber = fx->nextFx;
465 else
466 {
467 for (short linkNumber = room->fxNumber; linkNumber != NO_VALUE; linkNumber = EffectList[linkNumber].nextFx)
468 {
469 if (EffectList[linkNumber].nextFx == fxNumber)
470 {
471 EffectList[linkNumber].nextFx = fx->nextFx;
472 break;
473 }
474 }
475 }
476
477 fx->roomNumber = roomNumber;
478 fx->nextFx = g_Level.Rooms[roomNumber].fxNumber;
479 g_Level.Rooms[roomNumber].fxNumber = fxNumber;
480 }
481}
482
483void KillEffect(short fxNumber)
484{

Callers 6

ControlTonyFireBallFunction · 0.85
MissileControlFunction · 0.85
ControlBodyPartFunction · 0.85
ControlEnemyMissileFunction · 0.85
ControlMissileFunction · 0.85
KillMoveEffectsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected