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 443 builds · 817 commits

Export CSV
Display options
Commit details:

February 2014 11 builds · 27 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 5 builds · 11 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

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

November 2013 4 builds · 11 commits

Build 4176

22 Nov 2013 · 7 commits · 1 author SVN
Open build
  • 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).

  • implement horiz. tex panning for sprites (spriteext[].xpanning).

    Helixhorned r4170 22 Nov, 11:26 EngineCON
    Show details

    Known as getactor/sprite[].xpanning from CON, values are 0-255. It should be assumed that this is only valid for wall-aligned sprites (currently, face sprites also pan). A test is provided in lunatic/test/animatesprites.con. It should be run in E1L2 and only with the Lunatic build.

Open the build to see all 7 commits

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

  • General

    a-c.c: prevent stray lines on bottom of sprites by saturating v. tex coords.

    Helixhorned r4161 16 Nov, 10:47 Engine
    Show details

    The functions mvlineasm1, mvlineasm4 and tvlineasm2 can now be set to clamp the vertical texture coordinate (vplc), preventing the unsightly stray lines on the bottom of non-y-flipped sprites. (The first part of this effort, r3483, handled their top). However, this is only enabled for the mvlineasm ones: the vectorized variants suffered almost no slowdown (even though a PADDUSD SSE instruction would be a nice thing to have), while it was pretty significant for the sequential translucent ones. Summarizing, this leaves two cases where stray lines may appear in the non-ASM build (the saturation is NYI for a.nasm): - at the bottom of y-flipped sprites - at the bottom of translucent sprites (can be toggled by #define) Another observation is that recent GCC generates much faster code for this stuff than Clang from SVN.

Open the build to see all 8 commits