GZDoom 3.2.3 Released

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads] [Discord]

[Tap Here for Mobile-Friendly Forums]

Moderator: Developers

GZDoom 3.2.3 Released

Postby Rachael » Sun Dec 03, 2017 6:14 am

This is an additional point release to address some issues with the 3.2.2 point release and add even more features. Due to the way this release was handled, the change log will include 3.2.2's changes as well.

Notable features since 3.2.1:
  • new timer code, GZDoom now appears a lot smoother in interpolated frames
  • more bugfixes, including some for non-Windows platforms
  • improve speed for ARMv7 processors by setting tuning options to the Cortex-a7 CPU (for Raspberry Pi 2)
  • Several ZScript extensions and fixes
  • Improved OpenGL profile selection on Linux
  • Rather than giving version info, GZDoom now displays the name of the game you are currently playing in the window title. This can be disabled via i_friendlywindowtitle
  • Implemented unicode handling in some functions
  • improved handling of temporary files on timidity++
  • added latch keyword to CVARINFO
  • new grenade and ice shard sprites, removed non-GPL copyrighted assets

More-complete changelog since 3.2.1:
  • let the 3 relevant text functions handle UTF-8 strings

    These functions are: DCanvas::DrawTextCommon, V_BreakLines and FFont::StringWidth.
    This will allow strings from UTF-8 encoded assets to display properly, but also handle the OpenAL device name on international systems, as this will be returned as an UTF-8 string.

    Due to backwards compatibility needs the decoding function is rather lax to allow both UTF-8 and ISO 8859-1 to pass through correctly - and this also implies that it will allow mixed encodings which may happen if strings from different sources get concatenated.
  • sanitization of temporary file stuff for Timidity++.
    • do not use the global temp directory. Instead create one in the AppData folder.
    • removed lots of unneeded code from tmpfileplus.
    • use C++ strings in there.
  • fixed potential memory leak in M_VerifyPNG.
  • Fixed incomplete ACS string pool state after loading of saved game
  • Added 'static' to CreateCeiling (base.txt)
  • Fix 'Requested invalid render buffer sizes' when executing the reverbedit command from fullscreen
  • fixed upscaled fuzz drawing in swrenderer
  • UMAPINFO parser, including some convenience additions to FScanner.
  • fix shader targets being case sensitive
  • i_friendlywindowtitle cvar: Show name of the game instead of GZDoom's version/last commit data
  • Fixed applying of brightmaps to overridden textures
  • Fixed detection of the first entry from internal IWADINFO
  • fixed: high uptime was causing overloads in uint32_t and float structures (float losing loss of precision) - this caused any computer online for more than a few days to experience jankiness with internal animations such as rotations and shader timers. Unfortunately, this sounds the death knell for 32-bit platforms, since uint64_t is now required in time-critical structures, which will hurt performance tremendeously, but 64-bit systems will be unaffected.
  • exported P_Thing_Warp to ZScript.
  • Inside the renderer, use only the time value being passed to RenderView.
  • get the timer used for animation only once at the very beginning of the frame and pass it on to the renderer to avoid any dependencies on the timer's implementation.
  • Exposed String.Remove() function to ZScript
  • Upgrade timer code to use nanosecond accuracy internally
  • Fixed return state of player entered event
  • Switch to C++11 steady clock, and Remove the platform specific timer implementations
  • add doom e1m6 to rebuildnodes list.
  • Fix freeze interpolation bug
  • added latching CVARs to CVARINFO
  • fixed: put limits on A_SoundVolume
  • Improved OpenGL profile selection in SDL backend
  • Extended LineAttack() with offsets and new flags
  • Place the HUD model correctly in the world so that shader light calculations work
  • Removed unused parameter from several functions in FStateDefinitions class
  • Fix wrong math for model/light distance check
  • Added runtime check for negative array indices in VM
  • Added implicit scope for if/else, while and do/while statements in ZScript

    Scope is added only for variable or constant definition so it will no longer leak to outer scope
  • Added string representation of 'static const' token - No more 'Unknown(-141)' in 'Expecting ...' error message
  • Extended String.LastIndexOf() with endIndex parameter
  • de-init DoomStartupInfo on 'restart' ccmd so that the window title always contains the correct game information.
  • Added workaround for MSVC 2017 internal compiler error
  • Added Wads.CheckNumForFullName() to ZScript
  • Added Wads.ReadLump() to ZScript
  • Added Wads.FindLump() to ZScript
  • Exposed string split functionality to ZScript
  • Added ability to split FString on tokens
  • Fixed potential crash in resolving of multiple assignment
  • Fixed wrong owner for *evillaugh sound
  • improve speed for ARMv7 processors by specifying hardware float calculations, and tuning it specifically for the Cortex-a7 CPU (for Raspberry Pi 2).
  • Made dynamic array's Find() and Max() functions contant
  • Added ZScript functions GetBool() and SetBool() to CVar class
  • Fixed non-portable usage of __solaris__ preprocessor definition
  • Added ability to get texture name from script
    Use TexMan.GetName(TextureID tex) member function
  • removed the ugly grenades from the extra .pk3, now that the main file contains a much nicer and unproblematic replacement.
  • added 'classicflight' user cvar which allows players to move forward and backward without pitch when flying
  • Fixed out of bound read in zip file loader
  • New grenade sprites

    sprites from Eriguns1:
  • added new Ice Shards, and removed the zd_extra version

