I was able to omit the limit by using Cheat Engine and changing the logic in the exe file. There is a method like MFatigue.CBasicUnit::IsGameMemoryLow. After turning always false from here, no more limit will exist. But the second problem is that the game, after some time, will crash. And always MFatigue.exe is taking max 256 mb of RAM. So there needs to be another bottleneck that doesn't allow for registering more memory. am thinking that the game is allocating some memory at the beginning, and then she can't allocate more. I am trying to find where this allocation is done to remove the limit or increase it up to a maximum of 3.5 GB ( this will be the maximum for 32-bit registry)
-------------------------
Instead of jumping, we'll just force the function to exit immediately, returning 0 (which means "everything is OK"). This code is exactly 3 bytes long, so it will overwrite the original instruction without any issues.
Go to the very beginning of the function: MFatigue.CBasicUnit::IsGameMemoryLow.
Right-click on the first instruction (sub esp, 08) and select "Assemble".
In the window, type these two instructions:
Code:
xor eax, eax
retn
Click "OK" to save the changes.
This is the cleanest and most technically stable method. The game, instead of executing a complex function, will simply set the result to 0 and exit immediately. This has to work.
-------------------------