EDuke32 Changelog Unofficial archive

What changed in EDuke32, build by build

2,117 builds · 8,866 commits · 25 authors · October 2009 – August 2026

Commits per year

Select a year to see its builds
SVN era · r1519 – r8798 Git era · voidpoint.io, from april 2020
Filters · 2 active

Showing 72 builds · 107 commits

Export CSV
Display options
Commit details:

December 2024 1 build · 1 commit

November 2023 1 build · 1 commit

Build 10528

13 Nov 2023 · 1 commit · 1 author GIT
Open build
  • If the texturecache.index file cannot be read, invalidate it

    Dino Bollinger 9b6aaed 13 Nov, 22:26 FixEngine
    Show details

    This fixes a problem where the texcache file could grow without limit if something managed to corrupt the texcache index.

September 2023 9 builds · 21 commits

Build 10457

18 Sep 2023 · 2 commits · 1 author GIT
Open build
  • General

    Engine/Duke3D: Several changes to TROR traversal in clipping functions

    Dino Bollinger 46a4394 18 Sep, 00:37 FixEngine
    Show details

    * clipmove() - No longer traverses sectors once a distance limit is exceeded, and at most traverses 64 TROR sectors at once. * hitscan() - TROR sectors added to clipsectlist after regular next sectors. Only adds TROR sectors in a single direction, and at most 64 at once. * A_RadiusDamage - only add TROR sectors if inside damage radius. Also increase MAXDAMAGESECTORS to 512, same as MAXCLIPSECTORS. Fixes glitches and error spam in maps that make heavy use of TROR.

Open the build to see all 2 commits

Build 10434

5 Sep 2023 · 5 commits · 1 author GIT
Open build
  • Fix globalsound being broken in 3D Mode

    Dino Bollinger a2a6009 5 Sep, 17:36 FixEngine
    Show details

    This would previously attempt invalid array access with index -1.

  • Revert clipupdatesector() changes from df868267 and replace with a different approach

    Dino Bollinger bf731b2 5 Sep, 22:09 FixEngine
    Show details

    If the sector contains a TROR bunch, then whenever clipupdatesector() would normally return 1, instead run updatesector() and return 0 instead. The old approach did not work out in all situations. In Fury, certain flying enemies could not pass some TROR layers properly, and in AMC, trying to submerge in TROR water had the player glitch out on the surface. This exact approach had previously been used in AMC without any major issues for 2 years, before the recent TROR changes.

  • Fix hitscan() and clipmove() by checking for invalid sectnums

    Dino Bollinger fa83f83 5 Sep, 17:28 FixEngine
    Show details

    Invalid sectnums could previously be added to the clipsectlist if a hitscan shot passed a tror layer.

Open the build to see all 5 commits

Build 10427

4 Sep 2023 · 3 commits · 1 author GIT
Open build
  • fix actors on lotag 1 sectors not being squishable

    Dino Bollinger da49d94 4 Sep, 19:29 FixEngine
    Show details

    Squishing is now prevented if SE7 is present (as previously intended), or when the actor is standing on submergible TROR water.

    Fixes
    terminx/eduke32#283
  • fix regressions with clipupdatesector() from df868267

    Dino Bollinger 1e3d72e 4 Sep, 18:31 FixEngine
    Show details

    This resolves a bug in Duke3D where the player couldn't move while shrunk if a TROR sector was present on the map. It also ensures that the original clipping is used if no TROR bunch is present inside the sector in question. This should reduce the amount of backwards-compatibility problems.

  • Fix clipmove() problems with TROR wall geometry resulting from commit 7f00d5ce

    Dino Bollinger 027baac 4 Sep, 15:40 FixEngine
    Show details

    The changes are now more conservative and only affect sprites on TROR layers.

Build 10421

3 Sep 2023 · 1 commit · 1 author GIT
Open build
  • Fix many cases in which cansee() would fail with TROR

    Dino Bollinger 86e5fe7 3 Sep, 21:13 FixEngine
    Show details

    This commit adds a failsafe which corrects the given origin and destination sectnums of the "cansee()" function, by checking if the corresponding (x,y,z) coordinates are actually contained within the given sectors. The problem with TROR in particular was that the calculation done to determine the point of intersection on the TROR layer requires the coordinates to be within the given sectnums. Else, cansee() would simply return 0, even if there was a clear line of sight. This should also implicitly fix any other cases where the coordinates of the cansee() call do not exactly match up with the given sectnums.

