summaryrefslogtreecommitdiffstats
path: root/src/re3.cpp
diff options
context:
space:
mode:
authorFire-Head <Fire-Head@users.noreply.github.com>2019-05-30 23:49:06 +0200
committerFire-Head <Fire-Head@users.noreply.github.com>2019-05-30 23:49:06 +0200
commit3ef6029764cfcba7e73bf62c19addbe1732480b8 (patch)
treeff4354c0a3056af8f580356787982021edf62963 /src/re3.cpp
parentadded CText (diff)
downloadre3-3ef6029764cfcba7e73bf62c19addbe1732480b8.tar
re3-3ef6029764cfcba7e73bf62c19addbe1732480b8.tar.gz
re3-3ef6029764cfcba7e73bf62c19addbe1732480b8.tar.bz2
re3-3ef6029764cfcba7e73bf62c19addbe1732480b8.tar.lz
re3-3ef6029764cfcba7e73bf62c19addbe1732480b8.tar.xz
re3-3ef6029764cfcba7e73bf62c19addbe1732480b8.tar.zst
re3-3ef6029764cfcba7e73bf62c19addbe1732480b8.zip
Diffstat (limited to '')
-rw-r--r--src/re3.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/re3.cpp b/src/re3.cpp
index 4f125098..11e8aea7 100644
--- a/src/re3.cpp
+++ b/src/re3.cpp
@@ -20,15 +20,24 @@ WRAPPER void gtadelete(void *p) { EAXJMP(0x5A07E0); }
void *operator new(size_t sz) { return gtanew(sz); }
void operator delete(void *ptr) noexcept { gtadelete(ptr); }
-// Use our own implementation of rand, stolen from PS2
-
+#if USE_PS2_RAND == TRUE
unsigned __int64 myrand_seed = 1;
+#else
+unsigned long int myrand_seed = 1;
+#endif
int
myrand(void)
{
+#if USE_PS2_RAND == TRUE
+ // Use our own implementation of rand, stolen from PS2
myrand_seed = 0x5851F42D4C957F2D * myrand_seed + 1;
return ((myrand_seed >> 32) & 0x7FFFFFFF);
+#else
+ // or original codewarrior rand
+ myrand_seed = myrand_seed * 1103515245 + 12345;
+ return((myrand_seed >> 16) & 0x7FFF);
+#endif
}
void