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 425 builds · 724 commits

Export CSV
Display options
Commit details:

February 2012 6 builds · 7 commits

Build 2373

20 Feb 2012 · 8 commits · 1 author SVN
Open build
  • make neartag accept a sprite-blacklist function and use it in sector.c.

    Helixhorned r2373 20 Feb, 11:54 EngineCON
    Show details

    Internally, the last argument to neartag is now a pointer to a function int32_t (*blacklist_sprite_func)(int32_t i), which is supposed to return 1 if sprite[i] should NOT be considered for hitting. This is now used in the hard-coded neartag() calls in sector.c, but not in any way in CON (there's neither a C blacklist function provided, nor is there a possibility to define one in CON). There, all sprites with picnums >=1 and <=10 (i.e. the effectors) will be blacklisted. This remedies problems where such sprites would get in the way of switches. Note that a whitelist approach (only consider a predefined set, namely those picnums which will be checked afterwards) has back-compatibility implications since people may have used e.g. lotagged window sprites to cover a switch. Also, the >=1 to <=10 range is [sic] (the static, not dynamic values are used), since anyone redefining effector picnums is clearly out of their mind.

Open the build to see all 8 commits

Build 2351

16 Feb 2012 · 7 commits · 1 author SVN
Open build
  • General

    When loading a map in-game, clear TROR wall members corresponding to up/down links.

    Helixhorned r2349 16 Feb, 11:25 FixEngineCON
    Show details

    I find this cleaner for two reasons. First, lotags won't get in the way of neartag(), so that doors and switches near constrained TROR walls can be pushed. Second, this removes the information leak so that CON coders aren't tempted to read that values directly before a proper API for that comes along. When writing out a map in-game (e.g. with dndebug), restore the respective members so that it can be loaded in the editor again.

Open the build to see all 7 commits

Build 2313

4 Feb 2012 · 5 commits · 1 author SVN
Open build
  • Various menu tweaks and one fix.

    Helixhorned r2313 4 Feb, 06:30 FixCON
    Show details

    - make PGUP/PGDN and HOME/END behave as expected across all menus - in keyboard/mouse button mapping menu, draw function names that have been given custom names via CON with pal 8 for easier recognition - fix tinting of function names in mouse button mapping menu

  • General

    Fix not-initialized variable warning in 'soundanims' CON token parser.

    Helixhorned r2309 4 Feb, 06:29 FixCON
Open the build to see all 5 commits

January 2012 3 builds · 4 commits

Build 2268

19 Jan 2012 · 4 commits · 1 author SVN
Open build
  • General

    Fix oob accesses when e.g. shooting tile -1. (can propagate via WEAPONx_SHOOTS)

    Helixhorned r2268 19 Jan, 13:58 FixCON
    Show details

    Ideally, we would also warn when setting WEAPONx_SHOOTS to negative values, but we'd have to intercept CON's setvar's and it wouldn't be pretty.

Open the build to see all 4 commits

Build 2232

3 Jan 2012 · 3 commits · 1 author SVN
Open build
  • General

    Pass bit 16 to P_SetGamePalette from CON's setgamepalette (forgotten from earlier commit)

    Helixhorned r2232 3 Jan, 11:56 CON
  • General

    In G_NewGame(), call Gv_RefreshPointers after Gv_ResetVars.

    Helixhorned r2230 3 Jan, 11:55 CON
    Show details

    Resetting the gamevars might produce inconsistencies between an earlier loaded game (for example, if it was saved with different/earlier CON code), and worst of all, the gamevars that reference C variables might be overwritten (i.e. the addresses to those variable, which is very bad!).

Open the build to see all 3 commits

December 2011 12 builds · 16 commits

Build 2226

29 Dec 2011 · 1 commit · 1 author SVN
Open build
  • CON

    make the 'palette' player member actually return the player's palette ID

    Helixhorned r2226 29 Dec, 06:26 CON
    Show details

    instead of -1. Setting is still only through 'setgamepalette'.

Build 2225

28 Dec 2011 · 9 commits · 1 author SVN
Open build
  • General

    Besides the performance issues, there's another reason why changing the palette

    Helixhorned r2225 28 Dec, 12:36 EngineCON
    Show details

    'frequently' isn't such a good idea. Assume an actor constantly changes the palette to some value and you're attacked by a newbeast at the same time. Then the pain tinting would be reset each time the actor's code is run. This commit adds a new flag 16 to setbrightness(), meaning "don't reset the fade tinting". Its only use right now is from CON's setgamepalette command (and there, always). The change is done in the engine and thus affects all platforms.

  • General

    SDL layer: in 8-bit mode, defer setting the palette until showing the next frame.

    Helixhorned r2221 28 Dec, 12:34 CON
    Show details

    CON code sometimes uses 'setgamepalette' from withing actors, which is a bit too frequent. Deferring the actual palette updating means that multiple requests in between two screen redraws are coalesced into one, which is desirable for performance reasons and for the reduction of 'tearing' artefacts (but not prevention, since the drawing isn't synced to the screen refresh rate with vsync off). (Did-not-)update issues might be introduced. Windows isn't touched because - I expect it to be more brittle, especially in light of the ATI HW gamma problems. - I haven't tested whether the particular performance penalty that lead to this change ('gas' in AMC TC) exists there too

Open the build to see all 9 commits

Build 2211

25 Dec 2011 · 16 commits · 1 author SVN
Open build
  • General

    start CON code at script[3] instead of script[1]. The 'move' command permits

    Helixhorned r2211 25 Dec, 07:35 CON
    Show details

    the constants 0 and 1, and moveptrs may reference the script up to index 2 then (though I'm not sure whether the code is reachable with moveofs either 0 or 1), so make sure it's nulled instead of whatever happened to compile at the first two positions. Move 1 is only used once in the original cons, when frozen and being shattered.

Open the build to see all 16 commits

Build 2184

17 Dec 2011 · 2 commits · 1 author SVN
Open build
  • General

    Add new actor[].flags flag 2048 (SPRITE_NOCLIP), for 'spriteflags' CON usage.

    Helixhorned r2184 17 Dec, 10:51 EngineCON
    Show details

    Actors are always moved such that _they_ clip against blocking sprites, even if their blocking bit is clear. Setting the new bit make them not clip against anything. The promary use of this is for decorative moving sprites that are spawned in masses, such as rain or snow.

Open the build to see all 2 commits

Build 2182

15 Dec 2011 · 3 commits · 1 author SVN
Open build
  • General

    Don't spawn weapon tiles (WEAPONx_SPAWN) if any such value has been set

    Helixhorned r2180 15 Dec, 14:42 EngineCON
    Show details

    to negative numbers. Previously, only checks for being zero were performed, but CON code in the wild also has WEAPONx_SPAWN -1, which would propagate to the sprite picnum...

Open the build to see all 3 commits

Build 2172

9 Dec 2011 · 16 commits · 1 author SVN
Open build
  • General

    Fix sintable[] access with out-of-bounds values in core engine functions

    Helixhorned r2170 9 Dec, 11:11 FixEngineCON
    Show details

    (getzrange, hitscan, clipmove, drawmapview). They're reproducible with DNE1.3D; Since these angle values most likely come from CON code, my suggestion would be to bit-and all values representing angles with 2047 when setting the from CON, but I'd have to think about potential side-effects of doing this.

Open the build to see all 16 commits

Build 2155

4 Dec 2011 · 4 commits · 1 author SVN
Open build
  • General

    a.m32: New function save_restore_hlsectors, also accessible from the Quote-F

    Helixhorned r2155 4 Dec, 13:21 EngineCON
    Show details

    menu. If some sectors are highlighted, save their indices. The highlighting of those particular sectors can then be restored at a later time (but careful across structural modifications that tweak sector indices) by running the same function. Shares a 'gamearray' with function 'collect_teleporting_sectors', so the latter will reset this one when run.

  • when failing to compile a state with a menu name, don't keep the

    Helixhorned r2154 4 Dec, 13:20 CON
    Show details

    menu entry.

  • General

    CON parser cleanup: make labelcode save offsets to CON code instead of

    Helixhorned r2152 4 Dec, 13:20 CON
    Show details

    pointers and make it into an int32_t*.

Open the build to see all 4 commits

Build 2151

4 Dec 2011 · 2 commits · 1 author SVN
Open build
  • General

    CON parser cleanup: make labeltype be an int32_t* instead of an intptr_t*.

    Helixhorned r2151 4 Dec, 13:19 CON
  • General

    CON parser cleanup: when getting a value from labelcode[], assume that it

    Helixhorned r2150 4 Dec, 13:19 CON
    Show details

    represents a pointer into the script for label types other than LABEL_DEFINE instead of checking inclusion of the value in the script bounds. This assertion was tested with WGR2 SVN.

November 2011 4 builds · 4 commits

Build 2130

25 Nov 2011 · 14 commits · 1 author SVN
Open build
  • General

    Somewhat largish commit with various keyboard tinkering for Mapster.

    Helixhorned r2122 25 Nov, 01:51 FixEngineCON
    Show details

    The main change consist of adding a key press (and release) callback whose only purpose is to be used from m32script as EVENT_KEYPRESS. When entering that event, the RETURN variable will be set to the keystatus code of the key, and whether it was pressed or released can be checked by looking at keystatus[] at that code (ifholdkey and ifhitkey do this). The purpose of this, then, is to be able to remap keys in a more general (and complicated) fashion than is possible with the mapster32.cfg 'remap' option. Various other additions build around this central one: - add an example EVENT_KEYPRESS to a.m32, among other things emulating the keypad arrows with Alt-<normal arrows> for notebook convenience; disabled initially - a.m32: set 'owner' with Alt-KP2: now Alt-Shift-KP2, because of collision with the above - new m32script command: setkey <keycode>, setting keystatus[<keycode>] to 1 (note: may be restricted to use in EVENT_KEYPRESS only in the future) - fix indexing an m32script array with a defined label, there used to be a 'not a gamevar' error instead - add the following constant labels for some key codes: KEY_SCROLL, KEY_F1 .. KEY_F12

Open the build to see all 14 commits

Build 2105

5 Nov 2011 · 1 commit · 1 author SVN
Open build
  • General

    Fix the 'displayrandvar{var}' CON and m32script commands for environments

    Helixhorned r2105 5 Nov, 05:13 FixCON
    Show details

    with RAND_MAX > 32767 (everything except Windows?). The 'displayrand' command now returns values from 0 to 32767 inclusive, across all platforms.