mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'broly-sigfpe' into 'master'
Fix Broly SIGFPE See merge request KartKrew/Kart!841
This commit is contained in:
commit
e400625da8
4 changed files with 25 additions and 7 deletions
|
|
@ -324,6 +324,11 @@ tic_t K_MineExplodeAttack(mobj_t *actor, fixed_t size, boolean spin)
|
||||||
|
|
||||||
if (!spin)
|
if (!spin)
|
||||||
{
|
{
|
||||||
|
if (minehitlag == 0)
|
||||||
|
{
|
||||||
|
minehitlag = actor->hitlag;
|
||||||
|
}
|
||||||
|
|
||||||
Obj_SpawnBrolyKi(actor, minehitlag);
|
Obj_SpawnBrolyKi(actor, minehitlag);
|
||||||
|
|
||||||
return minehitlag;
|
return minehitlag;
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ void Obj_DuelBombInit(mobj_t *bomb);
|
||||||
|
|
||||||
/* Broly Ki */
|
/* Broly Ki */
|
||||||
mobj_t *Obj_SpawnBrolyKi(mobj_t *source, tic_t duration);
|
mobj_t *Obj_SpawnBrolyKi(mobj_t *source, tic_t duration);
|
||||||
void Obj_BrolyKiThink(mobj_t *ki);
|
boolean Obj_BrolyKiThink(mobj_t *ki);
|
||||||
|
|
||||||
/* Special Stage UFO */
|
/* Special Stage UFO */
|
||||||
waypoint_t *K_GetSpecialUFOWaypoint(mobj_t *ufo);
|
waypoint_t *K_GetSpecialUFOWaypoint(mobj_t *ufo);
|
||||||
|
|
|
||||||
|
|
@ -34,14 +34,16 @@ Obj_SpawnBrolyKi
|
||||||
( mobj_t * source,
|
( mobj_t * source,
|
||||||
tic_t duration)
|
tic_t duration)
|
||||||
{
|
{
|
||||||
mobj_t *x = P_SpawnMobjFromMobj(
|
mobj_t *x;
|
||||||
source, 0, 0, 0, MT_BROLY);
|
|
||||||
|
|
||||||
if (duration == 0)
|
if (duration <= 0)
|
||||||
{
|
{
|
||||||
return x;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
x = P_SpawnMobjFromMobj(
|
||||||
|
source, 0, 0, 0, MT_BROLY);
|
||||||
|
|
||||||
// Shrink into center of source object.
|
// Shrink into center of source object.
|
||||||
x->z = (source->z + source->height / 2);
|
x->z = (source->z + source->height / 2);
|
||||||
|
|
||||||
|
|
@ -61,12 +63,20 @@ Obj_SpawnBrolyKi
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
boolean
|
||||||
Obj_BrolyKiThink (mobj_t *x)
|
Obj_BrolyKiThink (mobj_t *x)
|
||||||
{
|
{
|
||||||
|
if (broly_duration(x) <= 0)
|
||||||
|
{
|
||||||
|
P_RemoveMobj(x);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const fixed_t
|
const fixed_t
|
||||||
t = get_unit_linear(x),
|
t = get_unit_linear(x),
|
||||||
n = Easing_OutSine(t, 0, broly_maxscale(x));
|
n = Easing_OutSine(t, 0, broly_maxscale(x));
|
||||||
|
|
||||||
P_InstaScale(x, n);
|
P_InstaScale(x, n);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6515,7 +6515,10 @@ static void P_MobjSceneryThink(mobj_t *mobj)
|
||||||
mobj->renderflags ^= RF_DONTDRAW;
|
mobj->renderflags ^= RF_DONTDRAW;
|
||||||
break;
|
break;
|
||||||
case MT_BROLY:
|
case MT_BROLY:
|
||||||
Obj_BrolyKiThink(mobj);
|
if (Obj_BrolyKiThink(mobj) == false)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MT_VWREF:
|
case MT_VWREF:
|
||||||
case MT_VWREB:
|
case MT_VWREB:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue