Skip to content

Conversation

AlexKnauth
Copy link
Collaborator

@AlexKnauth AlexKnauth commented Feb 2, 2024

This PR depends on #92 for V1Cattrs support, and replaces the old #53.

This adds Mac support for Unity/Mono V1, V1Cattrs, and V2. More V3 offsets could be added in the future after testing with a V3 game: my best educated guess at the V3 offsets is here: https://github.com/AlexKnauth/asr/tree/mono-4-v3

The Mac SceneManager support works without needing std or alloc.

The Mac Mono support needs alloc, but not std.

@AlexKnauth AlexKnauth marked this pull request as draft May 11, 2024 23:32
@AlexKnauth
Copy link
Collaborator Author

AlexKnauth commented May 11, 2024

The macho::symbols iterator function still needs work.

It currently works for Hollow Knight 1.2.2.1 and 1.5.78, but not 1.4.3.2 on Mac.

Something is wrong with finding the symbol table and string table in memory.

A previous version that used the filesystem for the symbol table and string table, was able to work just fine. (I think)

@AlexKnauth AlexKnauth changed the title Some Mac and Linux support for Unity/Mono Some Mac support for Unity/Mono Mar 20, 2025
@AlexKnauth AlexKnauth marked this pull request as ready for review September 3, 2025 19:43
@AlexKnauth
Copy link
Collaborator Author

AlexKnauth commented Sep 3, 2025

After macho symbols: scan_macho_pages, it can finally attach to Hollow Knight Mac version 1432, which it couldn't do before.

@mitchell-merry
Copy link
Contributor

That commit also makes it work for Cuphead, which wasn't working before!

For future readers, there was a bunch of discussion in the speedrun tool development discord about that, starting from here: https://discord.com/channels/144133978759233536/705023265860616223/1412084787820101773

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.

2 participants