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

[Suggestion] Darkstone #312

Closed SilentMRG closed 4 months ago

SilentMRG commented 4 months ago

Hi Funky! \o

I saw that Moto Racer 1 and 2 were added to the list. I tested both today and they worked like a charm! That small fullscreen of both was driving me crazy. XD

So, you know, both MRs were produced by Delphine Software International, the same developer as Darkstone, and apparently, they use the same graphics engine. When I try to launch Darkstone with cnc-ddraw, I get an undetected Direct3D error. And both MR starts through cnc-ddraw even with the Direct3D option activated. Even the MR 1 itself has "Direct3D Edition" written in the main menu (if I'm not mistaken, hehe).

Anyway, if it's possible and you can, make Darkstone compatible with cnc-ddraw. =) I can start Darkstone with a GOG wrapper, but the game opens in a tiny fullscreen like MR 1 and 2, so I end up resorting to another GOG wrapper to start Darkstone correctly in complete fullscreen.

Thank you and best regards!

FunkyFr3sh commented 4 months ago

Hm, not sure if it'S worth it. These 3d games usually look a lot better with a 3D wrapper (smooth bilinear filter!). cnc-ddraw only supports DirectDraw but no Direct3D, will not be possible to get the smooth look with it

SilentMRG commented 4 months ago

I understand... But is the GOG wrapper also DirectDraw or does it have something D3D in it? From what I see there is a "ddraw" dll in addition to, of course, a configurator and a ".ini" file. Maybe cnc-ddraw filtering can be done through some shader?

Look, it's not for nothing, but GOG's full-screen wrapper makes 3D graphics look like "wet cardboard", it's better than nothing, but I'm sure you can do better in cnc-ddraw. =D

Anyway, this was all something I thought of after seeing both MR working in cnc-ddraw.

Cheers!

SilentMRG commented 4 months ago

You may already be aware of this (I think): https://glampert.com/2015/09-01/reverse-engineering-darkstone/ Note that for some reason the guys at DSI put one of the Motorcycle models among a handful of files. XD

FunkyFr3sh commented 4 months ago

I understand... But is the GOG wrapper also DirectDraw or does it have something D3D in it? From what I see there is a "ddraw" dll in addition to, of course, a configurator and a ".ini" file. Maybe cnc-ddraw filtering can be done through some shader?

Look, it's not for nothing, but GOG's full-screen wrapper makes 3D graphics look like "wet cardboard", it's better than nothing, but I'm sure you can do better in cnc-ddraw. =D

Anyway, this was all something I thought of after seeing both MR working in cnc-ddraw.

Cheers!

Yeah, the original ddraw.dll supports not only DirectDraw but also Direct3D. GOG does sell a lot of Direct3D games so their wrapper also got that part supported. I did not add any support for the Direct3D part in cnc-ddraw at all.

I think the MR games did support both, DirectDraw and Direct3D. Not sure about Darkstone, I'll have to check

You may already be aware of this (I think): https://glampert.com/2015/09-01/reverse-engineering-darkstone/ Note that for some reason the guys at DSI put one of the Motorcycle models among a handful of files. XD

nice lol, maybe it's just there by accident

FunkyFr3sh commented 4 months ago

This game does not seem to have a software renderer, so nothing I can do here :(

SilentMRG commented 4 months ago

It's a shame... =/ I appreciate you checking this out!