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 · 1 active

Showing 182 commits

Export CSV
Display options
Commit details:

December 2024

March 2024

December 2023

November 2023

  • If the texturecache.index file cannot be read, invalidate it

    Dino Bollinger 9b6aaed 13 Nov, 22:26 Build 10528 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

  • Increase YAX_MAXCLIPSECTORS from 64 to 256

    Dino Bollinger 8feaf6c 26 Sep, 09:14 Build 10459 Engine
    Show details

    Some TROR layers were blocking hitscan shots because of the low limit.

  • Comment out log message in appendstate/prependstate

    Dino Bollinger 2b937f1 written 22 Sep 2023 Build 10458
  • General

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

    Dino Bollinger 46a4394 18 Sep, 00:37 Build 10457 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.

  • Only store boardfilename in the savegame if we have a usermap

    Dino Bollinger 90db601 written 17 Sep 2023 Build 10457
  • Fix CON_EXIT not working correctly in while loops

    Show details

    The instruction pointer wasn't being updated properly.

  • Fix globalsound being broken in 3D Mode

    Dino Bollinger a2a6009 5 Sep, 17:36 Build 10434 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 Build 10434 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.

  • Rework the cansee() changes from 86e5fe7f to only affect TROR transitions

    Dino Bollinger 423a059 5 Sep, 19:33 Build 10434 Engine
    Show details

    The problem with the previous version was that it didn't take overlapping geometry into account. This should be a more conservative approach that doesn't affect non-TROR uses of the cansee() function.

  • Add same sectnum checks as in hitscan() to A_RadiusDamage()

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

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

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

  • fix actors on lotag 1 sectors not being squishable

    Dino Bollinger da49d94 4 Sep, 19:29 Build 10427 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 Build 10427 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 Build 10427 FixEngine
    Show details

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

  • Improvements to A_RadiusDamage()

    Dino Bollinger 6a08b35 3 Sep, 21:28 Build 10422 Engine
    Show details

    - Add TROR-awareness in similar fashion to clipmove() and hitscan() - Continue scanning walls to damage even if MAXDAMAGESECTORS is reached - Increase MAXDAMAGESECTORS from 128 to 256

  • Fix many cases in which cansee() would fail with TROR

    Dino Bollinger 86e5fe7 3 Sep, 21:13 Build 10421 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.

  • Properly split TROR code from commit 19fd0915 into YAX_ENABLE blocks

    Show details

    And fix problems introduced by 9070cd2bff6d4547f0765fc483ffd4f923e24383.

  • Fix sprite shadows being drawn on transparent TROR layers

    Dino Bollinger ce70981 3 Sep, 22:08 Build 10419 FixEngine
    Show details

    Also fixes sprite shadows being drawn floating above floor slopes.

  • Fix "return to center" triggering after CON_SAVE is executed

  • Account for floor and ceiling slopes in renderAddTsprite

    Dino Bollinger 8300b70 written 31 Aug 2023 Build 10414 Engine
  • Fix tsprite cutoff if the sprite stretches across multiple TROR layers

    Dino Bollinger 29570f2 written 31 Aug 2023 Build 10414 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 Build 10414 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 Build 10414 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 Build 10414 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 Build 10414 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

  • General

    Fix build failure and warnings if YAX_ENABLE is undefined

  • SW

    Fix build error that originated from commit 003320f1

  • Disable Loguru's unsafe signal handler

    Dino Bollinger d890364 written 2 Sep 2023 Build 10414 Engine
    Show details

    With this enabled, a interrupt signal would lead to an infinite loop.

  • Fix mapart tiles not reloading properly on map change in Polymost

    Dino Bollinger 003320f written 1 Sep 2023 Build 10414 FixEngine
    Show details

    This only occurred between two maps that had mapart defined each.

    Fixes
    terminx/eduke32#220
  • Allow decreasing sprite repeat down to size of 1x1 in 3D mode

    Dino Bollinger a994380 written 1 Sep 2023 Build 10414 Engine
    Show details

    Note: this was already possible by manually editing the repeat.

  • Don't lock up the editor while testing a map

    Dino Bollinger 92ab31e written 1 Sep 2023 Build 10414 Engine
  • Add new tsprite flag TSPR_FLAGS_NO_GLOW (32, hex: 0x20)

    Dino Bollinger 996a2c9 written 1 Sep 2023 Build 10414 Engine
    Show details

    Prevents the game from showing the glowmap defined for the sprite. Applied to sprite shadows in Duke3D.

  • Completely revert attempted jitter fix from 5977025e

    Dino Bollinger e09200e written 2 Sep 2023 Build 10400 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