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 2,117 builds

Export CSV
Display options
Commit details:

January 2014 13 builds · 48 commits

Build 4249

12 Jan 2014 · 7 commits · 1 author SVN
Open build
  • General

    Block off hacks for the primitive splitscreen CON mod with SPLITSCREEN_MOD_HACKS so they are no longer compiled.

    Hendricks266 r4249 12 Jan, 06:04 EngineCON
    Show details

    These hacks could no longer be allowed to co-opt the fake multiplayer mode, used for local testing and mod development. I have half a mind to remove the hacks outright because they could be likened to drilling bolts directly into your car engine just so you could mount a bowling ball as a hood ornament. However, I don't want to take away the splitscreen hack mod from anyone who uses it, and the work done on these hacks should be useful if proper splitscreen were implemented internally using per-player input and multiple renderer/audio passes.

  • Add Ken's "todo list from the Build days" alongside his other documentation.

    Hendricks266 r4248 12 Jan, 06:04
  • General

    For DISABLEINLINING=1, apply __fastcall to make up for the lack of inlining.

    Hendricks266 r4247 12 Jan, 06:04
  • General

    Always run tsprites with statnum TSPR_TEMP though EVENT_ANIMATESPRITES, such as the "show opponent's weapon" in multiplayer.

    Hendricks266 r4246 12 Jan, 06:03 EngineCON
  • General

    SDK/Samples: Add "startpos.m32", a helper script for spawn points.

    Hendricks266 r4245 12 Jan, 06:03 Engine
    Show details

    You can: -Cycle your position through all DM or coop spawn points. -Jump to the primary spawn point. -Dump full spawn point information to the log file.

Show the other 2 commits in this build

December 2013 11 builds · 53 commits

Build 4237

31 Dec 2013 · 7 commits · 1 author SVN
Open build
  • General

    Lunatic/m32: include the Lua bytecode into the binary, exit if setup failed.

    Helixhorned r4237 31 Dec, 03:52 Engine
  • add 'engine' module, currently allowing to create custom shade tables.

    Helixhorned r4236 31 Dec, 03:52 Engine
    Show details

    Available in the game and editor. Provide test/shadexfog.lua, containing a function to creating a set of 32 shade tables corresponding to different shades of the same fog palookup table, together with some tests and convenience functions. Also, - Add gv.LUNATIC_CLIENT{,_EDUKE32,_MAPSTER32} - Add LUNATIC_FIRST_TIME in the global env for the game - defs_m32.lua: add reload() convenience function - Failed attempt at recreating the base shade table. It is NOT a linear ramp of the base palette colors to (0,0,0). That is, it's not created by build/util/transpal.exe!

  • General

    build.lua: add a flag toggling multiplication of the color components by 4.

    Helixhorned r4235 31 Dec, 03:51
  • fix setup under Mapster32, remove a few obsolete lines in defs_common.lua.

    Helixhorned r4234 31 Dec, 03:51 FixEngine
  • General

    In the no-netcode build, don't expose four internal engine functions.

    Helixhorned r4233 31 Dec, 03:51 Engine
    Show details

    Also don't compile three multiplayer related OSD commands there.

Show the other 2 commits in this build

Build 4230

28 Dec 2013 · 7 commits · 1 author SVN
Open build
  • allow access to sprite[].yvel through set_yvel() member, document.

    Helixhorned r4230 28 Dec, 09:04 Engine
    Show details

    BUILD_LUNATIC.

  • General

    Remaining sanitizing of .yvel usage plus minor cleanup.

    Helixhorned r4229 28 Dec, 09:04
  • General

    Clean up legacy ROR code and introduce LEGACY_ROR define in game.h.

    Helixhorned r4228 28 Dec, 09:04 Engine
    Show details

    Also, bound-check two .yvel meant as sprite indices in actors.c.

  • General

    Make a couple of player functions take player indices instead of DukePlayer_t *.

    Helixhorned r4227 28 Dec, 09:04
  • General

    Guard retrieval of player index (.yvel) from APLAYER sprite.

    Helixhorned r4226 28 Dec, 09:04 Engine
    Show details

    It is unacceptable that yvel is on one hand modifiable without restriction from scripting, but can be used as an array index without prior bound check in the C code. Because that member has an overloaded meaning and is also used for innocuous purposes such as the green color intensity of an SE light, it's infeasible to restrict access from scripting. Consequently, we must add bound checks on the C side. This is the first part of the effort to make .yvel safe, adding two functions P_Get() and P_GetP(). There are a couple of other uses as some kind of index.

