From 6183f8125fa4dc00db087b683bc08b8deb68e3d2 Mon Sep 17 00:00:00 2001 From: Edward Richardson Date: Sat, 3 May 2014 02:48:52 +1200 Subject: [PATCH] Don't change RNG in demos incase they are static --- src/d_main.cpp | 1 + src/g_level.cpp | 10 ++++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index f677f88b3..5d36459db 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -1998,6 +1998,7 @@ static void D_DoomInit() { rngseed = staticrngseed = atoi(v); use_staticrng = true; + Printf("D_DoomInit: Static RNGseed %d set.\n", rngseed); } else rngseed = I_MakeRNGSeed(); diff --git a/src/g_level.cpp b/src/g_level.cpp index c721be4e1..7b37ad471 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -408,13 +408,11 @@ void G_InitNew (const char *mapname, bool bTitleLevel) if (!savegamerestore) { - if (use_staticrng) + if (!netgame && !demorecording && !demoplayback) { - rngseed = staticrngseed; - } - else if (!netgame) - { // [RH] Change the random seed for each new single player game - rngseed = rngseed + 1; + // [RH] Change the random seed for each new single player game + // [ED850] The demo already sets the RNG. + rngseed = use_staticrng ? staticrngseed : (rngseed + 1); } FRandom::StaticClearRandom (); P_ClearACSVars(true);