ddraw.dll for XvT BoP

Any issues with the XWAU or X-Wing Alliance? Please let us know here!
Post Reply

ddraw.dll for XvT BoP

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Sun Dec 27, 2015 11:43 pm

Hello,
I finally had time to look at the ddraw.dll project and managed to extend it to work for BoP except for movie playback - at least it works for me.
Note that it's still a rough thing, tested only by me, but I attached it together with the config needed. It should still work with XWA if you change the config to XWAMode = 1 (or remove it).
Anyone interested in the details have a look at the github pull request https://github.com/JeremyAnsel/xwa_ddraw_d3d11/pull/2

Edit: for latest version please see https://github.com/rdoeffinger/xwa_ddraw_d3d11/releases
Edit2: Do not forget to enable software cursor for XWING95 and TIE95, either via launcher, by making a shorcut with the "/softwarecursor" option or by using xwahacker's "swcursor.bat" to permanently enable it.
Last edited by Reimar on Thu Jan 21, 2016 8:45 pm, edited 3 times in total.

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Wed Dec 30, 2015 8:32 pm

Updated version.
It now seems to work fine for 3D and software mode, at least I am not aware of any more bugs now (except occasional hangs/crashes? Haven't occurred lately but it's hard to be sure they really are gone).
Also there is a new xwahacker command-line version you can use to re-enable 3D mode in the GOG releases of the games.
Last edited by Reimar on Sun Jan 17, 2016 8:13 pm, edited 1 time in total.

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Fri Jan 01, 2016 1:20 am

Now also working for X-Wing95 and TIE95, though the 8-bit software rendering mode is only partially working.
I've seen stability issues in a few cases, but haven't been able to really track it down or even be sure if it has anything to do with this...
Btw you can also enable a "blurrier" but IMO nicer scale type in the .cfg file. Particularly the cutscenes benefit IMO.
There are better scaling algorithms that could be implemented, and it should be possible to even apply them to the textures but I'll probably leave that to someone else if anyone is interested.

User avatar
Jaeven
XWAU Member
Posts: 578
Joined: Mon Mar 30, 2015 3:18 am

Post by Jaeven » Sat Jan 02, 2016 3:28 am

Probably a really dumb question, but what do these do? :ops:

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Sat Jan 02, 2016 9:47 am

Same as for XWA: if unpacked into those program's folders they make the hardware 3D mode work properly again, including some graphics improvements like MSAA, and avoiding some issues with ALT+Tab etc.

User avatar
ShadowOwl
Cadet 3rd Class
Posts: 33
Joined: Sat Jan 24, 2015 12:47 am

Post by ShadowOwl » Sat Jan 16, 2016 9:29 pm

Thanks Reimar! :handy: Definitely going to take a look at this.

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Sun Jan 17, 2016 8:13 pm

Updated version that does not require the MSVC runtime to be installed, thus a good bit larger.
The "blurry" scaler is enabled by default.
Note you need to enable the software cursor for TIE95/XWing95. You can do that via the launcher, via the /softwarecursor command-line option or by forcing it on with xwahacker 2.7's swcursor.bat.

Edit: for latest version please see https://github.com/rdoeffinger/xwa_ddraw_d3d11/releases
Last edited by Reimar on Thu Jan 21, 2016 8:24 pm, edited 1 time in total.

Bman
Lieutenant Commander
Posts: 1170
Joined: Mon Apr 05, 2004 11:01 pm

Post by Bman » Tue Jan 19, 2016 4:28 am

Thanks Reimar for tackling this. "Q", just posted a thread in the Pilot Lounge that caught my attention . . . .

What is your opinion of the DgVoodoo version of DirectX wrapper ? I'm wondering if it can run the older LA games besides XWA. If so, it might be a third alternative solution for people who still cannot play XWA etc. DISC, COG, or Steam versions, using your XWAHacker tools and/or Jeremy's DirectDraw.dll solution. I have not downloaded or used any of Dege's files but his DgVoodoo version is here:

