-
Notifications
You must be signed in to change notification settings - Fork 10
Basics of Search
Data types is how the bits in memory are representing numbers
Integer of 8, 16 and 32 bit respectively. u8, u16, u32 are unsigned integer and s8, s16, s32 are signed integers. u32 is the most common, u16 is used by 16 bit games, u8 is sometimes used by game that combine two attribute into one variable. The signed variant is when the most significant bit is the sign bit.
f32 is single precision floating point, f64 is double precision floating point.
The most commonly used types are u32, f32, f64. "=*" will perform a search for these two types that equal to the value you enter. Just enter the value and perform the search. Go play the game and see that the value changed then come back and repeat the search. Do this for some iteration until the number of candidates is small enough.
You modify the value and see if you get the desired effect.
Change the value and see the update on screen, found the one, job done
Sometimes the display value and the effective value are not the same. The effective value is updated on screen only when the game change it, when you change it the update don't happen on screen. The update only comes when the game update the value.
Try a different datatype and repeat the search. Usually u16 is the next one, then u8
Try unknown value search
When you can't see a number on screen you need to either do a range search or do a full dump as a first search. Then you need to make a guess of the datatype and follow up with Change from previous value search.
The value has increased from previous value on file
The value has increased from previous value on file by val. (sometimes the game will let you know this number)
The value has decreased from previous value on file
The value has decreased from previous value on file by val. (sometimes the game will let you know this number)
The value is same as previous value on file
Search the address on file but use the value stored in file mark with a B. This is useful when you can be sure the value is the same. For example you can expect full bar of health to be the same value.
The value is different from the previous value on file.