From 3ef6029764cfcba7e73bf62c19addbe1732480b8 Mon Sep 17 00:00:00 2001 From: Fire-Head Date: Fri, 31 May 2019 00:49:06 +0300 Subject: fixed CParticle crash && RandTable implemented PC codewarrior rand updated premake --- src/re3.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/re3.cpp') 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 -- cgit v1.2.3