File Management and Game State Handling - tomvita/Breeze-Beta GitHub Wiki

Breeze: File Management and Game State Handling

Breeze is a powerful tool for tracking changes in game memory across different states. Its unique approach requires a bit of adaptation but offers greater flexibility and accuracy compared to other tools like EdiZon. Below is a detailed explanation of how Breeze works.


Search Process in Breeze

Breeze creates files that store address-value pairs, which represent the search criteria. These files help track changes in game memory across different states. The process involves the following steps:

  1. Dump to File 1: Capture a full memory dump of Game State A (data for every address in game memory).
  2. Play the game and make changes: Transition from Game State A to Game State B.
  3. Diff from File 1 to File 1(00): Identify addresses with values that changed between Game State A and Game State B. Store the values from Game State A in File 1(00).
  4. Diff from File 1(00) to File 1(01): Identify the same addresses but store the values from Game State B in File 1(01).
  5. Play the game and make further changes: Transition from Game State B to Game State C.
  6. Diff from File 1(01) to File 1(02): Identify addresses with values that changed between Game State B and Game State C. Store the values from Game State C in File 1(02).

In summary, the Breeze search process follows this sequence:
Dump → Play → Diff → Diff → Play → Diff


File Management

To simplify the process:

  • The first file is automatically named File 1 if it doesn’t already exist.
  • Subsequent files are named sequentially, such as File 1(00), File 1(01), File 1(02), etc., to maintain an organized structure.

Each file stores:

  • Address-value pairs: The values represent what was in memory at the time of the search.
  • Screenshots: A screenshot of the game is saved with each file, allowing you to visualize the game state at the time of the dump.

Key Behavior of Diff

  • When performed on a dump result, the Diff operation stores data from the dump (not the current memory).
  • To capture the current memory state, a second dump must be performed sequentially.

Comparison with EdiZon

  • EdiZon uses a single file, and each operation overwrites the previous result. Its process is:
    Dump → Play → Diff → Play → Diff

  • Breeze requires one additional search step when starting with a dump:
    Dump → Play → Diff → Diff → Play → Diff

This extra step in Breeze ensures that changes are tracked more comprehensively, with separate files for each state and diff operation.


Game State Explanation

  • Game State A: The initial state where you dump the game’s memory (stored in File 1).
  • Game State B: The state after making changes (stored in File 1(01)), with a diff performed between Game State A and Game State B.
  • Game State C: The state after further changes (stored in File 1(02)), with a diff performed between Game State B and Game State C.

This progression helps track changes in the game’s memory and provides a clear view of how values evolve over time.


Why Breeze?

Breeze’s approach provides a more detailed and organized way to track memory changes across game states. By creating separate files for each step and storing values from both the dump and current memory, Breeze offers greater flexibility and accuracy in analyzing game memory.


Let me know if you have any questions or need further clarification!