Conversation
|
Have you considered going all in on the C++ version and replacing the C# one? |
|
@thecatontheceiling the only drawback to that would be losing the easy gui via winforms. Even this version isn't perfect in that regard since it's CLI-only. |
|
also msvc sucks so i really don't want to mess with it lol |
|
Can we not use this clanker. |
| VM_PROT_READ | VM_PROT_WRITE), | ||
| }, | ||
|
|
||
| // Set "OnlineResources_Disable" to 0 (enable dynamic resources). |
There was a problem hiding this comment.
Just a note: this probably won't affect anything since we also disable OnlineResources_ForceOfflineOnFailure, but does this work on official? It doesn't have a DRP for MacOS (or iOS, or Switch 2).
AnthonyFuller
left a comment
There was a problem hiding this comment.
I can't say I'm well versed in MacOS semantics, but it looks solid from a couple read throughs. Just some minor comments.
| static constexpr uint8_t kNop[] = {0x1F, 0x20, 0x03, 0xD5}; | ||
|
|
||
| // Distance from the configdomain string buffer to the dynres config variables. | ||
| static constexpr int64_t kDynresEnableOffsetFromConfig = -0x40; |
There was a problem hiding this comment.
Not a fan of these hardcoded offsets - I suggest finding the config command function and calling that instead. I doubt it'll pose an issue though.
There was a problem hiding this comment.
If this breaks I'll re-evaluate
VolkerSchlegel
left a comment
There was a problem hiding this comment.
Not well versed with MacOS stuff at all, but C++-wise it looks good to me.
| if (kr == KERN_FAILURE) { | ||
| fprintf(stderr, | ||
| "Hint: run with sudo, or disable SIP if targeting " | ||
| "an iOS-on-Mac app.\n"); |
There was a problem hiding this comment.
This error message is too generic imo, the patcher won't target "an iOS-on-Mac app", but Hitman and Hitman only, so I suggest we remove that part (unless using the iOS version of MacOS and patching that is also withing scope?)
There was a problem hiding this comment.
The macOS build is just a wrapper around the iOS build.
Scope
Adds a new patcher, specifically for macOS. Extracted from #676.
This can be refined as we go but it's a pretty solid start.
Test Plan
Checklist
General