From 6d677347252e9b7b6e5b7aca6994105ff8638d57 Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 9 Aug 2022 12:36:12 -0700 Subject: [PATCH] Use M_Random for precip --- src/p_mobj.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index e6070de59..4dde9e77d 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -88,6 +88,15 @@ void P_AddCachedAction(mobj_t *mobj, INT32 statenum) actioncachehead.prev = newaction; } +static inline INT32 randomframe (mobj_t *mobj, INT32 n) +{ + // Only mobj thinkers should use synced RNG + if (mobj->thinker.function.acp1 == (actionf_p1)P_MobjThinker) + return P_RandomKey(n); + else + return M_RandomKey(n); +} + // // P_SetupStateAnimation // @@ -118,8 +127,8 @@ static void P_SetupStateAnimation(mobj_t *mobj, state_t *st) } else if (st->frame & FF_RANDOMANIM) { - mobj->frame += P_RandomKey(animlength + 1); // Random starting frame - mobj->anim_duration -= P_RandomKey(st->var2); // Random duration for first frame + mobj->frame += randomframe(mobj, animlength + 1); // Random starting frame + mobj->anim_duration -= randomframe(mobj, st->var2); // Random duration for first frame } }