mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Cleanup objects properly
This commit is contained in:
parent
eda9e0cd9d
commit
cb2d2cb2ba
3 changed files with 31 additions and 9 deletions
|
|
@ -10,6 +10,8 @@ void Obj_HyudoroCollide(mobj_t *special, mobj_t *toucher);
|
|||
|
||||
/* Shrink */
|
||||
void Obj_PohbeeThinker(mobj_t *pohbee);
|
||||
void Obj_PohbeeRemoved(mobj_t *pohbee);
|
||||
void Obj_ShrinkGunRemoved(mobj_t *gun);
|
||||
boolean Obj_ShrinkLaserCollide(mobj_t *gun, mobj_t *victim);
|
||||
void Obj_CreateShrinkPohbees(player_t *owner);
|
||||
|
||||
|
|
|
|||
|
|
@ -429,25 +429,35 @@ void Obj_PohbeeThinker(mobj_t *pohbee)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void Obj_PohbeeRemoved(mobj_t *pohbee)
|
||||
{
|
||||
mobj_t *gun = pohbee_guns(pohbee);
|
||||
|
||||
while (gun != NULL && P_MobjWasRemoved(gun) == false)
|
||||
{
|
||||
mobj_t *nextGun = pohbee_guns(gun);
|
||||
P_RemoveMobj(gun);
|
||||
gun = nextGun;
|
||||
}
|
||||
}
|
||||
|
||||
void Obj_ShrinkGunRemoved(mobj_t *gun)
|
||||
{
|
||||
mobj_t *chain = NULL;
|
||||
|
||||
if (pohbee_guns(pohbee) != NULL)
|
||||
if (gun_laser(gun) != NULL && P_MobjWasRemoved(gun_laser(gun)) == false)
|
||||
{
|
||||
P_RemoveMobj(pohbee_laser(pohbee));
|
||||
P_RemoveMobj(gun_laser(gun));
|
||||
}
|
||||
|
||||
chain = pohbee_chain(pohbee);
|
||||
while (chain != NULL)
|
||||
chain = gun_chains(gun);
|
||||
while (chain != NULL && P_MobjWasRemoved(chain) == false)
|
||||
{
|
||||
mobj_t *temp = chain;
|
||||
chain = pohbee_chain(temp);
|
||||
P_RemoveMobj(temp);
|
||||
mobj_t *nextChain = gun_chains(chain);
|
||||
P_RemoveMobj(chain);
|
||||
chain = nextChain;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
boolean Obj_ShrinkLaserCollide(mobj_t *gun, mobj_t *victim)
|
||||
{
|
||||
|
|
|
|||
10
src/p_mobj.c
10
src/p_mobj.c
|
|
@ -10656,6 +10656,16 @@ void P_RemoveMobj(mobj_t *mobj)
|
|||
P_SetTarget(&mobj->player->followmobj, NULL);
|
||||
}
|
||||
|
||||
if (mobj->type == MT_SHRINK_POHBEE)
|
||||
{
|
||||
Obj_PohbeeRemoved(mobj);
|
||||
}
|
||||
|
||||
if (mobj->type == MT_SHRINK_GUN)
|
||||
{
|
||||
Obj_ShrinkGunRemoved(mobj);
|
||||
}
|
||||
|
||||
mobj->health = 0; // Just because
|
||||
|
||||
// unlink from sector and block lists
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue