[EXPERIMENT/MSS] Attempt func 0x00467810 and 0x004799A0#56
Conversation
I tweak this in the Ghidra export such that all files that use Mss32 use Mss32.h. Basically I collapse everything underneath a certain namespace/folder in Ghidra to the Mss32.h header. Just like it is done for Directplay. Regarding _close
Can you show the dump / diff?
We need to make sure we use MSVCRT not UCRT (I had issues with mixing the two). Or perhaps it is the other way around and we have to use UCRT. Would it be better if we implement _close via a function resolver macro call? Then we use the game's own one for the time being, avoiding any IO issues. Shall I use |
|
We might end up needing these CRT functions as resolvers, yes. Likely with a shared "implemented" flag. With a bit of luck we maybe can just use the ptr to the windows version for "implemented". If Crusader has the CRT statically linked, we are out of luck, and need to hook the functions anyway. It might actually be, because this might have been the reason I switched our build to static CRT a while ago, but I have not checked the dll imports in a while. Regarding the Mss32 header |
Run into multiple things that might need updates on Ghidra side. Here my comments from one file:
EDIT:
Currently have an assertion error if the "_close" is called. Something does not fit at the moment...