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 668 builds · 2,314 commits

Export CSV
Display options
Commit details:

November 2014 1 build · 24 commits

Build 4777

28 Nov 2014 · 81 commits · 3 authors SVN
Open build
  • General

    Fix POLYMER=0 build and a couple of unused-variable warnings with it. DONT_BUILD.

    Helixhorned r4764 written 25 Nov 2014 FixEngine
  • General

    In Lunatic build, make krand() a proper function again, called from Lua/FFI.

    Helixhorned r4759 written 22 Nov 2014
    Show details

    DONT_BUILD.

  • General

    a-c.c: Compile vlineasm4nlogy() only if CLASSIC_NONPOW2_YSIZE_WALLS is #defined.

    Helixhorned r4758 written 22 Nov 2014
    Show details

    Also make three file-scope variables static.

  • General

    engine.c: in wallscan(), fix oob of umost[] and dmost[] when x2 == xdim-1.

    Helixhorned r4757 written 22 Nov 2014 FixEngine
    Show details

    Analogously treat maskwallscan() and transmaskwallscan(), although I could not get the respective accesses to be oob, too.

  • do '(very)clean' with a plain "rm -f some/obj/*.o".

    Helixhorned r4756 written 22 Nov 2014
    Show details

    Notes: - In the 'clean' target, the "core*" arg to 'rm' was removed as I find it too unspecific. (Someone could have an unrelated file with that prefix lying around.) - The targets 'clean' and 'veryclean' now echo the commands they are about to execute. Also, in Makefile.common, resurrect sanitized Clang builds if DEBUGANYWAY=2 is passed (previously, that was triggered with RELEASE=0 DEBUGANYWAY=1).

Open the build to see all 81 commits

September 2014 1 build · 9 commits

Build 4593

7 Sep 2014 · 9 commits · 1 author SVN
Open build
  • General

    astub.c: fix warnings with CPLUSPLUS=1 related to forgotten TrackerCast().

    Helixhorned r4593 7 Sep, 11:10 Fix
  • General

    Fix taking over floor pal in the unlikely event that no fog pals are defined.

    Helixhorned r4592 7 Sep, 11:10 Fix
    Show details

    This DOES NOT fix the more complex issue discussed at the forums.

  • on 'clean' target, unconditionally rm -f game Lunatic objects.

    Helixhorned r4591 7 Sep, 11:10
    Show details

    The 'clean' and 'veryclean' targets are usually run without environment options. It is preferable if they clean out all object files that are possible with any.

  • add actor.move() static function and documentation stub.

    Helixhorned r4590 7 Sep, 11:10
  • General

    For usermaps, save and restore currently playing music index with savegames.

    Helixhorned r4589 7 Sep, 11:10
    Show details

    The volume and level number for the music are stored in the last two bytes of the board file name array. No version bump is required.

Open the build to see all 9 commits

August 2014 5 builds · 18 commits

Build 4584

31 Aug 2014 · 9 commits · 1 author SVN
Open build
  • General

    Fix USE_OPENGL=0 build.

    Helixhorned r4584 31 Aug, 04:15 Fix
  • implement 'qsubstr' command. Add source/lunatic/test/qsubstr.con.

    Helixhorned r4583 31 Aug, 04:15 CON
    Show details

    In C-CON's qsubstr, error if <start> is not in [0 .. MAXQUOTELEN-1] or <length> is negative.

  • General

    Fix crash using INTERNAL DEFAULTS after CON error when CON modules were given.

    Helixhorned r4582 31 Aug, 04:15 FixCON
  • ignore internal flag in gamevar redef check; allow "Pals" member.

    Helixhorned r4581 31 Aug, 04:15 CON
  • demote wall check "corruptions" introduced in r4569 to level 2.

    Helixhorned r4580 31 Aug, 04:15 FixEngine
    Show details

    The winding of a loop -- with clockdir() -- is determined by examining the two line segments spanned between the points following a leftmost point of the loop. If the loop contains a leftmost point that belongs to the "right" side (as can happen with sliding door constructions), there's a chance that an outer loop is misclassified.

Open the build to see all 9 commits

Build 4575

20 Aug 2014 · 1 commit · 1 author SVN
Open build
  • General

    Amend r4378 to hopefully make "stuck in water" fix work properly.

    Helixhorned r4575 20 Aug, 10:58 Fix
    Show details

    NOTE: lizmen may walk on water. I don't yet know why.

Build 4573