Show the other 2 commits in this build

Build 4223

26 Dec 2013 · 7 commits · 1 author SVN
Open build
  • General

    engine.c: clean up code related to ART loading. BUILD_LUNATIC.

    Helixhorned r4223 26 Dec, 11:45 Engine
  • General

    Don't consider W_FORCEFIELD+2 (surgery instruments) a forcefield picnum.

    Helixhorned r4222 26 Dec, 11:45
  • General

    Clean up code related to forcefield player damage etc.

    Helixhorned r4221 26 Dec, 11:45
  • General

    Rename 'camsprite' to 'g_curViewscreen', other related cleanup.

    Helixhorned r4220 26 Dec, 11:45
  • General

    Add helper utility lunatic/util/cmpart.lua.

    Helixhorned r4219 26 Dec, 11:45
Show the other 2 commits in this build

Build 4216

26 Dec 2013 · 2 commits · 1 author SVN
Open build
  • General

    Consolidate P_AddWeaponNoSwitch into an additional P_AddWeapon argument.

    Helixhorned r4216 26 Dec, 11:45
  • General

    Minor stylistic tweaks of code related to weapon switching.

    Helixhorned r4215 26 Dec, 11:44

Build 4214

24 Dec 2013 · 7 commits · 1 author SVN
Open build
  • General

    premap.c: stylistic cleanup in map loading code.

    Helixhorned r4214 24 Dec, 01:44
  • General

    Factor some code in config.c into OSD_WriteAliases(), move symbol_t to osd.c.

    Helixhorned r4213 24 Dec, 01:44
  • General

    Don't autoexec <mapname>.cfg files for clipshape maps.

    Helixhorned r4212 24 Dec, 01:44
  • don't allow starting demo recording, since gamevar diffing is NYI.

    Helixhorned r4211 24 Dec, 01:44 CON
  • General

    osd.c: patch up a possible oob access of osdtext[].

    Helixhorned r4210 24 Dec, 01:44
Show the other 2 commits in this build

Build 4207

20 Dec 2013 · 7 commits · 1 author SVN
Open build
  • add ceiling-or-floor method set_picnum(). BUILD_LUNATIC.

    Helixhorned r4207 20 Dec, 10:31
  • Add EVENT_DAMAGEHPLANE and document it in Lunatic doc Appendix B.

    Helixhorned r4206 20 Dec, 10:31 CON
    Show details

    Also add test/damagehplane.lua with these demonstrations: - custom breakable ceilings - breakable TROR glass

  • General

    Generalize Sect_DamageCeiling to Sect_DamageCeilingOrFloor, use appropriately.

    Helixhorned r4205 20 Dec, 10:31 Engine
    Show details

    - in the function itself: for floor, currently, do nothing (but this commit is in preparation of the next one, again) - In Proj_MaybeDamageCF(), Proj_MaybeDamageCF2() and the A_RadiusDamage() use if the function, generalize to floors, but with the special case that parallaxed floors keep blocking projectiles, as before (in constrast to parallaxed ceilings). However, Sect_DamageCeilingOrFloor() is only called for non-parallaxed ceilings *and* floors.

  • General

    Minor no-functionality-changing tweaks.

    Helixhorned r4204 20 Dec, 10:31
    Show details

    - factor out: G_WallSpriteDist() - factor out: Proj_MaybeDamageCF() and Proj_MaybeDamageCF2() in preparation for the next commit - Make PROJ_DECAYVELOCITY macro take an arg for readability's sake

  • General

    sector.c: in ST9 handling code, prevent oob for improperly constructed doors.

    Helixhorned r4203 20 Dec, 10:31 Engine
Show the other 2 commits in this build

Build 4200

