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 107 builds · 178 commits

Export CSV
Display options
Commit details:

February 2015 1 build · 2 commits

Build 5001

10 Feb 2015 · 21 commits · 1 author SVN
Open build
  • General

    C-CON changes

    TerminX r4988 10 Feb, 21:22 CON
  • General

    Animation system overhaul part 1. This allows for an unlimited number of .anm/.ivf files to be defined via duke3d.def and played back at any time with the new CON commands. Syntax is currently as follows, but may change:

    TerminX r4987 10 Feb, 21:22 CON
    Show details

    cutscene "somefile.anm" { delay 10 } // defines somefile.anm with a delay of 10 120Hz tics between frames. a more typical framerate method may come later, but this is how the originals worked. Once defined, they can be played through CON with the new playback command, also called "cutscene". It works like this: definequote 12345 somefile.anm define ANIM_SOMEFILE 12345 ... cutscene ANIM_SOMEFILE // halts game execution and immediately plays cutscene, resuming execution when finished ... Sounds can be played during animations (and tiles can be overlaid, etc) like this: onevent EVENT_CUTSCENE ifcutscene ANIM_SOMEFILE { ifvare RETURN 12 // frame 12 sound FLY_BY rotatesprite ... } endevent The value of the RETURN var at the end of EVENT_CUTSCENE determines the next frame to play. This can be used for looping, etc. Attempting to play animations backwards outright is not advised as animations only seek in one direction (so rewinding requires running it through from frame 0 again). This is will WIP and hasn't been heavily tested at all, so please try it out.

Open the build to see all 21 commits

January 2015 3 builds · 5 commits

Build 4897

10 Jan 2015 · 10 commits · 1 author SVN
Open build
  • General

    Faster/better optimized access to game structures from C-CON.

    TerminX r4897 10 Jan, 20:54 CON
  • General

    Clean up/refactor a few gamevar related functions based on building as C++/C99 and some interesting articles I read about how GCC and Clang optimize switches. Worth a few FPS here.

    TerminX r4895 10 Jan, 20:53 CON
Open the build to see all 10 commits

November 2014 2 builds · 3 commits

Build 4777

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

    Clean up some player code a bit... make bobposx/bobposy a vec2_t, make fricxv/fricyv a per-player vec2_t (TODO: CON access), promote angvel in input_t to int16_t and allow for player angle changes that result in odd numbered angles (we were effectively artificially limiting the angle to 1024 values before), fix some HUD model ID stuff that should help with the weapons in the HRP, clean up a bunch of random functions (P_FireWeapon(), P_DisplayTip(), P_DisplayAccess(), P_DisplayWeapon(), P_GetInput(), etc). Also clean up G_SetupFilenameBasedMusic() to loop through flac/ogg/mid when searching for usermap music replacements. Some of this really needs a BYTEVERSION bump, but these commits aren't for synthesis to build so we're not doing it yet. DONT_BUILD.

    TerminX r4703 written 29 Oct 2014 FixCON
  • General

    Aligned gamevar/gamearray allocation

    TerminX r4698 written 29 Oct 2014 CON
Open the build to see all 81 commits

April 2013 1 build · 1 commit

Build 3708

25 Apr 2013 · 3 commits · 1 author SVN
Open build
  • General

    Support adding custom grps to the selector in the startup window. To use this feature, create a file with a ".grpinfo" extension in your EDuke32 directory, following this template:

    TerminX r3708 25 Apr, 10:49 CON
    Show details

    grpinfo { name "YourGameName" scriptname "yourgame.con" defname "yourgame.def" size yourgrpsize dependency DUKE15_CRC flags GAMEFLAG_ADDON crc yourgrpcrc } The "flags" field can also take the value "GAMEFLAG_DUKE" to define a new base game. Since this is the first commit of a new feature, certain semantics of the implementation and syntax are liable to change as necessary.

Open the build to see all 3 commits

December 2012 1 build · 1 commit

November 2012 3 builds · 3 commits

Build 3192

15 Nov 2012 · 1 commit · 1 author SVN
Open build
  • General

    Add "ulotag" and "uhitag" to get/setactor/wall/sector, which exposes the tags unsigned, without the typecast to int16_t. This might be useful to someone.

    TerminX r3192 15 Nov, 16:54 EngineCON

Build 3161

