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 1,185 builds · 2,319 commits

Export CSV
Display options
Commit details:

March 2012 31 builds · 52 commits

Build 2454

11 Mar 2012 · 9 commits · 1 author SVN
Open build
  • General

    After executing actor or loadactor CON code, null the instruction pointer.

    Helixhorned r2453 11 Mar, 10:38 FixCON
    Show details

    This is so that in the event of a crash, no CON dump will be printed if no (actor or loadactor) CON code was actually executing at the time of the crash, confusing the users. Note: doesn't apply for event code.

  • fix twisted pstat/nstat and psect/nsect references.

    Helixhorned r2446 11 Mar, 10:36 FixCON
Open the build to see all 9 commits

Build 2443

10 Mar 2012 · 1 commit · 1 author SVN
Open build
  • fix animations that loop to frame 0

    Plagman r2443 10 Mar, 22:52 FixEngine
    Show details

    With VBOs enabled, the virtual pointer to the geometry of frame 0 of a model is always NULL. This was confusing the polymer code responsible for deciding whether to enable smooth animations or not, which meant that any animation that would loop to frame 0 would do it as if animation interpolation was disabled, which looks very choppy.

Build 2431

8 Mar 2012 · 5 commits · 1 author SVN
Open build
  • General

    OS X: fix and enable startup windows; enable PPC build in osxbuild.sh.

    Helixhorned r2430 8 Mar, 11:16 Fix
  • General

    OS X Objective-C files: NSApp -> nsapp as before for a PPC linkage fix

    Helixhorned r2429 8 Mar, 11:16 Fix
    Show details

    Note: I'm not really sure whether I'm initializing it in the right places.

  • fix mirror-related oob access analogous to r1872's fix for classic.

    Helixhorned r2427 8 Mar, 11:15 FixEngine
    Show details

    When drawing from inside the mirror, there may be no 'bunches' (BUILD lingo, not TROR ones) collected, but following code used the first one unconditionally.

Open the build to see all 5 commits

Build 2424

7 Mar 2012 · 2 commits · 1 author SVN
Open build
  • General

    Optimizations and tweaks for C replacements of mhline and thline.

    Helixhorned r2424 7 Mar, 11:42 FixEngine
    Show details

    Hlines for masked and translucent masked ceiling/floor (sprites). - apply the --> 'do { ... } while (--cnt)' transformation, making these functions iterate cnt+1 times like the asm version. This also fixes an off-by-one issue where sprites or masked ceilings/floors had a one-pixel non-drawn line to the right. - This time, only declare-as-local two 'extern' globals (asm1 and asm2). It seems that I was too eager with "localing" all file-scoped vars earlier. GCC is able to remove the loads from memory inside the loop by itself, whereas clang is not. This is not trivial, since it has to prove that the 'screen' pointer passed to the functions will never alias these globals.

Open the build to see all 2 commits

Build 2416

4 Mar 2012 · 14 commits · 1 author SVN
Open build
  • General

    Fix apparent horizon not being independent of viewingrange (classic/Polymost).

    Helixhorned r2414 4 Mar, 12:14 FixEngine
    Show details

    The apparent horizon (in units proportional to pixels by a constant factor) was being calculated without normalizing to viewingrange, resulting a discrepancy between the drawn and actual up/down angle with non-default viewingranges (e.g. with r_usenewaspect=1, or when setting it from setaspect). This also means that the center-of-aim will now be the same regardless of the aspect. This fixes many derived bugs: * inconsistency w/ crosshair when shooting a gun and aiming up/down (obviously) * bugs resulting from being able to look up/down too far (garbage non-slope texture-mapping and viewing BIGORBIT skies above the borders in classic). Note: mods that had workaround logic for this bug will have to remove it...

  • General

    sector.c: fix a possible oob access of a local array.

    Helixhorned r2411 4 Mar, 12:14 FixEngine
  • General

    More utils tweaks.

    Helixhorned r2404 4 Mar, 12:12 Fix
    Show details

    - remove the objects too on 'clean' - fix warning with 'transpal' on x64 (generates translucency and shade tables)

Open the build to see all 14 commits

Build 2402

4 Mar 2012 · 8 commits · 1 author SVN
Open build
  • General

    synthesis.sh:

    Hendricks266 r2402 4 Mar, 01:33 Fix
    Show details

    - Exclude "Apple/lib" rather than "Apple" so that required files are not left out of the tarball. - Add one to $lastrevision before generating the ChangeLog so that it only includes what is new to an update. osxbuild.sh: - Add stronger detection of the SVN revision by adding support for 1.7 (no longer relying on an ".svn" directory) and having a specific fallback in case the build location is neither svn nor git. - Echo the SVN revision to source/rev.h before the build processes and revert it afterwards.

  • General

    JFDuke3D port: Display DUKETEAM.ANM at the end of episode 3 under v1.3D.

    Hendricks266 r2395 4 Mar, 01:29 Fix
    Show details

    Fix for end-of-game sequence with 1.3D data, by Turrican.

Open the build to see all 8 commits

February 2012 19 builds · 31 commits

Build 2392

