Skip to content

docs: qualify Ghidra default return and auto storage checks - #1030

Merged
hrusten merged 1 commit into
mainfrom
feature/ghidra-default-return-storage
Oct 3, 2026
Merged

hrusten merged 1 commit into
mainfrom
feature/ghidra-default-return-storage

Conversation

@hrusten

@hrusten hrusten commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator

What changed

Saved Ghidra storage checks can falsely infer AL:1 from neutral undefined's datatype length, or reject a correct automatic this by removing the auto tag from only the expected string. Document the two reproduced pitfalls and the saved-storage checks agents should use.

Linked issue

none

Evidence

  • No gameplay change (docs, tools, refactoring, platform fix)
  • Native behavior established
  • Rust regression tested
  • Parity demonstrated

Installed Ghidra 12.1.2 source and actual read-only saved-program observations establish these API details. The 0x5687F0 return remains DefaultDataType, length 1, , with no return varnodes after the checked receiver write; saved BEFORE also has . DynamicVariableStorage includes the literal auto tag, with an independent isAutoParameter flag. These observations make no native return-declaration or gameplay-parity claim.

Tests run

  • git diff --check origin/main...HEAD passed.
  • Actual corrected read-only BEFORE and AFTER component checks passed for all six Map dependencies, 67 retained Pointer layouts and the Matrix layout, with nine project files unchanged in each check.
  • Exact source inverse reproduces the canonical reader after reverting its one comparison-expression change; independent auto, type, width, purge and namespace checks remain intact.
  • Documentation examples matched actual captures and installed source. No links or Rust files changed.

AI assistance

  • AI tools helped
  • I can explain every change in this PR

Codex wrote the documentation and checked it against installed source and saved-program observations.

Checklist

  • No files from the game or extracted from it

README gameplay status is unaffected.

@hrusten
hrusten merged commit 7a4a785 into main Oct 3, 2026
7 checks passed
@hrusten
hrusten deleted the feature/ghidra-default-return-storage branch October 3, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant