zDoom, désormais GzDoom et ayant une alternative nommée LzDoom permet de rejouer dans de bonnes conditions à Doom, Doom II, Heretic, Hexen et autres, à condition d'avoir les données originales. zDoom est disponible pour PPC alors que LzDoom est une version améliorée de zDoom mais moins avancée que GzDoom qui utilise Vulkan ou OpenGL (version 3.3 minimum) et supporte le M1. On en parle dans notre dossier sur les interpréteurs.&
- Logos
- Logos
- Logos
- Logos
- Logos
Site Web
Version
4.13.2
Mise à jour
Téléchargement Mac
Code Source
Changelog
Changelog
4.13.2
- Do a check if a local variable exceeds the available stack space.
- Check array size for overflow.
- cap the size of the string copy calls in LevelStatEntry()
- Reduce number of multiply ops per frame and increase x-axis clipper range for orthographic projection.
- Allow using
Self
as the class name in the default block to refer to the current class - Fixed STRETCHPIXELS flag not being exposed.
4.13.1
- Do a check if a local variable exceeds the available stack space.
- Check array size for overflow.
- cap the size of the string copy calls in LevelStatEntry()
- Reduce number of multiply ops per frame and increase x-axis clipper range for orthographic projection.
- Allow using
Self
as the class name in the default block to refer to the current class - Fixed STRETCHPIXELS flag not being exposed.
4.13.0
Highlights:
- Added pistol start gameplay option
- A few ID24 spec implementations, adds support for new Bethesda DOOM + DOOM II re-release and Legacy of Rust
- Several multiplayer network fixes, especially with prediction
- some savegame fixes, should now be able to delete them on windows
- add Extra Parameters to iwad selection box
- iwad selection box now always shows unless one of the following is true: it is disabled, -iwad is used from command line, or you load in a gameinfo that suggests an iwad
- add mbf21 and mbf21 (strict) compatibility presets
- particles and rollsprites are now square
- ZMusic update, allows selecting a new module player
- forced-perspective sprite clipping (limited ability for sprites to render under the floor)
- support for Orthographic projection
- decoupled animation fixes
- able to now pass optional parameters in any order
Verbose notes
- Added pistol start gameplay option
- StringTable cleanup and improvements
- Instead of going through a global callback function set the string table's default gender at the start of each frame
- Exported FTeam getters
- Added PSpriteTick virtual
- ZWidgets: disabled SetClientFrame.
- dynamically import GetDpiForWindow from USER32.dll, else return a default value
- optimized last commit to not retrieve the function repeatedly if it has already failed.
- Fixed local copies of items not respecting their Amount value
- moved the NetworkEntityManager into the backend code.
- fix lifetime of skyinfo variable in HWWall::SkyPlane.
- ZDRay specs fix
-norun
now implies-stdout
on Windows as it's useless without it- fixed: rollsprites now 'unstretch' properly in regular y-billboarding
- demote SDL_Wait errors to console printouts
- shorten sdl_waitevent error message
- Interpolation fix for network prediction
- Fixed incorrect automap arrow position in multiplayer
- Fixes for client network IDs
- View fixes when predicting
- Fixed changeskill being unnetworked
- Player spawn fix in co-op new games
- Reworked clientside lerping
- Added ShouldShareItem virtual
- Add graycheckVal, expose hud_oldscale/hud_scalefactor to the menu
- added emulation of Final Doom's teleporter z glitch and activate it for Saturnia MAP10
- fixed bad network ID assignment.
- Interpolation fix for network prediction
- fixed: AActor's members must all be native.
- Fixed "PrivateNetOf" function not checking for the entire B class private network range
- fix lifetime of skyinfo variable in HWWall::SkyPlane.
- Fixed prediction not calling virtual Tick function
- Fixed desync in Heretic
- Fixed ViewPos not properly backing up when predicting
- Fixed weapon slots not resetting on unmorph
- restore old fadestep behavior if SPF_NEGATIVE_FADESTEP is not passed in
- Added missing checking for LOOKALLAROUND.
- fixed: for deleting files and folders on Windows we have to call the Unicode variants of these functions.
- fixed: The savegame's PNG loader must use a caching FileReader to avoid holding a handle to the containing file.
- strip spaces from language labels.
- don't abort when parsing the Steam config fails.
- fixed GL nodes loader for maps loaded from mounted folders.
- add mbf21 and mbf21 (strict) compatibility presets
- make particles square
- always show iwad picker, offer option for forks to hide picker by default.
- make roll sprites square
- Ability to add extra args on all platforms similar to how Mac OS always had it
- fix CheckParmList
- Fixed unmorphed Actors still ticking
- don't show secret-flagged linedefs with special color on am_cheat 4 and above
- Provide a diagnostic message for the two 32-bit related static_asserts
- partial fix for
FString::IsInt()
- Fix invisibility affect on enemies
- Added subclassing for use commands
- Inventory item spawn fixes
- Network messages will now show usernames instead of just numbers
- Added ChangeTeam function for teamplay
- Added missing player retranslation
- Scriptified the view squatting.
- Narrow the Launcher check box clickable areas to stop overlap and fix #2558
- Fix memory leak on TDeletingArray move assignment
- Rework named arguments
- restrict new relaxed named arguments to zscript >= 4.13
- Fix A_SetAnimation
- Rename SourceRadius to SoftShadowRadius (to match VKDoom)
- Add X, Y and Z offsets for VOXELDEF. Needed for voxelized weapons which would typically be very large and take up the majority of the 256x256x256 canvas, therefore making precise positioning of the models relative to the screen pretty much impossible without tweakable offsets.
- Added SPF_(NO)FACECAMERA flagst for specifying camera facing on particles and visual thinkers.
- Added SPF_ROLLCENTER for particles and visual thinkers.
- Fixed Pre(Un)Morph being called out of order.
- Turn on the output limiter
- add COMPATF2_NOACSARGCHECK to disable ACS function argument count checks
- add total chaos retro and full maps to compatibility.txt
- Add missing GC write barrier
- Misc network fixes
- handle freeze in decoupled animations
- Fix directory crash for filenames that appear elsewhere in the path
- Clean up lightmap stuff in the namedef
- fixed alignment issue in SBARINFO's DrawString command
- Fixed subnormal float viewpos values breaking rendering
- Disable effects on Actors set not to render locally
- Add SPF_NOMIPMAP to force actor sprites or particles to have no mipmaps. This makes tiny sprites/particles look more crisp and legible in the distance. Mipmapping causes the sprites/particles to have an inconsistent look where they'd sometimes be clearly visible and sometimes less visible depending on camera distance and movement.
- fix: check if bombsource exists when exploding a projectile with a XF_NOALLIES flag
- Fix Specular not using Material definition for Glossiness and Level
- Support the new Doom + Doom II update
- fix MBF21 A_RadiusDamage crash/broken 'distance' arg
- Allow XInput joysticks to work while the game is unfocused
- don't change priority to idle if i_pauseinbackground is false
- Isometric Mode and Robin (#2618)
- Export PlayDiveOrSurfaceSounds to ZScript and made it virtual for mods to customize the diving and surfacing sounds
- mingw64 requires including cstdint
- Fix preprocessor symbol for Windows
- Fix libraries on mingw64
- Fix namespace issue
- sys/stat.h is required on all platforms
- Keep legacy_studio_definitions for non mingw64 toolchain
- Better solution for DwmDefWindowProc on mingw64
- fix faux pas
- Fix to use the correct definition of DwmDefWindowProc
- Fix incorrect return type
- add doomkex doom2kex tntkex and plutoniakex as valid iwad filenames
- add xbox filenames too
- Added GOG path for Doom + Doom II
- Reverted use of tchar.h which should be considered deprecated.
- Allow for Basic and Hexen armor replacing
- Fixed counters not clearing when using shared/local pickups
- Added itemcls to HasReceived
- Made itemcls optional
- Skip bex strings for freedoom if language lump is present (#2682)
- Stop grabbing mouse when game window doesn't have the focus
- Smaller aspect ratio screens were getting clipped a bit too much. This is a brute-force if-else solution. Larger aspect ratios (wider screens) were always good.
- fix A_PlaySound not working for DSDHACKED-defined sounds
- implement +SQUAREPIXELS flag
- add SpawnMultiCoopOnly mapinfo flag to spawn only coop spawns in single-player
- PointToPseudoPitch() was being called even when viewpoint was not allowed out of bounds. And its sqrt was slow even when it was necessary (thanks dpjudas for the speedup code).
- load id24res if present
- Add support for fire textures in ANIMDEFS
- Truecolor sky: Draw opaque black background on transparent texels
- Render the bottom sky layer always with full opacity in the SW true color renderer.
- replace naive interpolation logic with more exact logic
- quick fix for interpolation, TODO better fix
- rework interpolation to allow for precalculated frames
- Properly fix double interpolation for IQM models
- Prevent console from laying open when intro cutscene plays on some systems.
- Fix bug where down arrow does nothing after clicking the main menu
- Fix load/save menus not starting scrolled to the selected entry
- Fix missing serialization for
skyspeed1
andskyspeed2
- Fix billboard facing camera only taking effect when used with XY billboarding
- Fix incorrect boolean logic for
drawBillboardFacingCamera
- export
FFont::GetChar()
to ZScript - Added GetDecalName()
- removal of some redundant checks
- rename 'restart' ccmd to 'debug_restart' since it is in a broken state right now
- implement
SPAC_Walking
, mostly useful for teleports or for line crossings that should not happen when the player is falling or flying - update UDMF spec entry - Added FloatBobFactor
- Add another soundfonts search directory for *nix
- Exported DPrintf
- Add RADF_CIRCULARTHRUST and matching XF_/RTF_ flags
- Search more paths in SHARE_DIR (#2610)
- implement anamorphesis sprite clipping (aka forced-perspective) (#2431)
- Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE.
- Added check for hurt floors in P_IsUnderDamage().
- SetSkin and GetSkinCount added to PlayerInfo class
- bail out if
shape
is null inF2DDrawer::AddShape
- Fix for NoLocalRender not snapshotting between hub levels
- Removing pre-clipping of Frustum if pitch > 46 degrees and viewpoint is not allowed out of bounds. This is like old behavior.
- Fixed problem in CheckForShadows().
- ID24 interlevel lumps implementation
- make the broken ID24 levelnums work somehow so that Legacy of Rust's intermissions play.
- Add bIsPuff flag
- Add damagesource
- Serialize damagesource, fix bad character in actor.zs
- Made DamageSource and bIsPuff readonly
- Fixed MF9_ISPUFF overlapping with MF9_NOSECTORDAMAGE
- Fix broken if statement in ParseFireTexture
- add missing 'author' and 'label' UMAPINFO fields.
- Replaced MISSILE(EVEN)MORE with a real property and added related Dehacked options from Crispy Doom.
- the MISSILE(EVEN)MORE flags still need to be accessible by ZScript for backwards compatibility.
- fixed logic bug with HitFriend and Refire functions.
- fixed: MBF21's flag functions did not call the special wrappers for MF_FRIENDLY.
- bFriendly should not be set from scripts because this omits needed bookkeeping.
- fix kill count management in CopyFriendliness when used on corpses.
- fix MBF21 ClearCountItem
- fixed a few memory leaks
- set a default value of 1.0 for
MissileChanceMult
property - added CVAR to select the preferred MOD player and SNDINFO option to set it per song.
- added a menu option for switching module players.
- Add bounds checking to GetMidTexturePosition, add assert to P_GetMidTexturePosition
- Made GetMidTexturePosition() const.
- Use a
light_
prefix for custom ZDRay stuff, and actually parse light_softshadowradius for map things - Updated ZDoom UDMF spec changelog.
- Orthographic projection Widescreen aspect ratio horizontal clipping fixed. This one-line change only affects ortho viewpoints. Easy to verify in windowed mode.
- avoid floats in integer math.
- use newer zmusic
- Added MF9_FORCESECTORDAMAGE.
- don't spam the console log if there's math errors - mostly affects Linux/MacOS because there is no distinction from console apps or GUI apps so they put all the data in the console which can cause lag
4.12.2
- fix issues with GCC 14
- network fixes, including prediction and interpolation
- Fixed changeskill being unnetworked
- added emulation of Final Doom's teleporter z glitch and activate it for Saturnia MAP10
- fix lifetime of skyinfo variable in HWWall::SkyPlane.
- ZDRay specs fix
- -norun now implies -stdout on Windows as it's useless without it
- fixed: rollsprites now 'unstretch' properly in regular y-billboarding
- demote SDL_Wait errors to console printouts
- mirror changes with ZWidget, remove SDL_Wait failure message
- Reworked clientside lerping
- Built with MoltenVK 1.2.6 instead of the latest version
GZDoom 4.12.1
- Fixed local copies of items not respecting their Amount value
- hide the additional parameters for now, this needs to be added in later
- Added PSpriteTick virtual
- Exported FTeam getters
- Added pistol start gameplay option
- Restored Windows 7 support
GZDoom 4.12.0
- fixed actor class creation for DSDHacked
- fix DSDHacked state creation.
- - fixed DumpCPUInfo() definition for non-x64 platforms
- update soundfont
- added missing hit obituaries to Hexen's Chaos Serpents.
- set default backend to Vulkan, if Vulkan fails go GLES not OpenGL
- add 'mapinfo' ccmd
- add GetChars() accessors to many FString uses where const char* is wanted
- removed several bad casts to 'long'.
- Fix inheritance for bNoSaveGame
- make zs Actor.GetReplacement and Actor.GetReplacee clearscope
- Deduplicate Map/MapIterator Types' Code
- Improve handling of field names in error messages during Map/MapIterator compilation
- Make sure maps in return type don't segfault
- make Array::Append faster for simple structs
- Don't try to generate code for abstract functions during JIT dump
- Allow dumping jit for mod functions only
- allow "&" instead of "out" in function parameters
- Turn Map/Array assignments into Copy
- Update LZMA SDK to 23.01
- Fix wrong define for PPMd
- Add final and sealed as class options
- Several Backend Updates from Raze
- Several Language File Updates
- Converted lots of FString getters to .GetChars()
- fixed some signed-ness issues.
- fix $PROGDIR expansion being case sensitive
- added missing VMFunction struct definition
- Implement Static Function Pointers
- add forcecullbackfaces in modeldef
- rewrite of HWWalls to allow grabbing the output from the render item generator
- bumped minimum macOS version to 10.13
- Exposed P_GetMidTexturePosition() to ZScript.
- do not print all GL extensions to the log for the GLES renderer.
- widen the special field in FBoomArgs.
- fix UMAPINFO's intermusic being used at the summary screen.
- fixed savegame file name check.
- fix map WAD check for savegame validation.
- always save the map WAD in a savegame's metadata, even if it is from the IWAD
- Add Wall Texture Skewing
- added Wads.GetLumpLength.
- fixed handling of DSDHacked sound replacement in the index range between the regular sounds and the MBF21 extensions.
- Allow setting the colormap from mapinfo (dsda-doom)
- hooked up the per-level colormaps with the hardware renderer.
- added all required names for the new DSDA UDMF properties to the list of names.
- implemented DSDA's sector scrolling properties.
- added UDMF wall scrolling properties from DSDA.
- added friction and colormap related properties from DSDA.
- added per-sector sky UDMF properties.
- added DSDA's thrust properties for UDMF
- fixed DEHSUPP multiple load prevention.
- fix int assign optimization constants generating broken code because they weren't expected
- add master levels to game list for steam
- change which config to look for library folders in
- added rudimentary support for DSDA's COMPLVL lump.
- allow defining zero gravity through MAPINFO
- gave translations a dedicated scripted type.
- use FTranslationID in all places where strict type checking is needed.
- Added missing LANGUAGE definition for Mystic Urn's tag
- Add sv_coopsharekeys - in coop, picking up a key will distribute it to all online players
- Serialize Name Keys as Strings for maps
- fix GL ES switch appearing as 'Unknown' in the menu sometimes
- Add missing loop
- Add in VisualThinkers
- invert mouse again for movement, so that it cancels out the first inversion
- allow comparisons between ints and translation IDs in pre 4.12 ZScript.
- Decoupled IQM Model Animations
- Expose coop share keys to the options menu
- Add Compatibility=Extended for Blasphemer
- add flag +BILLBOARDFACECAMERA - renders actor billboard to always face the camera
- add actor flag +BILLBOARDNOFACECAMERA which forces sprite aimed at camera heading instead of camera position when gl_billboard_faces_camera is true
- Fixed console rendering crash on wide consoles
- Fix vanilla weapon functions passing ammo count to DepleteAmmo
- added STL compatible access functions to TArray.
- convert many source files to UTF-8
- mark gl_maplightmode as a cheat
- fixed savepic loading.
- add new ccmd cvarsearch allows searching cvar by name, languageid, or description
- fix nullptr check for target in HolySpirit.Slam
- internal filesystem handling cleanup
- Virtualized returns for SpecialMissileHit/SpecialBounceHit
- Fixed incorrect offsetting for SpriteOffset.
- Allow 100% kills on 2048 Unleashed (pc_cp2.wad) MAP27
- Allow completion of 2018 Unleashed (pc_cp2.wad) MAP38
- Fixed comment in level_compatibility.zs regarding pc_cp2.wad MAP38 fix
- gldefs: update Freedoom big tech lamp.
- Maintain the actual on-disk path (FResourceEntry::SystemFilePath) for the directory filesystem, because the FResourceEntry::FileName can be modified by game filter-s
- fixed MBF21's instant death sector types.
- added compatibility settings for Memento Mori 2 MAP20
- Export FScanner parser to ZScript as ScriptScanner
- music volume.
- warnings and debug code cleanup
- Fixed CF_SCALEDNOLERP having the wrong value.
- fixed infinite recursion in vid_preferbackend.
- Added DI_ITEM_LEFT_CENTER and DI_ITEM_RIGHT_CENTER
- new launcher with new widget system
- add two parameters to GetSpriteTexture: spritenum and framenum, since some states are "####" "#"
- iwadinfo.txt: remove double entry of doom2f.wad
- iwadinfo.txt: prefer *unity.wads for Unity Editions
- iwadinfo.txt: resort Names for a better overview
- iwadinfo.txt: resort Order for a better overview in selection box
- Added CollidedWith
- Added Z collision detection
- Disabled player sprites when crossing through portals.
- Exposed viewactive, allowing checks for overlay automaps.
- add new netid system for future use
- Expose ForceLightning() to ZScript.
- Added LightningSound MAPINFO property.
- use FSoundID for script provided sounds instead of FString.
- Implement animated particles that aren't tied to the global animation timer
- reverse -allowduplicates check
- Made the damage of polyobjects customizable
- Exposed PerformShadowChecks() to ZScript.
- Add CenterText MENUDEF flag
- Fix .. to root folder in relative include
- Better Joystick handling in Linux (particularly for the Steam Deck)
- Fix readonly native structs
- Support negative fadestep for particles
- reworked Morph system
- don't show path if longsavemessages is false
- Fixed: A_LookEx did not account for the +LOOKALLAROUND flag.
- Ignore vid_maxfps when vsync is enabled.
- quake radii and explosion distances are no longer int now doubles
- slow down frame updates for the start screen for slower GPU's, since this can increase loading time significantly
- libwebp now included in source
- Fixes for spawn farthest DM option
- Add crash log file to .gitignore
- Fixed local items not copying properties properly
- am_overlay turns off the overlay when set to zero
- fix harmony grenade not working
- Allow larger denominators for IVF movies
- Add support for the VP9 codec in the IVF container
- skip frames when playing back IVF to prevent desyncs
- allow A_SetCrosshair(-1) to hide the crosshair for effects such as custom scopes
- add level compatibility fixes for Eternal Doom III
- handle dsda namespace like zdoom in udmf
- add cvar cl_restartondeath - bypasses autoloading savegame when pressing +use after dying
Auteur(s)
Auteur
Blzut3 (Braden Obrzut)
coelckers (Christoph Oelckers)
caligari87 (Sterling Parker)
CandiceJoy (Candice)
mjr4077au (Mitchell Richters)