FunkyFr3sh / cnc-ddraw

GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic 2D games for better compatibility with Windows ME, 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS/Android) and Virtual Machines
https://discord.gg/afWXJNDDF5
MIT License
2.33k stars 148 forks source link

Diablo II start - Error 25: "A critical error has occurred while initializing Direct3D." #70

Closed AstroMati closed 3 years ago

AstroMati commented 3 years ago

Hello, I'm having trouble starting the game. Files: ddraw.ini, ddraw.dll and folder with shaders are in game folder.

Log file: cnc-ddraw.log

My configuration: width=1920 height=1080 fullscreen=true windowed=false maintas=false boxing=false maxfps=360 vsync=false adjmouse=false shader=Shaders\anti-aliasing\shaders\aa-shader-4.0.glsl posX=-32000 posY=-32000 renderer=opengl devmode=false border=false savesettings=2 resizeable=true vhack=false noactivateapp=false maxgameticks=500 handlemouse=true hook=4 minfps=0 nonexclusive=false singlecpu=true [Game] width=1920 height=1080

I don't have any mods.

What i have to do?

FunkyFr3sh commented 3 years ago

It doesn't work with 1.14*, you'll have to use any of the older versions such as 1.13c.

Also, make sure you set your renderer to DirectDraw via d2vidtest.exe and don't pass -w to the game (you can enable windowed mode via Alt+Enter instead)

AstroMati commented 3 years ago

It's working. Thank you.

Awordes commented 3 years ago

@FunkyFr3sh , hello. Will the cnc-ddraw work on Diablo 2 1.14 and higher in the future? Thank you.

FunkyFr3sh commented 3 years ago

@FunkyFr3sh , hello. Will the cnc-ddraw work on Diablo 2 1.14 and higher in the future? Thank you.

I've been doing some tests and it seems to work fine, but the problem is that it requires some game patches. I'm not really interested in releasing such patches though (People may try to use it on the official battle.net servers then and might get banned...)

There is someone else who created a patch as well, but you need to compile it on your own: https://github.com/mir-diablo-ii-tools/SlashGaming-Diablo-II-Free-Display-Fix

Awordes commented 3 years ago

@FunkyFr3sh, I don't understand, how to inject DLL into Game.exe. How to do it? FAQ not so informative.

FunkyFr3sh commented 3 years ago

@FunkyFr3sh, I don't understand, how to inject DLL into Game.exe. How to do it? FAQ not so informative.

Yeah, what he made there isn't easy to use :( But why would you want to use it anyways? The newer versions don't add any useful features, so better just install 1.13c and use that one instead.

Awordes commented 3 years ago

@FunkyFr3sh, I don't understand, how to inject DLL into Game.exe. How to do it? FAQ not so informative.

Yeah, what he made there isn't easy to use :( But why would you want to use it anyways? The newer versions don't add any useful features, so better just install 1.13c and use that one instead.

I found tool to downgrade version to older version, but.... it doesn't work with online installer at 1.14 and above versions ))

FunkyFr3sh commented 3 years ago

Someone uploaded the old 1.13c installer for PD2 players, links are here:

You could also install from cd's too if you have them

Awordes commented 3 years ago

@FunkyFr3sh, BIG thanks! It's work now! Another question - can cnc-ddraw make D2 widescreen?

FunkyFr3sh commented 3 years ago

@FunkyFr3sh, BIG thanks! It's work now! Another question - can cnc-ddraw make D2 widescreen?

It can't really change the internal resolutions of the game, but it can upscale it to remove the black bars on the sides with "fullscreen=true". But there are high resolution patches you can download for 1.13c and then change your resolution to 1068x600 just like it was done in some mods like ProjectDiablo2

Example config:

config.zip

Awordes commented 3 years ago

It can't really change the internal resolutions of the game, but it can upscale it to remove the black bars on the sides with "fullscreen=true". But there are high resolution patches you can download for 1.13c and then change your resolution to 1068x600 just like it was done in some mods like ProjectDiablo2

Thanks! I found Slash Diablo 2. I think this mod used by PD2. cnc-ddraw + Slash Diablo = <3. Thank you very much :)