gzDoom
gzDoom est un émulateur spécialisé dans l’exécution des jeux Doom, Doom II, Heretic et Hexen, ainsi que d’autres titres compatibles avec les données originales. Il fonctionne comme un interpréteur (ou frontend) optimisé pour reproduire fidèlement ces classiques, en exploitant des accélérations graphiques via Vulkan ou OpenGL 3.3 minimum.
Sur macOS, il supporte à la fois les processeurs Intel et Apple Silicon (M1), offrant une compatibilité étendue. Bien que moins connu que des alternatives comme LzDoom, il se distingue par ses performances et son support des fonctionnalités modernes, tout en restant fidèle à l’esprit des jeux originaux. Une référence utile pour les amateurs de Doom cherchant une solution stable et performante.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
PowerPC
Apple Silicon
64 bits
Téléchargement et liens
- Télécharger gzDoom
- Site officiel
- Code source
-
brew install --cask gzdoom
Historique des versions
v14.2
-
Nouveautés majeures pour les développeurs et modders :
- Ajout de l’autoSwitch comme paramètre pour la fonction
A_ReFire(meilleur contrôle des armes dans les scripts). - Exposition de plusieurs entités et thinkers à ZScript :
DDoor,DPlat, parties du Ceiling et du Floor,DElevator(accès programmatique étendu). - Export de fonctions utiles pour le débogage :
GetLumpContainer,GetContainerName,GetLumpFullPath(pour les WADs et les parsers personnalisés).
- Ajout de l’autoSwitch comme paramètre pour la fonction
-
Corrections critiques :
- Fix des crashs et fuites mémoire récurrentes.
- Réversion du clipper vers un chemin de code plus ancien (hors modes Ortho et OOB) pour des performances améliorées.
-
Améliorations techniques :
- Corrections et optimisations des modes Ortho et Out-of-Bounds (stabilité et comportement).
- Ajout de propriétés couramment utilisées dans le parser dehacked (compatibilité modding).
Changelog complet
v14.1
-
Améliorations techniques majeures et compatibilité avec VKDoom :
- Parité avec VKDoom pour les lumières dynamiques (alpha influençant la luminosité) et ajout de nouvelles fonctionnalités comme
lm_aoetlm_bouncedans les spécifications UDMF. - Ajout de la mipmappage en 2D et de l’interpolation pour la taille de la croix de visée, améliorant les performances et la fluidité visuelle.
- Parité avec VKDoom pour les lumières dynamiques (alpha influençant la luminosité) et ajout de nouvelles fonctionnalités comme
-
Corrections critiques :
- Résolution des problèmes de coopération multi-joueurs (clé partagée incorrecte si l’item était généré en jeu, ex. via console).
- Correction des erreurs fatales de formatage et des accès hors limites dans les tableaux (2 occurrences).
- Fix des sons de chat pour les versions enregistrées ou shareware de Doom.
- Correction des intermissions de style id24 (écrans de fin) et des transparences des armes dans le même style.
- Stabilisation des scripts ACS (évitement des plantages lors de divisions/modulus nulles).
-
Nouveautés pour les développeurs et les mods :
- Ajout de nouvelles fonctions ZScript :
S_StartSoundAt,HasConversation,SpecialBounceHit(avec paramètreis3DFloor),PlayerRespawning, etFindClass. - Extension des propriétés UDMF avec un système de "Translatable" pour les décors (remplaçant progressivement "OpaqueBlood").
- Intégration de nouveaux éléments de id24 : lame à carburant, épée Calamity, et incinérateur, avec corrections des mécaniques d’ammo et d’auto-ciblage.
- Améliorations des VisualThinkers (gestion des statnums, cache mémoire réduit, flags pour l’angle des rebonds).
- Ajout de nouvelles fonctions ZScript :
-
Optimisations et sécurité :
- Suppression du cache des composants osseux pour réduire la consommation mémoire.
- Ajout de la flag
CVAR_SYSTEM_ONLYpour blacklister automatiquement les CVAR
Changelog complet
v14.0
- Nouveautés majeures et fonctionnalités techniques :
- Ajout de la fonction
LookForEnemiesEx()pour récupérer tous les ennemis dans une zone donnée (#2753). - Intégration de
WorldHitscanFiredetWorldHitscanPreFired(#2432), ainsi queWorldRailgunPreFiredetWorldRailgunFiredpour une meilleure gestion des attaques projectiles. - Ajout d’un
OrthographicCameraacteur avec un décalage configurable (offset) pour modifier la position de la caméra en vue orthographique. - Amélioration de la gestion des footsteps (pas) : synchronisation avec la durée du mouvement, ajout d’un contrôleur de volume via CVar, et implémentation de footsteps basés sur la vitesse/distance.
STRETCHPIXELS(option SPF_) ajouté pour étirer les pixels, avec une correction de son exposition dans les paramètres.AppendStatusBarajouté dans SBARINFO pour permettre l’ajout de code personnalisé à la barre de statut.- NetClose et NCMD_EXIT portés vers le fichier
i_net(plateforme-agnostique), avec suppression d’un message réseau obsolète. - RNG (Random Number Generator) amélioré : ajout de fonctions
CRandom, de snapshotting pour la prédiction, et réécriture des constructeurs deFRandom. - VisualThinkers : optimisation des fonctions critiques hors de
Tick()pour éviter les appels superflus, compression des booléens en champ de flags, et sérialisation deanimData. - Automap : ajout de marqueurs par défaut pour tous les jeux (modifiable).
- ACS : fonctions de gestion d’ID réseau ajoutées.
- Mouvements et collisions :
- Correction des rebonds sur les 3D floors (#2835), des comportements autooff sur les plafonds (#2837), et diverses fixes liés aux collisions.
- Poison ne se nettoie plus sur revival.
- Discs ne
- Ajout de la fonction
Changelog complet
v13.2
-
Améliorations de stabilité et sécurité :
- Ajout de vérifications pour éviter les dépassements de pile (stack overflow) via des variables locales et des tableaux.
- Limitation explicite de la taille des copies de chaînes dans
LevelStatEntry()pour prévenir les fuites ou plantages.
-
Optimisations techniques :
- Réduction du nombre d’opérations de multiplication par cadre et élargissement de la plage de clipping pour les projections orthographiques (amélioration des performances graphiques).
-
Nouveautés pour les développeurs :
- Permet d’utiliser
Selfcomme nom de classe dans les blocs par défaut pour référencer la classe actuelle (fonctionnalité utile pour les scripts personnalisés).
- Permet d’utiliser
-
Correction d’un bug visuel :
- Le flag
STRETCHPIXELSest désormais correctement exposé dans les paramètres (résolution des problèmes d’affichage liés à l’étirement des pixels).
- Le flag
Changelog complet
v13.1
-
Corrections majeures :
- Correction d’un bug critique lié aux shaders OpenGL avec le compilateur GLSL d’Apple (problème connu pour son implémentation buggée).
-
Nouveautés fonctionnelles :
- Ajout d’un flag optionnel
(SPF_)STRETCHPIXELSpour contrôler le redimensionnement des sprites (rollsprites et particules) selon les paramètres de niveau ou leur comportement original. - Activation du sous-système console sous Windows avec détection dynamique, permettant l’affichage des logs
printfdans le terminal de lancement (comme sur Linux et macOS). - Possibilité de récupérer le checksum de la carte en cours.
- Ajout d’un flag optionnel
-
Améliorations mineures et correctifs techniques :
- Suppression d’un avertissement de compilateur lié à la syntaxe des destructeurs.
- Correction d’un problème de mise à l’échelle FOV pour les projections orthographiques.
- Réversion du code de dégâts sectoriels (bugs critiques identifiés, fonctionnalité reportée à la prochaine version).
Changelog complet
v13.0
-
Nouveautés majeures :
- Ajout d'une option de démarrage avec le pistolet (pour un gameplay plus réaliste ou rétro).
- Support étendu pour les spécifications ID24 : prise en charge des rééditions récentes de Bethesda DOOM et DOOM II, ainsi que du jeu Legacy of Rust.
- Améliorations multi-joueur : corrections majeures des bugs de réseau, notamment liés à la prédiction client (interpolation, désynchronisations, gestion des IDs, et des vues en mouvement).
- Compatibilité étendue : présets pour les versions mbf21 (et strict), et ajout de cartes Total Chaos Retro et Full Maps dans le fichier de compatibilité.
- Nouveaux paramètres techniques :
- Projection orthographique et perspective forcée (clipping des sprites sous le sol).
- Paramètres supplémentaires pour les VOXELDEF (offsets X/Y/Z) et flags pour les particules (SPF_NOFACECAMERA, SPF_ROLLCENTER).
- Support des modules audio via ZMusic avec sélection de joueurs modulaires.
-
Corrections importantes :
- Sauvegardes : résolution des problèmes de suppression des fichiers sur Windows (et macOS, par extension).
- Réseau : fixes des désyncs dans Heretic, gestion correcte des IDs clients, et réinitialisation des slots d’armes après unmorph.
- Graphismes :
- Correction des rollsprites et particules (non étirés en y-billboarding, forme carrée).
- Rendu des sprites invisibles sous le sol (perspective forcée).
- Suppression des artefacts de mipmapping (SPF_NOMIPMAP) pour les sprites/particules distants.
- Correction des lightmaps et des offsets de texte dans le HUD (SBARINFO).
- Scripting/ZScript :
- Réimplémentation de la vue accroupie (view squatting), gestion des animations découplées, et des effets de caméra (SPF_NOFACECAMERA).
- Ajout de fonctions pour le
Changelog complet
v12.2
-
Nouveauté majeure :
- Ajout de l'émulation du glitch de téléportation Final Doom (problème de coordonnée Z) et activation pour Saturnia MAP10, améliorant la compatibilité avec certains niveaux historiques.
-
Corrections importantes :
- Correction des problèmes de synchronisation réseau (prédiction et interpolation) et du bug où changeskill n’était pas synchronisé en multijoueur.
- Fix du comportement des rollsprites en billboarding vertical classique (plus de déformation artificielle).
- Correction de la durée de vie de la variable skyinfo dans les plans de ciel en rendu matériel (HWWall::SkyPlane), évitant des artefacts visuels.
-
Compatibilité compilateur :
- Correction des incompatibilités avec GCC 14, assurant une compilation stable sur les systèmes récents.
(Aucune modification spécifique à macOS ou Apple Silicon mentionnée dans ce changelog.)
Changelog complet
v12.1
-
Nouveauté majeure :
- Ajout d’une option de gameplay permettant de démarrer avec un pistolet (utile pour les niveaux d’entraînement ou les tests).
-
Corrections importantes :
- Correction d’un problème où les copies locales d’objets ne respectaient pas leur valeur Amount (quantité).
- Restauration du support de Windows 7 (bien que cela n’impacte pas macOS, cela élargit la compatibilité globale).
(Aucune modification spécifique à macOS ou Apple Silicon n’est mentionnée dans ce changelog.)
Changelog complet
v12.0
-
Amélioration majeure pour macOS :
- Version minimale requise : passage à macOS 10.13 (High Sierra) au lieu de versions antérieures (impact direct sur la compatibilité des anciens systèmes).
-
Corrections critiques pour la stabilité :
- Correction des problèmes de création d’acteurs et de states pour DSDHacked (compatibilité avec les mods).
- Fix des sauvegardes (vérification des noms de fichiers et intégration systématique du WAD de la carte dans les métadonnées, même si issu de l’IWAD).
- Résolution des crashs liés aux types
Map/MapIteratoret aux fonctions abstraites lors du JIT dump.
-
Optimisations techniques :
- Backend par défaut : bascule automatique vers Vulkan (avec fallback sur GLES si Vulkan échoue, évitant OpenGL).
- Ajout de la commande
mapinfo(CCMD) et de propriétés avancées pour DSDA (colormaps, scrolling de secteurs/murs, propriétés UDMF). - Améliorations du rendering (skewing des textures de murs, gestion des backfaces via
forcecullbackfacesdans modeldef).
-
Compatibilité et performances :
- Correction de la sensibilité à la casse pour les variables
$PROGDIR. - Mise à jour du SDK LZMA (version 23.01) et du soundfont.
- Optimisations ciblées (ex :
Array::Appendpour les structs simples, gestion des signed-ness dans certains cas).
- Correction de la sensibilité à la casse pour les variables
Note : Aucun changement spécifique pour Apple Silicon (M1/M2/M3) ou les builds .dmg n’est mentionné dans ce changelog.
Changelog complet
v11.3
-
Nouveauté majeure :
- Ajout d’une nouvelle fonction
Wads.GetLumpLengthpour récupérer la taille d’un lump (bloc de données) depuis une WAD, utile pour les scripts et extensions personnalisés.
- Ajout d’une nouvelle fonction
-
Corrections importantes :
- Validation corrigée des sauvegardes (savegames) pour vérifier la cohérence des données de la carte (map WAD), évitant des erreurs de lecture ou d’écriture.
- Sauvegarde systématique de la map WAD dans les métadonnées d’une sauvegarde, même si elle provient du fichier principal (IWAD), garantissant une restauration complète du niveau.
(Aucune modification spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v11.2
- Correction majeure : vérification corrigée des noms de fichiers de sauvegarde (évitait potentiellement des plantages ou des pertes de données).
- Amélioration des scripts : passage d’un avertissement à une erreur pour les incompatibilités de retour de fonction dans les scripts ZScript 4.12+ (meilleure stabilité des mods).
- Optimisation graphique : suppression de l’affichage systématique de toutes les extensions GLES dans les logs (réduction des verbosités inutiles).
- Compatibilité logicielle : mise à jour mineure du backend (intégration de contributions externes, détails techniques non précisés).
Changelog complet
v11.1
-
Corrections majeures pour la compatibilité avec DSDHacked :
- Résolution des problèmes de création des classes d'acteurs et de l'initialisation des états, essentiels pour le bon fonctionnement de ce mod.
-
Amélioration des performances et de la stabilité technique :
- Correction de la définition de
DumpCPUInfo()pour les plateformes non-x64 (incluant potentiellement Apple Silicon via des adaptations génériques). - Mise à jour du soundfont pour une meilleure compatibilité audio sur toutes les plateformes.
- Correction de la définition de
-
Changement architectural majeur pour le rendu graphique :
- Passage par défaut au backend Vulkan (avec fallback sur GLES en cas d'échec, remplaçant OpenGL), améliorant potentiellement les performances sur les architectures modernes (y compris Apple Silicon).
-
Corrections de sécurité et de robustesse du code :
- Suppression de plusieurs casts incorrects vers le type
long, réduisant les risques de plantages ou de comportements indéterminés. - Correction d'une erreur d'héritage liée à
bNoSaveGame, impactant la gestion des sauvegardes dans certains mods.
- Suppression de plusieurs casts incorrects vers le type
-
Optimisations mineures mais critiques pour la stabilité :
- Correction d'une validation de chaîne de caractères erronée impliquant
GetChars, évitant des fuites mémoire ou des accès hors limites. - Remplacement de
strdupparcopystringlors de la lecture des environnements, réduisant les risques de fuites mémoire.
- Correction d'une validation de chaîne de caractères erronée impliquant
Changelog complet
v11.0
-
Nouveautés majeures :
- Support initial de DSDHacked : Intégration partielle (testée uniquement avec crusader.wad), incluant la création dynamique d'acteurs et d'états, ainsi que des structures dynamiques.
- Nouveaux formats d'images : Ajout du support pour WebP et QOI pour les textures.
- Améliorations ZScript : Nombreuses extensions (constantes, fonctions, types) et optimisations du système de scripts.
- Système de construction : Transition vers vcpkg pour simplifier les builds sous Windows (exécution via un seul script batch).
-
Corrections importantes :
- Sauvegarde des paramètres d'affichage : Résolution du problème où les réglages d'écran n'étaient pas conservés.
- Compatibilité avec les mods :
- Correction du comportement des crushers (Boom) pour qu'ils s'arrêtent 8 unités au-dessus du sol (ajout d'un nouveau special pour éviter de modifier Generic_Crusher).
- Gestion des boss flags (MBF21) : Le flag BOSS implique désormais NORADIUSDMG (corrigé deux fois dans le changelog).
- Correction des polyobjects complexes évitant un crash rare.
- Corrections techniques :
- Fix des floor/ceiling overlaps dans le chargement UDMF et la détection des secteurs superposés.
- Résolution d'un problème de double-lien avec l'automap (évitement des appels redondants de
C_DoKey). - Correction de la consommation d'ammo avec le Phoenix Rod en mode powered-up.
- Gestion des cutscenes : Arrêt systématique avant l'écran ENDOOM.
-
Spécificités macOS :
- Sécurité du backend Cocoa : Ajout de safeguards pour éviter les accès précoces aux variables de console (évite les plantages liés à des initialisations tardives).
- Optimisations système :
- Utilisation d'une **pool de
Changelog complet
v10.0
-
Nouveautés majeures et fonctionnalités techniques :
- Ajout de la traduction complète en italien.
- Intégration de la boucle
foreachet des types Quaternion, Vector4, et améliorations vectorielles (intrinsics commeLengthSquared,Angle,PlusZ,ToVector). - Support des ANIMDEFS pour les particules et du PS_REPLACE dans
A_SpawnParticle(Ex)pour un remplacement cyclique. - Correction de la gestion des portails (évitement de la récursion infinie) et amélioration de la fonctionnalité Slam.
- Ajout de commandes CLI pour désactiver les extras (
-noextras), lumières (-nolights), brightmaps (-nobrightmaps) ou widescreen (-nowidescreen). - Optimisations du GC (Garbage Collector) : séparation des phases de finalisation, ajustement dynamique du taux de balayage, et statistiques améliorées.
-
Corrections critiques :
- Correction d’un crash lié à
A_Changemodelavec des noms de modeldef invalides. - Fix de la remappage des colormaps (gestion des entrées fullbright comme non-dupliquées).
- Résolution d’un bug dans
P_NoInterpolation()(interpolation des angles de caméra à la fréquence de trame). - Correction de l’indexation incorrecte dans
CanWipe(appel avecindex == -1). - Fix de la gestion des sons (arrêt de tous les sons avant l’affichage de ENDOOM) et suppression du raccourci du code intermission sans écran de résumé.
- Correction du traitement des événements par frame pour les menus (indépendamment de la FPS).
- Réparation du cachement des textures brutes (vérification erronée de FrontSkyLayer).
- Fix de la rotation des modèles (pixel ratio incorrect).
- Correction d’un crash lié à
-
Améliorations ZScript et API :
- Ajout de
MapetMapIterator, structuration de `A
- Ajout de
Changelog complet
v9.0
-
Nouveautés majeures :
- Support des modèles squelettiques IQM et particules texturées (améliorations graphiques significatives).
- Stockage des sauvegardes par IWAD : chaque jeu (IWAD) dispose désormais de son propre dossier de sauvegardes (à migrer manuellement si nécessaire).
-
Corrections importantes :
- Gestion des sauvegardes et fichiers de configuration : migration systématique du
gzdoom.iniversDocuments/My Games/GZDoom(sauf si un fichier videGZDoom_portable.iniest créé dans le dossier du jeu). - Stabilité et sécurité :
- Correction des crashes liés aux pointeurs nuls (ex.
V_GetFont, textures incomplètes). - Meilleure gestion des exceptions en cas de crash (affichage du message avant plantage).
- Initialisation correcte des propriétés pitch/roll des modèles voxel.
- Correction des crashes liés aux pointeurs nuls (ex.
- Graphismes et rendu :
- Correction des problèmes de HUD (modèles non affichés après changement de modèle via
A_ChangeModel). - Fix des textures de canvas clippées et du nettoyage incorrect des textures en Vulkan.
- Synchronisation vidéo/audio pour les vidéos intégrées (ex. cutscenes).
- Correction des couleurs lavées en mode HDR Vulkan.
- Correction des problèmes de HUD (modèles non affichés après changement de modèle via
- Gestion des sauvegardes et fichiers de configuration : migration systématique du
-
Améliorations techniques internes :
- Réorganisation des CVARs (plus de liste chaînée, initialisation manuelle).
- Ajout de nouveaux flags pour les effets de secousses (earthquakes) :
QF_SHAKEONLY(seulement secousses, pas de dégâts),QF_AFFECTACTORS(effets sur les monstres),QF_GROUNDONLY(seulement si le joueur est au sol).
- Support des versions GOG des jeux Doom/Doom II (éditions Unity).
- Détection des WADs Final Doom ajoutés récemment à la version Steam de Doom II.
-
MacOS (builds et correctifs) :
- Ajout des commandes console
openscreenshots,opensavesetopenconfig**
- Ajout des commandes console
Changelog complet
v8.2
-
Nouveauté majeure :
- Compatibilité étendue : ENDOOM n’est plus limité à Windows, ce qui permet son utilisation sur d’autres plateformes (dont macOS) pour des fonctionnalités spécifiques.
-
Corrections importantes :
- Correction des noms pour la fonction
A_PlaySoundEx(évitera des erreurs dans les scripts ou mods). - Ajout de plusieurs cartes au bloc de compatibilité rebuildnodes (améliore la prise en charge des niveaux dans certains mods).
- Correction de la comparaison entre les types
FVectoretVector(évite des plantages dans les jeux utilisant ces structures).
- Correction des noms pour la fonction
-
Améliorations mineures :
- Correction du tiling du fond d’écran de l’écran de résumé (affichage plus propre).
- Mise à jour textuelle manquante dans la version 4.8.1 (corrige une incohérence dans la documentation ou les messages).
Changelog complet
v8.1
-
Mise à jour majeure :
- Backend Vulkan entièrement refondu (améliorations non détaillées dans le changelog, mais impact potentiel sur les performances et la stabilité graphique).
-
Corrections critiques :
- Bug lié aux miroirs en mode logiciel (reflets ne fonctionnaient pas correctement).
- Division par zéro évitée lors de l'utilisation de valeurs
ticdupnon valides. - Correction du bug de couleur du ciel délavé sous Vulkan.
- Fonctionnalité
P_AimLineAttack: ajout d'un override pour le flagNOTAUTOAIMEDdans les commandes informatives (CCMDs).
-
Nouveautés fonctionnelles :
- Ajout des flags ZScript
+ONLYVISIBLEINMIRRORSet+INVISIBLEINMIRRORSpour contrôler la visibilité et les reflets des acteurs dans les miroirs. - Système de pause en arrière-plan (
i_pauseinbackground) ajouté au menu (nécessite une mise à jour des fichiers de langue). - FVector ZScript implémenté pour la propriété Actor Scale (scaling des acteurs).
- Propriété
FailSoundajoutée à la classePuzzleItem. - Réinitialisation de
con_scale(paramètre de scaling console). - Capture d'écran autorisée pendant les cutscenes.
- Ajout des flags ZScript
-
Améliorations techniques mineures :
- Initialisation garantie de
ticdup. - Validation de
fountaincoloravant utilisation. - Correction du JIT (Just-In-Time) pour
GetTimeFrac. - Scaling des cutscenes : activation des facteurs de scaling alternatifs.
- Compatibilité Dehacked : gestion correcte de l'état ready et réassignation des états d’armes (son de la tronçonneuse hardcodé).
- Héritage : vérification des point pushers/pullers par héritage plutôt que par correspondance absolue.
- Chemin d’inclusion relatif corrigé lors du chargement de dossiers.
- É
- Initialisation garantie de
Changelog complet
v8.0
-
Nouveautés majeures :
- Intégration du système de cutscenes inspiré de Raze, couvrant les écrans de début de partie, d’épisode, de cluster et de niveau (parsing des données et rendu via le moteur in-game).
- Ajout d’un système de HUD scaling à la manière de Raze (activable via
hud_oldscale=0+ raccourcis modifiés, non exposé dans le menu). - Correction et extension des fonctionnalités MBF21 (notamment gestion des ombres via
MF_SHADOWet compatibilité avec les sprites automap à échelle négative).
-
Corrections importantes :
- Résolution des problèmes de synchronisation des fast crushers (objets écrasants) et des obstacles invisibles dans 1024.wad (MAP02 et MAP05).
- Fix des erreurs de rendu Vulkan (vérification des descriptor sets et gestion des multisamples).
- Correction des bugs liés aux quakes (distance 3D via le flag
QF_3D) et aux dynamic lights (suppression de la dépendance à un flag global instable). - Stabilisation des co-op softlocks (ex. : Heretic E4M8) et des téléporteurs en multi-joueur.
-
Améliorations techniques :
- Ajout de nouveaux flags ZScript (
DontLightOthers,DontLightMap,MF8_SEEFRIENDLYMONSTERS) et fonctions (Get/SetAmmoCapacity,WorldOffsetpour décoller visuellement un acteur sans modifier son hitbox). - Optimisation des startup screens (prise en charge des images de Strife et Hexen, police hex pour Heretic/Endoom).
- Suppression des artefacts obsolètes (ex. :
compat_soundcutoff,corpsegibsremplacé par des modes compatibilité explicites).
- Ajout de nouveaux flags ZScript (
Changelog complet
v7.1
-
Nouveautés majeures :
- Ajout de supports widescreen pour les jeux officiellement pris en charge, incluant Hacx, Harmony et Chex Quest.
- Ajout de cvar pour personnaliser l’alpha et l’épaisseur des lignes sur l’automap.
- Possibilité de scaler les marqueurs de carte en fonction du zoom de l’automap.
- Ajout de la prise en charge des événements WorldUnloaded avec connaissance du nom de la prochaine carte.
- Personnalisation du menu de pause et support pour ReadThisMenu / MenuDelegate (via délegation).
-
Corrections importantes :
- Correction d’un bug majeur dans SBar_DrawTextureRotated (paramètre d’angle manquant).
- Résolution d’une abortion VM lors de la morphing avec le Tome of Power actif.
- Correction des erreurs "out of memory" avec le backend Vulkan pour les buffers de taille nulle.
- Fix des problèmes de luminosité des polices (calcul imprécis via la palette, erreurs off-by-one).
- Correction du traitement des états avec le mot-clé "light" et du V_BreakLines (fonctionnalité cassée).
- Gestion améliorée des polices FON2/BMF (initialisation de la palette).
- Correction de la portée de l’attaque dans A_Punch (bug récurrent résolu).
-
Améliorations techniques :
- Optimisation de la gestion de la mémoire (GC plus agressif hors boucle de jeu).
- Correction d’une fuite mémoire dans DShape2DBufferInfo.
- Prise en compte de "INDEXFON" comme alias de "INDEXFONT".
- Correction des ombres des sprites (ajustement pour le tri en profondeur).
- Fix des particules dans la boucle principale de thinkers (compatibilité avec les lumières dynamiques).
- Patch de compatibilité pour les items mal placés dans Hexen MAP08.
- Évite les **mappings multiples
Changelog complet
v7.0
-
Nouveau backend GLES2 : Ajout d’un moteur graphique basé sur OpenGL ES 2.0 pour améliorer les performances sur les matériels anciens (OpenGL 3.3 ou versions précoces de 4.x), avec une suppression des fonctionnalités non essentielles (post-traitement, éclairage avancé comme le specular ou le PBR). Réservé aux systèmes obsolètes ; pas d’avantage sur les machines modernes compatibles Vulkan.
-
Corrections majeures :
- Fix des problèmes de génération de sommets lors de la division de murs par des plans (compatibilité rétroactive).
- Correction des décors (decal things) qui ne spawnaient pas leurs décors inférieurs.
- Résolution des conflits de couleurs entre brightmaps et glowmaps (désaturation requise).
- Stabilisation des 3D floor models dans les secteurs pour un rendu précis.
- Correction des shaders avec
NO_LAYERSqui ne géraient pas correctement les brightmaps et glowmaps.
-
Améliorations pour Strife :
- Support natif du widescreen pour les graphismes.
- Possibilité de définir les mains de Strife comme modèles 3D (psprites).
-
Support étendu pour MBF21 (version bêta) :
- Intégration partielle des fonctionnalités de MBF (ex. : monsters_avoid_hazards, stay-on-lift modifié).
- Ajout de clés Dehacked manquantes (blood color, dropped item).
- Correction des attaques au corps-à-corps (melee) et du paramétrage de MF6_JUMPDOWN.
-
Interface utilisateur et scripts :
- Mise à jour du système de menu inspirée de Raze pour un meilleur contrôle des animations.
- Ajout d’un régleur de FOV dans les options d’affichage.
- Correction des dialogues dans les fichiers MAPINFO (gestion des
AddDialogues). - Optimisation des HUD models avec vérifications de nullité et amélioration de la recherche par *ps
Changelog complet
Captures d'écran