diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2009-06-01 22:41:58 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2009-06-01 22:41:58 +0400 |
commit | 4c7a02f6a1d517f8af6e4cf9200c067e9c71cf78 (patch) | |
tree | ca972409490c7c1d606b5859815946b7230d47b8 /source/gameengine/Converter/KX_ConvertActuators.cpp | |
parent | 2a3627e338516646d3e68f4db6147a80410bcf1f (diff) |
BGE: memory leak in Random actuator + make actuator truly random when seed=0 in the UI. When running the game, seed 0 is replaced by a random seed accessible through Python in seed attribute of the actuator. Other seed value will be left unchanged and will generate fixed pseudo random series.
Diffstat (limited to 'source/gameengine/Converter/KX_ConvertActuators.cpp')
-rw-r--r-- | source/gameengine/Converter/KX_ConvertActuators.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp index 2b832996c45..ea812a71fdd 100644 --- a/source/gameengine/Converter/KX_ConvertActuators.cpp +++ b/source/gameengine/Converter/KX_ConvertActuators.cpp @@ -954,6 +954,11 @@ void BL_ConvertActuators(char* maggiename, = (bRandomActuator *) bact->data; unsigned long seedArg = randAct->seed; + if (seedArg == 0) + { + seedArg = (int)(ketsjiEngine->GetRealTime()*100000.0); + seedArg ^= (intptr_t)randAct; + } SCA_RandomActuator::KX_RANDOMACT_MODE modeArg = SCA_RandomActuator::KX_RANDOMACT_NODEF; SCA_RandomActuator *tmprandomact; |