29 Feb 2012 · 1 commit · 1 author SVN
Open build
  • General

    More rebust (and "correct"/expected) decimal number parsing in CON.

    Helixhorned r2392 29 Feb, 07:27 FixCON
    Show details

    The replacement of atoi with strtol in r2374 had the side-effect that numbers out of the range of a 32-bit integer were being returned as LONG_MAX/LONG_MIN instead of being converted by taking the bits and re-interpreting them (note that it was a coincidence that atoi behaved that way; to be strict, the behavior was undefined and there is no regression). Now, we implement parsing decimal integers using strtoll (with assuming "long long" being the same as int64_t) and check in which range the number falls. If it's in the range (INT32_MAX <= x <= UINT32_MAX), issue a warning; if it's not in (INT32_MIN <= x <= UINT32_MAX), warn too (though this better ought to be an error?). In each case, the bit representation is converted to the CON number type (int32 to assume maximum portability) by re-interpreting the bits [this is the same as an int/int cast, with GCC at least; more generally, it's implementation-defined per C99].

Build 2387

25 Feb 2012 · 1 commit · 1 author SVN
Open build
  • General

    Try to find another mirror wall if the assigned one breaks.

    Helixhorned r2387 25 Feb, 07:59 FixEngine
    Show details

    This fixes mirrors consisting of more than one walls not drawing when the first assigned mirror wall breaks. It still does not let you have more than one mirror (i.e. mirror sectors) showing up at the same time in the scene. Affects classic and Polymost only.

Build 2381

24 Feb 2012 · 2 commits · 1 author SVN
Open build
  • General

    Fix user quotes colored with a 2-digit number being wrongly x-aligned.

    Helixhorned r2380 24 Feb, 11:51 Fix
    Show details

    Such game text was shown starting from about the center of the screen. The reason for the bug was this code: t += 1 + isdigit(*(t+2)); The sequence points here are at the beginning and end of this assignment expression, and the updating of t may happen anywhere between these (C99 6.5.16 #3). Please don't write such code. When in doubt, and assignment and reference to the same object should be split!

Open the build to see all 2 commits

Build 2379

21 Feb 2012 · 3 commits · 1 author SVN
Open build
  • General

    Fix potential (certain?) oob access with ST28/SE21.

    Helixhorned r2377 21 Feb, 11:32 FixEngine
    Show details

    Encountered with Scent.map. Since the SE21 are deleted after they have been used, the search for them in the ST28 code in sector.c may come up empty, in which case sector[-1] would be accessed.

Open the build to see all 3 commits

Build 2376

21 Feb 2012 · 1 commit · 1 author SVN
Open build
  • General

    Fix sprites with picnums >= MAXSPRITES not drawing in classic.

    Helixhorned r2376 21 Feb, 10:24 FixEngine
    Show details

    This was discovered because viewscreens (TILE_VIEWSCR) ceased being drawn with the MAXTILES increase (reported by Hank, who also did the bisect).

Build 2351

16 Feb 2012 · 7 commits · 1 author SVN
Open build
  • General

    Update samples/trueror1.map with some tests of sprites lying on TROR floors.

    Helixhorned r2351 16 Feb, 11:25 FixEngine
    Show details

    Also, there's a "ladder" that passes through a TROR portal, and the mirror in that map has been fixed for the classic renderer.

  • Fix extended ceiling/floor picnums taking on picnum 0 in Polymer.

    Helixhorned r2350 16 Feb, 11:25 FixEngine
    Show details

    The reason was that drawmasks(), which was where the resetting of the fake RoR textures happened under Polymer, can be called from polymer_displayrooms() when mirrors are present. I was assuming that drawmasks() was only ever called after the 'main' drawrooms and that hence the sequence of fake RoR tile tweaking was set, reset, set, reset, ... which it was not. Now, do the resetting explicitly after every drawmasks() in the editor.

  • General

    When loading a map in-game, clear TROR wall members corresponding to up/down links.

    Helixhorned r2349 16 Feb, 11:25 FixEngineCON
    Show details

    I find this cleaner for two reasons. First, lotags won't get in the way of neartag(), so that doors and switches near constrained TROR walls can be pushed. Second, this removes the information leak so that CON coders aren't tempted to read that values directly before a proper API for that comes along. When writing out a map in-game (e.g. with dndebug), restore the respective members so that it can be loaded in the editor again.

  • General

    Fix player being not blocked by sprites lying on an extended floor.

    Helixhorned r2347 16 Feb, 11:24 FixEngine
    Show details

    getzrange() returns the floor rather than the sprite if their heights are equal. Now, make an exception for extended floors (analogously, ceilings).

  • General

    Clean up VOC in-memory block type parsing.

    Helixhorned r2346 16 Feb, 11:24 Fix
    Show details

    - Maintain a position relative to the start of the data. VOC doesn't mandate an EOF marker (blocktype 0). If we go over the end, fake that marker, so as to restart a looping sound or stop a one-shot one. This fixes an uninitialized mem access with the corrupt SNAKRM.VOC. - When encountering the EOF marker, don't read the 3 bytes of block size, since they may not be there. - Read blocksize by ORing and shifting the 3 bytes, not with *(int32_t *)...

Open the build to see all 7 commits

Build 2344

14 Feb 2012 · 4 commits · 1 author SVN
Open build
  • General

    Fix use of an uninitialized variable in P_FindWall->FindDistance2D with noclip.

    Helixhorned r2344 14 Feb, 15:14 Fix
  • General

    Fix a couple of out-of-bounds accesses when roaming around with noclip.

    Helixhorned r2342 14 Feb, 15:13 FixEngine
    Show details

    - guard cansee() against negative sectnums (return 0 immediately), since it's often called with the player sectnum as one argument - in resetpspritevars(), don't inset APLAYER sprite if sectnum < 0, which can happen if a map is started in void space accidentally (e.g. from the editor) - two checks before accessing sector[] with a player sectnum

  • General

    Fix sprite rendering glitches with r_usenewaspect=1 in 8-bit mode.

    Helixhorned r2341 14 Feb, 15:13 FixEngine
Open the build to see all 4 commits