VOGONS


First post, by XJDHDR

User metadata
Rank Newbie
Rank
Newbie

I am trying to play Lords of Magic through dgVoodoo. My ultimate goal is to have dgVoodoo force the game to run in windowed mode as well as scale the video output. I've opened this thread to report any problems I encounter doing so.

At the moment though, I am trying to just get the game to run with dgVoodoo installed. I copied the D3D8.dll, D3DImm.dll, DDraw.dll and dgVoodoo.conf files from the zip archive into LOM's root directory. I then tried to run the game without making any changes to the config file I copied just to see if the default settings work. However, it doesn't work. The game plays through the intro videos without issue but milliseconds after the loading screen that appears between those videos and the main menu, the game closes itself.
This problem is not present if I run the game without dgVoodoo installed. The game reaches the main menu without issue. Same thing if I change the DisableAndPassThru setting to true.

I tried using dgVoodoo versions 2.55.4, 2.62.1, 2.64 and the WIP76 build but all of them had the same problem. I have attached a log that was created when I ran the game with the debug version of 2.64

These are my system's specs:

  • OS: Windows 10 Pro x64 v1910
  • GPU: GeForce 1080 Ti
  • Nvidia driver version: 446.14

All of my testing was done using both the GOG version of the game as well as the demo that can be downloaded here: http://sierrachest.com/index.php?a=games&id=1 … ition&fld=demos

Edit: Changed title from "Crash on start" to "Very low FPS".
Edit 2: Changed title from "Very low FPS" to "Various issues".

Last edited by XJDHDR on 2020-08-31, 04:14. Edited 3 times in total.

My creations and essays:
https://xjdhdr.gitlab.io/

Reply 1 of 9, by Dege

User metadata
Rank l33t
Rank
l33t

Ok, thanks, I had a quick glance at it and also fixed the problem.

Reply 2 of 9, by XJDHDR

User metadata
Rank Newbie
Rank
Newbie

Thanks for fixing this. What was the problem and will your fix be in the next WIP build?

My creations and essays:
https://xjdhdr.gitlab.io/

Reply 3 of 9, by Dege

User metadata
Rank l33t
Rank
l33t

A minor incompatibility with MS DDraw in pixel format validating.
The fix will be included in the next version (I'm not sure if I'll release a new WIP before that).

Reply 4 of 9, by XJDHDR

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2020-08-20, 19:48:

The fix will be included in the next version (I'm not sure if I'll release a new WIP before that).

Thanks for fixing this issue Dege. Greatly appreciated.

Now that I can run the game, I have run into another issue. The game looks like it's running at a very low FPS whenever you reach the game's world after loading a save or starting a new game. This doesn't affect mouse input though, it's like the logic for deciding how to draw all of the world's sprites and suchlike is running at 10 FPS or something. It also doesn't affect the game's main menus either, even on the character select screen where it draws some of the sprites used in the game world. Both the demo and GOG release are affected.

My testing was done on the same PC as above with dgVoodoo WIP 76.1 and with the default config file in the archive. I tested enabling "fast video memory access" but all that did was cause artifacts.
I'm not sure how much this will help but I captured some logs from playing the demo with the debug DLLs installed where I started a new game as an Earth Warrior then exited shortly afterwards. I've included a basic and detailed log that were captured with MaxTraceLevel set to 0 and 2, respectively.

The attachment LOMSE Demo logs.zip is no longer available

My creations and essays:
https://xjdhdr.gitlab.io/

Reply 5 of 9, by ZellSF

User metadata
Rank l33t
Rank
l33t
XJDHDR wrote on 2020-08-30, 20:44:
Thanks for fixing this issue Dege. Greatly appreciated. […]
Show full quote
Dege wrote on 2020-08-20, 19:48:

The fix will be included in the next version (I'm not sure if I'll release a new WIP before that).

Thanks for fixing this issue Dege. Greatly appreciated.

Now that I can run the game, I have run into another issue. The game looks like it's running at a very low FPS whenever you reach the game's world after loading a save or starting a new game. This doesn't affect mouse input though, it's like the logic for deciding how to draw all of the world's sprites and suchlike is running at 10 FPS or something. It also doesn't affect the game's main menus either, even on the character select screen where it draws some of the sprites used in the game world. Both the demo and GOG release are affected.