Build 10414

3 Sep 2023 · 14 commits · 2 authors GIT
Open build
  • Fix tsprite cutoff if the sprite stretches across multiple TROR layers

    Dino Bollinger 29570f2 written 31 Aug 2023 FixEngine
    Show details

    The sprite is now properly copied for each sector it stretches across.

  • Overhaul TROR handling for hitscan() and clipmove()

    Dino Bollinger 7f00d5c written 31 Aug 2023 FixEngine
    Show details

    - Vertically attached sectors are now added to the clipsectorlist - Entirely remove the previous TROR hack from hitscan() - Instead, hitscan() now also uses clipsectorlist, and detects whether a TROR transition floor or ceiling was hit. If so, any subsequent wall hits in the same sector are skipped. This fixes the following: - Collision and hitscan checks where a sprite stretches vertically across more than 2 TROR layers. - Hitscan shots being unable to clear sloped TROR surfaces. - A potential out-of-bounds array access in hitscan()

  • Add TROR-awareness to sprite clipping in hitscan()

    Dino Bollinger 98e4404 written 30 Aug 2023 FixEngine
    Show details

    Analogous to the previous commit, it also checks the sprites of the upper and lower TROR bunch of the sector. This handles the case where a sprite is intersecting layers, and fixes hitscan shots not hitting enemies properly in such cases.

  • Add TROR-awareness to sprite clipping in clipmove()

    Dino Bollinger 97ff45d written 30 Aug 2023 FixEngine
    Show details

    This makes it so that the sprites of the ceiling and floor bunch sectors of the sector being checked are also iterated over. This handles the case where a sprite is intersecting TROR layers, and fixes projectiles not hitting enemies properly in such cases.

  • Make clipupdatesector() TROR-aware with compatibility ENGINE_EDUKE32

    Dino Bollinger df86826 written 16 Aug 2023 FixEngine
    Show details

    When checking if a point (x,y,z) is contained within a sector, then if x,y is contained, but z is not, it also checks all attached TROR layers. This fixes terminx/eduke32#24

Open the build to see all 14 commits

Build 10400

1 Sep 2023 · 1 commit · 1 author GIT
Open build
  • Completely revert attempted jitter fix from 5977025e

    Dino Bollinger e09200e written 2 Sep 2023 Fix
    Show details

    This caused two problems: - The change with AC_FZOFFSET caused BLOODPOOL to jitter in Duke3D - The change with water floors caused various actors to jitter in Fury More trouble than it's worth.

August 2023 6 builds · 7 commits

Build 10344

10 Aug 2023 · 1 commit · 1 author GIT
Open build
  • Fix z interpolation problems in VM_Fall() and A_Fall()

    Dino Bollinger 5977025 written 7 Aug 2023 FixEngine
    Show details

    This prevents a visual jitter effect from sprites that aren't moving, but use the "fall" command in a water sector (zombie actors, pickups, etc).

July 2023 2 builds · 4 commits

Build 10332

30 Jul 2023 · 10 commits · 3 authors GIT
Open build
  • Fix cstat parameter in "classicDrawVoxel()" being int8_t instead of int16_t

    Dino Bollinger 12d50cc written 29 Jul 2023 FixEngine
    Show details

    Also fix an error log message in engine.cpp logging the wrong variable.

  • Fix parameter in "polymost_drawtilescreen" being called "wallnum" instead of "tilenum"

    Dino Bollinger 2e51783 written 29 Jul 2023 FixEngine
  • General

    Duke3D/Editor: Add "whilevare" CON command

    Dino Bollinger cdde5f0 written 28 Jul 2023 FixCON
    Show details

    Also fix editor checking for "else" tokens on whilevarl.

Open the build to see all 10 commits

Build 10321

2 Jul 2023 · 9 commits · 2 authors GIT
Open build
  • Fix FURY=1 build removing the "obj/fury/" folder after linking.

    Dino Bollinger 8c30602 2 Jul, 17:28 FixEngine
    Show details

    This bug was introduced in 36af1bb2 and caused the subsequent mapster32 linking to fail. The obj dump folder now has "_dump" as suffix. For regular duke3d builds, this temp folder had the name "obj/eduke32", and hence did not conflict with the "obj/duke3d" folder.

Open the build to see all 9 commits

September 2022 1 build · 1 commit