19 Dec 2013 · 1 commit · 1 author SVN
Open build
  • General

    Rewrite and unify the handling of the scrollwheel between layers, fixing it in the editor's 2D mode and tile selector under SDL.

    Hendricks266 r4200 19 Dec, 23:24 Fix
    Show details

    The scrollwheel is unique among PC input because it has no innate "hold length". Previously, the layers gave the mousewheel a fake hold length to allow the not-necessarily-synchronous game/editor code to pick up the input before the layers marked it as "no longer pressed". This passed under Windows, but it didn't slide under SDL. Besides the two problems listed above, it also potentially limited the rate of weapon selection, where scrolling too fast would not register every clicks. [Unrelatedly, this is still the case when you scroll faster than the game's own tickrate, but addressing that would require rewriting input handling to go through a list of "events" for each tic instead of looking at overall pressed/unpressed states.]

Build 4199

12 Dec 2013 · 3 commits · 1 author SVN
Open build
  • General

    Various stylistic cleanup.

    Helixhorned r4199 12 Dec, 11:22 Engine
    Show details

    - Move ARRAY_SIZE() macro to compat.h, add another one ARRAY_SSIZE() - In A_RadiusDamage(): note maybe-unaligned access issue, prevent unlikely oob - sector.c: use SPRITES_OF* macros where appropriate

  • add "for s, what in sectorsofbunch(bunchnum, gv.BOTH_CF)" iterator.

    Helixhorned r4198 12 Dec, 11:22
  • General

    a.m32: don't clamp SE50 extra (=horiz) to [-500 500] with KP8/KP5.

    Helixhorned r4197 12 Dec, 11:22 Engine

Build 4196

11 Dec 2013 · 2 commits · 1 author SVN
Open build
  • fix parsing negated labels, getnumber* with neg. 'max'.

    Helixhorned r4196 11 Dec, 13:23 FixEngineCON
    Show details

    Exposed by this snippet from a.m32: getnumber256 .owner "OWNER (projection picnum): " -MAXTILES Now, Alt+KP2 works as expected in 3D mode.

  • statically check some member assignments with literal numbers.

    Helixhorned r4195 11 Dec, 13:23 CON
    Show details

    And issue warnings whenever the assignment would fail (error) at game time.

Build 4194

6 Dec 2013 · 4 commits · 1 author SVN
Open build
  • add target 'print-compiler-options'.

    Helixhorned r4194 6 Dec, 10:56
    Show details

    May come in handy at times. BUILD_LUNATIC.

  • General

    Really fix the Pause key on Windows/SDL2.

    Helixhorned r4193 6 Dec, 10:56 Fix
    Show details

    This requires enabling the same workaround as for Linux. Maybe it's not system-dependent at all.

  • invalidate a wall when its sector's visibility has changed.

    Helixhorned r4192 6 Dec, 10:56 Engine
  • General

    Do not consider system gamearrays for updating from demos.

    Helixhorned r4191 6 Dec, 10:56 FixCON
    Show details

    This generally fixes demo playback. Before, tilesizx[]/tilesizy[] were written into twice as many bytes as needed. Now, don't do that at all.

Build 4190

1 Dec 2013 · 6 commits · 1 author SVN
Open build
Show the other commit in this build

November 2013 11 builds · 43 commits

Build 4184

