Skip to content

Conversation

@rfortier
Copy link
Contributor

@rfortier rfortier commented Nov 13, 2025

There were a couple of issues with the way it was doing it. The attempt to reference __ImageBase wasn't working, so it was effectively NULL.

And NULL could stop working (and __ImageBase can change) once SkyrimSE.exe was loaded because the GetModuleFileName() spoofing in SkyrimTogether was not robust; it isn't possible to reliably determine if base STR is asking (vs. the game exe or a mod) in the face of multiple different hook systems.

The bug was once things are running a mod or Skyrim could actually get the SkyrimTogether path. The best fix was to have SkyrimTogether turn on spoofing when it is about to load the .exe. But that would cause late-loading parts of STR, like the UI / Cef, to get a Skyrim path when it wanted a STR path.

Best fix is for TiltedPhoques::GetPath() to persist the correct path it gets early. That enables a simple fix for when GetModuleFileName*() should spoof, so both SkyrimTogether and {SkyrimSE, mods} get the answer they expect, reliably.

Please tag v0.2.8 so we can update xmake-repo

There were a couple of issues with the way it was doing it. The attempt to reference __ImageBase wasn't working, so it was effectively NULL. And NULL could stop working (and __ImageBase can change) once SkyrimSE.exe was loaded because the GetModuleFileName() spoofing in SkyrimTogether was not robust; it isn't possible to reliably determine if base STR is asking in the face of multiple different hook systems.
@Force67 Force67 merged commit 5e582f1 into tiltedphoques:master Nov 15, 2025
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