From d3e6c6ab0244ecb045a0e11589e6b40f1cad828d Mon Sep 17 00:00:00 2001 From: toaster Date: Tue, 26 Sep 2023 22:10:43 +0100 Subject: [PATCH] Newly added object files: Fix Random classes - Was previously abusing PR_FUZZ - Add PR_TRACKHAZARD, for randomised track hazards --- src/m_random.h | 1 + src/objects/dlzrocket.c | 6 +++--- src/objects/eggball.c | 10 +++++----- src/objects/rideroid.c | 6 +++--- src/objects/wpzturbine.c | 16 ++++++++-------- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/m_random.h b/src/m_random.h index 18579596d..479ea24ef 100644 --- a/src/m_random.h +++ b/src/m_random.h @@ -73,6 +73,7 @@ typedef enum PR_SPARKLE, // Endsign and/or Emerald PR_MOVINGTARGET, // Randomised moving targets + PR_TRACKHAZARD, // Randomised track hazards PR_BATTLEUFO, // Battle UFO spawning diff --git a/src/objects/dlzrocket.c b/src/objects/dlzrocket.c index 160e221f2..dc5325713 100644 --- a/src/objects/dlzrocket.c +++ b/src/objects/dlzrocket.c @@ -177,9 +177,9 @@ void Obj_playerDLZRocket(player_t *p) for (j = 0; j < 2; j++) { - fixed_t xoffs = P_RandomRange(PR_FUZZ, -6, 6)*mapobjectscale; - fixed_t yoffs = P_RandomRange(PR_FUZZ, -6, 6)*mapobjectscale; - fixed_t soffs = P_RandomRange(PR_FUZZ, 0, 3); + fixed_t xoffs = P_RandomRange(PR_EXPLOSION, -6, 6)*mapobjectscale; + fixed_t yoffs = P_RandomRange(PR_EXPLOSION, -6, 6)*mapobjectscale; + fixed_t soffs = P_RandomRange(PR_EXPLOSION, 0, 3); mobj_t *expl = P_SpawnMobj(r->x + xoffs, r->y + yoffs, r->z + xoffs, MT_THOK); P_SetMobjState(expl, S_QUICKBOOM1+soffs); diff --git a/src/objects/eggball.c b/src/objects/eggball.c index 1fa9653bd..4a74e3647 100644 --- a/src/objects/eggball.c +++ b/src/objects/eggball.c @@ -38,7 +38,7 @@ void Obj_EggBallSpawnerThink(mobj_t *mo) ball->angle = mo->angle; P_SetScale(ball, 6*mapobjectscale); - mo->extravalue1 = P_RandomRange(PR_FUZZ, TICRATE*BALLMINSPAWNTIME, TICRATE*BALLMAXSPAWNTIME); + mo->extravalue1 = P_RandomRange(PR_TRACKHAZARD, TICRATE*BALLMINSPAWNTIME, TICRATE*BALLMAXSPAWNTIME); } mo->extravalue1--; } @@ -68,7 +68,7 @@ void Obj_EggBallThink(mobj_t *mo) mobj_t *dust = P_SpawnMobj(mo->x, mo->y, mo->z, MT_DRIFTDUST); P_SetScale(dust, mapobjectscale*3); P_InstaThrust(dust, (360/16)*an*i, mapobjectscale*24); // the angle thing is to avoid a warning due to overflows. - dust->momz = P_RandomRange(PR_FUZZ, 0, 7)*mapobjectscale; + dust->momz = P_RandomRange(PR_DECORATION, 0, 7)*mapobjectscale; } S_StartSound(mo, sfx_s3k59); @@ -92,13 +92,13 @@ void Obj_EggBallThink(mobj_t *mo) { if (P_IsObjectOnGround(mo) && mo->extravalue2 &1) { - fixed_t dx = mo->x + P_RandomRange(PR_FUZZ, -96, 96)*mapobjectscale - mo->momx*2; - fixed_t dy = mo->y + P_RandomRange(PR_FUZZ, -96, 96)*mapobjectscale - mo->momy*2; + fixed_t dx = mo->x + P_RandomRange(PR_DECORATION, -96, 96)*mapobjectscale - mo->momx*2; + fixed_t dy = mo->y + P_RandomRange(PR_DECORATION, -96, 96)*mapobjectscale - mo->momy*2; fixed_t dz = mo->z; mobj_t *dust = P_SpawnMobj(dx, dy, dz, MT_DRIFTDUST); P_SetScale(dust, mapobjectscale*3); - dust->momz = P_RandomRange(PR_FUZZ, 0, 7)*mapobjectscale; + dust->momz = P_RandomRange(PR_DECORATION, 0, 7)*mapobjectscale; dust->destscale = mapobjectscale*8; } diff --git a/src/objects/rideroid.c b/src/objects/rideroid.c index 58258d14b..1a4415ce3 100644 --- a/src/objects/rideroid.c +++ b/src/objects/rideroid.c @@ -65,9 +65,9 @@ static void Obj_killRideroid(mobj_t *mo) t->color = SKINCOLOR_TEAL; t->frame = FF_FULLBRIGHT; t->destscale = 1; - t->momx = P_RandomRange(PR_DECORATION, -32, 32)*mapobjectscale; - t->momy = P_RandomRange(PR_DECORATION, -32, 32)*mapobjectscale; - t->momz = P_RandomRange(PR_DECORATION, -32, 32)*mapobjectscale; + t->momx = P_RandomRange(PR_EXPLOSION, -32, 32)*mapobjectscale; + t->momy = P_RandomRange(PR_EXPLOSION, -32, 32)*mapobjectscale; + t->momz = P_RandomRange(PR_EXPLOSION, -32, 32)*mapobjectscale; } P_RemoveMobj(mo); } diff --git a/src/objects/wpzturbine.c b/src/objects/wpzturbine.c index b75a3bd2d..7ce18bfd4 100644 --- a/src/objects/wpzturbine.c +++ b/src/objects/wpzturbine.c @@ -106,8 +106,8 @@ static void Obj_WPZTurbineUpdate(mobj_t *mo) if (mt->thing_args[7]) dradius = mt->thing_args[7]; - bubbleradius = P_RandomRange(PR_FUZZ, dradius/4, (dradius*3)/2); - bubbleang = P_RandomRange(PR_FUZZ, 0, 359)*ANG1; + bubbleradius = P_RandomRange(PR_BUBBLE, dradius/4, (dradius*3)/2); + bubbleang = P_RandomRange(PR_BUBBLE, 0, 359)*ANG1; bx = mo->x + FixedMul(mapobjectscale, bubbleradius*FINECOSINE(bubbleang>>ANGLETOFINESHIFT)); by = mo->y + FixedMul(mapobjectscale, bubbleradius*FINECOSINE(bubbleang>>ANGLETOFINESHIFT)); @@ -285,9 +285,9 @@ void Obj_playerWPZTurbine(player_t *p) if (pmo->eflags & MFE_UNDERWATER) { - fixed_t rx = pmo->x + P_RandomRange(PR_FUZZ, -64, 64)*mapobjectscale; - fixed_t ry = pmo->y + P_RandomRange(PR_FUZZ, -64, 64)*mapobjectscale; - fixed_t rz = pmo->z + P_RandomRange(PR_FUZZ, -64, 64)*mapobjectscale; + fixed_t rx = pmo->x + P_RandomRange(PR_DECORATION, -64, 64)*mapobjectscale; + fixed_t ry = pmo->y + P_RandomRange(PR_DECORATION, -64, 64)*mapobjectscale; + fixed_t rz = pmo->z + P_RandomRange(PR_DECORATION, -64, 64)*mapobjectscale; mobj_t *bubl = P_SpawnMobj(rx, ry, rz, MT_THOK); P_SetScale(bubl, pmo->scale*2); @@ -370,9 +370,9 @@ void Obj_WPZBubbleThink(mobj_t *mo) if (leveltime & 1) { - fixed_t rx = mo->x + P_RandomRange(PR_FUZZ, -64, 64)*mapobjectscale; - fixed_t ry = mo->y + P_RandomRange(PR_FUZZ, -64, 64)*mapobjectscale; - fixed_t rz = mo->z + P_RandomRange(PR_FUZZ, -64, 64)*mapobjectscale; + fixed_t rx = mo->x + P_RandomRange(PR_DECORATION, -64, 64)*mapobjectscale; + fixed_t ry = mo->y + P_RandomRange(PR_DECORATION, -64, 64)*mapobjectscale; + fixed_t rz = mo->z + P_RandomRange(PR_DECORATION, -64, 64)*mapobjectscale; mobj_t *bubl = P_SpawnMobj(rx, ry, rz, MT_THOK); P_SetScale(bubl, mapobjectscale*4); bubl->destscale = 1;