Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
drfrag

LZDoom 3.88b released

Recommended Posts

I've released 3.88b. It's mainly a bugfix release but there are some new minor features, see first post. Unless there's a major problem this will be the last release.

Share this post


Link to post
1 hour ago, drfrag said:

I've released 3.88b. It's mainly a bugfix release but there are some new minor features, see first post. Unless there's a major problem this will be the last release.

Appreciate the work as always.

Share this post


Link to post
2 hours ago, drfrag said:

I've released 3.88b. It's mainly a bugfix release but there are some new minor features, see first post. Unless there's a major problem this will be the last release.

Appreciated. Thanks for adding Nash's widescreen pk3.

Share this post


Link to post

I've discontinued LZDoom development, there won't be more releases unless there's a major bug.

What's the problem with double spawn now? I should have made it in two passes but i did it in one so some of the original monsters won't spawn due to being blocked buy previously doubled ones, the feature was ported from RUDE. As i stated i didn't know that some functions were exported to ZScript when i added the feature so i guess it could have been made in a mod.

Share this post


Link to post

For quite some time I assumed that lzdoom was "simply" a gzdoom for an older hardware, so I kind of neglected it completely. But after giving lzdoom a proper test drive I've realized I don't understand a few important things about both lzdoom and gzdoom. So I want to clarify something:

 

1. Which version of gzdoom/lzdoom should theoretically run better on a 64 bit os, 32bit or 64bit?

 

2. Are there any differences between gzdoom and lzdoom Doom Software Renderer modes or do changes in lzdoom only affect hardware accelerated mode?

 

3. Let's say I want to play the game in a 960x540 resolution (1/2 1080p). In lzdoom I can simply choose 960x540 resolution from the list. In the latest versions of gzdoom I can manipulate resolution only by image scaling options, but the game always runs at the desktop resolution. When I scale image to 960x540 in gzdoom, does the game render at 1080p and then downscale the image to 540p? In other words, do I get the performance of 1080p regardless of whether I scale image to 540p or not? Or is 1080p downscaled to 540p the same as running the game at 960x540 performance wise?

 

4. What's the difference between resolution scale nearest vs linear in lzdoom?

 

5. Does software canvas matter at all in lzdoom?

 

6. I assumed that the borderless windowed mode sets fullscreen mode to exclusive while set to "no". But after playing with this option I noticed no difference between both modes. LZDoom acts as if it was running in borderless windowed mode regardless of the setting. What does this option really do?

 

7. Rendering quality in gzdoom and lzdoom. Are there any examples of visual differences between speed and quality modes?

 

8. Pre-cache gl textures in gzdoom and lzdoom. How should this setting theoretically impact the performance of the game?

 

9. Sprite and wall culling. Any good wad to test these settings (just want to see the actual difference in image quality and performance on my hardware)?

Share this post


Link to post
13 hours ago, PKr said:

In the latest versions of gzdoom I can manipulate resolution only by image scaling options, but the game always runs at the desktop resolution. When I scale image to 960x540 in gzdoom, does the game render at 1080p and then downscale the image to 540p? In other words, do I get the performance of 1080p regardless of whether I scale image to 540p or not?

 

it should be the other way around, if i'm not mistaken

 

when vid_scalemode=5 (custom) gzdoom renders at the specified custom resolution (960x540 in your case) and upscale/downscale the result to the display native resolution

the scaling operation will be performed using a linear algorithm if vid_scale_linear=true

 

Share this post


Link to post
10 minutes ago, Delfino Furioso said:

 

it should be the other way around, if i'm not mistaken

 

when vid_scalemode=5 (custom) gzdoom renders at the specified custom resolution (960x540 in your case) and upscale/downscale the result to the display native resolution

the scaling operation will be performed using a linear algorithm if vid_scale_linear=true

 

It seems to me that textures/image quality are way sharper in gzdoom/lzdoom when you downscale 1920x1080 to 960x540 compared to running the game at 960x540p. So, apparently it renders the game at 1080p after all. That's why I am asking.

Share this post


Link to post

I've just tested LZDdoom 3.88 by generating a new config from scratch and keeping the gpu/display hw scaler disabled.

 

When FullScreen=YES, LZdoom will always change the desktop resolution to the one you specifiy in the video mode setting menu, regardless of the BorderlessWindowed setting

When FullScreen=NO and BorderlessWindowed=NO, then the desktop resolution will not change and you'll get a standard window frame

When FullScreen=NO and BorderlessWindowed=YES, then you'll get a window as large as your desktop resolution and the 540p you've set will be ignored

 

In the first scenario, some blurry upscaling might be performed by your gpu or display.

 

 

Share this post


Link to post

Never thought I would ever need to play Doom in splitscreen as none of my friends play Doom at all. I was wrong.

 

Thanks to this thread I found out how to play LZDoom in a "splitscreen":

Just wanted to give a few tips and trick for more modern-ish hardware to play LZDoom in a splitscreen on Windows nicely.

 

1. First of all follow the instructions provided in the thread. A recap of key points:

  • Download LZDoom 3.88b, extract it to separate folders. In my case I extracted one copy of LZDoom to "lzdoom-host" folder and the other one to "lzdoom-client" folder on my desktop. If you want to play with two or three friends, you would want to make other 1-2 separate folders.
  • Launch both copies once and configure them to run in a windowed mode. Go to options > player setup and set different player colors to distinguish host/client easily. Make sure you enable gamepad for the client in options > joystick options > enable controller support (don't enable it for host if you want to use kb+m/don't have other gamepads lying around). Also you can configure all other settings to your liking at this point.
  • Make sure you allow LZDoom outbound connections through windows defender firewall, or your client will be trying to connect to the host indefinitely.
  • Create a "launch.bat" with following example commands:

start .\lzdoom-host\lzdoom -host 2 -skill 6 -iwad .\wads\DOOM.WAD

timeout 1

start .\lzdoom-client\lzdoom -join 127.0.0.1 -iwad .\wads\DOOM.WAD

  • ...where -host 2 is a number of players. If you want more players to join, you'd change that value to 3-4. An example for 4 players:

start .\lzdoom-host\lzdoom -host 2 -skill 6 -iwad .\wads\DOOM.WAD

timeout 1

start .\lzdoom-client\lzdoom -join 127.0.0.1 -iwad .\wads\DOOM.WAD

timeout 1

start .\lzdoom-client2\lzdoom -join 127.0.0.1 -iwad .\wads\DOOM.WAD

timeout 1

start .\lzdoom-client3\lzdoom -join 127.0.0.1 -iwad .\wads\DOOM.WAD

  • Obviously you can add all kinds of mods and wads with the -file argument. Just make sure all clients use the same mods to avoid any desyncing. Tip: almost every GZDoom mod works in LZDoom.

2. Now, if you have some higher end hardware, this is where a few things differ from the original thread:

  • Create autoexec.cfg files in each lzdoom folder and make sure you set r_multithreaded to 1. I am not sure how bad/well multiple copies of lzdoom run on lower end machines with r_multithreaded set to 0, but on my hexa core cpu with 6/12 threads @4.4GHz performance is crippled. With 1 everything runs sooper-dooper smoothly.
  • Disable sound in the background for your clients so that only the active host windows produces sounds by adding set i_soundinbackground 0 to autoexec.cfg files of your clients.
  • Add background joystick support for your clients by adding set joy_background 1.
  • Render non-active lzdoom windows by adding set vid_activeinbackground 1 to autoexec.cfg files of your clients.
  • The end result for lzdoom-host autoexec.cfg will look like this:

set r_multithreaded 1

  • The end result for lzdoom-client autoexec.cfg will look like this:

set vid_activeinbackground 1
set i_soundinbackground 0
set joy_background 1
set r_multithreaded 1

  • Irrelevant extra tip to disable crouching/jumping/mouselook (add to all autoexec.cfg files):

set sv_jump 1
set sv_crouch 1
set sv_freelook 1

 

3. G-Sync users might notice that gameplay looks rather choppy. The solution is simple:

  • Make sure that G-Sync is enabled for windowed and full screen modes.
  • Manage 3d settings > Program settings > add all lzdoom.exe files to the list. Make sure that only lzdoom-host runs in a g-sync mode. Set Monitor Technology to "Fixed Refresh" for lzdoom-clients. This setting will also change Preferred refresh rate to "Application-controlled" and Vertical sync to "Use the 3D application settings". Apply settings.
  • Disable v-sync in game for lzdoom-host. Enable v-sync in game for lzdoom-client.
  • Enjoy the game without a single hitch. 👍

4. How to set up a cascade of windows easily:

  • To change the game window location open the menu (or else you want be able to drag windows). Press and hold windows key and use arrow keys to snap windows to the desired positions. Example: if you are running only lzdoom-host and lzdoom-client, select lzdoom-host, press and hold windows key and press left arrow key (to allign it to the left). Then select lzdoom-host to fill the right side of the screen. Use arrow keys up and down if you want to position more than one client windows.
  • To hide windows taskbar on the bottom of the screen right click on taskbar > taskbar settings > enable "Automatically hide the taskbar in desktop mode". To revert changes just move the mouse to the bottom of the screen... Just in case.
  • Alt tab to lzdoom-host and play the game.

5. An extra tip for more advanced users to disable window borders and make it a "truly" splitscreen experience:

  • Compile this code:

#include <windows.h>

int main()
{
    HWND windowHandle = FindWindowA(NULL, "The Ultimate DOOM v3.88b"); //title bar depends on the game you are playing
    SetWindowLongPtr(windowHandle, GWL_STYLE, WS_SYSMENU);
    SetWindowTextA(windowHandle, "Changed");
    SetWindowPos(windowHandle, HWND_TOPMOST, 960, 0, 960, 1080, SWP_SHOWWINDOW); //x, y, width and height of the window

 

    windowHandle = FindWindowA(NULL, "The Ultimate DOOM v3.88b");
    SetWindowLongPtr(windowHandle, GWL_STYLE, WS_SYSMENU);
    SetWindowPos(windowHandle, ((HWND)-1), 0, 0, 960, 1080, SWP_SHOWWINDOW);
    SetForegroundWindow(windowHandle);
    return 0;
}

  • Please note that this will move lzdoom-host window to the right, and lzdoom-client to the left if you are using a .bat with an -iwad parameter. Use built in lzdoom launcher to select iwads. This will open game windows a "in proper order" for the program to work correctly.
Edited by PKr

Share this post


Link to post
On 3/30/2022 at 9:09 AM, drfrag said:

I've discontinued LZDoom development, there won't be more releases unless there's a major bug.

Why? Is there something that's preventing you from continuing or do you not feel like working on it anymore?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×