News

ACC 1.56 Released

Posted by on at 10:55
(0) Comments
Download
Changes
  • Lots of new action specials, functions, and new function parameters since ACC 1.55, bringing functional support up to GZDoom 3.2.x, Zandronum 3.x, and also newer versions of Eternity Engine.
  • REOPEN and KILL script types
  • Support for new text color constants (Ice, Fire, Sapphire, and Teal)
Comments

GZDoom 3.2.1 Released

Posted by on at 10:26
(12) Comments
Downloads:


The main reason for this release is because texture uniforms were uploaded to shaders incorrectly in 3.2.0. However, the rest of master was just bugfixes and minor improvements, so it was merged for this release. (I got permission from Graf to do this release)

Changes from 3.2.0:
  • Fixed applying of height argument in A_Fire() function
  • Removed all code needed to support macOS earlier than 10.7 Lion
  • Fixed crash on attempt to register IDs for undefined class
  • added vid_cropaspect. This cvar turns vid_aspect into a letterboxing function that will crop the unused sides of the screen away, instead of stretching it. Requires one of the non-legacy OpenGL framebuffers to work.
  • remove vid_tft and vid_nowidescreen and associated menu option. Their functionality was supersceded and extended by vid_aspect==3 (which has the same effect as setting both to true anyhow), and it was mostly just redundant.
  • Fixed: don't interpolate view movements if a key press didn't result in any changes.
  • If *nix, add default gzdoom.pk3 directory to File.Search paths
  • fixed: inverted color order for post-process textures to BGRA to correctly match the internal texture standard in GZDoom
  • added ability to change slider color using mapinfo's gameinfo
  • added 'startuptype' to iwadinfo, allowing to change the game startup screen with custom iwads
  • Fixed applying of compatibility settings for IWADs
  • Fixed a few cases when IWAD was checked by hardcoded index
  • Fixed arch-vile bleeding when damaging target

(Note to OpenBSD users: Please compile or cherry-pick commit b871b1898 - sorry I was remiss in including this one, since it does not affect the currently officially supported systems)
Comments

GZDoom 3.2.0 Released

Posted by on at 18:52
(38) Comments
Downloads:


Major release highlights:
  • zd_extra.pk3 splits off copyright infringing assets, allowing game makers to delete this file and distribute a fully GPL-conforming copy of GZDoom without further changes.
  • Custom IWAD support
  • Video render scaling (play in 320x200, or any custom resolution)
  • Custom screen shader support
  • MENUDEF replacements are now merged, allowing GZDoom to easily present new menu features in older mods that include one
  • Tons of fixes and improvements


Changes from 3.1.0:
  • Merged with QZDoom 2.0.0
  • "Software" light mode (in OpenGL) now supports radial fog setting
  • Unsloped Flats can now use non-power-2 textures in software mode
  • Menus now merge in with a mod's custom MENUDEF when it provides menu replacements. This is due to older mods' menus becoming very quickly outdated.
  • Rise of the Wool Ball is now supported as an IWAD
  • Custom IWAD support is now available. A custom IWAD file must have the extension ipk3/iwad, and contain a "iwadinfo" lump similar to GZDoom.pk3's with only this IWAD's information and no file list.
  • "Classic Transparency" option - turn off ZDoom's additive transparency effects for the original game resources.
  • Better non-accelerated buffer support for software rendering - when vid_hw2d is disabled or otherwise using an unaccelerated framebuffer, stencils and on-screen objects now show up better.
  • (Windows only) vid_used3d is now renamed to vid_glswfb. This matches the same CVAR that is available on Mac/Linux.
  • vid_glswfb is now exposed to the menu.
  • r_visibility now affects GL's Software lightmode as well as Softpoly.
  • Player Sprite overlays now support the PSPF_MIRROR flag which flips the sprite horizontally across the entire screen.
  • Menu Blurring option - when running in OpenGL mode, a mod can now blur the screen when the menu is active.
  • Unfriendly players - when a PlayerPawn object has -FRIENDLY set, they become a playable monster and interact with the game world as one. Additionally, they become deathmatch opponents, capable of dealing and taking damage from other players.
  • Custom Screen Shaders - mods are now able to include their own post processing shaders, insertable before the bloom pass ("beforebloom"), before 2D objects are drawn ("scene"), and after everything is on the screen ("screen").
  • vid_saturation saturates/desaturates the screen - improves the appearance of the screen when using certain brightness/gamma settings as well as allowing the user to play in 'black and white' (similar to the display control panel option). (Requires post-processing shaders to be active and hardware gamma must be disabled)
