Post
by Conqueror » Wed Mar 15, 2023 5:22 pm
Hello devurandom. I'm having a lot of problems with BaseMod + D2GS, it seems to have hundreds of buggy functions in the CallStack and several things wrong at the beginning (like trying to load D2Server.dll at the beginning and patching it, in my case I use a new version of D2Server which I implemented it myself and obviously you cannot apply those patches to it since it is a different version from the one "everyone uses", and if I decide to change the name to something else, like D2Server2.dll for example, BaseMod directly stops its execution or generates issues).
Another annoying bug, or "thing," is that it apparently does something to system memory. If I don't use BaseMod, the memory used is around 50-70mb, but with BaseMod loaded it goes up to 200 (in D2GS it's much more noticeable, since without BaseMod the memory used by the application is 10mb, and with BaseMod it's 187mb). Do you add a patch to FOG that modifies the number of MemPools or something like that? You shouldn't do this (or at least make it optional) because in my case I have the entire MEMORY system rewritten and specially designed to hold up to 16k MemoryPools (unlike the original game which goes up to 8, and that's where the effort comes for using VirtualAlloc on top of the memory pointer to allocate 150 MB to just the memPools).
On the 1.13c server I have running with BaseMod, I'm doing it temporarily as I don't have the time to implement all the useful content for 1.13c (since it involves mounting and fetching all other offsets, although D2Server was not a problem since it is identical to 1.10, with some slightly different callbacks and the world event, the rest is the same, and in D2GS it is also the same one that I use for Blessing, although with changes in the callbacks, and yes, on my side I used all the precautions of the CallStacks and whatnot, since it's just __stdcall and __fastcall some others, it's no problem, and I compared every parameter inside D2Game.dll of 1.13c that matches, I have everything covered, the only problem is BaseMod).
If you want me to help you fix these issues within BaseMod, I can do that with no problem (by editing it from the source code, which I obviously don't have). If you don't know me, I work on Blessing (a Mod that I didn't publish anything on PK's forum but on PK's Discord), and I have all of D2Game and almost all of D2Client rewritten from 1.10, in case you need any function or section of code, I can provide it to you and are (mostly) analogous to 1.13c-1.13d except RedPortal, Respect or WorldEvent.