[GOG] Community Patches Collection

  • Is there any chance you can make that work with this German Patch?

    https://www.compiware-forum.de…atrizier-iii-german-patch

    I would love to play it in German, but it seems like there is some kind of "Font" issue as soon as you want to load the game.

    No idea how that patch works, so probably not. Is there anything known about how it was created? It might be easier to develop an i18n mod which loads all strings from resources instead of those baked into the executable, but I won't do it

  • Hi,


    i'm gaming on linux using proton/wine to run the game and wanted to give the modloader a try. The game still launches fine with the modloader.exe, but i don't notice any mods being loaded.


    I unpacked the mod DLLs into the "mods" directory in the Partician 3 directory. The Wine-Debug log doesn't show any of the mod DLLs being loaded (including p3_modloader.dll). Shouldn't the modloader crash if it can't load p3_modloader.dll or does it just silently fail and continue?


    I suspect it's a file path issue where the DLLs can't be found. Are the DLLs being referred to by an absolute or relative path?


    Let me know if there are any logs or diagnostics i can share to help troubleshoot the issue.

  • If p3_modloader is missing or cannot be opened, the modified Patrician3.exe should crash before it reaches main, because p3_modloader.dll is referenced in the exe's Import Directory Table. If you delete the dll on Windows, you get the expected "p3_modloader.dll was not found" error message.


    I have no idea how to debug wine processes or what their memory layout looks like compared to windows, but if you are certain that you execute the correct binary, you could break at main and check the IATs (if they exist on wine).

  • I just did the same to make sure the p3_modloader.dll isn't being loaded (deleted it from the directory) and the game still launches just fine. I double checked that i definitely have the modloader.exe selected.


    Guess i'll have to find out how to debug windows applications in linux ?(

    Is there any possibility that the way the DLL is hooked gets blocked or silently fails in proton/wine or is the executable guaranteed to crash if the hook fails? I remember wine being a bit fussy about loading certain DLLs in other old games, but i haven't had any troubles like that in a long time.


    Anyways, thanks for the quick reply. I'll see what i can do.

  • I just did the same to make sure the p3_modloader.dll isn't being loaded (deleted it from the directory) and the game still launches just fine. I double checked that i definitely have the modloader.exe selected.


    Guess i'll have to find out how to debug windows applications in linux ?(

    Is there any possibility that the way the DLL is hooked gets blocked or silently fails in proton/wine or is the executable guaranteed to crash if the hook fails? I remember wine being a bit fussy about loading certain DLLs in other old games, but i haven't had any troubles like that in a long time.


    Anyways, thanks for the quick reply. I'll see what i can do.


    On Windows, applications do crash immediately if a dependency referenced in the IDT cannot be found. On linux it very much depends, and with wine in the mix I have no idea.


    Some thoughts I had tonight:

    - maybe wine uses lazy binding instead of (full) relro?

    - the IDT entry for p3_modloader.dll is empty, maybe there are runtime optimizations in wine which skip dependencies without any import symbols?

    - maybe there are LD_PRELOAD equivalents for wine which might help - but Patrician3.exe *must* be loaded into memory before p3_modloader's DllMain is executed, otherwise it cannot hook WinMain