@
Pipotron Okay, so I decided to test this out more. Normally I could care less about v83, but after having those errors as well it peeked my interest.
So, for starters, I tried doing numerous different "fix" attempts on your public v83 localhost that everyone here is using. After applying the GetModuleFileNameW hook I would no longer get an incorrect parameter, but it would fail to start sometimes. The first error that I had experienced was CoInitialize was not called, and this happened a few times but was not consistent. Then, the next error I had got was the one you had mentioned after bypassing HideDll. Unlike the former, this error was consistent -- it would sometimes take me 10 tries to start the client because of this error. Even after hooking into DirectInput8Create and sleeping the thread, that error would still occur and crash the client.
It wasn't until the next morning that I realized the problem I was having with the d3d error was because of my HideDll bypass. More specifically, it was because my HideDll bypass is meant for v90+ clients (I use my own personal AoB for the newer function entry point). What was happening as a result was the v83 client AoB'd some other function and force-returned that instead. Whooops.. I memed myself there :( However, even after I had fixed that issue, the CoInitialize errors were still happening for some reason.
This is where my theory of it being a problem because v83's localhost is a meme came to the test. I ended up making my own v83 localhost (well, a LEN at least) and after having spent some time tackling my HS and MSCRC bypasses, I was able to get everything working. Just the same, I hooked GetModuleFileNameW (but completely ignored DirectInput8 cause that's useless here) and with my MSCRC bypass I was able to force-return HideDll. As a result, my own v83 localhost starts up (faster too lmfao) without any CoInitialize or d3d error codes. I've tested this on MapleMS, Dream-MS, and Serenity to confirm, having ran the client almost a hundred different times with 100% success rate.
So basically, as I had expected, the v83 people are just having problems because of the localhost everyone is using. That, or I just have absolutely horrible luck when it comes to getting the v83 client to start. Anywho, just to confirm, make sure you're doing 33 C0 C3 at address 0044EC9C for v83. If that's not the address you have for HideDll, then that's definitely why you're getting weird d3d errors.