TASEmulators / TASEmulators/BizHawk
[F.Rq.] Search for text in RAM Search, maybe RAM Watch as text, maybe other encodings for Hex Editor
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
While this might get rejected for similar reasons as #1011, and/or because it's already technically possible for the user to do this by manually translating unsigned ints into characters, I think it might be worth bringing up.
I think it might be interesting to support character values on memory watch and memory search.
This could allow finding useful values for botting by looking up characters displayed by the game's own HUD, which is easier to find than the variable(s) otherwise being used to store the value internally.
The obvious complication here is that many games use "unusual" text encodings that are not compatible with ASCII or UTF-8.
However, I do know that the (common?) Japanese encoding "JIS X 0201" is already partly ASCII compatible, and I have a bot that automates luck manipulation for wind values for Mario Golf which checks its result by reading the memory locations that store the characters displayed by the HUD for wind speed (0x0F6F56 and 0x0F6F57), which was much easier than trying to find the internal representation of the weather.
While this is already possible just using 1-byte unsigned int values, it might be interesting to have a built-in option in the ram watch/ram search modules for displaying a 1-byte value as "char" rather than "signed", "unsigned", or "hex".
Or maybe it might be too niche to be worthwhile, IDK. 🤷♂️
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the RAM Search and RAM Watch modules, including how their existing signed, unsigned, and hex display options are represented. Then review the Hex Editor entry point to determine whether encoding support belongs there as well. Done means the scope and supported character encodings are agreed and the affected tools have consistent, tested behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100