My testing was done on the same PC as above with dgVoodoo WIP 76.1 and with the default config file in the archive. I tested enabling "fast video memory access" but all that did was cause artifacts.
I'm not sure how much this will help but I captured some logs from playing the demo with the debug DLLs installed where I started a new game as an Earth Warrior then exited shortly afterwards. I've included a basic and detailed log that were captured with MaxTraceLevel set to 0 and 2, respectively.
LOMSE Demo logs.zip

Disable vsync. If you get tearing run in borderless fullscreen.

Batched update for primary surface helps, but not as much as disabling vsync.

Not a unique problem to dgVoodoo either.

Reply 6 of 9, by XJDHDR

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote on 2020-08-30, 21:10:

Disable vsync. If you get tearing run in borderless fullscreen.

Batched update for primary surface helps, but not as much as disabling vsync.

Not a unique problem to dgVoodoo either.

Thanks, I'll give that a try when I get home. I assumed that dgVoodoo was at fault because the game runs fine without wrappers but then again, I guess Nvidia's drivers can't force vsync on ddraw games.

On the subject of borderless window, what I ultimately want to achieve is to have the game's interface be stretched to exactly 3 times it's original resolution. I then want the game's window to take up the entire screen with black borders filling up the gaps between the window's edges and the game's interface. Is it possible to do this with dgVoodoo?
My attempts so far have given me either:
- a window 3x bigger than the original with the desktop outside that area, or
- a window that takes up the entire screen but the game's interface is stretched and distorted to fit the entire thing.

My creations and essays:
https://xjdhdr.gitlab.io/

Reply 7 of 9, by XJDHDR

User metadata
Rank Newbie
Rank
Newbie

@ZellSF
Just tried your suggestion and it worked. Vsync was already disabled in both dgVoodoo's config file and Nvidia's control panel. The culprit was the max frame rate cap that is also available in Nvidia's drivers. Disabled it for LOM and performance is now as it should be.

If anyone can help me out with the scaling issue I mentioned, that would be perfect.

My creations and essays:
https://xjdhdr.gitlab.io/

Reply 8 of 9, by ZellSF

User metadata
Rank l33t
Rank
l33t

Late reply, but for borderless fullscreen, you currently need to do the following:

  1. In General tab, Set an emulated mode in scaling mode. This means any other than the first three.
  2. In General tab Set appearance to "Windowed" (duh).
  3. In DirectX tab Application controlled fullscreen/windowed state needs to be off (sort of duh).
  4. In GeneralExt tab (right click tabs to get it, or edit the ini) set WindowedAttributes to "Borderless" and "FullscreenSize".

You might also need to to disable or enable the "Disable Alt-Enter to toggle screen state" setting.

For an exact 3x scale you only have one option and that's setting scaling mode to "Centered, keep aspect ratio" and set IntegerScaleFactor to 3. It will do unfiltered scaling, which is the most common case for wanting to do scaling that doesn't fill the entire screen to aspect ratio.

I meant to say in my earlier post, but forgot, that DxWnd is generally better suited for getting games to run in windows.

Reply 9 of 9, by XJDHDR

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote on 2020-09-11, 08:06:
Late reply, but for borderless fullscreen, you currently need to do the following: […]
Show full quote

Late reply, but for borderless fullscreen, you currently need to do the following:

  1. In General tab, Set an emulated mode in scaling mode. This means any other than the first three.
  2. In General tab Set appearance to "Windowed" (duh).
  3. In DirectX tab Application controlled fullscreen/windowed state needs to be off (sort of duh).
  4. In GeneralExt tab (right click tabs to get it, or edit the ini) set WindowedAttributes to "Borderless" and "FullscreenSize".

You might also need to to disable or enable the "Disable Alt-Enter to toggle screen state" setting.

Thanks, I had scaling mode set to "Centred" and switching to "Centred, keep Aspect Ratio" gave me what I wanted. I also didn't know you could edit the extended settings in the GUI with that right-click trick.

ZellSF wrote on 2020-09-11, 08:06:

I meant to say in my earlier post, but forgot, that DxWnd is generally better suited for getting games to run in windows.

So I've heard but I've never been able to get DxWnd to actually make a game run windowed. Every time I've tried, the game just ran in fullscreen regardless.

My creations and essays:
https://xjdhdr.gitlab.io/