From c91847d549cc1c30eb15504a15ea9a6d5aa48165 Mon Sep 17 00:00:00 2001 From: "chirs241097@gmail.com" Date: Sun, 12 Jan 2014 14:43:14 +0000 Subject: --- hge/random.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 hge/random.cpp (limited to 'hge/random.cpp') diff --git a/hge/random.cpp b/hge/random.cpp new file mode 100644 index 0000000..ab9956a --- /dev/null +++ b/hge/random.cpp @@ -0,0 +1,31 @@ +/* +** Haaf's Game Engine 1.8 +** Copyright (C) 2003-2007, Relish Games +** hge.relishgames.com +** +** Core functions implementation: random number generation +*/ + + +#include "hge_impl.h" + +unsigned int g_seed=0; + +void CALL HGE_Impl::Random_Seed(int seed) +{ + if(!seed) g_seed=timeGetTime(); + else g_seed=seed; +} + +int CALL HGE_Impl::Random_Int(int min, int max) +{ + g_seed=214013*g_seed+2531011; + return min+(g_seed ^ g_seed>>15)%(max-min+1); +} + +float CALL HGE_Impl::Random_Float(float min, float max) +{ + g_seed=214013*g_seed+2531011; + //return min+g_seed*(1.0f/4294967295.0f)*(max-min); + return min+(g_seed>>16)*(1.0f/65535.0f)*(max-min); +} -- cgit v1.2.3