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

Showing 8,866 commits

Export CSV
Display options
Commit details:

June 2013

  • CON

    add projectile member .userdata and predefined label PROJ_USERDATA.

    Helixhorned r3866 9 Jun, 09:37 Build 3868 CON
    Show details

    It is a 32-bit signed integer. No version bump necessary, although CON code accessing this new member will not work with earlier revisions (obviously).

  • bound-check defineprojectile tile/sound members.

    Helixhorned r3865 9 Jun, 09:37 Build 3868 CON
    Show details

    Also from Lunatic, make these members read-only and provide methods that allow setting them to either -1 or a number in [0..MAX{TILES,SOUNDS}-1].

  • rename bitint members to *bits instead of *x.

  • General

    Fix accessing the wrong animation indices with negative viewtypes.

    Helixhorned r3863 7 Jun, 07:26 Build 3863 Fix
    Show details

    (I think; untested.)

  • strip dir prefixes on file-not-found; _getpname, ud.m_player_skill.

    Helixhorned r3862 7 Jun, 07:26 Build 3863 CON
  • showview and showviewunbiased.

    Helixhorned r3861 7 Jun, 07:26 Build 3863 CON
  • keep status number symbols in actor.STAT instead of gv.STAT_*.

  • General

    Allow negating an action's viewtype 5 or 7, meaning to x-flip the shown sprite.

    Helixhorned r3859 7 Jun, 03:18 Build 3859 Engine
  • add preliminary helper code for local gamevar saving.

    Helixhorned r3858 7 Jun, 03:18 Build 3859 CON
  • fix current incarnation of gamevar saving/restoration.

    Helixhorned r3857 7 Jun, 03:18 Build 3859 FixCON
  • prettify listglobals.sh output.

  • properly generate references to gamevars named like Lua keywords.

    Helixhorned r3855 7 Jun, 03:18 Build 3859 CON
  • free a couple of file-scope local slots by storing stuff in tables.

    Helixhorned r3854 7 Jun, 03:18 Build 3859 CON
  • don't write an int32_t where a char is expected.

  • General

    game.c: fix out-of-bounds write in G_GetSubString().

    Helixhorned r3852 6 Jun, 04:22 Build 3853 Fix
  • tweak sector.STAT.* and other names a little.

    Helixhorned r3851 6 Jun, 04:22 Build 3853 Engine
  • General

    Fix the display of numbers with TEXT_GAMETEXTNUMHACK and TEXT_XOFFSETZERO. (Fix level stats, part 2.)

    Hendricks266 r3850 2 Jun, 22:26 Build 3850 Fix
    Show details

    The commit revises the definition of qstrdim when TEXT_[XY]OFFSETZERO are used. With these flags, the offsets the user specifies are now the only dimensions the function cares about in terms of tile placement, so depending on the difference between the offset(s) and the size of the final tile, it may be slightly more or less than the dimensions actually displayed on the screen because tile size is never taken into account. (For example, if your font is nominally 9x7 like the Duke bluefont and you use a TEXT_XOFFSETZERO of 5 with a string five characters long, the total x dimension will be 25 even though the last character will overhang that amount by four pixels. If you use a TEXT_XOFFSETZERO of 12 with the same string, the total x width will be 60 even though there will be three pixels of empty space on the right edge.) This change was made because assigning text an arbitrary constant width in general implies an intent to keep character positions constant even with a variable width font, but returning the visible span of pixels on the screen that the tiles cover would have caused the string to move when alignment options other than the top-left were used. In other words, you can now safely use TEXT_[XY]OFFSETZERO with the alignment options and the text won't jiggle. Also, with TEXT_GAMETEXTNUMHACK, numerals are now effectively TEXT_XOFFSETZERO text that respect the above paragraph, so number count displays can look nice with alignment options too. Having to modify the extent/offset code makes me realize that I'm not quite happy with its structure because it gets tangled juggling different concepts like character width, X offset, and spacing, and how they relate when the line wraps or in terms of the final size. Fortunately, it produces correct results as far as I know, and it's not necessarily ugly, just hard to understand. Handle with care.

  • General

    Fix display of level stats by fixing G_ScreenText() handling of (orientation & 2).

    Hendricks266 r3849 2 Jun, 22:26 Build 3850 Fix
  • proper handling of dynamic remappings with weapon defaults.

    Helixhorned r3848 2 Jun, 07:07 Build 3848 CON
    Show details

    That is, the gamevars named WEAPONx_* in CON will now have the remapped value if they were not overridden from CON ('gamevar' at file scope). For C-CON, everything except signaling an override from the CON parser is in place.

  • hook up dynamicsoundremap.

    Helixhorned r3847 2 Jun, 07:07 Build 3848 CON
  • General

    Make S_MenuSound() use stack'd array to get rid of S_StaticToDynamicMenuSound().

  • hook up qstrdim and screentext.

    Helixhorned r3845 1 Jun, 13:09 Build 3846 CON
    Show details

    Also add some recent keywords to the list in con_lang.lua which I had forgotten all along.

  • sector[].ceiling/.floor gets a reference to a ceiling-or-floor struct.

    Helixhorned r3844 1 Jun, 13:09 Build 3846 Engine
    Show details

    Also, make sector[].*stat a bitint type. Now, a piece of code could look like this: local sec = sector[i] local ceil = sec.ceiling ceil.statx:flip(sector.STAT.SMOOSH)

  • fix a couple of oversights, tweak some stuff.

    Helixhorned r3843 1 Jun, 13:09 Build 3846 Fix
  • real user per-player vars.

    Helixhorned r3842 1 Jun, 13:09 Build 3846 CON
    Show details

    The previous behavior was to translate them as global gamevars, since LunaCON currently has no support for multiplayer. However, then some errors would be missed where such gamevars are accessed in no-player context (e.g. EVENT_ENTERLEVEL). On by default, disabled with -fno-playervar.

  • General

    Lunatic/classic: in TROR maps (V10), enable non-power-of-two wall drawing.

    Helixhorned r3841 1 Jun, 13:09 Build 3846 FixEngine
    Show details

    Also, fix clearing a bunch in new-format-map (=Lunatic) build.

  • fix mistranslation of CON "else { if" to Lua "elseif".

    Helixhorned r3840 1 Jun, 13:09 Build 3846 FixCON
    Show details

    When encountering a non-empty statement inside braces, emit "do" ... "end".

  • General

    Replace use of preprocessor macro WIN32 with _WIN32. (Blame clang.)

    Hendricks266 r3839 written 31 May 2013 Build 3839
  • General

    Make improvements utilizing G_ScreenText().

    Hendricks266 r3838 written 31 May 2013 Build 3839
  • General

    For all HUD and text shadows that use pal 4, also use shade 127.

    Hendricks266 r3837 written 31 May 2013 Build 3839
  • General

    Text wrapper conversion.

    Hendricks266 r3836 written 31 May 2013 Build 3839
    Show details

    G_PrintGameText(), minitext_(), G_DrawTXDigiNumZ(), and menutext_() now wrap G_ScreenText(). G_GameTextLen() now wraps G_ScreenTextSize(). G_DrawDigiNum_() now wraps G_DrawTXDigiNumZ().

  • General

    Prettify the DEF progress meter by relocating '\n' en masse.

    Hendricks266 r3835 written 31 May 2013 Build 3839
    Show details

    It should be transparent even with the meter disabled.

  • General

    Dynamicsoundremap.

    Hendricks266 r3834 written 31 May 2013 Build 3839

