Explorar o código

Fix setRandomSeed and setRandomState not fully invalidating the state used by randomNormal (resolves issue #1516).

Alex Szpakowski %!s(int64=6) %!d(string=hai) anos
pai
achega
83e74e5e6c
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      src/modules/math/RandomGenerator.cpp

+ 4 - 0
src/modules/math/RandomGenerator.cpp

@@ -104,6 +104,8 @@ void RandomGenerator::setSeed(RandomGenerator::Seed newseed)
 	} while (newseed.b64 == 0);
 
 	rng_state = newseed;
+
+	last_randomnormal = std::numeric_limits<double>::infinity();
 }
 
 RandomGenerator::Seed RandomGenerator::getSeed() const
@@ -129,6 +131,8 @@ void RandomGenerator::setState(const std::string &statestr)
 		throw love::Exception("Invalid random state: %s", statestr.c_str());
 
 	rng_state = state;
+
+	last_randomnormal = std::numeric_limits<double>::infinity();
 }
 
 std::string RandomGenerator::getState() const