16 Aug 2014 · 2 commits · 1 author SVN
Open build
  • fix a crash when m32_settings.cfg contains video setting.

    Helixhorned r4573 16 Aug, 11:32 FixEngine
    Show details

    Such as "vid_gamma". In that case, setbrightness() would have been called without basepaltableptr having been initialized. The fix is by moving the preparational setbasepaltable() call from ExtPostStartupWindow() to ExtInit(), just before the OSD command dispatching.

  • fix possible integer overflow in loopinside().

    Helixhorned r4572 16 Aug, 11:32 FixEngine
    Show details

    This could happen when building outside the "classic" grid limits and would then lead to e.g. incorrect loop assignment on sector splitting. Bug reported by MetHy.

Build 4571

8 Aug 2014 · 19 commits · 2 authors SVN
Open build
  • General

    game.c: fix -game_dir and -j by moving G_ExtInit() after G_CheckCommandLine().

    Helixhorned r4571 8 Aug, 13:02 Fix
  • properly initialize values of session (NODEFAULT) gamevars.

    Helixhorned r4570 8 Aug, 13:02 CON
  • prototypical checker for wall loops, enabled partially.

    Helixhorned r4569 8 Aug, 13:02 FixEngine
    Show details

    Inspired by http://forums.duke4.net/topic/7506-tror-question/page__view__findpost__p__199151 the corruption checker now checks for certain conditions of the loops of each sector. Recall that CW loops are outer and CCW loops are inner. - If a sector has no or more than one outer loop, count that as corruption (level 4 and 3, respectively). - (Disabled) For sectors with exactly one outer loop, check that all inner ones are inside it. This is currently not compiled due to an asymmetry of loopinside() for degenerate cases, similar to pre-r3898 inside().

  • General

    Clean up astub.c:CheckMapCorruption() and some build.c code a little.

    Helixhorned r4568 8 Aug, 13:02
    Show details

    There are no intended changes of functionality, it's readability tweaks only.

  • General

    A couple of Lunatic updates. DONT_BUILD.

    Helixhorned r4567 written 2 Aug 2014 FixCON
    Show details

    - LunaCON: support for setting userdef[].m_volume_number, getting .last_level - bump con_lang.MAXEVENTS - fix compilation of astub.c

Open the build to see all 19 commits

June 2014 1 build · 7 commits

Build 4500

1 Jun 2014 · 12 commits · 3 authors SVN
Open build
  • General

    lunatic/util/build.lua: in readdefs(), add option of requesting picnum->name mapping.

    Helixhorned r4499 1 Jun, 13:50
    Show details

    That is, the reverse of what is returned with the first outarg. Use that in lunatic/util/foreachmap.lua. DONT_BUILD.

  • r_npotwallmode, emulating 8-bit for walls w/ nonpow2 height textures.

    Helixhorned r4498 1 Jun, 04:55 Engine
    Show details

    When that mode is enabled (see below for caveats), wall textures that have a non-power-of-two height (call it 'h') will be modified to look like in classic: Let 'H' be the next power of two greater than 'h'. The texture will be uploaded with height 'H', made up from 'h' hlines of the original texture, followed by 'H'-'h' first hlines of the same. No panning "corrections" will take place. The mode is disabled by default. Caveats/notes: * the mode requires that r_hightile is disabled * it is not implemented in Polymer * in the Lunatic build, it is ineffective when a VX map is loaded, as those display walls with NPOT height textures correctly

  • when pasting onto the bottom part of a [2]-wall, take over y-flipping.

    Helixhorned r4493 written 30 May 2014 Engine
    Show details

    Note that x-flipping is determined by the cstat of the upper part of the wall (that is, the wall facing the player, not the nextwall, from which the picnum for the bottom part is taken.)

  • General

    Replace two missed literal numbers with SE_* enum labels.

    Helixhorned r4492 written 30 May 2014
  • General

    Bye, bye, B*alloc(), all hail X*alloc()! Replace large portion of the calls...

    Helixhorned r4491 written 29 May 2014
    Show details

    ... and cull code that is dead with the X*alloc() versions since they never return NULL on requesting memory. Use something like git grep '[^Xx]\(m\|c\|re\)alloc *(' and git grep '[^Xx]strdup *(' to see places where I left the B*alloc() calls intact. BUILD_LUNATIC.

Open the build to see all 12 commits

May 2014 10 builds · 23 commits

Build 4488