May 2013

  • General

    Add qstrdim and screentext, powerful new functions for HUD text.

    Hendricks266 r3833 31 May, 23:55 Build 3833
  • General

    Remove an unused variable from startwin.game.c.

    Hendricks266 r3832 31 May, 23:54 Build 3833
  • General

    Update credits.

    Hendricks266 r3831 30 May, 22:08 Build 3831
  • also reset per-actor gamevars from spawns originating from C.

    Helixhorned r3830 30 May, 11:10 Build 3830 CON
    Show details

    Take care not to do it twice. Still untested though.

  • split 'replace' option for actor chaining flags into soft/hard.

    Helixhorned r3829 30 May, 11:10 Build 3830 CON
    Show details

    Hard replacement reassigns the tile flags, while soft replacement bitwise ORs them, as in CON (since some flags might already have been set using commands like spritenoshade).

  • reset per-actor gamevars on actor spawn, untested.

    Helixhorned r3828 30 May, 11:10 Build 3830 CON
  • General

    Compile DEF progress meter only on Windows or if having the startup window.

    Helixhorned r3827 30 May, 11:10 Build 3830
    Show details

    The latter checked with #defined HAVE_GTK2, which is probably not correct for every platform. In builds without a startup window, the periods get mingled with stdout output otherwise.

  • implement 'definegametype', allow writing userdef.level_number.

    Helixhorned r3826 30 May, 11:10 Build 3830 FixCON
    Show details

    Also, allow (implicit) actor index -1 to 'sound' like in C-CON and fix MULTIMODE gamevar definition (was 0, not 1).

  • allow setting first walls of TROR sectors independently.

    Helixhorned r3825 30 May, 11:10 Build 3830 Engine
    Show details

    In 3D mode, Alt+F now only attempts to set the first wall of the aimed at wall, not collecting upper/lower neighbors. For this, press Shift+Alt+F. In 2D mode, they are always collected.

  • General

    Fix potential oob access when flipping the floor [F] in 2D mode.

    Helixhorned r3824 30 May, 02:13 Build 3824 Fix
  • General

    Replace inline "qsetmode==200" checks with in3dmode().

    Helixhorned r3823 30 May, 02:13 Build 3824
    Show details

    Analogously for the negation; remove a couple of redundant decls of "qsetmode".

  • General

    Make deletion of an ambient sound MUSICANDSFX sprite stop its sound again.

    Helixhorned r3822 28 May, 12:52 Build 3822 Engine
    Show details

    Add a test case source/lunatic/test/delmusicsfx.lua.

  • add actor.delete() and various 'length' methods to geom.vec3/ivec3.

    Helixhorned r3821 28 May, 12:52 Build 3822
  • remove "found `gettspr' outside of EVENT_ANIMATESPRITES" warning.

    Helixhorned r3820 28 May, 12:52 Build 3822 CON
    Show details

    Because one may obviously use gettspr/settspr in states called from that event.

  • fix 'zadd' DEF token handling. (Polymer has it right.)

    Helixhorned r3819 26 May, 11:42 Build 3819 FixEngine
  • General

    With DNCOORDS display, print number of sprites currently on the screen.

    Helixhorned r3818 26 May, 11:42 Build 3819 Engine
    Show details

    Only in debugging builds.

  • add a couple of ud members, gamevars; handle 'dynamicremap' only once.

    Helixhorned r3817 26 May, 11:42 Build 3819 CON
    Show details

    Also, allow MAXVOLUMES+1 to first arg of 'music'.