14 Nov 2012 · 3 commits · 1 author SVN
Open build
  • General

    Fix the warnings when building with C++, add MSVC C++ build support. This also changes the internal type of lotags, hitags and cstat type fields to uint16_t instead of int16_t to clean up some dubious behavior wherein the code was using a value of 32768 as a flag in these fields for certain types of things, like invisible sprites (using the value as if it was uint16_t) where it was elsewhere checking if the value was < 0 (using the value as if it was int16_t). This change may break a few specific effects if any part of the relevant code was missed when looking for areas that needed to be addressed.

    TerminX r3159 14 Nov, 15:32 FixEngineCON
    Show details

    I think there's also a fix for the CON precache system breakage in here (lost it in my local tree when I started getting the C++ build working in MSVC, sorry!)

Open the build to see all 3 commits

October 2012 2 builds · 2 commits

Build 3089

16 Oct 2012 · 1 commit · 1 author SVN
Open build
  • General

    Add some CON defines for friendly names to pass to definegamefuncname. Now, instead of "definegamefuncname 36 something" you would "definegamefuncname GAMEFUNC_TURNAROUND something". It's just a little something to make CON files more readable.

    TerminX r3089 16 Oct, 10:05 CON

May 2012 3 builds · 4 commits

Build 2660

17 May 2012 · 1 commit · 1 author SVN
Open build
  • General

    Fix EVENT_CHECKTOUCHDAMAGE (the change to how events handle RETURN broke it)

    TerminX r2660 17 May, 13:47 FixCON

Build 2659

17 May 2012 · 2 commits · 1 author SVN
Open build
  • General

    Alternate implementation of EVENT_SOUND that better covers all hard coded sounds (menus, boss recognition sounds, etc)

    TerminX r2659 17 May, 10:33 CON
  • General

    Fix breakage of EVENT_WEAPKEYx after r2656

    TerminX r2658 17 May, 10:23 FixCON

Build 2652

14 May 2012 · 1 commit · 1 author SVN
Open build
  • General

    Addition of 3 events:

    TerminX r2652 14 May, 11:12 FixEngineCON
    Show details

    EVENT_SOUND: triggered upon playback of any sound, this allows the "hard coded" sounds to be altered in a context-aware fashion instead of having to resort to clunky hacks like replacing them with a blank sound effect. RETURN var iable is set to the sound effect # of the sound to be played, or -1 to cancel playback. EVENT_CHECKTOUCHDAMAGE: triggered in P_CheckTouchDamage() whenever the player collides with anything. Value of RET URN is set to the result provided by clipmove() and so can be decoded in the same way. Value of RETURN when the event is over can also be manipulated to control some of the hard coded damage effects. EVENT_CHECKFLOORDAMAGE: triggered in P_CheckFloorDamage(), RETURN is simply the picnum of the floor of the sector t he player is in. Can be used to cancel hard coded floor damage effects or to make other tiles exhibit the same eff ects Other misc fixes and cleanups, including a possible workaround for Duke Plus SECTOREFFECTOR light issues wherein all SE49 and SE50 that have a statnum of STAT_EFFECTOR are simply changed to STAT_LIGHT during the STAT_EFFECTOR loop now.

September 2011 1 build · 1 commit

Build 2016

11 Sep 2011 · 1 commit · 1 author SVN
Open build
  • 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 FixEngineCON

August 2011 1 build · 1 commit

Build 1964

12 Aug 2011 · 1 commit · 1 author SVN
Open build
  • General

    Fix gamearray overallocation on 64-bit... was being allocated as (array size * sizeof(intptr_t)) when the struct actually contains a ptr to a block of int32_t

    TerminX r1964 12 Aug, 08:40 FixCON

June 2011 1 build · 1 commit

Build 1909

18 Jun 2011 · 1 commit · 1 author SVN
Open build
  • General

    Patch from Hendricks266 and whatever changes happened to be in my tree. I hope they work ;)

    TerminX r1909 18 Jun, 17:11 CON
    Show details

    "The most noticeable change is the addition of the "includedefault" CON and DEF command, which will attempt to include eduke.con (or nam.con, or ww2gi.con), then game.con, or duke3d.def, or nam.def, or ww2gi.def. This is useful for TCs like my add-ons, where for my pseudo-mutators I currently say "include EDUKE.CON", but I also have to juggle this terrible order of paths, so that I can have an EDUKE.CON file in my HRP which says "include GAME.CON" to allow the mainline game to actually run, but also allow DukePlus to load its EDUKE.CON file (since it uses that and not an -x switch), and also allow any custom EDUKE.CON files in the root to be used."

May 2011 1 build · 1 commit