28 Nov 2013 · 8 commits · 1 author SVN
Open build
  • document a couple of player members, especially some 'bool' ones.

    Helixhorned r4184 28 Nov, 13:18
    Show details

    Important because in Lua, a value of zero yields true in a boolean context. BUILD_LUNATIC.

  • General

    multivoc.c: use a local variable instead of a file-scope one used locally.

    Helixhorned r4183 28 Nov, 13:18
  • General

    a-c.c: Make vector extensions also be compiled with Clang.

    Helixhorned r4182 28 Nov, 13:18 Fix
    Show details

    I was checking for GCC >= 4.7, while Clangs pretends to be GCC 4.2. Use a feature test macro instead. The comment I made in r4161 regarding GCC vs. Clang code was wrong. Now, Clang generates slightly faster code for these cases (solid and masked 4-pixel wide vlines).

  • General

    In P_HandleSharedKeys(), clean up weapon index bound checking.

    Helixhorned r4181 28 Nov, 13:18
    Show details

    In particular, (int32_t)j != -1 is replaced by (uint32_t)j < MAX_WEAPONS to prevent a value >= MAX_WEAPONS to be assigned to p->wantweaponfire (it's used as a weapon index in P_CheckWeapon().

  • General

    Don't assign result of A_PlaySound() to p->scream_voice if the former is >127.

    Helixhorned r4180 28 Nov, 13:18
    Show details

    Because p->scream_voice is an int8_t. This is an unlikely situation (126 voices ought to be playing simultaneously while starting the "scream" sound), but still...

Show the other 3 commits in this build

Build 4176

22 Nov 2013 · 7 commits · 1 author SVN
Open build
  • General

    In fullscreen_tint_gl() disable GL_FOG, preventing nasty flickering.

    Helixhorned r4176 22 Nov, 11:26
    Show details

    Which was especially noticeable in the Lunatic build. Also, use glPushAttrib/glPopAttrib there.

  • General

    Give rotatesprite 'orientation' bits enum names, too.

    Helixhorned r4175 22 Nov, 11:26
  • General

    Use named enum constants for the HUD flags instead of literal numbers.

    Helixhorned r4174 22 Nov, 11:26
  • bump the allowed range for 'r_pr_hudangadd' to [-1024 .. 1024].

    Helixhorned r4173 22 Nov, 11:26
  • handle HUD model 'fov' DEF token.

    Helixhorned r4172 22 Nov, 11:26 Engine
    Show details

    This "simply" requires an appropriate factor in the projection matrix. Also, get rid of a special-case factor for >=1.6 aspects (making HUD models wider then, I think).

Show the other 2 commits in this build

Build 4169

19 Nov 2013 · 2 commits · 1 author SVN
Open build
  • General

    a.m32: add [']+[F] menu function setting xvel=1 on all sel. wall/floor sprites.

    Helixhorned r4169 19 Nov, 11:00 Engine
    Show details

    For sanitizing underwater sections, see r4166. Also, don't print "Menu function executed successfully" when the function printed something itself.

  • General

    Amend r4142: make e.g. 'include a' (names shorter 4 chars) append ".m32".

    Helixhorned r4168 written 18 Nov 2013 Engine
    Show details

    DONT_BUILD.

Build 4167

16 Nov 2013 · 8 commits · 1 author SVN
Open build
  • General

    sdlmusic.c: disable FORK_EXEC_MIDI.

    Helixhorned r4167 16 Nov, 10:47
    Show details

    Also, if it were to be reenabled again, use execv() instead of execvp(), i.e. don't look up $PATH for the executable.

  • make underwater blocking floor sprites w/ xvel 1 NOT act like sprite bridge.

    Helixhorned r4166 16 Nov, 10:47 Engine
    Show details

    Likewise for blocking wall sprites. This makes it possible to construct underwater sections containing complex spritework without losing the "underwater-ness" when over such sprites, in a backward-compatible way. Actually, the check is for bit 1 being set, but all other bits should be considered reserved.

  • General

    lunatic/util/foreachmap.lua: don't expand .xxx after ']'.

    Helixhorned r4165 16 Nov, 10:47 Engine
    Show details

    Add an example searching for all maps containing blocking floor-aligned sprites in underwater sectors.

  • show a message when setting the initial position with SCROLL LOCK.

    Helixhorned r4164 16 Nov, 10:47 Engine
  • fix Ctrl-F/Ctrl-G as "key FIFO" keys, used in Mapster32.

    Helixhorned r4163 16 Nov, 10:47 FixEngine
    Show details

    By detecting them in the SDL_KEYDOWN events. This list is getting a bit ridiculous...

Show the other 3 commits in this build

Build 4145

8 Nov 2013 · 6 commits · 1 author SVN
Open build
  • add two names forgotten for dynsymlist.

    Helixhorned r4145 8 Nov, 10:08
    Show details

    Let's BUILD_LUNATIC to see whether it still works...

  • General

    In C_SetCfgName, don't use unsafe string functions with unknown-length input.

    Helixhorned r4144 8 Nov, 10:08
  • implement 'setcfgname'.

    Helixhorned r4143 8 Nov, 10:08 CON
    Show details

    Factor out a block of code into C_SetCfgName() and use that from lunacon.lua.

  • on 'starttrack' with null music, issue a 'soft' error.

    Helixhorned r4142 8 Nov, 10:08 CON
    Show details

    That is, one that doesn't break the control flow.

  • fix ported A_FurthestVisiblePoint().

    Helixhorned r4141 8 Nov, 10:08 Fix
Show the other commit in this build