From 67d8ec2aefd2a0135d3730494b9b59ebb027209b Mon Sep 17 00:00:00 2001 From: Sonic Dreamcaster Date: Sat, 8 Mar 2025 00:13:26 -0300 Subject: [PATCH] Rand fix for platforms other than Win64 --- src/sys/sys_math.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/sys/sys_math.c b/src/sys/sys_math.c index 826273d3..596ef95c 100644 --- a/src/sys/sys_math.c +++ b/src/sys/sys_math.c @@ -13,18 +13,14 @@ f32 Math_ModF(f32 value, f32 mod) { } void Rand_Init(void) { -#if defined(__SWITCH__) || defined(__linux__) - sRandSeed1 = (s32) osGetTime() % 30000 + 1; - sRandSeed2 = (s32) osGetTime() % 30000 + 1; - sRandSeed3 = (s32) osGetTime() % 30000 + 1; -#else sRandSeed1 = (s32) osGetTime() % 30000; sRandSeed2 = (s32) osGetTime() % 30000; sRandSeed3 = (s32) osGetTime() % 30000; -#endif } f32 Rand_ZeroOne(void) { + // LTODO: On these platforms, something corrupts the seeds, causing one of them to be 0. + // This is a workaround to circumvent this issue, that needs to be fixed. #if defined(__SWITCH__) || defined(__linux__) if ((sRandSeed1 == 0) || (sRandSeed2 == 0) || (sRandSeed2 == 0)) { Rand_Init();