28 May 2014 · 6 commits · 1 author SVN
Open build
  • General

    Miscellaneous cleanup, still with the same suspects...

    Helixhorned r4488 28 May, 15:40
    Show details

    - in mdloadskin() and gloadtile_hi(), use new function check_nonpow2() (bit-twiddling) instead of loop - Replace a couple of missed literals with CACHEAD_* enum labels

  • General

    Factor out commonly occuring hictinting[]-accessing code into three functions.

    Helixhorned r4487 28 May, 15:40 Engine
    Show details

    Note: in polymer.c, this was buggy (but harmless) because .r is a char: if ((uint32_t)hictinting[MAXPALOOKUPS-1].r & 0xFFFFFF00) != 0xFFFFFF00)

  • General

    Replace various GL rendering related literal flags with enum labels.

    Helixhorned r4486 28 May, 15:40 Engine
    Show details

    - pthtyp pth->flags bits - Flags of the <dameth> argument of various functions - hictinting[].f / gloadtile_hi() and daskinloader() <effect> arg bits - hicreplctyp hicr->flags bits - texcacheheader cachead.flags bits

  • General

    polymost.c: stylistic cleanup in gloadtile_hi, uploadtexture, fixtransparency.

    Helixhorned r4485 28 May, 15:40 Engine
  • in NPOT wall ypanning "correction", behave like Polymer in one corner case.

    Helixhorned r4484 28 May, 15:40 Engine
    Show details

    Specifically, the handling of one-way walls ([1] in Mapster32) was slightly different.

Open the build to see all 6 commits

Build 4482

24 May 2014 · 1 commit · 1 author SVN
Open build
  • General

    sdlayer.c: for Windows, switch keyboard layout to/from US on init/uninit.

    Helixhorned r4482 24 May, 08:27
    Show details

    Taking over the code from winlayer.c.

Build 4481

23 May 2014 · 1 commit · 1 author SVN
Open build
  • General

    Rip out S_FindMusicSFX() from A_CallSound() and use in SE6/14 on-spawn init.

    Helixhorned r4481 23 May, 13:25
    Show details

    This makes the subway sound not played once on map initialization.

Build 4480

22 May 2014 · 3 commits · 1 author SVN
Open build
  • General

    shadexfog.lua: in menu, move creation of debugging shade tables below DEBUG line.

    Helixhorned r4480 22 May, 04:17
    Show details

    BUILD_LUNATIC.

  • General

    lunatic/test/shadexfog.lua: add function create_brightpass_trans().

    Helixhorned r4479 22 May, 04:17
    Show details

    Also hook it up in the [;]+[F] menu.

  • General

    game.c: in A_Spawn(), protect CSTAT_SPRITE_NOSHADE of spawned MASKWALL* sprites.

    Helixhorned r4478 22 May, 04:17 Engine

Build 4477

22 May 2014 · 1 commit · 1 author SVN
Open build
  • General

    actors.c: fix a A_CheckSpriteFlags() call for zombie actor to STANDABLE change.

    Helixhorned r4477 22 May, 01:56 FixEngine
    Show details

    This only affects zombie actors in a sector with a parallaxed ceiling. If they have SFLAG_NOSHADE clear, their shade is taken from the ceiling upon changing the statnum. Previously, A_CheckSpriteFlags() received a value that could only be 0 or 1 for the sprite index (typo).

Build 4476

18 May 2014 · 4 commits · 1 author SVN
Open build

Build 4462

3 May 2014 · 2 commits · 1 author SVN
Open build
  • don't read some variables from mapster32.cfg redundant since r4344.

    Helixhorned r4462 3 May, 08:39 Engine
    Show details

    Mostly, these are rendering-related variables. We keep *writing* them to mapster32.cfg so that older Mapster32 versions can be used side-by-side for now.

  • General

    src/config.c: fix what is apparently a copy-paste typo in readconfig().

    Helixhorned r4461 3 May, 08:39 Fix

Build 4459

1 May 2014 · 2 commits · 1 author SVN
Open build
  • make r_usetileshades 2 the default.

    Helixhorned r4459 1 May, 09:55 Engine
    Show details

    This mode does not take a sector's visibility values into account for uniform darkening of a texture. It is more faithful to classic with respect to fog/visibility *distances*, but may be less so as far as the "tint" of the texture due to visibility attenuation is concerned.

  • General

    engine.c: instead of fogpal post-tweaks (last 2 commits), normalize by numshades-1.

    Helixhorned r4458 1 May, 09:55 Engine
    Show details

    That is, for every for palette (now, even ones created by the user) the last shade is the (or rather, a color close to the) full fog color by construction. In loadpalette(), reject a PALETTE.DAT with only one shade level.

April 2014 12 builds · 29 commits

Build 4457

29 Apr 2014 · 1 commit · 1 author SVN
Open build
  • General

    engine.c: extend the last workaround to all four fogpals generated at startup.

    Helixhorned r4457 29 Apr, 13:07 FixEngine

Build 4456

29 Apr 2014 · 1 commit · 1 author SVN
Open build
  • General

    engine.c: after creating gray fog palookup, make its greatest shade map to same color.

    Helixhorned r4456 29 Apr, 12:34 Engine
    Show details

    Concretely, for all 1 <= i <= 255, make graypalookup[31][i] := graypalookup[31][0]. Also document 'fogpal' in the Lunatic doc.