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

Win98SE #328

Closed Allanon41 closed 3 months ago

Allanon41 commented 3 months ago

Could you make a version that works with Win98SE i586? I may be asking this ahead of myself, because my Win98 is modded and I'm going to try your win2000 i486 build in Win98.

FunkyFr3sh commented 3 months ago

It's not that difficult to build cnc-ddraw for 9x, but the problem is that the GDI renderer doesn't work on anything older than win2000 because it's multi-threaded and just results in a black screen. IF you got DirectX 9 or OpenGL 2.0 capable hardware then it could work in theory though.

Someone asked me asked recently for a 9x Debug build so I made one https://github.com/FunkyFr3sh/cnc-ddraw/issues/316#issuecomment-2155524771

Direct link to the file: https://github.com/user-attachments/files/15744822/ddraw3.zip

Edit: Also, keep in mind that you cannot just place a ddraw.dll into the game folder in 9x. This only started working in ME or 2000. So you'll have to figure out a way to get the game to load it

Allanon41 commented 3 months ago

Hmmm, my Fallout 2 install is modded up using sfall's ddaw.dll/ddraw.ini in game folder, but I believe the fallout.exe specifically looks for it.

egornovivan commented 3 months ago

Fallout 2

sfall 3.8.43+/sfall 4.4.3+ ddraw.dll and ddraw.ini place in game directory cnc-ddraw place in <GameRoot>\wrapper\

See recent changelog https://github.com/sfall-team/sfall/blob/master/CHANGELOG.md


The backport for Win98 was not updated https://github.com/kokee11/sfall9x

I advise you to use at least xp sp3

There is an updated version in the dropbox link https://www.nma-fallout.com/threads/sfall-win98-backport.221929/

FunkyFr3sh commented 3 months ago

Hm, yeah,,, might be interesting to know what you were trying to do @Allanon41

If you were trying to get sfall to work on win9x and you thought that cnc-ddraw may be the solution, then nope, that's not the case. You cannot replace the sfall ddraw.dll with the cnc-ddraw ddraw.dll. The sfall ddraw.dll is not a directdraw wrapper, it does contain game patches as well.

To get sfall working on 9x, try the sfall9x link from egornovivan.

If you had sfall working already and wanted to use cnc-ddraw on top of it, then normally you would create a folder named "wrapper" inside of your game folder and place cnc-ddraw inside of it. However, that trick probably doesn'T work with sfall9x because it wasn't updated with the patch that allows loading cnc-ddraw from a subdir. You probably have to do multiple hex edits. First the one described in the sfall9x repo (rename sfall ddraw.dll to gdraw.dll) and finally hex edit the gdraw.dll to load xdraw.dll and then rename the cnc-ddraw ddraw.dll to xdraw.dll

Allanon41 commented 3 months ago

Yep learned that the hard way.👌I see my logic was wrong. I got Diablo 2 to work though (not with cnc). On iOS RetroArch. Fallout 2 is working on Retro too.