http://dege.freeweb.hu/

I saw he has included wrapper support for the old Glide drivers 2.11+ for hopefully playing classic games like Quake 2 CD's. :-)
W-I-P: TFTC, MC Viscount Cr., ISD-II Avenger, NL-1 Platform, Ton-Falk Esc. Cr., & Misc.

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Tue Jan 19, 2016 8:47 pm

I think as a generic wrapper to faithfully reproduce how the games looked and worked back then dgVodoo is better and more complete (though I think it needs an option to preserve aspect).
However the files in this thread allow you to play those old games like XvT in your native resolution. It's of course nowhere close what you can get out of XWA, but it's still much better - partially because upscaled content looks so horrible on LCDs compared to what it actually looked like on a CRT.
The last point, and from my point of view the biggest one, there is no source available for dgVodoo.
So if the author ever loses interest and new issues come up with the next hardware generation or OS then we're just back to square one again.
For that reason I'm really glad Jérémy decided to publish the source to his solution, and maybe over time there will be more people willing and interested to improve on it so it works with even more games.
It also means the first thing people with problems with this wrapper should do from my point of view is report the issues (with as good bug reports as they can, preferably on github).

User avatar
Darksaber
Vice Admiral
Posts: 10931
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Tue Jan 19, 2016 10:29 pm

@Reimar it might be an idea to remove your older files, and if the DLL is the same please name the file the same

at the moment you have
In the thread Direct3D 11 via DDraw.dll
ddraw_for_3D.zip dated Mon Jan 04, 2016 which is 39.1 KiB
in the same thread lower down you have
ddraw_for_3D.zip dated Tue Jan 05, 2016 which is 40.17 KiB

This might be confusing to some people, could you please remove the outdated version please

Then you have
ddraw_for_XvT_BoP_TIE95_XWing95.zip
in the thread ddraw.dll for XvT BoP
But looking at the ddraw.cfg from both zip files there are minimal differences but the ddraw.dll one for XvT_BoP_TIE95_XWing95 is 256kb the other from ddraw_for_3D is 89kb, but can these be interchangeable between XWA and the older games?

I think you need some sort of text file in with the other files stating what these files do and for what game, also including the info Jeremy added to his text file, if your ddraw.dll is based off of his work which it looks to be, please.
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Wed Jan 20, 2016 7:25 pm

One thing at a time. Polishing it for a proper release will take a bit longer (and I don't think a forum is a good way to do releases anyway).
While in theory the dlls are interchangeable they are different versions and I tested them only with the game I posted them for. Also the .cfg files are different, so giving it the same name would just make it more confusing.
I intend to avoid the need for different cfg files, update the readme and add it, actually updating the version numbers, generally trying to get a release process in place (what I have used for other projects only works on Linux) etc. but that all takes time and effort and my holidays are over - though of course anyone wanting to help is welcome.
So it will remain a bit longer at the current "throw it over the wall and see who can use it" quality.

User avatar
Darksaber
Vice Admiral
Posts: 10931
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Wed Jan 20, 2016 7:39 pm

All I'm asking you to do is remove older versions which are in the same thread.

and add a readme file giving the original author credit and add text for mentioning what game that particular ddraw.dll is for.
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

Reimar
Cadet 1st Class
Posts: 239
Joined: Mon Jan 19, 2009 11:45 am

Post by Reimar » Thu Jan 21, 2016 8:35 pm

I had already removed the old version in the other thread.
I also made a proper unified release that should work with all games of the series, and a (somewhat at least) updated readme.txt and updated all posts to point to that. Though there was one change I forgot to do but can't remember what it was.
I'll also add, the copyright notice and attribution missing from the dll file (the details page in the properties) was a messup on my side, I broke the resource file and VisualStudio silently dropped its contents instead of warning. Sorry about that, though not sure if anyone even noticed.

Post Reply