[1.09d] Multiple Diablo II Instances
Moderators: Nefarius, Havvoric
[1.09d] Multiple Diablo II Instances
Hello Everybody,
I have made an alteration in D2gfx.dll to allow multiple instances of Diablo II to be ran. I have done this for 1.10f and 1.13c without any problems. I have made the same change for version 1.09d which works fine when running from Game.exe.
When running from Diablo II.exe I am only able to open one window, unless I open a second version from Game.exe. This does not occur with either 1.10f or 1.13c; only with 1.09d.
What is strange is that if I open 1.09d from Diablo II.exe it does not allow me to open a second from my other directory for 1.13c either.
I initially thought that the Diablo II.exe must have been different from the Diablo II.exe used in 1.10f and 1.13c however it appears to be exactly the same.
Does anybody have any knowledge on this or how I could resolve this? I understand I could just make a shortcut to Game.exe and run as normal however I am curious as to what the difference is and why this is happening.
Thanks for any info you guys might be able to offer.
Kieran
I have made an alteration in D2gfx.dll to allow multiple instances of Diablo II to be ran. I have done this for 1.10f and 1.13c without any problems. I have made the same change for version 1.09d which works fine when running from Game.exe.
When running from Diablo II.exe I am only able to open one window, unless I open a second version from Game.exe. This does not occur with either 1.10f or 1.13c; only with 1.09d.
What is strange is that if I open 1.09d from Diablo II.exe it does not allow me to open a second from my other directory for 1.13c either.
I initially thought that the Diablo II.exe must have been different from the Diablo II.exe used in 1.10f and 1.13c however it appears to be exactly the same.
Does anybody have any knowledge on this or how I could resolve this? I understand I could just make a shortcut to Game.exe and run as normal however I am curious as to what the difference is and why this is happening.
Thanks for any info you guys might be able to offer.
Kieran
Re: [1.09d] Multiple Diablo II Instances
Edit:
What happens if you replace the old diabloII.exe with a newer version, like one from 1.13c?
What happens if you replace the old diabloII.exe with a newer version, like one from 1.13c?
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin
Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..
Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..
Re: [1.09d] Multiple Diablo II Instances
They are both the same executable files.devurandom wrote: ↑Mon Jan 22, 2018 4:09 pmEdit:
What happens if you replace the old diabloII.exe with a newer version, like one from 1.13c?
Even so, I've tried with 1.13c and 1.14b Diablo II.exe's and same results!
Interestingly;
When you open from Diablo II.exe it launches the game fine. When I double click to open a second it does nothing.
When I launch from Game.exe another instance does open however windows separates it as another program. See below for a comparison:
Version 1.09 (First icon is Diablo II.exe - the rest are Game.exe)
Version 1.13c (All icons are Diablo II.exe)
This is the code for D2gfx.dll
Code: Select all
6FA7447C EB 47 JMP SHORT D2gfx.6FA744C5
6FA7447E 8D85 DCFEFFFF LEA EAX,DWORD PTR SS:[EBP-124]
6FA74484 68 64E4A76F PUSH D2gfx.6FA7E464 ; ASCII "Diablo II Critical Error"
6FA74489 50 PUSH EAX
6FA7448A E8 310F0000 CALL D2gfx.6FA753C0
6FA7448F 8D8D DCFDFFFF LEA ECX,DWORD PTR SS:[EBP-224]
6FA74495 68 3CE6A76F PUSH D2gfx.6FA7E63C ; ASCII "Only one copy of Diablo II may run at a time."
6FA7449A 51 PUSH ECX
6FA7449B E8 200F0000 CALL D2gfx.6FA753C0
6FA744A0 83C4 10 ADD ESP,10
6FA744A3 8D95 DCFEFFFF LEA EDX,DWORD PTR SS:[EBP-124]
6FA744A9 8D85 DCFDFFFF LEA EAX,DWORD PTR SS:[EBP-224]
6FA744AF 6A 30 PUSH 30
6FA744B1 52 PUSH EDX
6FA744B2 50 PUSH EAX
6FA744B3 53 PUSH EBX
6FA744B4 FF15 74C1A76F CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA
6FA744BA 5F POP EDI
6FA744BB 5E POP ESI
6FA744BC 33C0 XOR EAX,EAX
6FA744BE 5B POP EBX
6FA744BF 8BE5 MOV ESP,EBP
6FA744C1 5D POP EBP
6FA744C2 C2 0800 RETN 8
Re: [1.09d] Multiple Diablo II Instances
So it may have something to do with securom in v1.09 game.exe
Try installing the Fixed Game.exe for 1.09d from GalaXyHaXz linked in post below.
It removes securom to allow the game to run without CD.
viewtopic.php?t=61484
Try installing the Fixed Game.exe for 1.09d from GalaXyHaXz linked in post below.
It removes securom to allow the game to run without CD.
viewtopic.php?t=61484
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin
Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..
Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..
Re: [1.09d] Multiple Diablo II Instances
This is already the game.exe that I use mate!devurandom wrote: ↑Tue Jan 23, 2018 10:40 amSo it may have something to do with securom in v1.09 game.exe
Try installing the Fixed Game.exe for 1.09d from GalaXyHaXz linked in post below.
It removes securom to allow the game to run without CD.
viewtopic.php?t=61484
Re: [1.09d] Multiple Diablo II Instances
You need to use Game.exe and the modified d2gfx.dll like what you are doing. GalaxyHaxz change only has securom. Him and I worked together on some modifications together and I've used his . exes as a basis for all of my changes. You can take a look at my mod, in the Code Edits folder you can find all the changes documented. The files folder has all of the files organized. The WHATIS file in the main directory shows you which file has what change.
https://github.com/fearedbliss/singling
Note: It is normal behavior for pre 1.10 versions to require Game.exe for multiple windows rather than Diablo II.exe. I don't recommend using Diablo II.exe. there isn't anything in that executable that is really needed. I do understand your question is why the difference in behavior.. I asked the same question back when I first encountered that. But since Game.exe worked for every version consistently, I went with that solution and saved time.
https://github.com/fearedbliss/singling
Note: It is normal behavior for pre 1.10 versions to require Game.exe for multiple windows rather than Diablo II.exe. I don't recommend using Diablo II.exe. there isn't anything in that executable that is really needed. I do understand your question is why the difference in behavior.. I asked the same question back when I first encountered that. But since Game.exe worked for every version consistently, I went with that solution and saved time.
Re: [1.09d] Multiple Diablo II Instances
Appreciate that Fearedbliss but this is exactly what I'm trying to discover; the reasons why