[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Old lithtech games d3d to opengl wrapper

Old lithtech games d3d to opengl wrapper

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

Old lithtech games d3d to opengl wrapper

Postby revelator » Fri Feb 15, 2019 1:33 am

Tinkered a bit with wine and managed to make versions that supports all the old ddraw to d3d functionality on windows :)
dll's included are ddraw.dll d3drm.dll d3dim.dll d3dxof.dll ddrawex.dll.

If interrested i can upload them so that you can enjoy these old games again :)
no compatibility settings besides admin needed and no setup required, just drop the dlls in the same folder the game exe is in and away you go :mrgreen:

Tested on blood 2 aliens vs predator 2 and both games play without any problems.
Custom launcher for aliens vs predator where you can set resolutions as high as your card allows, also includes is a widescreen fix which can be enabled via the launcher (not made by me). For Blood2 i made a simple launcher that sets affinity for the game to 1 cpu (avoids crashes in most cases), i can also include a fixed client.exe for this game that prevents crashes at high resolutions (from dgvoodoo). These two games use all the dlls provided, actually they also use an older version of dinput, and avp2 has some custom dinput dll's included that prevents jerky mouse movement at high resolutions. Unfortunatly these do not work with Blood 2 (mouse goes bananas), but Blood 2 luckily does not have the same jerky mouse bug avp2 has, so who cares :P . The dll's might also work with other games that relied on the older ddraw to d3d functionality (dx6-7).
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Old lithtech games d3d to opengl wrapper

Postby revelator » Fri Feb 15, 2019 9:04 pm

Well heres the link :)

https://sourceforge.net/projects/cbadva ... z/download

for avp2 drop all dlls from the main folder plus the dlls in avp2-dinput fix folder to the main dir where avp2.exe is.

If you want the custom launcher drop it from the avp2-launcher dir to the same dir as the dll's.

The custom launcher allows setting all resolutions and contains a fix for widescreen (enable in settings).

For blood2 drop all dll'sin the main folder into the main dir where blood2.exe is.

for widescreen support copy the folder Custom from blood2- widescreen-patch into the main dir,
and in the blood2 launcher hit customize. Locate WidescreenPatch.REZ and hit add and tick allways load these rez files.
for the nightmares addon locate WidescreenPatchNm.REZ and add that instead. You can only use one of these at a time
so do not add both.
Blood2 sometimes gets rather unstable at high resolutions, setting affinity to 1 cpu usually takes care of most crashes,
but it still does it from time to time. So save often. Instead of setting this manually via taskmanager i included a simple launcher to set this automatically, copy it out of the blood2-launcher dir and into the main dir where blood2.exe is located. Now start the game with a shortcut to the launcher instead.

Remember to set "allways run as admin for all users" in compatibility settings for both games, nothing else is needed.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Old lithtech games d3d to opengl wrapper

Postby revelator » Sat Feb 16, 2019 12:45 am

One other quirk that might crop up, is if you are using a high dpi usb mouse.
These tend to break lithtech engines of various flavors (yup even fear).
I been the unfortunate owner of such a beast so i know :twisted:

The wrappers from dgvoodoo work but the window tends to have problems in fullscreen when you have the above.
Not sure why a mouse would break a game renderer but it does sigh.
The wine wrappers do not exhibit this behaviour so its something directly linked to using directx,
wine uses opengl for rendering but dgvoodoo uses d3d.
dxwnd also works ok'ish with lithtech engines, but it can be a little daunting to set up.

I gotten 99% of the most wanted games to run on modern OS (win7 to win10),
so if anyone has a problem with a game let me know. I might have an idea what you need to do :).
Dosgames notwithstanding, allthough theres only really one way to play a dosgame these days (DOSBox) or on an old PC with DOS or Win9x.

There are several flavours of DOSBox out there though, some use rather elaborate tricks to emulate old hardware,
others can use shaders so that your pixels might get a shineup.
Most up to speed version is probably dosbox-x which is a fully statically linked DOSBox with a good deal of the old daum code. Its standalone, eg. needs no SDL or SDL2 dll's. It also supports long file names which DOS did not untill version 7.
This can be disabled though since not everything works as it should with this on (application must support it in the first place or things get pretty screwy).
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Old lithtech games d3d to opengl wrapper

Postby revelator » Sun Feb 17, 2019 4:00 am

dxwnd works better for blood2 i discovered, while the wine d3d to opengl wrappers work for it, it crashes a lot more often with them.
for avp2 the wine wrappers work splendidly though :).
I suspect that some directsound calls dont get fully translated as when it crashes i noticed that the sound started skipping wildly.
But its a bit odd since im not using wines directsound dll :shock: , i guess in this case mixing some parts of directx (directsound in this case) with wines, leads to some crap that the engine cannot handle.

Also a small warning for avp2, if you intend to set up resolutions via the old launcher with wine, dont. It hangs the launcher indefinatly, use the custom launcher instead.

Played all characters of avp2 to the end with no crashes so far :)
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest