-
Notifications
You must be signed in to change notification settings - Fork 10
Basics of Search
Breeze search is file based. Each search will result in a file being created with a list of address value pair. When you continue a search it will search the address stored in the file that the cursor is on. With this system you have unlimited redo at any stage of the search, just point the cursor at the desired file.
It is not very common for a memory address to be valid for the whole duration of the gaming session. Quite often when there is a major state change the addresses where your targets are at will change. If you need more than one search to narrow down the list of candidates bear this in mind. If you see "loading" most of the time it is back to square one.
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.
If the list is small just do it individually
If the list is fairly large you may want to try this to know if the list even has the right target to avoid wasting time. Bear in mind that change many targets at once also increase the risk of crashing the game. The action is only from the cursor down and does not affect items above the cursor. You can move the cursor to select any range that is smaller than the number of candidates the button will act on. For example Freeze100 from index 1 then Unfreeze100 form index 4 will means only index 1,2,3 are frozen. Same apply for Inc1000 and Revert1000
Increment the value so it becomes easy for you to identify the right one
Remember to restore the value and this can save you from a crash some of the time
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.