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

Showing 2015 · select it again to see every year
SVN era · r1519 – r8798 Git era · voidpoint.io, from april 2020
Filters · 2 active

Showing 48 builds · 87 commits

Export CSV
Display options
Commit details:

March 2015 11 builds · 30 commits

Build 5101

27 Mar 2015 · 6 commits · 1 author SVN
Open build
  • Fix a mistake in r5086 that broke get/setprojectile.

    Hendricks266 r5100 27 Mar, 05:29 FixCON
  • Add read-only player structure member "hudpal", that returns the result of P_GetHudPal().

    Hendricks266 r5099 27 Mar, 05:29 CON
  • CON

    Add EVENT_WORLD, EVENT_PREWORLD, and EVENT_PRELEVEL, which respectively function as EVENT_GAME, EVENT_PREGAME, and EVENT_LOADACTOR, but only running once instead of per-actor.

    Hendricks266 r5098 27 Mar, 05:29 CON
  • Redefine "break" within events to mean "skip the remainder of this event block", not "skip the remainder of execution of this event, through all chained blocks". The latter behavior is still available through the "return" keyword.

    Hendricks266 r5097 27 Mar, 05:28 CON
Open the build to see all 6 commits

Build 5093

25 Mar 2015 · 4 commits · 1 author SVN
Open build
  • CON

    Add token "appendevent", which functions identically to "onevent" except that the event's code is chained to the end of any previous events, instead of the beginning.

    Hendricks266 r5093 25 Mar, 14:31 CON
  • Fix processing the bytecode in an incorrect order when executing setplayer on a member with a second parameter, a missed instance of a consideration from r5086.

    Hendricks266 r5092 25 Mar, 14:30 FixCON
  • Remove the restriction that prevents userdef access when the current player is not myconnectindex.

    Hendricks266 r5091 25 Mar, 14:30 CON
  • Implement tilesizx/y gamearrays in a fashion similar to M32Script's solution: a STRIDE2 flag.

    Hendricks266 r5090 25 Mar, 14:30 CON

Build 5089

24 Mar 2015 · 5 commits · 1 author SVN
Open build
  • Modify the parsing of definevolumename and defineskillname so that they only look for the text before a newline.

    Hendricks266 r5089 24 Mar, 23:28 CON
    Show details

    // valid definevolumename 3 <text> // invalid definevolumename 3 <text>

  • Add quick access for the remaining structures without it.

    Hendricks266 r5088 24 Mar, 23:27 CON
  • Enumify quick structure access.

    Hendricks266 r5087 24 Mar, 23:27 CON
  • Factor fast struct access and get<struct> out into single functions.

    Hendricks266 r5086 24 Mar, 23:27 CON
  • Add PLAYER_PALETTE to quick player struct access, and add a setter that calls P_SetGamePalette().

    Hendricks266 r5085 24 Mar, 23:27 CON

Build 5084

24 Mar 2015 · 20 commits · 2 authors SVN
Open build
  • General

    A lot of CON rewrites/optimizations. Converts projectile system to dynamic allocation, saving a bunch of memory (something like sizeof(projectile_t) * MAXTILES * 2). This commit also contains changes that reduce overhead for CON commands that take a lot of parameters, by way of adding a Gv_GetManyVars() to replace long strings of subsequent calls to Gv_GetVarX().

    TerminX r5080 written 23 Mar 2015 FixCON
    Show details

    Savegame version has been bumped due to the projectile changes. There is no way this commit doesn't cause at least one bug, so DONT_BUILD. ;)

  • General

    Further gamevar changes/optimizations. This also fixes a bug Fox reported with the "shortcut" access to structure members that's tacked on to GetVar, where if the value of the index you're trying to access happened to equal the ID of the current sprite, it would act as if the variable passed was THISACTOR.

    TerminX r5069 written 23 Mar 2015 FixEngineCON
Open the build to see all 20 commits

Build 5050

8 Mar 2015 · 11 commits · 1 author SVN
Open build
  • CON

    Add EVENT_DISPLAYROOMSCAMERA and EVENT_DISPLAYSTART.

    Hendricks266 r5047 written 7 Mar 2015 CON
    Show details

    EVENT_DISPLAYROOMSCAMERA functions exactly like EVENT_DISPLAYROOMS, including RETURN values, but for the ud.camerasprite >= 0 case. EVENT_DISPLAYSTART is executed immediately after the screen background is cleared and drawn. Ensure its RETURN value is zero, because it is currently not being used. WARNING: Consult the devs before using EVENT_DISPLAYSTART. Its position in the display code sequence is not finalized.

  • CON

    Add EVENT_DISPLAYCAMERAOSD. Set RETURN to -1 to disable it.

    Hendricks266 r5046 written 7 Mar 2015 CON
    Show details

    From this event, if "getactor[THISACTOR].htg_t 0" is zero, then the camera is functional. Nonzero values indicate the camera has been destroyed, which is only possible when the CAMERASDESTRUCTABLE parameter of gamestartup has been enabled.

  • CON

    Add EVENT_DISPLAYLEVELSTATS. Set RETURN to -1 to disable them.

    Hendricks266 r5045 written 7 Mar 2015 CON
  • Add read-only userdef members "gametypeflags" and "m_gametypeflags", which return GametypeFlags[ud.coop] and GametypeFlags[ud.m_coop] respectively.

    Hendricks266 r5044 written 7 Mar 2015 CON
  • Add read-only userdef members "usevoxels", "usehightile", and "usemodels".

    Hendricks266 r5043 written 7 Mar 2015 CON
Open the build to see all 11 commits

February 2015 12 builds · 17 commits

Build 5022

20 Feb 2015 · 3 commits · 1 author SVN
Open build
  • General

    Stick update of 'totalclocklock' at beginning of G_DrawRooms() instead of drawrooms().

    Helixhorned r5020 written 19 Feb 2015 FixEngineCON
    Show details

    This fixes engine-side sprite animation in the following scenario: CON code wants to draw a scene from EVENT_DISPLAYREST, but since it covers the whole screen, disables the drawing of the 3D scene beforehand (RETURN set to 1 from EVENT_DISPLAYROOMS). DONT_BUILD.

Open the build to see all 3 commits

Build 5019

19 Feb 2015 · 3 commits · 1 author SVN
Open build
  • in 'for i drawnsprites' handling, back up and restore sprite MAXSPRITES-1.

    Helixhorned r5019 19 Feb, 09:41 FixEngineCON
    Show details

    This fixes the level 5 corruption encountered when issuing that iteration. (Because the last sprite would be changed from e.g. statnum MAXSTATUS to 0.) It is also mandatory anyhow since the last sprite may be contained in the map.

Open the build to see all 3 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

Build 4975

8 Feb 2015 · 4 commits · 1 author SVN
Open build
  • CON

    Amend retrieval of STR_*TIME for qgetsysstr, fixing LunaCON and possible oob.

    Helixhorned r4972 8 Feb, 10:48 FixCON
    Show details

    - Add declarations of C functions to defs.ilua, names to dynsymlist, fix typo in con_lang.lua, ffi.string() calls in control.lua - Assert that G_LastMapInfoIndex() is always called with ud.last_level >= 1. (A stricter requirement than necessary to prevent follow-up oob accesses, but logically the most meaningful.) - In G_PrintParTime() and G_PrintDesignerTime(), return "<invalid>" if the above does not hold. This can happen from EVENT_NEWGAME, for example. Add a test to lunatic/test/qgetsysstr.con. DONT_BUILD.

Open the build to see all 4 commits