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:

March 2015 11 builds · 30 commits

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

January 2015 7 builds · 9 commits

Build 4949

25 Jan 2015 · 11 commits · 2 authors SVN
Open build
  • General

    Add events EVENT_DISPLAYINACTIVEMENU and EVENT_DISPLAYINACTIVEMENUREST and userdef members m_origin_x and m_origin_y.

    Hendricks266 r4945 25 Jan, 04:16 CON
    Show details

    This allows for CON screen display code to use menu animations. The following is an example of how to adapt screen features that should animate. before: onevent EVENT_DISPLAYMENUREST ifvare current_menu 0 // main menu { setvar x 1 setvar y 1 rotatesprite x y zoom ang tilenum shade pal orientation 0 0 xdim ydim } endevent after: state DisplayMenuCommon ifvare RETURN 0 // main menu { getuserdef[THISACTOR].m_origin_x x getuserdef[THISACTOR].m_origin_y y addvar x 65536 addvar y 65536 rotatesprite16 x y zoom ang tilenum shade pal orientation 0 0 xdim ydim } ends onevent EVENT_DISPLAYMENUREST state DisplayMenuCommon endevent onevent EVENT_DISPLAYINACTIVEMENUREST state DisplayMenuCommon endevent

Open the build to see all 11 commits

Build 4935

18 Jan 2015 · 7 commits · 2 authors SVN
Open build
  • fix "windowed" modes (r_size >= 12) by reverting r4920; adapt.

    Helixhorned r4935 18 Jan, 15:16 FixCON
    Show details

    In setview(), we now assert windowx2 < xdim. The only calling places where its non-violation is non-trivial to ascertain are (1) showview from CON and (2) draw-to-tile for look-sideways in game.c. AFAICS case 1 should be fine. Case 2 is adapted; see comments there.

Open the build to see all 7 commits

Build 4928

16 Jan 2015 · 3 commits · 1 author SVN
Open build
  • CON

    Add new commands "getmusicposition" and "setmusicposition" that operate on the playback position of the current music track.

    Hendricks266 r4928 16 Jan, 16:28 CON
    Show details

    // Example: Switch between tracks like radio stations. getmusicposition temp starttrackvar next_music_track setmusicposition temp Only implemented for Ogg Vorbis, FLAC, and XA. Consult the devs before using these commands.

Open the build to see all 3 commits