I have seen many game that like to use f32 or f64 to store number that actually never have decimal point.@TomSwitch, had some misinfo about the Crosscode hp
it doesn't changes from decimal to double on hit, instead decimal becomes double when hp is over 255 then back to decimal when hp is 255 or less
Some of the time they even store u32 and f32 at the same memory address, why I have no idea.
Hacking 4GL engine using 3GL method is hard. I think a game is using 4GL engine when I see the game code that touch the memory having zero offset and access a very large quantify of addresses. ( my gen2 fork only reserve memory for 255 entries and these always exceed them so you see 255 but it is very very much larger than that )
When the code that touch the memory is engine code rather than procedural code hacking it means understanding the engine and the game logic which can not be seen by looking at the engine code.
4GL engine is often database driven, the memory you want to hack is in this database and the database is access by the game logic by means of some key. You have to interpret the key to know that the engine is actually accessing the data you want to hack.
Pointer to the database record is going to be unreliable but some game are hybrid and the 3GL part of the game have conventional pointer that works. Maybe what you found is some address than handles the transition between 4GL and 3GL part of the game engine.
The other thing is the database do garbage collection and reclaim memory by moving records to fill the holes that is left by records that has been deleted, some records that are added early is never moved because there is no holes above it but those that get added later will have records that are added earlier than them deleted and such record gets moved
4GL engine is often text based, the save is just plain text and this one has a save that is plain text, you see lea and her attribute such as level and hp in the text of the save file. Just search for "lea"
Hacking save file for 3GL engine and 4GL engine is very different. 3GL the value is stored in binary and the offset is fixed. 4GL is always going to have the offset changed, say the value is 1 then it becomes 1.55 now the file has shifted and enlarged because 1 is one character and 1.55 has three extra characters.
Post automatically merged:
I looked briefly and then lost interest. Here is what I have on my Switch. This is likely the game code that access coin, watch this code and you get the memory address of coin. Once you have lots of coins you have already wonCode request for Reaper Survivors v1.0 01004A301E8BA000. Thanks!
[Breeze beta88 Reaper Survivors 1.0 TID: 01004A301E8BA000 BID: 483F907CFF813C4A]
[coin]
04000000 01687254 B940FE68
Last edited by TomSwitch,