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 670 builds · 2,334 commits

Export CSV
Display options
Commit details:

April 2023 1 build · 17 commits

Build 10212

5 Apr 2023 · 44 commits · 2 authors GIT
Open build
  • add manual test case 'mask_drawing_order.map'

    Helixhorned 0f598df written 22 Dec 2022
  • in 'msaveloadtext()', prevent read of 'g_skillNames[-1]', fixing issue #225.

    Helixhorned e90e66e written 29 Dec 2022 Fix
    Show details

    Note: 'skill == 0' can be obtained from the command line by either * '-m': "monsters off", or * '-s0': 'ud.m_monsters_off' is *not* set

  • in "draw tsprite before mask?" check, consider tile offsets for sloped sprites.

    Helixhorned 671a7bc written 29 Dec 2022 FixEngine
    Show details

    In 'GetCornerPoints()', fix condition for when to use 'get_floorspr_points()' to include sloped sprites as well.

  • in "draw tsprite before mask?" check, consider offsets for floor sprites.

    Helixhorned 5f5ab3f written 23 Dec 2022 Engine
  • in "draw tsprite before mask?" check, consider xoffset for wall sprites.

    Helixhorned 22d67e2 written 23 Dec 2022 Engine
    Show details

    (More precisely, in renderDrawMasks()'s check "does the maskwall separate the tsprite center from the camera?".) This provides more reasonable rendering order when the sprite (as drawn) is heavily biased to one side of the maskwall. Note [1]: mask/mask intersections are in general problematic since there is no further subdivision. For opaque objects, the OpenGL modes "work around" the issue thanks to the depth buffer. See: - 'mask_drawing_order.map', the STEAM sprites which by position are all on the other side of the right-hand side fence, but as drawn may or may not be more towards one particular side. (The topmost one with xoffset 50 is the first to be drawn behind it; note that 'picanm[STEAM].xofs == -47'.) - Issue #136, the first example screenshot. However, there, the fence intersects the STEAM sprite quite exactly in the middle (as drawn), so note [1] above applies.

Open the build to see all 44 commits

September 2020 1 build · 3 commits

Build 9257

7 Sep 2020 · 4 commits · 2 authors GIT
Open build
  • General

    sdlayer.cpp: remove an '#ifndef __ANDROID__' block with only commented code in it.

    Helixhorned 93f62bb 7 Sep, 18:25
  • General

    sdlayer.cpp: don't print SDL_SetWindowGammaRamp() error if the function was not called.

    Helixhorned 64ea64d 7 Sep, 17:53
    Show details

    We may have gotten an error message like: videoSetGamma(): Failed loading udev_device_get_action: (...)/libSDL2-2.0.so.0: undefined symbol: _udev_device_get_action But: 1. The "error" in question did actually happen earlier in SDL, but is harmless because SDL first tries to load a symbol using 'dlsym(RTLD_DEFAULT, ...)' and failing that (as it happens in my case), from an explicitly loaded libudev (which succeeds). 2. The message misleads a user into thinking that it may have something to do with gamma adjustment having no effect. (As is the case for me.)

  • update zpl.h for build and runtime fixes on 32-bit ARM.

    Helixhorned c18af2a 7 Sep, 17:44 Fix
    Show details
Open the build to see all 4 commits

July 2016 1 build · 6 commits

Build 5811

4 Jul 2016 · 6 commits · 1 author SVN
Open build
  • on TROR point insertion, mark more points.

    Helixhorned r5811 4 Jul, 07:09 FixEngine
    Show details

    This fixes a bug reported by Micky C on 2016-01-11 where too few points were marked to be inserted. See AMC TC SVN r2308.

  • pull out some code from M32_InsertPoint() into M32_MarkPointInsertion().

    Helixhorned r5810 4 Jul, 07:09 Engine
  • fix map-text loading.

    Helixhorned r5809 4 Jul, 07:09 Fix
    Show details

    The file descriptor was closed from Lua code, causing the subsequent kfilelength() to fail and attempt an allocation of (size_t)-1 bytes.

  • General

    SDL2 layer: in Mapster32, fix menu Ctrl-F in case NumLock is on.

    Helixhorned r5808 4 Jul, 07:09 FixEngine
  • General

    engine.c: fix potential smostwall[-1] access. Found by ASan.

    Helixhorned r5807 4 Jul, 07:09 FixEngine
Open the build to see all 6 commits

November 2015 4 builds · 17 commits

Build 5454

25 Nov 2015 · 20 commits · 2 authors SVN
Open build
  • General

    player.c: factor out large A_ShootWithZvel() block into A_ShootHardcoded()

    Helixhorned r5435 written 21 Nov 2015
    Show details

    The block is taken over verbatim; 'vec3_t srcvect' is passed by value. The primary purpose of this is that it's easier to compare custom projectile behavior in A_ShootCustom() with the hardcoded one by reading the code of these two functions. For example, this may be of use to modders wishing to emulate a hardcoded projectile. DONT_BUILD.

Open the build to see all 20 commits

Build 5434

20 Nov 2015 · 4 commits · 1 author SVN
Open build
  • in drawspritelabel(), use fixed background color.

    Helixhorned r5434 20 Nov, 12:26 FixEngine
    Show details

    Make it always one of the colors that the 2D color cycles to (base color + offset in [0 .. 4]) instead of <base color>-3, as that one might be in a different color ramp.

  • add byte array editorcolors[256] to m32script variables.

    Helixhorned r5433 20 Nov, 12:26 EngineCON
    Show details

    This makes it possible to set up editor colors at startup (from m32_autoexec.cfg). For example: script_expertmode 1 do for i range 256 ifge i 33 { set editorcolors[i] i } script_expertmode 0 Use this method in the description of how to get old-style 2D colors in tiles.cfg and suggest an alternative color index pair.

  • make 'script_expertmode' require an argument (0 or 1) to toggle.

    Helixhorned r5432 20 Nov, 12:26 Engine
    Show details

    Without an argument, it prints the current state.

  • General

    In package/sdk/tiles.cfg, use the right word for "remove commenting".

    Helixhorned r5431 written 15 Nov 2015
    Show details

    DONT_BUILD.

Build 5430

14 Nov 2015 · 7 commits · 1 author SVN
Open build
  • changes to aid getting the old color scheme (by customizing).

    Helixhorned r5430 14 Nov, 15:41 Engine
    Show details

    - bump MAX_TILE_GROUP_ENTRIES to MAXUSERTILES - in loadtilegroups(), only assign a tile color if it wasn't already assigned - allow "hidden" tile groups by omitting the hotkey - Tweak the description added to tiles.cfg

  • honor "blocking color" declared with DEF 'spritecol' et al.

    Helixhorned r5429 14 Nov, 15:40 Engine
    Show details

    Meaning tilegroup's 'colors' directive. Also, to the packaged tiles.cfg, add a description of how to emulate the earlier Mapster32 sprite coloring for one tile group.

  • in a.m32, draw color info ("set showpal 1") more informatively.

    Helixhorned r5428 14 Nov, 15:40 Engine
    Show details

    - draw ticks above the palette "ruler" - draw all editor colors (colors in editorcolor[])

  • introduce DEF command "2dcolidxrange <col> <idx> <idxend>".

    Helixhorned r5427 14 Nov, 15:40 Engine
    Show details

    <col> is the editorcolor[] starting index <idx> is the actual color index start <idxend> is the actual color index end So, editor colors from <col> onward will be mapped to [<idx> .. min(<idxend>, 255)]. Takes precedence over '2dcol'.

  • in drawscreen_drawsprite(), "sprite[j]." -> "spr->".

    Helixhorned r5426 14 Nov, 15:40 Engine
    Show details

    Also a similar stylistic tweak in parsetilegroups().

Open the build to see all 7 commits

Build 5423

14 Nov 2015 · 11 commits · 2 authors SVN
Open build
Open the build to see all 11 commits

October 2015 1 build · 3 commits

Build 5412

31 Oct 2015 · 3 commits · 1 author SVN
Open build
  • in TROR-join sectors [Ctrl+J], print z difference hint.

    Helixhorned r5412 31 Oct, 08:13 Engine
    Show details

    At the very least, this makes it easier to decide for one option ("Connect yellow ceiling w/ blue floor (1) or (v)ice versa?") when one of the differences is zero, which might have occurred from temporarily breaking TROR links.

  • fix fillsector() calls before fade_editor_screen().

    Helixhorned r5411 31 Oct, 08:13 FixEngine
    Show details

    The latter allows one to specify a color to keep, but with r5302 the fillsector() highlights are drawn with transparency, thus making it ineffective. Add an argument to toggle transparency to fillsector() (now fillsector_maybetrans()) and two wrapper functions.

  • don't offer to "Insert outer loop and make red walls" w/ RAlt+RCtrl.

    Helixhorned r5410 31 Oct, 08:13 Engine
    Show details

    This feature only makes sense with the complete de-selection of a set of sectors, i.e. when pressing RAlt to do this, not adding or removing sectors to/from the set of already highlighted ones.

September 2015 2 builds · 2 commits

August 2015 7 builds · 16 commits

Build 5338

30 Aug 2015 · 1 commit · 1 author SVN
Open build
  • in manual member editing, Shift+ENTER allows toggling individual bits

    Helixhorned r5338 30 Aug, 00:24 Engine
    Show details

    For values that are displayed in hex. Patch by The Mechanic, with modifications.

Build 5337

29 Aug 2015 · 2 commits · 1 author SVN
Open build
  • CON

    amend action's viewtype -8 to be more in line with the others.

    Helixhorned r5337 29 Aug, 10:43 CON
  • after playtesting with Esc+[T], break from the key polling loop.

    Helixhorned r5336 29 Aug, 10:43 FixEngine
    Show details

    Bug noticed and fix located by The Mechanic.

Build 5335

29 Aug 2015 · 1 commit · 1 author SVN
Open build
  • CON

    allow viewtype -8 for 'action', meaning to x-flip the shown sprite.

    Helixhorned r5335 29 Aug, 03:21 EngineCON
    Show details

    Similarly to how -5 and -7 and are accepted since r3859.

Build 5326

9 Aug 2015 · 6 commits · 1 author SVN
Open build
  • don't enable/disable SDL text input.

    Helixhorned r5326 9 Aug, 02:58
    Show details

    At program start, text input is enabled anyway and it does not seem to have any adverse effects. However, disabling it after e.g. game save leads to the OSD not working properly any more: normal keys are passed via handleevent_pollsdl's SDL_TEXTINPUT case.

  • don't repeat #ifdef/#endif for SDL_{Start,Stop}TextInput().

    Helixhorned r5325 9 Aug, 02:58
  • General

    SDL2 layer: handle all Ctrl+[A-Z] keys passed to OSD_HandleChar().

    Helixhorned r5324 9 Aug, 02:58
    Show details

    See that function for a list of what these do in the OSD.

  • OSD

    fix oob write for Ctrl+K ("delete all to end of line").

    Helixhorned r5323 9 Aug, 02:58 Fix
  • in test/helixspawner.lua, make COLOR a global variable. DONT_BUILD.

    Helixhorned r5322 9 Aug, 02:58
    Show details

    To demonstrate and test that it can be modified from outside, and that these changes are kept with savegame restores.

Open the build to see all 6 commits

Build 5320

8 Aug 2015 · 2 commits · 1 author SVN
Open build
  • add config variable 'corruptcheck_heinum'.

    Helixhorned r5320 8 Aug, 00:04 FixEngine
    Show details

    With 3 modes: 0: auto-correction and warning disabled 1: auto-correction enabled (default, current behavior) 2: auto-correction and warning enabled

  • make BOUNCEMINE spawn FRAMEEFFECT only if moving horizontally.

    Helixhorned r5319 8 Aug, 00:04 CON
    Show details

    Also add "zshoot -4096 BOUNCEMINE" to lunatic/test/weaponvars.con to demonstrate that bouncemines can be shot.

Build 5316

2 Aug 2015 · 2 commits · 1 author SVN
Open build
  • don't spawn FRAMEEFFECT1 for BOUNCEMINE.

    Helixhorned r5316 2 Aug, 01:40 FixEngine
    Show details

    There's no point, really. Since the bouncemine is immobile, the tsprites will all be overlaid at one point and show the same picture, as far as I can see. Worse, since r4876, the generated sprites may draw on top of the actual one. The former have their shade always set to sprite[t->owner].shade though, and will then appear fully bright (shade -127, since BOUNCEMINE sets it like this). This fixes issue number 4 from http://forums.duke4.net/topic/8042-five-minor-problems-report/

  • General

    engine.c: use swapptr() instead of swaplong() in two cases in drawmasks().

    Helixhorned r5315 2 Aug, 01:40 Engine

Build 5314

1 Aug 2015 · 2 commits · 1 author SVN
Open build
  • don't redundantly adjust globalcursectnum in polymost_drawrooms().

    Helixhorned r5314 1 Aug, 01:41 Engine
    Show details

    See r5024 and the added comment.

  • in DNCOORDS display, show x/y/z for VEL + ps->fric x and y components.

    Helixhorned r5313 written 25 Jul 2015
    Show details

    Also, prettify some ps->fric-related code. DONT_BUILD.

July 2015 3 builds · 6 commits

Build 5312

25 Jul 2015 · 4 commits · 1 author SVN
Open build
  • fix displayed viewscreen when its x/yrepeat isn't evenly divisible by 4.

    Helixhorned r5312 25 Jul, 10:23 Fix
  • add DEBUG_FRAME_LOCKING functionality.

    Helixhorned r5311 25 Jul, 10:23
  • fix unbalanced begindrawing()/enddrawing() pair in printext16().

    Helixhorned r5310 25 Jul, 10:23 FixEngine
  • General

    Fix various, but not all warnings.

    Helixhorned r5309 25 Jul, 10:23 FixEngine
    Show details

    Except: - missing braces around initializer [-Wmissing-braces]: due to union-in-struct vec3f_t - comparison between signed and unsigned integer expressions [-Wsign-compare]: in polymer.c

Build 5292

11 Jul 2015 · 1 commit · 1 author SVN
Open build
  • fix two "variable may be used uninitialized" warnings.

    Helixhorned r5292 11 Jul, 10:06 FixEngine
    Show details

    I didn't produce a case when this could actually have happened, but reading the code, in the case of variable 'j' it seems possible with an empty map.

Build 5291

11 Jul 2015 · 1 commit · 1 author SVN
Open build
  • fix a possible oob read via drawspritelabel; sanitize 2d3d mode.

    Helixhorned r5291 11 Jul, 07:13 FixEngine
    Show details

    That is, in m32_is2d3dmode(), also check if 2d and 3d mode resultions are the same. Otherwise, oob writes (e.g. via tileinfo_doprint()) and other thinkable niceties may ensue.