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.23k stars 143 forks source link

Compability issue #276

Closed Ognyan1987 closed 8 months ago

Ognyan1987 commented 8 months ago

When i set the game to compability win 95 or 98 and win Xp SP 3 get error and can not load the game

any chance you can enable the usage of 95 and 98 and win Xp SP 3 compability please or atleast tell me which one from the older version can handle them ?

LuKeSt0rm commented 8 months ago

Why do you need compatibility settings? generally no compatibility settings are required for a game if you use the wrapper.

Wickez commented 8 months ago

There's no need to set compatibility for Windows 95/98 in Windows 10/11 if you're using a wrapper. A custom wrapper, in the form of a custom dynamic library, like CNC-DDraw, that's placed in the same directory as the game's executable, will intercept all calls to the various available API(s) with a priority (with optimization in mind*). And since setting the compatibility filters out the various available options for API(s), you're making yourself disservice, since the custom wrapper might call for something you have filtered out with the compatibility setting.

In short: either the wrapper or the compatibility settings. Or install yourself a virtual machine with Windows 95/98 and play the game there.

*This is at least how I understand the subject.

Ognyan1987 commented 8 months ago

@LuKeSt0rm , @Wickez i am using map hacks for some games which requires the game to be ran on win 95 or 98 !

@Wickez sry mate my machine can not handle a running VM :( , its old PC but with win 10 in my village , using it when relaxing with old games ! I just wish @FunkyFr3sh just to enable compability for all windows versions !

FunkyFr3sh commented 8 months ago

It's just a warning message, it's actually doing nothing at all. Once you click ok the game will start.

The problem is that the compatibility modes might break the game or cnc-ddraw (hence why there's a warning), but there's nothing I can do about it.

cnc-ddraw without warning: ddraw.zip

Wickez commented 8 months ago

Like the wrapper's author wrote: there's nothing really one can do about it. A wrapper is basically a hack, and hacks are all about memory allocations, hooks, and overrides. The compatibility settings are kind of hack too, performing memory "magic" things as well (but I guess it's more about limiting general options), and now you need some map hacks too (and I'm 100% positive they are messing with the games' allocated memory again).

All you can do now is to apply all three and hope for the best. Good luck!

Ognyan1987 commented 8 months ago

@FunkyFr3sh yeah in my case it break sthe game , the game does not load or it loads and stays in background in task manager iddle ! Only happens if i use win 95/98 compability

BTW does the zip that contains the cnc without warning i also the latest release ?

FunkyFr3sh commented 8 months ago

@FunkyFr3sh yeah in my case it break sthe game , the game does not load or it loads and stays in background in task manager iddle ! Only happens if i use win 95/98 compability

BTW does the zip that contains the cnc without warning i also the latest release ?

Yes that's the latest release.

What game is it BTW?

Ognyan1987 commented 8 months ago

@Funky-Fr3sh Diablo II patch 1.13d , compability win 95 and 98 cant work but XP SP 2 and 3 are ok when loading but sometimes game crashes when i save and exit

FunkyFr3sh commented 8 months ago

@Funky-Fr3sh Diablo II patch 1.13d , compability win 95 and 98 cant work but XP SP 2 and 3 are ok when loading but sometimes game crashes when i save and exit

Ah, yeah that game should work without compatibility modes