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 841 builds · 1,519 commits

Export CSV
Display options
Commit details:

February 2014 13 builds · 29 commits

Build 4313

9 Feb 2014 · 4 commits · 2 authors SVN
Open build
  • General

    Extend PALETTE.DAT format to allow carrying additional blending tables.

    Helixhorned r4312 9 Feb, 11:22 Engine
    Show details

    Lunatic: also, add an additional argument 'moreblends' to engine.savePaletteDat() and document that function. See test/shadexfog.lua for a "user-friendly" wrapper shadexfog.save() which prints success or errors.

  • move code in test/shadexfog.lua to engine.savePaletteDat() and complete it.

    Helixhorned r4311 9 Feb, 11:22 Engine
    Show details

    The function now writes out a full PALETTE.DAT: base balette, shade table and translucency table.

Open the build to see all 4 commits

Build 4309

8 Feb 2014 · 12 commits · 1 author SVN
Open build
  • update dynsymlists. Move blendtable[] from build.h to engine.c.

    Helixhorned r4309 8 Feb, 06:37 Engine
    Show details

    BUILD_LUNATIC.

  • add a 'lastokcol' argument to engine.nearcolor() and document it.

    Helixhorned r4308 8 Feb, 06:37 Engine
    Show details

    On the C side, slightly rewrite (now) getclosestcol_lim() for clarity.

  • document engine.*blendtab() and engine.getrgb() functions.

    Helixhorned r4307 8 Feb, 06:37 Engine
  • remove sprite members 'detail' and 'filler', add 'blend', make r/w.

    Helixhorned r4306 8 Feb, 06:37 EngineCON
  • General

    In the C code, rename sprite[].filler to 'blend'.

    Helixhorned r4305 8 Feb, 06:37 FixEngineCON
    Show details

    Also, fix a missed .filler -> g_ambiencePlaying[] rewrite in the editor. In C-CON, 'detail' is kept as alias to C-side (former) .filler / now .blend, but that name is *deprecated*.

Open the build to see all 12 commits

January 2014 8 builds · 17 commits

Build 4286

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

    sector.c: factor out goto soup in P_CheckSectors() into function.

    Helixhorned r4283 31 Jan, 13:12 Engine
  • General

    sector.c: cleanup round 3, P_ActivateSwitch() refactoring.

    Helixhorned r4282 31 Jan, 13:12 Engine
  • General

    sector.c and related cleanup, round 2.

    Helixhorned r4281 31 Jan, 13:12 Engine
    Show details

    - use SPRITES_OF* iterator macros - new function: E_SpriteIsValid(); add some safety checks (e.g. hitag used as sprite index) - the rest is mostly "the usual code transformations"

  • General

    sector.c: cleanup round 1, trivial changes.

    Helixhorned r4280 31 Jan, 13:12 Engine
Open the build to see all 7 commits

Build 4266

24 Jan 2014 · 6 commits · 1 author SVN
Open build
  • make wall texture alignment [.]/[,] work with bottom-swapped walls.

    Helixhorned r4265 24 Jan, 13:39 Engine
    Show details

    In simple cases, it should be added. Combinations of alignment across TROR boundaries and bottom-swapping will probably not work right.

  • General

    Improve determination of when a sprite should be drawn before a masked wall.

    Helixhorned r4264 24 Jan, 13:39 Engine
    Show details

    Concretely, in the "behind, outside" case, draw the sprite early if any of its 2 or 4 corner points are behind the masked wall, and inside the cone or on the other outside.

  • document engine.*shadetab() functions. DONT_BUILD.

    Helixhorned r4262 written 19 Jan 2014 Engine
Open the build to see all 6 commits

Build 4257

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

    Engine-side per-map ART file support.

    Helixhorned r4257 12 Jan, 06:54 Engine
    Show details

    When a map named <filename>.map is loaded (<filename> may also contain directory separators), the engine checks for existence of <filename>_XX.art in the virtual file system, where XX is a 0-padded number from 00 to 19. It loads a consecutive sequence of these ART files, i.e. aborts whenever a number in the sequence isn't found (in contrast to normal ART loading). Restrictions: - the per-map ART files must not reside in ZIP files - if a tile number is attempted to be overridden that has a dummytile or is cache1d-locked, per-map ART loading fails On failure, the map is still loaded, but a diagnostic message is output to the log/OSD. Loaded per-map ART data are cleared whenever the map is "left". In particular: - whenever another map is loaded - in the editor: when a new map is started - in the game: after the bonus ending screen of a finished level, after going to the title screen via the menu A final note: file names are supposed to be looked up and compared case-sensitively. That is, <filename> must match EXACTLY between the map's and per-map ART one; 'art' must be lowercase. Otherwise, the cookie monster will come and eat you! BUILD_LUNATIC.

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

  • 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.

  • Add EVENT_LOADMAP, EVENT_SAVEMAP, EVENT_PRELOADMAP, and EVENT_PRESAVEMAP.

    Hendricks266 r4244 12 Jan, 06:03 EngineCON
    Show details

    Some are more useful than others.

Open the build to see all 7 commits

December 2013 9 builds · 17 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!

  • 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.

Open the build to see all 7 commits

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

    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

    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.

  • add example toggling forcefield wall to test.lua.

    Helixhorned r4224 28 Dec, 09:04 Engine
Open the build to see all 7 commits

Build 4207

20 Dec 2013 · 7 commits · 1 author SVN
Open build
  • 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

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

    Helixhorned r4203 20 Dec, 10:31 Engine
Open the build to see all 7 commits

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

  • General

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

    Helixhorned r4197 12 Dec, 11:22 Engine
Open the build to see all 3 commits