diff --git a/src/k_kart.c b/src/k_kart.c index f33d84a8..17bf41d4 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2198,7 +2198,7 @@ void K_SpawnMineExplosion(mobj_t *source, UINT8 color) dust->angle = (ANGLE_180/16) * i; P_SetScale(dust, source->scale); dust->destscale = source->scale*10; - dust->scalespeed = FixedMul(dust->scalespeed, source->scale); + dust->scalespeed = source->scale/12; P_InstaThrust(dust, dust->angle, FixedMul(20*FRACUNIT, source->scale)); truc = P_SpawnMobj(source->x + P_RandomRange(-radius, radius)*FRACUNIT, @@ -2206,7 +2206,7 @@ void K_SpawnMineExplosion(mobj_t *source, UINT8 color) source->z + P_RandomRange(0, height)*FRACUNIT, MT_BOOMEXPLODE); P_SetScale(truc, source->scale); truc->destscale = source->scale*6; - truc->scalespeed = FixedMul(truc->scalespeed, source->scale); + truc->scalespeed = source->scale/12; speed = FixedMul(10*FRACUNIT, source->scale)>>FRACBITS; truc->momx = P_RandomRange(-speed, speed)*FRACUNIT; truc->momy = P_RandomRange(-speed, speed)*FRACUNIT; @@ -2222,7 +2222,7 @@ void K_SpawnMineExplosion(mobj_t *source, UINT8 color) source->z + P_RandomRange(0, height)*FRACUNIT, MT_SMOKE); P_SetScale(dust, source->scale); dust->destscale = source->scale*10; - dust->scalespeed = FixedMul(dust->scalespeed, source->scale); + dust->scalespeed = source->scale/12; dust->tics = 30; dust->momz = P_RandomRange(FixedMul(3*FRACUNIT, source->scale)>>FRACBITS, FixedMul(7*FRACUNIT, source->scale)>>FRACBITS)*FRACUNIT; @@ -2231,7 +2231,7 @@ void K_SpawnMineExplosion(mobj_t *source, UINT8 color) source->z + P_RandomRange(0, height)*FRACUNIT, MT_BOOMPARTICLE); P_SetScale(truc, source->scale); truc->destscale = source->scale*5; - truc->scalespeed = FixedMul(truc->scalespeed, source->scale); + truc->scalespeed = source->scale/12; speed = FixedMul(20*FRACUNIT, source->scale)>>FRACBITS; truc->momx = P_RandomRange(-speed, speed)*FRACUNIT; truc->momy = P_RandomRange(-speed, speed)*FRACUNIT; @@ -2630,7 +2630,7 @@ void K_DriftDustHandling(mobj_t *spawner) dust->momz = P_MobjFlip(spawner) * (P_RandomRange(1, 4) * (spawner->scale)); P_SetScale(dust, spawner->scale/2); dust->destscale = spawner->scale * 3; - dust->scalespeed = FixedMul(dust->scalespeed, spawner->scale); + dust->scalespeed = spawner->scale/12; if (leveltime % 6 == 0) S_StartSound(spawner, sfx_screec); diff --git a/src/p_enemy.c b/src/p_enemy.c index 37dd5899..9f0ff4c1 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -3406,7 +3406,7 @@ void A_ParticleSpawn(mobj_t *actor) P_SetScale(spawn, actor->scale); spawn->momz = speed; spawn->destscale = FixedDiv(spawn->scale<scalespeed = FixedDiv(((actor->spawnpoint->angle >> 8) & 63) << FRACBITS, 100<scalespeed = FixedDiv(((actor->spawnpoint->angle >> 8) & 63) * actor->scale, 100<tics = actor->spawnpoint->extrainfo + 1; } diff --git a/src/p_inter.c b/src/p_inter.c index 05001ced..df6a47b8 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -395,7 +395,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) P_SetTarget(&special->tracer, toucher); special->flags2 |= MF2_NIGHTSPULL; special->destscale = mapheaderinfo[gamemap-1]->mobj_scale>>4; - special->scalespeed = mapheaderinfo[gamemap-1]->mobj_scale/6; // (FRACUNIT/12)<<1 but mapheader-scale-considering + special->scalespeed <<= 1; special->flags &= ~MF_SPECIAL; return; diff --git a/src/p_mobj.c b/src/p_mobj.c index 32ac6550..63be6cce 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8269,7 +8269,7 @@ void P_MobjThinker(mobj_t *mobj) P_SetScale(smoke, mobj->target->scale/2); smoke->destscale = 3*mobj->target->scale/2; - smoke->scalespeed = FixedMul(smoke->scalespeed, mobj->target->scale); + smoke->scalespeed = mobj->target->scale/12; smoke->momx = mobj->target->momx/2; smoke->momy = mobj->target->momy/2; @@ -9089,7 +9089,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) // All mobjs are created at 100% scale. mobj->scale = FRACUNIT; mobj->destscale = mobj->scale; - mobj->scalespeed = FRACUNIT/12; + mobj->scalespeed = mapheaderinfo[gamemap-1]->mobj_scale/12; if (mapheaderinfo[gamemap-1] && mapheaderinfo[gamemap-1]->mobj_scale != FRACUNIT) //&& !(mobj->type == MT_BLACKEGGMAN) mobj->destscale = mapheaderinfo[gamemap-1]->mobj_scale; @@ -9429,7 +9429,7 @@ mobj_t *P_SpawnShadowMobj(mobj_t * caster) // All mobjs are created at 100% scale. mobj->scale = FRACUNIT; mobj->destscale = mobj->scale; - mobj->scalespeed = FRACUNIT/12; + mobj->scalespeed = mapheaderinfo[gamemap-1]->mobj_scale/12; if (mapheaderinfo[gamemap-1] && mapheaderinfo[gamemap-1]->mobj_scale != FRACUNIT) //&& !(mobj->type == MT_BLACKEGGMAN) mobj->destscale = mapheaderinfo[gamemap-1]->mobj_scale; diff --git a/src/p_saveg.c b/src/p_saveg.c index df76497d..b7b6cc17 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -1116,7 +1116,7 @@ static void SaveMobjThinker(const thinker_t *th, const UINT8 type) diff |= MD_SCALE; if (mobj->destscale != mobj->scale) diff |= MD_DSCALE; - if (mobj->scalespeed != FRACUNIT/12) + if (mobj->scalespeed != mapheaderinfo[gamemap-1]->mobj_scale/12) diff2 |= MD2_SCALESPEED; if (mobj == redflag) @@ -2123,7 +2123,7 @@ static void LoadMobjThinker(actionf_p1 thinker) if (diff2 & MD2_SCALESPEED) mobj->scalespeed = READFIXED(save_p); else - mobj->scalespeed = FRACUNIT/12; + mobj->scalespeed = mapheaderinfo[gamemap-1]->mobj_scale/12; if (diff2 & MD2_CUSVAL) mobj->cusval = READINT32(save_p); if (diff2 & MD2_CVMEM)