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 24 commits

Export CSV
Display options
Commit details:
Active filters: Area: Classic Clear all

February 2015

  • fix underallocation of TILE_TILT and tilting at very small resolutions.

    Helixhorned r4965 7 Feb, 09:29 Build 4965 Fix
    Show details

    Since TILE_TILT is only allocated once, it must be done with the maximum possible size.

  • on desktops, handle abs. z diff. of floor/ceiling to camera >= 1<<24.

January 2015

  • fix "windowed" modes (r_size >= 12) by reverting r4920; adapt.

    Helixhorned r4935 18 Jan, 15:16 Build 4935 FixCON
    Show details

    In setview(), we now assert windowx2 < xdim. The only calling places where its non-violation is non-trivial to ascertain are (1) showview from CON and (2) draw-to-tile for look-sideways in game.c. AFAICS case 1 should be fine. Case 2 is adapted; see comments there.

August 2014

  • introduce two signed integer types, use in engine.c and a-c.c.

    Helixhorned r4578 written 23 Aug 2014 Build 4584 FixEngine
    Show details

    They classify former uses of int64_t into two classes: - coord_t: those that represent coordinates and need 64-bit precision for proper functioning with large values - inthi_t: those that were added for e.g. casts merely to prevent undefined behavior on overflow DONT_BUILD.

April 2014

March 2014

February 2014

  • support for multiple blending tables + Lunatic interfaces.

    Helixhorned r4301 8 Feb, 06:37 Build 4309 Engine
    Show details

    Currently, sprite[].filler (to be renamed) selects a blending table. If none is installed with that index, the blending table at index 0 is taken (which is read from PALETTE.DAT on engine startup). Thus, for now, the non-Lunatic build will never use a custom blending table because there's no way to register one! But the functionality is there.

January 2014

November 2013

  • implement horiz. tex panning for sprites (spriteext[].xpanning).

    Helixhorned r4170 22 Nov, 11:26 Build 4176 EngineCON
    Show details

    Known as getactor/sprite[].xpanning from CON, values are 0-255. It should be assumed that this is only valid for wall-aligned sprites (currently, face sprites also pan). A test is provided in lunatic/test/animatesprites.con. It should be run in E1L2 and only with the Lunatic build.

June 2013

May 2013

  • fix oob read of frame buffer when leftmost vline has a mirror.

    Helixhorned r3726 4 May, 09:36 Build 3727 Fix
    Show details

    In the mirror reversing code, get rid of the padding. This may produce seams, but they appear to be extremely transient and shouldn't be noticeable. In game.c, add a debugging compilation switch DEBUG_MIRRORS_ONLY.

  • optimize background 'rainbow' drawing in use for editor/debug.

    Show details

    Also, draw it at shade 18 and don't use fullbright colors.

  • clean up mirror drawing code.

    Show details

    No functional changes, but a (commented out) debug line for an oob read of the frame buffer when the mirror covers the whole screen is inserted.

December 2012

  • fix drawing tilesizy=512 walls, use non-pow2 routines with pskies.

    Helixhorned r3310 23 Dec, 05:59 Build 3312 FixEngine
    Show details

    The former is really only a workaround. Walls/vertical sprites/pskies with ysize 512 (and presumably greater, but this was not tested) are rendered with one shade higher at the borders (1 pixel vlines) because of a certain assumption in the ASM (see comments there). With very dark shades, the palookup[] buffer is accessed oob. We simply allocate 256 bytes more at the end for each. The latter is only for CLASSIC_NONPOW2_YSIZE_WALLS builds, which is not enabled yet. It seems to matter only for the uncommon case where the such pskies repeat in the height. A 1680x1050 window fully covered with such a sky is then rendered at about 60/85 the FPS for me (mostly due to not using the 4 pixel vline routines), so it may be leaning a bit too much on the side of correctness. A compilation switch DEBUG_TILESIZY_512 is introduced in engine.c for demonstration purposes.

  • effectively clamp drawn ceiling/floor tile sizes at 256.

    Helixhorned r3290 14 Dec, 11:28 Build 3292
    Show details

    This prevents computing a shift value outside of [0..31].

November 2012

  • fix rotatesprite with no screen scaling and non-widescreen aspects.

    Helixhorned r3144 10 Nov, 06:11 Build 3146 FixEngine
    Show details

    Also, enable showing sprites in Mapster32's overhead view again, since that was one (the only?) use of that code path. The uninitialized read was introduced in r2927.

July 2012

  • on x86 GCC asm builds, fix crash with floor sprites of (x or y) size 2.

    Helixhorned r2850 29 Jul, 05:46 Build 2850 FixEngine
    Show details

    The idiv instruction also signals an FPE when the resulting *signed* quotient overflows, so we simply use div instead.

  • draw walls with non-pow2 ysizes in the old fashion for the time being.

    Helixhorned r2819 8 Jul, 14:47 Build 2820 FixEngine
    Show details

    I'm willing to make this one concession to correctness in the name of backward- compatibility. I think that one reason why this has never cause a crash is that tiles in BUILD are allocated in Ken's big allocache buffer, so oob accesses were dampened by that (though they hit uninitialized data).

  • fix glitches where stuff would be drawn transiently on sect change.

    Helixhorned r2810 6 Jul, 08:36 Build 2811 FixEngine
    Show details

    This was introduced with r2771, which fixed e.g. AMC TC city_si's mirrors, but instructed the base drawrooms inside yax_drawrooms to not correct the passed sectnum. Therefore, stuff would get drawn wrongly when passing sector boundaries, like from the platform to the rails in trueror1.map.

  • fix drawing mirrors, introduced by nonpow2-ysize wall/mask drawing.

    Helixhorned r2809 6 Jul, 07:16 Build 2809 FixEngine
    Show details

    Some more drawing glitches remain.

  • hook up non-power-of-two ysize wall/mask drawing in asm builds, too.

    Helixhorned r2807 6 Jul, 04:27 Build 2808 Engine
  • add {,m,t}vlineasm1nonpow2, currently unreferenced from high-level drawing.

June 2012

  • don't attempt drawing sprites with (cstat&48) == 48 that aren't voxels.

    Helixhorned r2744 7 Jun, 10:37 Build 2745 EngineCON
    Show details

    Bang! One more invalid internals exposure squashed. Maybe one day we'll be able to call EDuke32 "stable"... Actually the offending sprite IS drawn as face sprite with shade 32 and xrepeat and yrepeat 255 for the convenience of the CON coder who will have to debug it.