Changes since QZDoom 2.0.0:
  • r_visibility now works in OpenGL (software lightmode only) and SoftPoly
  • (Software only) Added r_line/sprite_distance_cull cvar that culls lines or sprites beyond the specified distance
  • (OpenGL only) Added 'enabled' property for post-process shaders, to automatically enable them without the assistance of ZScript
  • Enable Core Profile on macOS only when OpenGL 3.3 is available
  • Use multiple threads for xBRZ upscaling
  • Added new "sv_damagefactor*" variables.
    • sv_damagefactorplayer: Scales damage for player
    • sv_damagefactorfriendly: Scales damage for all other +FRIENDLY objects
    • sv_damagefactormobj: Scales damage for everything else (incl. monsters and decorations)
  • added per-class think time profiling tool.
  • Fixed crash when drawing untranslated font
  • Fixed applying of color to untranslated fonts in hardware renderer
  • added 'kill baddies' cheat - does the same thing as 'kill monsters' only it ignores friendly monsters
  • changed gl_ssao_portals default to 1
  • (OpenGL hardware/software framebuffer only) Revamped vid_max_* variables. Originally debug variables, they've been redesigned to allow screen resizing based on aesthetics.
    • The variable controlling the entire system is now vid_scalemode:
      • 0 == neighbor scaling, controlled by vid_scalefactor
      • 1 == linear scaling, controlled by vid_scalefactor
      • 2 == 320x200, neighbor scaled
      • 3 == 640x400, neighbor scaled
      • 4 == 1280x800, linear scaled
    • vid_scalefactor added for modes 0 and 1, which changes the render resolution to any arbitrary amount the user specifies >0, and resizes the screen to that amount. Valid values are >0 to <=2.0, where values above 1.0 are super-sampled to the screen (allowing up to SSAAx4 super-resolution). Please note that due to the way this is implemented, screenshots generated using this system will be in their original render resolution, so a super-sampled screenshot will actually come out in higher resolution.
    • menu options for this system have been added
    • please note that this system is not available in the DirectDraw/Direct3D software framebuffers. For those, ZDoom's old -2 and -4 command-line parameters still work. (For now)
  • post-process GLDefs parsing is more strict than QZDoom's, and will error out if invalid keywords are used.
  • Lemon parser now uses dynamic stack size comparable to C++'s, allowing deeper nesting of if, for, and while loops in ZScript
  • fix dynamic light clamping in true-color software renderer
  • BSP node cache will now no longer write to NTFS alternate streams. In Linux/Mac systems, this means said filenames will no longer contain a colon.
  • The classic software renderer now supports use of the 'maxviewpitch' CVar - it still cannot pan to a full 90 degrees, though (sorry folks) ;)
  • (Source code) Some OpenBSD support is now in the source. Please note that this is currently HUGELY unsupported by the dev team and comes as a user contribution. (From our perspective: 'here be dragons, tread ye carefully')
  • Models now have normals in the hardware renderer, allowing them to be affected by dynamic lights and SSAO
  • sv_singleplayerrespawn changed from a 'latching' cvar to a 'cheat' cvar using the new cheat cvar system. This means the cvar can now be enabled dynamically for single player games, however, it is still disabled when cheats are.
  • added render visibility flags - will selectively make objects disappear on the screen when certain rendering feature criteria is not met. The goal of this is to allow two different objects to appear on the screen based on renderer type, as a deterministic-supporting substitution for the oft-requested "moar reliable vid_renderer checks plzplz" - this feature is also intentionally designed to be future proof (i.e. if you use this feature MODS WON'T BREAK when new features are introduced in the associated renderers!).
  • added 'r_showcaps' ccmd to show which render flags are currently active in the renderer
  • maximized window state is now saved between sessions as well as when 'swtruecolor' is changed
  • Support binding textures for custom PP shaders
  • added per-level exit texts independent of the current cluster.
    • This is mainly to support UMAPINFO which does not have clusters but has been extended to define separate exit texts for each target map that can be reached from a given map.
      Special names 'normal' and 'secret' can be used to define texts specific to the default exits.

      New MAPINFO properties:

      • exittext = mapname, "text"...
      • textmusic = mapname, "musicname", order
      • textflat = mapname, flatname
      • textpic = mapname, picname

      textflat and textpic are like 'flat' and 'pic' for clusters, one defines a tiled background, the other a fullscreen image.
      Setting an empty exittext will disable a cluster-based text screen that may apply to the given map.
  • timidity++ fixes for Linux
  • Significantly improve shadowmap light performance for faces with a large number of lights but where only a few applies to each individual fragment
  • More classic IWAD compatibility fixes for missing textures
  • Fixed unset inflictor in WorldThingDamaged event
  • removed tag 0 check for 3D floors because as seems to be par for course in Doom modding, some people actually exploited this bug.
  • handle state label resolution in a non-actor context more gracefully.
  • addressed incorrect ACS printbold implementation: For native Hexen maps it will now be correct, but all others will have to set a flag in MAPINFO's 'gameinfo' section to avoid problems with numerous ZDoom maps depending on the incorrect implementation.
  • Reset interpolation coordinates for all actors before the current thinking turn instead of at the start of each actor's own Tick function so that indirect actor movement gets properly interpolated.
  • fixed: The color for untranslated font was missing its alpha channel.
  • print a warning if a decal definition cannot find an animator. This is important because DECALDEF cannot tentatively find animators declared after the decal.
  • let PlayerPawn.ForwardThrust use its angle parameter.
  • fixed: a destination-less line portal should be ignored by the sight checking code.
  • added a user reserved range of statnums from 70-90
  • fixed: FastProjectile's movement code was missing a portal check.
  • softpoly now uses a zbuffer, similar to hardware rendering
  • Add sprite adjustment to softpoly
  • Fixed camera rotation from FraggleScript
  • Fixed crash when morph item is used from ACS
  • Fixed incorrect damage flags' checks for A_Kill...() functions
  • more softpoly fixes
  • softpoly now supports sloped 3d floors
  • Fixed handling of default arguments in Actor.GiveSecret()
  • In software rendering, lights now check if they are too far above or below a certain plane before rendering. An example of this is in unloved.pk3 where in map02, some lights are above the ceiling.
  • Fixed VM abort with null activator for SecretTrigger object
  • fixed: changing 'uiscale' did not always update the screen size properly.
  • Game will now print the version at the start of the log.
  • Properly handle VM abort exception when occurred in menu
  • Add GOG path for Doom 3: BFG Edition
  • fixed: When offsetting the projectile for testing, P_CheckMissileSpawn must also reset the projectile's sector to its new location.
  • fixed: When stepping through a sector portal and touching a two sided line on the opposite side, its opening must be used, regardless of the FFCF_NOFLOOR flag.
  • fixed: The struct field compiler did not check for forward declared type references that hadn't been resolved yet.
  • Added per-actor camera FOV.
  • Player FOV changes are now transmitted over the network using floats.
  • Fixed Infinity and NaN floating point values formatting as string
  • (8-bit software) Fixed overflow for precise blend mode
  • Added Actor.A_SoundVolume(int slot, double volume) function to ZScript
  • Fixed crash caused by script number collision of ACS typed scripts
  • fixed: Do not call DoEffect when predicting player movement.
  • fixed crash when defining a global constant which references a class member constant in its value.
  • fixed: For original Hexen, executing a death special should not clear it. This addresses the bell in HexDD's Badlands being rung before it is ready to use. This also removes the redundant special handling in the ZBell actor.
  • gzdoom.pk3 has now been GPL-ized and has had many assets replaced with free GPL-conforming assets.
  • zd_extra.pk3 is now included in the GZDoom distribution. This file contains the assets replaced in gzdoom.pk3 to their original assets, with the exception of the MBF German Shepherd, which now uses Nash's dog sprite replacement. If you are creating a commercial game, you may now simply remove zd_extra.pk3 to avoid copyright issues.
  • Static executable assets now replaced as well. The Doom marine is now completely gone, the crash logger now shows a dying marine from FreeDoom, instead. GZDoom sports its own logo icon.
  • Unsafe math operations removed from armv8 - they were deterministic breaking and broke original monster behavior.
  • added: m_showinputgrid == '-1' allows for on-screen keyboard to never show when inputting text, even when using a mouse
  • shadowmap quality is now exposed to the menu
  • OpenGL 3.0 is now allowed for software OpenGL framebuffer (aka vid_glswfb) - The Mesa rendering library supports this just fine, and it seems it runs without trouble on known troublesome 3.0 cards.
  • OpenGL 3.3 is now required for the modern rendering path for hardware rendering. This means that ALL OpenGL cards prior to this version will revert to the legacy rendering path; no longer using shaders or clip planes. This was done due to there being too many compatibility issues and bugs with cards and drivers from this era.
  • fixed playersprite calculations in softpoly
  • classic software renderer now supports 'pixelratio' mapinfo definition - allowing mappers to now create square pixel maps in all 3 renderers.
  • softpoly now supports dynamic lights in truecolor mode
  • Updated "cream" and "olive" definitions in TEXTCOLO to be more readable
  • Added four text colors: ice, fire, sapphire, teal
  • added TID to 'actorlist' and similar console commands output
  • Fixed read beyond buffer boundary during font color parsing
  • Fix speed of sound and unit scale
  • Fixed bugs with Line_PortalSetTarget and added more portal geometry warnings
    • fixed: A bug exists where portals that have been deactivated with Line_PortalSetTarget cannot be reactivated, even if given a valid target.
    • fixed: Another bug exists where portals that were created in an inactive state (using a target line tag of 0) could never be activated. (Even with the above bugfix.)
    • Linked portals that have been demoted to teleport portals because they do not have a return portal now emit a warning.
    • Portals that are supposed to be traversable, but do not have back-sector now demote to visual portals and emit a warning, because nothing could ever possibly traverse them anyway.
  • Fixed flags when demoting interactive portals
    • Interactive portals demoted to visual due to not having a back-sector would not have their interactive flag properly cleared.
Comments

QZDoom 2.0.0 released!

Posted by on at 12:13
(5) Comments
The main purpose of this release is to standardise and make available to modders the custom screen shader system. However, it comes with it a lot of updates, mostly from GZDoom since its latest release:

Updates/fixes:
  • Updated to GZDoom 3.1.0, plus some fixes after.
  • (from GZDoom) "Software" light mode (in OpenGL) now supports radial fog setting
  • (from GZDoom) Unsloped Flats can now use non-power-2 textures in software mode
  • (from GZDoom) Menus now merge in with a mod's custom MENUDEF when it provides menu replacements. This is due to older mods' menus becoming very quickly outdated.
  • (from GZDoom) Blade of Agony (Chapter 2) is now supported as an IWAD
  • (from GZDoom) Rise of the Wool Ball is now supported as an IWAD
  • (from GZDoom) "Classic Transparency" option - turn off ZDoom's additive transparency effects for the original game resources.
  • (from GZDoom) Better non-accelerated buffer support for software rendering - when vid_hw2d is disabled or otherwise using an unaccelerated framebuffer, stencils and on-screen objects now show up better.
  • (from GZDoom) (Windows only) vid_used3d is now renamed to vid_glswfb. This matches the same CVAR that is available on Mac/Linux.
  • (from GZDoom) vid_glswfb is now exposed to the menu.
  • (from GZDoom) r_visibility now affects GL's Software lightmode as well as Softpoly.
  • Player Sprite overlays now support the PSPF_MIRROR flag which flips the sprite horizontally across the entire screen.
  • Menu Blurring option - when running in OpenGL mode, a mod can now blur the screen when the menu is active.
  • Unfriendly players - when a PlayerPawn object has -FRIENDLY set, they become a playable monster and interact with the game world as one. Additionally, they become deathmatch opponents, capable of dealing and taking damage from other players.
  • Custom Screen Shaders - mods are now able to include their own post processing shaders, insertable before the bloom pass ("beforebloom"), before 2D objects are drawn ("scene"), and after everything is on the screen ("screen").
  • vid_saturation saturates/desaturates the screen - improves the appearance of the screen when using certain brightness/gamma settings as well as allowing the user to play in 'black and white' (similar to the display control panel option). (Requires post-processing shaders to be active and hardware gamma must be disabled)

Downloads:
Comments

GZDoom 3.1.0 Released

Posted by on at 06:31
(41) Comments
Although this is mainly a bugfix release there are a few notable new features

  • support of Strife Veteran Edition's extended single player campaign
  • better handling of stereo sounds.
  • PlayerThink code has been exported to scripting.
  • On Windows and macOS the system's MIDI synth is no longer the default. Instead, FluidSynth and a small soundfont are now included to provide better default playback quality.

Notable bugfixes:

  • translucency on weapon sprites works properly
  • some layout fixes with SBARINFO based status bars.
  • fixed par time display on level summary screen.
  • fixed loop tag checks for Ogg files.

Download:

Comments

GZDoom 3.0.1 Released

Posted by on at 17:34
(17) Comments
This is a bugfix release which addresses the following:

- potential crash when changing the render output in-game and continue playing
- crash in the software renderer with camera textures
- for 32 bit Windows libsndfile.dll is reverted to the old version due to some incompatibility with the newer one
- cleanup of dynamic light options

Downloads:
Comments

Out with the new, in with the old!

Posted by on at 20:19
(15) Comments
As some of you have already noticed, we've gone back to using the forums for bug tracking.

User engagement was not especially impressive on Mantis - we'd often have cases where a user would hit-and-run, where they'd post their suggestions and never check back for feedback. In some cases this feedback was crucial to fixes or implementation. This became enough of a problem that we've decided to migrate back to the forums. We're going back to a tried and true method of bug tracking.

I've gone ahead and (manually) reposted every remaining open issue on the tracker, trying as much as possible to retain accuracy and ensure that no information was lost. The old tracker will, for now, remain as it is in a read-only state, for posterity and historical purposes, but it may be removed later on down the line if the site changes hosts or starts needing upgrades that it is incompatible with.

If I made any mistakes in reposting everyone's posts, please report the post in question (or edit it yourself if you have access to it) to fix it. If I added a Mantis link to your post, retaining it will definitely be helpful for developers.

Also - I didn't bother fixing timestamps with the newly created threads. That would take way too much time. So everyone will see them as "new topics" for now. Sorry about that.
Comments

GZDoom 3.0.0 Released

Posted by on at 13:26
(85) Comments
GZDoom 3.0.0 has been released.
This is the first version that merges all software rendering features from QZDoom.
In addition this is the first release under the GPL v3.
To comply with the GPL, FModEx had to be removed as a sound backend, so this version will only support OpenAL.

New features aside from merging with QZDoom include:

  • scriptable status bars.
  • scriptable level status screens.
  • static constant arrays in classes.
  • support for Doom64-style lighting in the software renderer, with the exception of gradients.
  • optimization of the scripting VM by removing some always active debug support.

Please note that starting with this version the 32 bit Windows version will require support for SSE2, because the true color software renderer cannot work without it. As a result it can no longer be used on Pentium 3's and older.

Download:
Comments

New ZDoom site

Posted by on at 21:04
(64) Comments
Tormentor667 and Xaser have been hard at work revamping the front page of the site. Now - it is live. Enjoy!
Comments

GZDoom 2.4.0 and QZDoom 1.3.0 released

Posted by on at 17:14
(41) Comments
GZDoom 2.4.0 and QZDoom 1.3.0 have been released. This is the first official ZDoom.org release for both source ports.

GZDoom 2.4.0:

New render features:
  • Doom64-style color properties for sectors (i.e. different color settings for floor, ceiling, walls and sprites.)

New scripting features:
  • script versioning to account for syntax differences between versions.
  • fully scripted inventory system.
  • fully scripted menu system.
  • scripted event system.
  • printf-style string formatting function for ZScript.
  • dynamic arrays for ZScript.
  • more access to map data from ZScript.
  • user definable actor properties.
  • separation of scripts into UI and Play parts to have better access control
  • exported obituary code to ZScript to allow more flexibility when handling special cases.
  • SectorTagIterator and LineIDIterator classes to search for tags.

Other:
  • added GetActorFloorTexture and GetActorFloorTerrain ACS functions.
  • added new PRINTNAME_ constants for retrieving next and secret next level in ACS.
  • per-sector settable fog density.
  • fixed handling of sector action things with special trigger semantics.
  • true color fonts can be defined in FONTDEFS.
  • added a BOUNCE_NotOnShootables flag to address an old design bug in the bouncing system.
  • added StealthAlpha actor property for defining a minimum visibility value of a stealth monster.

    and many more smaller additions and fixes.

Download

QZDoom 1.3.0:
  • Updated to GZDoom 2.4.0
  • LLVM dependency completely removed
  • Dynamic Lights almost fully implemented in software renderer
  • Shadowmaps for OpenGL

Download
Comments