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 375 builds · 638 commits

Export CSV
Display options
Commit details:

February 2015 12 builds · 17 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

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

Build 4875

4 Jan 2015 · 2 commits · 1 author SVN
Open build
  • CON

    always return non-negative values from 'clipmove' and related.

    Helixhorned r4874 4 Jan, 10:44 FixEngineCON
    Show details

    Previously, the C function clipmove() returned negative values when hit a wall (32768+wallnum) or sprite (49152+spritenum) because internally, these values were encoded into a *signed* 16-bit integer. This made no difference to C code using it, since it always proceeded by bit checks, but was inconsistent with documentation on CON 'clipmove' on the wiki. The following commands are affected too, since they use the value returned by clipmove(): 'clipmovenoslide', 'movesprite'. Also, the value of actor[].movflag ('htmovflag' from CON). Also, fix 'clipmove*' in LunaCON and add lunatic/test/checknearwall.con as an example of how to implement a being-close-to-a-wall checker as requested in http://forums.duke4.net/topic/7869-determining-closeness-to-a-wall/

Open the build to see all 2 commits

December 2014 6 builds · 12 commits

Build 4871

28 Dec 2014 · 1 commit · 1 author SVN
Open build
  • General

    sounds.c: don't crash S_PlayMusic() if passed null pointer for 'fn'.

    Helixhorned r4871 28 Dec, 14:12 FixCON
    Show details

    This may happen if no title/end music is defined from CON. Thanks to Zaxtor for the bug report.

Build 4844

26 Dec 2014 · 11 commits · 1 author SVN
Open build
  • fix 'writearraytofile' for 64-bit platforms.

    Helixhorned r4844 26 Dec, 09:30 FixCON
  • CON

    allow passing more than one flag to the 'spriteflags' directive.

    Helixhorned r4841 26 Dec, 09:29 CON
    Show details

    These will be bitwise-OR'd.

  • General

    In C-CON build, prevent leak of gamevar/gamearray labels on savegame loading.

    Helixhorned r4839 26 Dec, 09:29 FixCON
    Show details

    Also, rewrite the loops in Gv_Free() and Gv_Clear() in the plain fashion so that they are correct even if the number of gamearrays exceeds the number of gamevars.

  • General

    cache1d.c: Revert changes in r4665 unrelated to unrolling, fixing oob write.

    Helixhorned r4838 26 Dec, 09:29 FixCON
    Show details

    Specifically, we must make sure that dasizeof <= LZWSIZE (or so) in c1d_{read,write}_compressed() (what the assertion in the last commit was about, and is now redundant). This fixes saving of e.g. large gamearrays with the C-CON build. Bump BYTEVERSION. An alternative for setting dasizeof to 1 would be to factor it and keep dividing as long as it's > LZWSIZE.

Open the build to see all 11 commits

Build 4799

6 Dec 2014 · 8 commits · 1 author SVN
Open build
  • fix tilesizx[]/tilesizy[] access. Can also 'copy' from them.

    Helixhorned r4799 6 Dec, 11:09 FixCON
  • General

    M32Script cleanup. Fixes at least one non-minor and one minor bug.

    Helixhorned r4798 6 Dec, 11:09 FixCON
  • implement 'qstrncat' command.

    Helixhorned r4795 written 5 Dec 2014 CON
  • General

    gamevars.c: don't leak memory in Gv_NewArray(). DONT_BUILD.

    Helixhorned r4793 written 5 Dec 2014 FixCON
Open the build to see all 8 commits

November 2014 2 builds · 8 commits