From aee9c362bbeb9ae717f4b93cbbd5fa0dd9a71450 Mon Sep 17 00:00:00 2001 From: Aetias <144526980+AetiasHax@users.noreply.github.com> Date: Mon, 21 Jul 2025 19:09:56 +0200 Subject: ActorRupee 90% (#124) * Remove `force_data` macro * Use size_t in `operator new` * Bump objdiff to v3.0.0-beta.10 * Decompile functions using gRandom * ActorRupee 90% * Fix old gRandom.Next calls * Revert objdiff * Clean up --- include/System/Random.hpp | 6 +++--- include/System/SysNew.hpp | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'include/System') diff --git a/include/System/Random.hpp b/include/System/Random.hpp index cc1f2a12..02bed0bd 100644 --- a/include/System/Random.hpp +++ b/include/System/Random.hpp @@ -12,10 +12,10 @@ struct Random { /** * Generate a random number from 0 (inclusive) to `max` (exclusive) */ - inline u32 Next(u32 max) { + inline u32 Next(u32 min, u32 max) { mRandomValue = mAddend + mFactor * mRandomValue; - u64 result = (mRandomValue >> 32) * max; - return result >> 32; + u64 result = (mRandomValue >> 32) * (max - min); + return (result >> 32) + min; } }; diff --git a/include/System/SysNew.hpp b/include/System/SysNew.hpp index 5b3089ed..e488166b 100644 --- a/include/System/SysNew.hpp +++ b/include/System/SysNew.hpp @@ -3,6 +3,8 @@ #include "global.h" #include "types.h" +#include + struct UnkStruct_0202e894 { /* 00 */ u32 mId; /* 04 */ u32 *mUnk_04; @@ -19,8 +21,8 @@ extern u32 *data_027e0ce0[]; class SysObject { public: - static void *operator new(unsigned long length, u32 *id, u32 idLength); - static void *operator new[](unsigned long length, u32 *id, u32 idLength); + static void *operator new(size_t length, u32 *id, u32 idLength); + static void *operator new[](size_t length, u32 *id, u32 idLength); static void operator delete(void *ptr); static void operator delete[](void *ptr); }; -- cgit v1.2.3