Skip to content

V1.2

Choose a tag to compare

@alfizari alfizari released this 14 Oct 13:42
· 5 commits to main since this release
36389fe

PS5 Debug Studio: cheat format compatibility update

This release makes .shn, .mc4, GoldHEN .json and ShnExt cheats behave the way GoldHEN and onionHEN expect, on both import and export. It was tested against all 5,445 files in the GoldHEN cheat repository and against onionHEN's own cheat parser.

Importing cheats

  • Every GoldHEN repository file now imports, up from 5,438 of 5,445.
  • UTF-16 .shn files are supported.
  • Absolute lines (<Absolute>True</Absolute> in .shn/.mc4, "absolute": true in .json) now use the address as written instead of adding the executable base.
  • Names with quotes (e.g. Max YEN "After Gained Or Used") no longer break .mc4 and .shn imports.
  • GoldHEN "button" cheats keep their own off value.
  • Damaged off values (an odd number of hex digits) are no longer trusted. When the cheat is turned off, the original game bytes are restored instead.
  • Hex with stray spaces or odd length is read the way GoldHEN reads it.
  • "Trainer info" entries with no offset are skipped instead of writing to the start of the executable.
  • Out-of-range section numbers are treated as section 0, as onionHEN does.
  • Title IDs in file names are found even when next to _ (e.g. Mirage_PPSA07230_…).

ShnExt

  • Simple ShnExt cheats (fixed offset plus code or nop:N) import correctly. Before, they crashed the import.
  • nop:N is understood (N bytes of 90).
  • Hooks on computed addresses now patch the right place.
  • Real game names from the project are used when available.
  • Encrypted .ShnExt files opened in the toolkit now show a clear message pointing to the Cheat Player.

Running imported cheats

  • Section N lines are checked against the game. The cheat patches whichever meaning (PS4-tool or onionHEN/GoldHEN) holds the line's original bytes, and turning it off uses the same address.
  • Master Code cheats work like GoldHEN. Cheats marked "MC" find their real address inside the code the Master Code wrote, and their description reminds you to turn the Master Code on first.
  • An address picked without verification is retried the next time the cheat is turned on, instead of being kept.

Exporting cheats (.shn / .mc4 / .json)

  • Absolute addresses are exported as Absolute lines, with a warning, instead of being refused.
  • GoldHEN .json can now carry section.
  • On and off values of different lengths are kept, with a warning, since GoldHEN accepts them.
  • Offsets past 4 GB no longer come out as the wrong section.
  • Negative offsets export correctly. These are caves placed just before the executable.
  • Cheat names with quotes are written so onionHEN can read them.
  • Absolute lines are written first, which avoids an onionHEN bug that marks earlier normal lines as absolute.
  • Results match: exports of the GoldHEN repository files read back in onionHEN with the same patches as the originals, except lines onionHEN itself can't read.