soulsmods / ModEngine2

Runtime injection library for modding Souls games. WIP
MIT License
864 stars 157 forks source link

How to load multiple dlls at the same time? #160

Open littledoublelin opened 10 months ago

littledoublelin commented 10 months ago

When using an older version of modengine(in DS3), I know if I need to load two mods both need dinput8.dll, I have to rename one of the dll files and modify modengine.ini so it will "chain-load" these two dlls just like a linked list. The issue is, after I changed the 3rd line in config_darksouls3.toml into "external_dlls = ["honestmerchant.dll", "nologo.dll"]" and launched the game, only the former one works. Here is the debug log.

[2023-12-03 00:00:13.200] [modengine] [info] Loaded external DLL D:\steam\steamapps\common\DARK SOULS III\Game\nologo.dll [2023-12-03 00:00:13.200] [modengine] [warning] External dll D:\steam\steamapps\common\DARK SOULS III\Game\nologo.dll at base address 0x7ffa203c0000 is not a modengine extension [2023-12-03 00:00:13.374] [modengine] [info] Loaded external DLL D:\steam\steamapps\common\DARK SOULS III\Game\honestmerchant.dll [2023-12-03 00:00:13.374] [modengine] [warning] External dll D:\steam\steamapps\common\DARK SOULS III\Game\honestmerchant.dll at base address 0x7ff9ff410000 is not a modengine extension

Though it tells me both of them are not modengine extensions, it can still load one of them correctly whilethe other one doesn't work. How can I make both of them work? I downloaded the nologomod from https://wiki.speedsouls.com/darksouls3:No-Logo_Mod