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 25 builds · 41 commits

Export CSV
Display options
Commit details:

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 5 builds · 16 commits

Build 10434

5 Sep 2023 · 5 commits · 1 author GIT
Open build
  • 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.

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

    Dino Bollinger 423a059 5 Sep, 19:33 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.

  • 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 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.

Open the build to see all 3 commits

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
  • Account for floor and ceiling slopes in renderAddTsprite

    Dino Bollinger 8300b70 written 31 Aug 2023 Engine
  • 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.

Open the build to see all 14 commits

August 2023 4 builds · 4 commits

Build 10333

3 Aug 2023 · 1 commit · 1 author GIT
Open build
  • Only poll glGetGraphicsReset() once every 100ms in handleevents()

    Dino Bollinger 01d8fad 3 Aug, 12:24 Engine
    Show details

    This call acted as a bottleneck, significantly reducing the framerate on E1L1 of Duke3D as the status was being polled every single time handleevents() was called.

July 2023 1 build · 3 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
  • Reduce EXTRATILES from 3840 to 1792 (= 32512 - MAXTILES)

    Dino Bollinger e74bc25 written 3 Jul 2023 Engine
    Show details

    Previously, MAXTILES+EXTRATILES went above the highest possible 16 bit integer value of 32767, which is the datatype used to store tilenums.

Open the build to see all 10 commits

September 2022 1 build · 2 commits

Build 10163

29 Sep 2022 · 2 commits · 1 author GIT
Open build
  • findfrompath() with empty filename immediately returns -1

    Dino Bollinger 2b3f691 written 25 Sep 2022 FixEngine
    Show details

    Fixes a bug where an empty filename is interpreted as the current directory "./", which of course always exists.

  • Use AppTechnicalName instead of AppProperName for log filename

    Dino Bollinger fd9212c written 25 Sep 2022 Engine

May 2022 1 build · 1 commit

April 2022 4 builds · 6 commits

November 2021 1 build · 1 commit

August 2021 6 builds · 6 commits

Build 9512

21 Aug 2021 · 1 commit · 1 author GIT
Open build
  • Initialize blend to 0 when inserting sprites

    Dino Bollinger c0b0118 21 Aug, 22:26 FixEngine
    Show details

    This fixes a bug where stale blend values could be transferred over from a previously loaded map.