aqrit / ddwrapper

DirectDraw Interceptor, Proxy Dll
Other
35 stars 11 forks source link

IE DDrawFix #2

Closed KOTOEB closed 3 years ago

KOTOEB commented 3 years ago

Hi. Can you please an Arcanum support to IE DDrawFix? Arcanum has no CHITIN.KEY.

aqrit commented 3 years ago

I'll look into it.

Do you know anything that can help me? (1) I assume the GOG version has some kind of patch pre-installed for ddraw... Can the GOG ddraw patch (if any) be removed by reinstalling the official patches (if any)? Does the steam version (if any) have any ddraw patches?

(2) Do you know any Weidu scripting? Is it a simple matter of adding OUTER_SPRINT ~gameexe~ ~arcanum.exe~ in the ie-ddrawfix game detection code?

(3) What is your motivation to not use the various ddraw wrappers/replacements? CnC-DDraw, dgvoodoo2, Arcanum High Resolution Patch, my ddwrapper, wined3d, etc. ? It seems the Arcanum High Resolution Patch uses weidu.

KOTOEB commented 3 years ago

1) I think there are no patch for GOG version. There are only ddraw.dll. I have old original version, It doesn;t work on Win7, but if ddraw.dll was put into game folder, it works.

2) There is HighRes patch for arcanum, that use Weidu scripting https://terra-arcanum.com/drog/uap.html the game exe is arcanum.exe

3) Arcanum High Resolution Patch is the best patch for arcanum for now. But if i use windowed mode and minimize the game window, it becomes black for ever. I hope your patch won't have this issue. I create engine patches for arcanum, and i spend much time in disassembler, but if i accidently minimize the game window or all windows, it is very frustrating.

aqrit commented 3 years ago

I don't feel like putting any time into this, at the moment, at least not without a compelling need. The state of ddraw compatibility is not as bad as it was 10 years ago.

If you're interested, ie-ddrawfix just passes the "DDCREATE_EMULATIONONLY" flag to DirectDrawCreate.
For Arcanum (english_1074) that would be to write a 0x02 at file offset 0x124314. (I haven't actually tested if this works or not)

The GOG version of Arcanum is patched beyond just a no-CD crack. It seems to force at least the "-doublebuffer" commandline switch. It would seem to be incompatible with Arcanum High Resolution Patch by Drog Black Tooth - Version 1.5.

You may wish to try a newer version of the wrapper that ships with Drog's HiRes Patch: https://github.com/narzoul/DDrawCompat/releases or this fork (or w/e) https://github.com/elishacloud/dxwrapper, but I would think any thing would be okay to try. I'm sure you could just uninstall the HiRes patch then force window mode with DxWnd or maybe dgvoodoo2.

lmstearn commented 1 year ago

Hi, Just a tad off-topic, hope you don't mind the extra info. IE DDrawFix for Baldur's Gate (BG1 orig. DVD ToSC) doesn't have an un-install as such, including an option to remove the edits on BGMain2.exe. Not really an issue here in any case. Ran the setup-ddrawfix, the first time was for no other reason than to just see the options, so no issues at all. On the second run, got Only x86 systems supported after choosing either of the two options on offer in the selection, however. AFAIK these days Windows & WOW64 emulation should handle all 32 bit builds with consummate ease.

Game runs fine in widescreen 768p, except the items on the menu bars are not scaled, and the (left aligned) bottom menu bar sizes to the original 640 pixels instead. Rather than re-running the BGTalesUS5512.exe patch, would it hurt to just try ddwrapper over DDrawFix, hoping for the best? Thanks for the mod btw! :thumbsup:

aqrit commented 1 year ago

Only x86 systems supported

This was a mistake on my part. I believe the best practice is to use the native version of WeiDU, even when the game is run under emulation. However, I required the x86 WeiDU build. Because the script is for the x86 version of the game executable.

You need to use the x86 build of WeiDU: https://github.com/WeiDUorg/weidu/releases/ -> "WeiDU-Windows-249-x86.zip"

Or alternatively, you could open ddrawfix.tp2 in a text editor and delete these 3 lines at the top:

ACTION_IF ( ~%WEIDU_ARCH%~ STRING_COMPARE ~x86~ ) BEGIN
    FAIL ~Only x86 systems supported.~
END

doesn't have an un-install

That is all handled by WeiDU, and it worked last time I tried it.

would it hurt to just try ddwrapper over DDrawFix

Should be fine. However, it doesn't sound like it will fix any of your widescreen woes. You do have the Widescreen mod installed, right? One could also try their luck with something like the "Baldur's Gate Trilogy" mod that ports BG1 to the BG2:ToB engine.

aqrit commented 1 year ago

except the items on the menu bars are not scaled

The widescreen mod doesn't scale the GUI. You need to find another mod that does that. I don't know if there is one for BG1, since the widescreen mod didn't work well with BG1, until 2014.

lmstearn commented 1 year ago

Fabulous! Thanks for the heads up - Ikonomov's HD Gui looks like it ticks a few boxes with the layout on the screen. 😃

aqrit commented 1 year ago

On the second run, got Only x86 systems supported after choosing either of the two options on offer in the selection

WeiDU auto-updates all copies of itself in the game folder. This probably explains all the weirdness. The old x86 WeiDU build that ships with my mod was probably overwritten by newer build when you ran some other mod. This other mod was probably using the AMD64 build instead of the x86 build. I wonder, if a newer version of WeiDU has some incompatibility with uninstall info created by older versions...