Skip to content

SPC Query

bbfox0703 edited this page Jul 10, 2026 · 1 revision

🌐 English · 繁體中文 · 日本語

SPC Query

Experimental tab (off by default). Needs captured snapshots.

The SPC Query tab finds fields (Single mode) or objects (Group mode) whose value followed a specific direction chain across a sequence of snapshotsno type and no value needed. You pick two or more snapshots, say how each one should compare to the previous (Increased / Decreased / Unchanged / Changed), and run.

This is Cheat Engine's "Unknown Initial Value" + Increased/Decreased scan, generalised across persisted snapshots and game restarts. Where the Snapshot Diff compares exactly two snapshots, SPC chains a predicate across N snapshots — and its Join modes can follow the same field across separate play sessions.

A Single field / Group (Multiple Values) toggle switches modes (mirrors the Snapshot Diff/Group and Value Search Single/Group toggles).


Single mode — one field's value sequence

Find every field whose value sequence matches the direction chain you set.

Query controls

  • Join — how a field is matched across snapshots:
    • Strict — same class + normalised path + offset (fewest false positives).
    • Loose — class + outer chain + name (recovers some spawned objects across sessions).
    • In-session — same game launch only (exact).
  • Rounding — how a fractional float/double absolute target is reduced before comparing.
  • Class / Field filters narrow the candidate set.

Snapshot sequence

Tick the snapshots to include. The oldest ticked snapshot is the baseline (its predicate is ignored); each later snapshot's predicate compares it to the previous ticked one. Columns: Use · Label · Captured (UTC) · Session · Compare (the predicate) · Value filter · Matches. Beyond a direction, you can add an optional absolute Value filter per row; the Matches column then previews the coerced integer/float range that filter resolves to (e.g. → int 12~13 · float 11.5~13.2).

Then Run SPC (Refresh reloads the snapshot list).

A hit → Copy Address / Open in Live Walker hands the newest snapshot's live address to Cheat Engine — the current one, so you can freeze it.

Results

Filter with Class / Field / Object / Filter all and a First / Last value range (Apply range / Reset). Columns: Class · Object · Field · Type · Value sequence. Each row offers Live (open in Live Walker), 🌍 (Locate in GWorld), (Locate in GameEngine), and Addr (copy).

Noise picker

Below the results, a noise picker lists the Top-N class contributors (the classes flooding the result set) and shows the active denylist as chips — click a chip to remove that class. Use it to strip engine/system noise from a busy result set.


Group mode — objects holding several sequences

Find objects that hold all of 2–4 fields at distinct offsets, where each field follows its own direction chain across the snapshots. For example, over [full, damaged, healed] snapshots: Current HP goes · → ↓ → ↑ while Max HP goes · → = → =.

  • Values (width scope per value)+ value / − value add or remove value slots (2–4); each slot has its own width scope.
  • Editing: — a prominent indicator of which value's chain the snapshot grid below edits. Pick a value, then set that value's Compare + Value filter down the snapshot rows; repeat for each value.
  • Tick the snapshots the same way as Single mode.
  • Find group runs it (Clear resets); it returns objects where every value's chain holds at the same time.

Results are master-detail: one row per matched object (Class · Object · Matched values); expand a row to see each value's per-slot Pattern (its direction chain). Per-row actions mirror Single mode.


SPC vs. Snapshot Diff / Group

Snapshot Diff / Group SPC Query
Snapshots compared Exactly 2 (Diff), or 1–2 (Group Mode B) N (a whole ticked sequence)
What it tests An exact value change / absolute value A direction chain per field (Increased/Decreased/Unchanged/Changed)
Across sessions In-session only Join = Strict / Loose / In-session (can span restarts)
Best for "What changed between these two?" "Which field went down-then-up over my whole run?"

Related Pages

  • Snapshot — capture the snapshots SPC queries; its Diff is the two-snapshot case.
  • Class Pivot — pivot a class's fields across snapshots to read its stat layout.
  • Value Search — the live-memory "Unknown Initial Value" equivalent (no snapshots).
  • Live Walker — where Live / 🌍 / land (on the newest snapshot's live address).

Clone this wiki locally