Download links:
User avatar
QZDoom + Webmaster
Joined: 13 Jan 2004

Re: GZDoom 3.2.3 Released

Postby drfrag » Sun Dec 03, 2017 6:46 am

The link to the 32 bit version is broken.
User avatar
I.R developer, I.R smart
Vintage GZDoom Developer
Joined: 23 Apr 2004
Location: Spain

Re: GZDoom 3.2.3 Released

Postby Major Cooke » Sun Dec 03, 2017 6:46 am

This one includes the modeldef's ability to read skins via TEXTURES lump. Thank you Rachael!
User avatar
Major Cooke
The road to Hell is paved in the carrion she leaves behind.
Joined: 28 Jan 2007
Discord: Major Cooke#0846

Re: GZDoom 3.2.3 Released

Postby Rachael » Sun Dec 03, 2017 6:50 am

drfrag wrote:The link to the 32 bit version is broken.

Fixed. Thanks.
User avatar
QZDoom + Webmaster
Joined: 13 Jan 2004

Re: GZDoom 3.2.3 Released

Postby SenteyHunter » Sun Dec 03, 2017 4:14 pm

Wow, Finally (b'- ')b. Thanks!
User avatar
Blast 'em
Joined: 04 Apr 2014
Location: Space

Re: GZDoom 3.2.3 Released

Postby Rachael » Mon Dec 04, 2017 1:03 am

Mac OS X and Ubuntu builds uploaded.

As usual, thanks again to _mental_ and Blzut3 for these.
User avatar
QZDoom + Webmaster
Joined: 13 Jan 2004

Re: GZDoom 3.2.3 Released

Postby theleo_ua » Mon Dec 04, 2017 1:41 pm

>>Rather than giving version info, GZDoom now displays the name of the game you are currently playing in >>the window title. This can be disabled via i_friendlywindowtitle

Is it possible to implement 3 values:
1) game you are currently playing
2) version info
3) Both (for example like "The Ultimate Doom - GZDoom 3.2.3 x64 bla bla bla")


Thank you in advance
User avatar
Joined: 07 Feb 2016

Re: GZDoom 3.2.3 Released

Postby Blue Shadow » Mon Dec 04, 2017 4:10 pm

Feature suggestions go here: viewforum.php?f=15
User avatar
Blue Shadow
Joined: 14 Nov 2010

Re: GZDoom 3.2.3 Released

Postby GFD » Tue Dec 05, 2017 1:57 am

Thanks for the clarification, Chris. I never knew Doom's tic rate was a result of using a 70 Hz video mode, or that ZDoom's timings were actually unfaithful.
I know the sound effect syncing hypothetical is not an example of good practice, but neither are a lot of Doom mods... :P

I'm surprised that this timing change could result in any perceivable improvement in the smoothness of interpolated rendering. I'm personally not able to see any difference. But in any case, more accuracy is a good thing overall, and the timing code changes look quite extensive, so thanks to the developers for working on this. i_timescale is fun to play with! And I think I'll also find it useful for debugging small timing problems that would be difficult to see at full speed.
User avatar
My brain's probably worth a lot of money!
Joined: 31 May 2010
Location: Canada

Re: GZDoom 3.2.3 Released

Postby Rachael » Tue Dec 05, 2017 2:21 am

The reason why things are so much smoother is because of the change in the way the timing system works, not the new timing, itself.

It uses the system performance timer, rather than ZDoom's old method, and it is re-checked before drawing a frame. The result is a much smoother-looking interpolation for the systems that are fast enough to actually draw said interpolation frames.
User avatar
QZDoom + Webmaster
Joined: 13 Jan 2004

Re: GZDoom 3.2.3 Released

Postby Graf Zahl » Tue Dec 05, 2017 3:00 am

The old timer code comes from Windows 9x times when the MMSystems's millisecond timer was the best thing Windows had to offer. And as long as there was no frame interpolation it actually didn't make any difference in how it was perceived.

Regarding the old timer code, I guess the perception of smoothness is very subjective. The main issues here wasn't the timing itself, actually, but that the frame interpolation wasn't done right. In several places it took the actual current time instead of the time when the current frame started - and that resulted in some gross inconsistencies. Now all these things have been fixed.

The change back to proper 1/35 second tics was just a natural result of having a higher resolution timer available now.
User avatar
Graf Zahl
Lead GZDoom Developer
Joined: 19 Jul 2003
Location: Germany

Re: GZDoom 3.2.3 Released

Postby Hexereticdoom » Wed Dec 06, 2017 7:54 pm

Wow man, two new GZDoom versions released almost at same time... :o

Thanks a lot for all your big efforts in development! Downloading latest file now... :thumb:
User avatar
Don't make me angry or I'll bite you! Heheheee...
Joined: 08 Aug 2013
Location: Spain

Re: GZDoom 3.2.3 Released

Postby Rachael » Wed Dec 13, 2017 4:11 am

The archives have been recompressed remotely, so they should not error out on Windows Explorer anymore.

Nevertheless, here's the Microsoft bug report: https://aka.ms/F8jf7r
User avatar
QZDoom + Webmaster
Joined: 13 Jan 2004

Return to ZDoom (and related) News

Who is online

Users browsing this forum: No registered users and 2 guests