From 77e85e08ea0d063c2ea77b3ad5d8ffe9d1f068f4 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 11 Jan 2024 13:49:31 -0800 Subject: [PATCH 1/2] Clouds: always use map scale for vertical bounce --- src/objects/cloud.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/objects/cloud.c b/src/objects/cloud.c index b0f011dc2..8f2c88262 100644 --- a/src/objects/cloud.c +++ b/src/objects/cloud.c @@ -157,20 +157,8 @@ void Obj_PlayerCloudThink(player_t *player) if (P_MobjWasRemoved(mo->tracer)) return; - switch(mo->tracer->type) - { - case MT_AHZ_CLOUD: - P_SetObjectMomZ(mo, CLOUDB_ZTHRUST, false); - break; - case MT_AGZ_CLOUD: - mo->momz = FixedMul(mapobjectscale, CLOUD_ZTHRUST * P_MobjFlip(mo->tracer)); - break; - case MT_SSZ_CLOUD: - P_SetObjectMomZ(mo, CLOUD_ZTHRUST, false); - break; - default: - break; - } + mo->momz = FixedMul(mapobjectscale, + (mo->tracer->type == MT_AHZ_CLOUD ? CLOUDB_ZTHRUST : CLOUD_ZTHRUST) * P_MobjFlip(mo->tracer)); player->cloudlaunch = TICRATE; P_InstaThrust(mo, mo->cusval, mo->cvmem); From f8bd70687852af63fdfd33e7119460efacaa691b Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 11 Jan 2024 14:06:49 -0800 Subject: [PATCH 2/2] Clouds: use consistent scale --- src/objects/cloud.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/objects/cloud.c b/src/objects/cloud.c index 8f2c88262..7eeaed95a 100644 --- a/src/objects/cloud.c +++ b/src/objects/cloud.c @@ -42,21 +42,15 @@ void Obj_CloudSpawn(mobj_t *mobj) return; } - if (mobj->type != MT_AGZ_CLOUDCLUSTER) - { - mobj->destscale = mapobjectscale * 4; - P_SetScale(mobj, mobj->destscale); - } + mobj->destscale = mapobjectscale * 4; + P_SetScale(mobj, mobj->destscale); mobj_t *cloud = P_SpawnMobj(mobj->x, mobj->y, mobj->z, cloudtype); angle_t ang = mobj->angle; UINT8 dist = 128; - if (cloudtype == MT_AGZ_CLOUD) - { - cloud->destscale = cloud->scale * 2; - P_SetScale(cloud, cloud->destscale); - } + cloud->destscale = cloud->scale * 2; + P_SetScale(cloud, cloud->destscale); for (UINT8 i = 0; i < 4; i++) { @@ -65,10 +59,11 @@ void Obj_CloudSpawn(mobj_t *mobj) cloud = P_SpawnMobj(x, y, mobj->z, cloudtype); + cloud->destscale = cloud->scale * 2; + P_SetScale(cloud, cloud->destscale); + if (cloudtype == MT_AGZ_CLOUD) { - cloud->destscale = cloud->scale * 2; - P_SetScale(cloud, cloud->destscale); cloud->frame = P_RandomRange(PR_DECORATION, 0, 3); }