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

Showing 8,866 commits

Export CSV
Display options
Commit details:

September 2011

  • General

    Makefile lines for building with libvpx from Macports on OSX

    Helixhorned r2047 28 Sep, 13:31 Build 2047
  • General

    Sanitize drawing sprites at different levels with TROR/classic. This should fix

    Helixhorned r2046 28 Sep, 13:30 Build 2047 FixEngine
    Show details

    most problems where sprites appear to be drawn through walls.

  • General

    Two tweaks to make the precaching more efficient/less redundant in the game.

    Helixhorned r2045 28 Sep, 13:30 Build 2047 Engine
    Show details

    First, if we're in Polymer, don't precache tinted tiles that have a highpal for that certain pal. Second, don't precache tiles for palnum 251 (the last non-reserved one, which is used as a crosshair pal). Assuming that there are no other tints, this cuts the initial precache time and cache size on disk in half.

  • General

    lunatic bits and pieces

    Helixhorned r2044 25 Sep, 08:11 Build 2044
  • General

    When inserting a new sprite and determining its picnum by frequency count

    Helixhorned r2043 25 Sep, 08:11 Build 2044 Engine
    Show details

    of the picnums of all sprites, omit the newly inserted sprite itself!

  • VPX

    in 3 planes -> packed format conversion code, group together the

    Helixhorned r2042 25 Sep, 08:11 Build 2044
    Show details

    three individual loops and compile the enclosing function at -O3 (-O1 for debugging builds). Now, the time for this conversion ranges from 7 to 18 ms per frame across various tested machines, a clear improvement.

  • package ebacktrace1.dll, remove backtrace.dll and libi*.dll

    Helixhorned r2041 22 Sep, 09:53 Build 2041
    Show details

    Makefile: remove ebacktrace1.dll on 'veryclean' target

  • General

    backtrace.c: add flags to open() so that the log file is opened user-r/w.

    Helixhorned r2040 22 Sep, 09:52 Build 2041 Fix
    Show details

    This way, crashlogs will really be appended. Additionally, print a time at the end of each backtrace. winlayer.c: load ebacktrace1.dll instead of the old one Makefile.common: when building with DEBUGANYWAY=1, don't omit frame pointers This will let us get a stack trace for crashes with the release build code.

  • General

    When searching a nextwall for a white wall after dragging a point,

    Helixhorned r2039 22 Sep, 09:52 Build 2041 Engine
    Show details

    exclude grayed out walls.

  • General

    enable VPX support for Windows

    Helixhorned r2038 21 Sep, 15:38 Build 2038
  • General

    Add backtrace.c (the same that was used to build backtrace.dll earlier) to tree

    Helixhorned r2037 21 Sep, 15:38 Build 2038
    Show details

    and build our own DLL, now called ebacktrace1.dll. The change consists of breaking the link to the libintl lib and its dependencies, so the backtrace dll is now the only one required.

  • General

    Add statically linked libvpx to tree, built with gcc-4.5 mingw and

    Helixhorned r2036 21 Sep, 08:54 Build 2036
    Show details

    ./configure --disable-vp8-encoder --disable-multithread Also add VPX/VP8 headers for an easy build on Windows. Throw in the necessary lines into the Makefile but do not enable VPX support yet.

  • General

    Fix

    Helixhorned r2035 20 Sep, 12:12 Build 2035 FixEngine
    Show details
  • General

    First Lunatic development bits.

    Helixhorned r2034 20 Sep, 12:12 Build 2035
  • General

    - protect stat bit 2 when pasting to ceilings or floors

    Helixhorned r2033 18 Sep, 04:55 Build 2033 Engine
    Show details

    - when pasting to walls or maskwalls, the following user bits are kept now: 4 (top/bottom alignment [O]) 1+64 (blocking, hitscan) 8+256 (x/y-flip) - print '(one-sided)' when pressing Shift + ([B] or [H]) on a wall

  • sanitize backface culling

    Plagman r2032 18 Sep, 00:18 Build 2032 Engine
    Show details

    Keep track of which side is getting culled, swap around mirrors, swap around model drawing.

  • General

    fix picking

    Helixhorned r2031 17 Sep, 08:26 Build 2031 Fix
  • General

    More natural mouse picking in software mode, closer to "what's under the cursor

    Helixhorned r2030 17 Sep, 07:26 Build 2030 FixEngine
    Show details

    is picked" but still not perfect. In particular, sometimes a wrong wall is selected, and sprites don't get picked through portals. As a rule of thumb, don't be too far away from the objects you're modifying in 3D mode.

  • General

    In the textured 2D mode of Mapster32, only texture non-grayed out sectors.

    Helixhorned r2029 17 Sep, 07:25 Build 2030 Engine
  • General

    Three-way clipping in Mapster32 (still toggled with 'N): on and off as

    Helixhorned r2028 16 Sep, 12:17 Build 2028 Engine
    Show details

    before, and additionally a mode that doesn't clip against masked walls and sprites.

  • General

    In the editor, when rescaling the texture after dragging a wall-point, also

    Helixhorned r2027 15 Sep, 12:31 Build 2027 Engine
    Show details

    traverse the TROR neighbors.

  • General

    Add high-resolution timers C API for profiling. The functions are called

    Helixhorned r2026 15 Sep, 10:05 Build 2026 Fix
    Show details

    uint64_t gethiticks() and gethitickspersec(). For SDL 1.2, the timer has the same resolution as getticks (1000 Hz). For Windows and SDL 1.3, the resolution of the underlying perf-timers is used. The only user of these functions right now is some TROR on-screen debugging code. Revert an earlier change regarding r_preview_mouseaim. We can't do the check because editstatus is set later.

  • General

    - Add new trueror1.map that showcases the functionality and limitations of

    Helixhorned r2025 15 Sep, 10:04 Build 2026 FixEngine
    Show details

    the additional rendering pass - Remove r_preview_mouseaim cvar from the game, since it's only for Mapster - sdlmusic.c: (Failed) attempt to fix a call of waitpid() with a non-existent process ID in the external MIDI playing code. I think there's a race there...

  • General

    Support for drawing 'island sectors' for TROR/classic (and with limited

    Helixhorned r2024 15 Sep, 10:04 Build 2026 FixEngine
    Show details

    functionality, Polymost). The new feature can be enabled/disabled with the 'r_tror_nomaskpass' cvar. The basic idea is that when drawing lower or upper levels, a first pass is performed that ignores all red walls for which the TROR nextwall link 'towards' the viewer arrives at a red wall. Thus, in the worst case, there can be up to twice as many rendering passes now (when it is discovered that the no-mask-pass isn't different that what would be drawn with the ordinary one, the latter is skipped, since we've already drawn all needed geometry). Hovever, this kind of multi-pass splitting is only suitable for simple scenes, like the upper subway in the TROR test map. In particular, multiple islands shouldn't 'see' each other. Two issues are worth mentioning: first, care needs to be taken for translucent ceilings or floors, since drawing them twice isn't the same as drawing them once. This is done for classic, but not for Polymost. Second, sprites (which are always drawn _after_ the geometry for a given pass) are still clipped to the geometry of the ordinary pass, resulting in their disappearance from certain angles. -- Additionaly, a change made it into this commit that fixes redundant collection of sprites in TROR:classic/Polymost.

  • General

    misc. cleanup:

    Helixhorned r2023 15 Sep, 10:03 Build 2026
    Show details

    - remove 'imageSize' global which was always yres*bytesperline and only used once - some clearbuf() -> Bmemset() because I find the latter easier to read - remove some clearbufs to 0 of some global arrays on init

  • General

    Make uninitialization sequence more consistent across the editor code. It's

    Helixhorned r2022 15 Sep, 10:03 Build 2026
    Show details

    always like this now: ExtUninit -> (writesetup, misc.) uninitengine -> (uninitsystem -> (uninit timers, mouse, ...)) exit() Some paths still lead to a plain exit(), like failures in cache1d.c or mdsprite.c

  • General

    In camera viewscreen tiles, also draw upper and lower TROR levels. Works

    Helixhorned r2021 15 Sep, 10:03 Build 2026 Engine
    Show details

    in any renderer because it's drawn with the software one... Also add a hack to make Polymer realize that viewscreen tiles can change each tic so that they don't show a static image anymore.

  • General

    Make a couple of variables static in the engine; don't initialize umost/dmost

    Helixhorned r2020 15 Sep, 10:02 Build 2026 Engine
    Show details

    with other than base levels, since the y*most arrays are copied there later.

  • General

    - In the editor, make bunch-equal-making [J] stricter, because the way it was

    Helixhorned r2019 15 Sep, 10:02 Build 2026 Fix
    Show details

    handled could lead to a bunch whose floors and ceilings covered different areas. A fix for the reduced functionality arising from this change is underway. - Rewrite a small portion of code using yax_vnextsec() in game.c.

  • add funtion 'yax_vnextsec(wall, cf)' to C API. It's often useful when

    Helixhorned r2018 15 Sep, 10:02 Build 2026 Engine
    Show details

    dealing with sectors on the two sides of a bunch. Make yax_globallev and yax_globalbunch variables non-static. Rewrite a TROR-related bit in the engine code using the new function.

  • General

    fix a couple of editor issues:

    Helixhorned r2017 12 Sep, 08:03 Build 2017 FixEngine
    Show details

    - one reported by Micky: http://forums.duke4.net/topic/3911-true-room-over-room/page__view__findpost__p__106610 - malloc(0) call when saving a map with no sprites - update 'asksave' after Alt-S and corrupt-check on starting a new map

  • General

    Add a couple of missed sanity checks for accessing player and sprite structure members as vars. Should fix crashes with stuff like "ifvare player[some value greater than MAXPLAYERS].kickback_pic blah"

    TerminX r2016 11 Sep, 23:25 Build 2016 FixEngineCON
  • In setbrightness() and qsetmodeany(), call setpalette() only if the

    Helixhorned r2015 10 Sep, 08:45 Build 2015 FixEngine
    Show details

    palette changed from the last one (either globally or within the last call of one of the function). This fixes the ugly OSD flickering in 8-bit mode when a screen tint effect is in action (such as when being hurt or snotted on).

  • General

    A couple of trivial/cleanup changes. setvgapalette() is removed from the

    Helixhorned r2014 10 Sep, 08:44 Build 2015 Engine
    Show details

    engine, since it had no users.

  • when changing screen palettes, pass flag 2 to setbrightness().

    Helixhorned r2013 10 Sep, 08:44 Build 2015 Engine
    Show details

    This will prevent it from calling gltexinvalidateall() when e.g. submerging and resurfacing, mimicking the behavior of the game, where only gltexinvalidate8() is called in such situations.

  • make the heinum&2 and stat inconsistency be displayed only once

    Helixhorned r2012 10 Sep, 08:44 Build 2015 FixEngine
    Show details

    with 'corruptcheck now', but still print each corrected one on tryfix.

  • General

    sdlayer.c: also SDL_WarpMouse() in debugging builds. This has at least three

    Show details

    effects: 1) Mouse turning works with SDL 1.3 2) The mouse pointer can't leave the window area with the console up, so that focus always stays with the application 3) Menu selection using the mouse doesn't work. Not dramatic IMO.

  • General

    polymer.c: Fix a potential zero-size calloc call when a two-walled sector

    Helixhorned r2010 6 Sep, 10:46 Build 2011 FixEngine
    Show details

    is present (like in E4L1). Also sneak in a trivial change in cache1d.c

  • General

    Using this dynamic checking tool: http://embed.cs.utah.edu/ubc/,

    Helixhorned r2009 6 Sep, 10:46 Build 2011 FixEngine
    Show details

    fix two issues with signed integer overflow. One is related to clipping and the other to Polymost mouse-picking for overlong walls. Many more remain especially in the 8-bit rendering code, but I expect many of them to be intended.

  • General

    Tweak the source so that it can be built by clang. The only necessary change

    Show details

    is to remove a couple of 'inline's for functions with external linkage, which seems to be a GCC convenience.

  • General

    mdsprite.c: prevent a couple of float divides by zero and save model file

    Helixhorned r2007 6 Sep, 10:45 Build 2011 Engine
    Show details

    name into m->head.nam after loading (but before preprocessing for Polymer)

  • General

    Make Polymer declare a callback function G_Polymer_UnInit() that is called

    Helixhorned r2006 6 Sep, 10:45 Build 2011 FixEngine
    Show details

    whenever we change to another renderer etc. and define it for the game and editor. The purpose of the function is to clean up references to Polymer resources like lights. This fixes 1) all lights becoming spot lights in the game and 2) an issue with maphack lights in the editor (can't recall which exactly).

  • General

    Fix crashes on 64-bit due to unintended address truncation on ptr vars

    TerminX r2005 4 Sep, 16:06 Build 2005 Fix
  • General

    Better handling of tsprites that are duplicated through TROR portals.

    Helixhorned r2004 4 Sep, 12:44 Build 2004 FixEngine
    Show details

    Specifically, now also consider the sprite tile's yoffset, and fix an issue when a tsprite got duplicated 'toward' the viewer. Also add a couple of tests in trueror1.map.

  • General

    Unbreak zip support as another means to group files. Using 16-bit integers to

    Show details

    hold file lengths is certainly very frownworthy.

  • General

    Prepare polymost.c for proper umost/dmost clipping of TROR passes. No real functional changes.

    Helixhorned r2002 4 Sep, 12:44 Build 2004 Engine
  • General

    Move the fixspritesectors call and the start sector updating into ExtPreSaveMap().

    Helixhorned r2001 4 Sep, 12:43 Build 2004 Engine
    Show details

    This makes the latter also correct when testing a map from the editor.

  • General

    use updatesectorz instead of updatesector for the startsectnum updating when saving a map.

  • General

    Oops...

    Helixhorned r1998 1 Sep, 12:58 Build 1999 Fix
  • General

    BACKSPACE key in 3D mode now deletes a red-wall link when aimed at a wall or mask.

    Helixhorned r1997 1 Sep, 12:53 Build 1999 FixEngine
    Show details

    With script_expertmode enabled, SHIFT-BACKSPACE clears the upwall link and CTRL- BACKSPACE the downwall link. These functions are useful because the automatic nextwall determination code sometimes gets it wrong (not corrupting anything) or if you want to vertically displace a sector attached to a higher or lower level. Also add the exploding ceiling example to the TROR test map.