FunkyFr3sh / cnc-ddraw

GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic 2D games for better compatibility with Windows 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS/Android) and Virtual Machines
https://discord.gg/afWXJNDDF5
MIT License
2.21k stars 142 forks source link

weird graphic issue on baldur's gate 1 (original, not gog) #178

Closed fearedbliss closed 1 year ago

fearedbliss commented 1 year ago

Hello,

I've been using cnc-ddraw for several years now on Diablo II (and Diablo 1) and it works great (I'm also the creator of Cactus for Diablo II, and I distribute cnc-ddraw as part of my bundle as well).

Using 4.7.0.0 on Baldur's Gate 1 however, seems to cause a weird graphical issue when panning the over the top camera (just moving the mouse vertically or horizontally to reveal the map content). You can see a screenshot of the issues below (When in game, you will actually see it moving all the time as if repeating):

Actual (running with cnc-ddraw) baldur's_gate-2022-10-14-15_34_26

Expected (running directly without cnc-ddraw) good

I tested this on Windows 10, Windows XP (VM), and Windows 7 (VM). Same behavior throughout. I've also tried with all of the graphical options in BG1 enabled, and also disabled, and played around with some of the ddraw.ini options (including vsync=true) and nothing.

FunkyFr3sh commented 1 year ago

Someone reported this one before: https://github.com/FunkyFr3sh/cnc-ddraw/issues/148

I couldn't reproduce it, but I'll try again

fearedbliss commented 1 year ago

@FunkyFr3sh Sounds good, thank you. Let me know if anything and I can test as well. I'm running version 1.1.4315.

fearedbliss commented 1 year ago

To add further information:

(Laptop has two GPUs: Integrated Intel, and NVIDIA GeForce RTX 2060. I didn't select a specific GPU, just double clicked the "BGMain.exe". So it probably is running on the integrated one given that this is not a graphically intensive game. However, issue 148, the person mentions they also have a NVIDIA GPU).

Renderer: opengl

No community patches, just directly installed from the original BG1 discs (5 CDs).

ddraw.ini.txt

FunkyFr3sh commented 1 year ago

I can reproduce it now, thanks!

This option here seems to fix the bug, can you confirm that?

Edit: Fixes it for 16bit color, not for 32bit

image

I'm going to try to fix it anyways, will do some debugging now

FunkyFr3sh commented 1 year ago

I think I got it fixed: cnc-ddraw.zip

fearedbliss commented 1 year ago

@FunkyFr3sh Just tested and it's fixed ;).

I tried the scenario you tested above (16 bit w/ the blt enabled), and that seems to work fine in 4.7.0.0. 32 bit was broken as you mentioned. I wasn't able to select 24 bit. With 4.7.0.1, 16 and 32 bit both worked (I had all blt enabled as well).

Thank you :). I have a few more games I'll be testing cnc-ddraw on over time (BG2, Fallout 1, Fallout 2, Dungeon Siege 1+2, etc), if anything I'll let you know haha.

FunkyFr3sh commented 1 year ago

Nice 👍 It's probably the best to keep all 3 blt settings disabled so cnc-ddraw can handle them (should be faster than the game's own software blt)

Sure, let me know! I remember testing fallout 1 a couple years ago... I bet it doesn't work anymore with the current release, it had quite some issues and I had to patch it to even get it to start!

fearedbliss commented 1 year ago

Will do :)