diff options
author | chirs241097@gmail.com <chirs241097@gmail.com@c17bf020-1265-9734-9302-a83f62007ddb> | 2014-03-08 02:23:30 +0000 |
---|---|---|
committer | chirs241097@gmail.com <chirs241097@gmail.com@c17bf020-1265-9734-9302-a83f62007ddb> | 2014-03-08 02:23:30 +0000 |
commit | 465842710c7cb87e0e8fffd0b2afe3d624fe2354 (patch) | |
tree | bb6c0672ff0bc471e77a88ec9c6e916af2638a5d /hgewin/random.cpp | |
parent | 3c7ced2cf99a2874e4d761e6859dbc285bbed5ac (diff) | |
download | bullet-lab-remix-465842710c7cb87e0e8fffd0b2afe3d624fe2354.tar.xz |
Merge code for Windows, Leaf_Anim rewrite, should fix crashes in Windows.
This revision (or the next one) will be released to public.
Diffstat (limited to 'hgewin/random.cpp')
-rwxr-xr-x | hgewin/random.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/hgewin/random.cpp b/hgewin/random.cpp new file mode 100755 index 0000000..c3332f1 --- /dev/null +++ b/hgewin/random.cpp @@ -0,0 +1,32 @@ +/* +** 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); +} |