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 · 1 active

Showing 1,769 builds

Export CSV
Display options
Commit details:
Active filters: Repository: SVN Clear all

August 2013 11 builds · 62 commits

Build 4039

24 Aug 2013 · 3 commits · 1 author SVN
Open build

Build 4036

23 Aug 2013 · 8 commits · 1 author SVN
Open build
  • General

    Lunatic doc: move icons to doc/ root, as they were not showing up properly online.

    Helixhorned r4036 23 Aug, 10:01
    Show details

    That is, here: http://lunatic.eduke32.com/ or more specifically in lunatic.html. BUILD_LUNATIC.

  • General

    Lunatic doc: add appendix with hints on how to read Programming in Lua, 1st ed.

    Helixhorned r4035 23 Aug, 10:01
  • General

    Bounds-check the tile number gotten from EVENT_GETMENUTILE.

    Helixhorned r4034 23 Aug, 10:01 CON
  • after auto-inserting inner sector, change sectnums for sprites now in it.

    Helixhorned r4033 23 Aug, 10:01 Engine
    Show details

    (Auto-insertion of an inner sector from a loop happens either because the loop is created in an extended sector, or because it has been punched through a ceiling/floor into the upper/lower neighbor sector.)

  • update documentation a bit.

    Helixhorned r4032 23 Aug, 10:01 Engine
    Show details

    - add gv.GET, gv.WEAPON, gv.RETURN - specify that sprite[].x/y/z and wall[].x/y are 32-bit ints - add an example for con.longjmp() - add an appendix listing the RETURN usage of various events

Show the other 3 commits in this build

Build 4028

20 Aug 2013 · 2 commits · 1 author SVN
Open build
  • General

    Slightly tweak r_usetileshades 1 visibility weighting. It's still not right (and it's impossible to ever truly be right) but at least things aren't pitch black now. I considered changing r_usetileshades to default to 2, but there are some areas where mode 2 is also noticeably darker than it should be... the exit area of E1L1 is a prime example.

    TerminX r4028 20 Aug, 14:49
  • General

    Rip out all traces of nedmalloc. Sorry, XP users--it's time to upgrade to something newer than an OS from 2001 if this affects you.

    TerminX r4027 20 Aug, 14:49

Build 4026

19 Aug 2013 · 2 commits · 1 author SVN
Open build
  • allow inserting point on wall line even if a sprite is highlighted.

    Helixhorned r4026 19 Aug, 12:27 Engine
    Show details

    Note: the wall line will not light up periodically, but point insertion will be possible nontheless. A bit inconsistent, but I didn't want to do a full analysis of which side effects allowing a sprite highlight and a line highlight to coexist at the same time would have.

  • allow a certain type error present in 1.3D GAME.CON to pass.

    Helixhorned r4025 19 Aug, 12:26 CON

Build 4023

18 Aug 2013 · 3 commits · 1 author SVN
Open build
  • General

    When building Lunatic from synthesis, tell LuaJIT to generate PE object files.

    Helixhorned r4023 18 Aug, 14:14
    Show details

    BUILD_LUNATIC, third attempt.

  • a couple of trivial changes.

    Helixhorned r4021 18 Aug, 12:24
  • General

    For Clang debugging build, only pass selected UBSanitizer options.

    Helixhorned r4020 18 Aug, 12:24 Engine
    Show details

    This makes CLANG=1 RELEASE=0 DEBUGANYWAY=2 OPTLEVEL=1 builds definitely pretty playable (only Polymost tested) while having a decent amount of sanitization.

Build 4017

12 Aug 2013 · 16 commits · 1 author SVN
Open build
  • General

    polymer.c: remove redundant NULL pointer check in polymer_invalidateplanelights().

    Helixhorned r4017 12 Aug, 08:18 FixEngine
    Show details

    Redundant for the same reason as the preceding one: the pointer has already been dereferenced at the point the check is made. Also, all 5 calls of that function pass a valid pointer (provided the pointers from which the expressions are derived are valid). Reported by Stack, too.

  • General

    game.c: remove dead bounds check for cheatbuf[], add assertion.

    Helixhorned r4016 12 Aug, 08:18
    Show details

    The check is dead because it is made after the fact (oob access), but the cheat string matching logic below actually assures that cheatbuflen < sizeof(cheatbuf) at all times. Exposed using the Stack tool from http://css.csail.mit.edu/stack/ . Also, in gamedef.c's definecheat handling, print the string length (19), not the buffer length (20) if the cheat was truncated.

  • General

    When issuing "setrendmode" OSD command with mismatched vidmode, auto-switch.

    Helixhorned r4015 12 Aug, 08:18
  • General

    Fix taking address out of bounds of stack'd array, introduced in r3983.

    Helixhorned r4014 12 Aug, 08:18 Fix
    Show details

    Clang's UBSan reports this as undefined behavior. I think that the reason is as follows: C99 6.5.3.2#1 (Constraints) says: The operand of the unary & operator shall be either a function designator, the result of a [] or unary * operator, or an lvalue that designates an object that is not a bit-field and is not declared with the register storage-class specifier. But in case of an expression like "&array[-1]", the operand ("array[-1]") does not designate a valid object. Moral: check first -- assure that an expression is valid for a particular operation before carrying it out. Keep in mind that otherwise, the compiler is absolutely free to optimize out the *check*.

  • General

    baselayer.c: remove baselayer_onvideomodechange, onvideomodechange.

    Helixhorned r4013 12 Aug, 08:18
Show the other 11 commits in this build

Build 3997

7 Aug 2013 · 18 commits · 1 author SVN
Open build
  • General

    Enable ATI FBO color attachment workaround for Intel as well. Fixes some HD4000 issues.

    TerminX r3997 7 Aug, 07:29 Fix
  • General

    Fix net.h, dunno why MSVC accepts functions that don't match their prototypes without complaining... :p

    TerminX r3996 7 Aug, 07:29 Fix
  • General

    Revert "Silence FBO initialization failure message on Intel HD 4000 by moving the glCheckFramebufferStatusEXT() call to below the glBindFramebufferEXT() call. The error returned on HD 4000 previously was something to do with the framebuffer being incomplete, and this seems to fix it, so hopefully it's right."

    TerminX r3995 written 6 Aug 2013 Fix
    Show details
    Reverts
    9a2617e
  • General

    Factor some duplicate code into Net_SpawnPlayer(), adjust Net_ExtractPlayerUpdate() a bit.

    TerminX r3994 written 6 Aug 2013
  • General

    Implement a master volume control that functions separately from the sound effect and music volume controls. This is important because it allows waveform based music (like the SC-55 music pack, etc.) to play back at a louder volume than the sound effects if the end user so desires.

    TerminX r3993 written 6 Aug 2013
Show the other 13 commits in this build

Build 3979

4 Aug 2013 · 5 commits · 1 author SVN
Open build
  • disable printing debug messages for the preview build. BUILD_LUNATIC.

    Helixhorned r3979 4 Aug, 13:37
  • slightly more complete handling of (multi-tile) ART skies.

    Helixhorned r3977 4 Aug, 13:37 Engine
    Show details

    - Use the proper tile sequence when multiple pskies are present in a map. However, there's still only *one* psky chosen at map load time. - Handle three horizfrac cases: * 0, psky always at same level wrt screen * 65536, psky horiz follows camera horiz (e.g. E4L9) * otherwise, fall back to default hard-coded parallax implemented as an angle fraction

  • General

    Clean up parallaxed sky functionality, part 2.

    Helixhorned r3976 4 Aug, 13:37 Engine
    Show details

    - Rename sky_t members: yscale -> horizfrac, bits -> lognumtiles. - Add default sky (8 tiles, horizfrac=32768 (i.e. 1/2 the scene horiz), offsets all zero) and CLOUDYOCEAN sky (8 tiles, horizfrac=65536, offsets all zero) to multipsky[]. - Get rid of "psky_t g_psky", merely maintaining a g_pskyidx instead. Set it up at map load time so as to keep the behavior of the legacy per-map psky: the last sector index with a matching psky ceiling wins. - In mapstate_t, save g_pskyidx too, not (former) pskybits and pskyoffs[]. - Make on-map-load global psky setup consistent for the game and editor by factoring it out into common.c: G_SetupGlobalPsky(). - Remove a couple of useless initializations, add some static assertions. This commit is more likely to introduce subtle differences in behavior. Specifically, getpsky() now always returns the default sky properties instead of the global sky ones (but with all-zero offsets) when no match for a suiting multi-psky is found. This is only likely to affect the yscale/horizfrac of non-multi-pskies when a global non-default multi-psky has been set up. Bump BYTEVERSION again.

  • General

    Clean up parallaxed sky functionality, part 1.

    Helixhorned r3975 4 Aug, 13:37 FixEngine
    Show details

    - Consolidate psky* arrays into a "typedef struct psky_t" "g_psky" and "multipsky[]". - Factor out getting parallaxed sky properties into getpsky(). - Condense initial multi-psky setup by memcpy'ing from multipsky[]. - New function: MultiPsky_TileToIdx(). - Add new define PSKYOFF_MAX and related consistency-checking assertions. - Lower MAXPSKYTILES to 8 to reflect current usage (was 256). - Game: make multi-pskies consider dynamically-remapped MOONSKY1, BIGORBIT1 and LA. (Not very useful as the editor will still only act for the static values -- 80, 84 and 89, respectively.) An attempt has been made to preserve behavior even in strange cases, so this commit is unlikely to introduce regressions. Because of point 6, BYTEVERSION had to be bumped.

  • sanity-check some arguments passed to con.action().

    Helixhorned r3974 4 Aug, 13:37

July 2013 8 builds · 50 commits

Build 3973

19 Jul 2013 · 3 commits · 1 author SVN
Open build
  • General

    Updates to the processing of the tilefromtexture def command:

    Hendricks266 r3973 19 Jul, 20:37
    Show details

    - Allow xoffset and yoffset to modified independently of a tile definition, much like texhitscan and nofullbright. (Both still default to zero when a tile is specified, to keep current behavior, and because it makes sense.) - Add actual detection of the "nofullbright" keyword, which appears to have been overlooked in r3230. - Internal: Eliminate the need for one int32_t by condensing two variables into "flags".

  • General

    Patch from johnnyonflame to fix the GCW and Dingoo build process.

    Hendricks266 r3972 19 Jul, 20:36 Fix
  • General

    Force orientation bit 2 for screentext in addition to qstrdim, to match all other screen drawing commands.

    Hendricks266 r3971 19 Jul, 20:36

Build 3970

19 Jul 2013 · 7 commits · 1 author SVN
Open build
  • Add pre-compiled LPeg 0.12 for 32-bit Windows (MinGW).

    Helixhorned r3970 19 Jul, 05:49
  • rename test.elua to test.lua.

    Helixhorned r3969 19 Jul, 05:49
    Show details

    The old extension is an artifact from when I was thought that extensions should label whether a Lunatic module is to be used in internal/external contexts. Also, change test.lua slightly and commit a little updated documentation.

  • General

    Lose the 'packed' attribute on actor_t.

    Helixhorned r3968 19 Jul, 05:49
    Show details

    Its members are already laid out on the natural alignment boundaries. Compilation tested with {32-bit, 64-bit} x {Lunatic, non-Lua} builds.

  • protect global environment.

    Helixhorned r3967 19 Jul, 05:49
  • remove DBG_ variable for _DEBUG_LUNATIC=0.

    Helixhorned r3966 19 Jul, 05:49
Show the other 2 commits in this build

Build 3963

18 Jul 2013 · 5 commits · 1 author SVN
Open build
  • General

    Makefile.common: disable -Wstrict-overflow.

    Helixhorned r3963 18 Jul, 11:08 Fix
    Show details

    It didn't turn out that useful and was giving a warning with one of the preceding changes.

  • General

    Polymer/ART mapping: fix formula for globalvisibility.

    Helixhorned r3962 18 Jul, 11:08 FixEngine
    Show details

    Also, very slightly tweak a factor toward a "brighter" (farther visible) scene overall to account for the "circular" nature of the fragment distance (as opposed to an "ortho" distance in Build).

  • General

    Retire global 'lastvisinc'.

    Helixhorned r3961 18 Jul, 11:08
    Show details

    It was only ever used as upper bound to the time that a visibility change decays, but since it does that in an exponential fashion, there's really no point.

  • General

    Make vis decay with time independent of FPS, treat p->visibility<0 like 0.

    Helixhorned r3960 18 Jul, 11:08
    Show details

    Now, if p->visibility differs from the constant visibility, the former converges toward the latter by three-quartering the difference each second totalclock increment (1/60th second). Negative player visibilities are not handled consistently throughout the different renderers, so make it look the same as 0 (can view to infinity).

  • properly calc start/end fog dist for r_usenewshading=2, vis=0, shade>0

    Helixhorned r3959 18 Jul, 11:08
    Show details

    So there's no "jump" from vis!=0 to vis=0 making the texture appear brighter.

Build 3958

13 Jul 2013 · 3 commits · 1 author SVN
Open build
  • General

    Apply patch by forum user "John Jendro" fixing OS X build.

    Helixhorned r3958 13 Jul, 14:05 Fix
  • General

    Makefile.common: make LUNATIC be set to 0 if not set from env ("?=0").

    Helixhorned r3957 13 Jul, 14:05
    Show details

    Also override LTO to 0 in Lunatic builds.

  • document previous additions and more of the existing stuff.

    Helixhorned r3956 13 Jul, 14:05

Build 3955

13 Jul 2013 · 13 commits · 1 author SVN
Open build
  • General

    Clean up some player.c code.

    Helixhorned r3955 13 Jul, 14:05
  • rework weapondata_t __newindex handling for the sound members.

    Helixhorned r3954 13 Jul, 14:04
    Show details

    Also, in test.elua, add a currently failing must-fail test (i.e. it wrongly succeeds where it should not!).

  • revamp sector changing/updating functions of sprites.

    Helixhorned r3953 13 Jul, 14:04 Engine
  • General

    game.c: read sprites-on-screen count for DNDEBUG at end of G_DoSpriteAnimations.

    Helixhorned r3952 13 Jul, 14:04 Engine
    Show details

    Because that function might have inserted tsprites itself, e.g. for the fake floor shadow. Also add one "spritesortcnt < MAXSPRITESONSCREEN" bound check in legacy ROR code.

  • create game Lua state just before EVENT_NEWGAME, not in G_EnterLevel().

    Helixhorned r3951 13 Jul, 14:04 CON
Show the other 8 commits in this build

Build 3942

9 Jul 2013 · 4 commits · 1 author SVN
Open build
  • document more stuff (not too carefully), add red DRAFT marker.

    Helixhorned r3942 9 Jul, 11:23
  • General

    Polymost "use tile shades": don't confound shade and visibility.

    Helixhorned r3941 9 Jul, 11:23 Engine
    Show details

    That is, for shade of objects, use shade tables. For visibility, use GL fog. Mixing these two does not produce satisfactory results in areas where both shade and visibility darkening are high, such as around the E1L1 restroom.

  • handle system gamearrays for some array commands.

    Helixhorned r3940 9 Jul, 11:23 CON
    Show details

    - 'copy' may have them as source, 'getarraysize' works fine - 'setarray' and 'resizearray' are obviously forbidden - 'readarrayfromfile' and 'writearrayfromfile' is not implemented for them (use case?) Also, in the Makefile: don't use realpath on directories. It may give an empty string.

  • swap first and second arg of con.spawn().

    Helixhorned r3939 9 Jul, 11:23

Build 3938

7 Jul 2013 · 6 commits · 1 author SVN
Open build
  • slight Makefile tweak for Windows preparation.

    Helixhorned r3938 7 Jul, 13:59
    Show details

    Add doc/how_to_build_lunatic.txt and doc/lpeg-lunatic.patch.

  • retire per-sprite tsprite access for per-tile animation callback reg.

    Helixhorned r3937 7 Jul, 13:59 Engine
    Show details

    Don't yet make this official API though, since there are unresolved issues with newly created tsprites potentially being fed back to the animation loop. Add xmath.angvec(), xmath.bangvec(), tspr:set_sectnum(), tspr:setpos().

  • General

    Remove one instance of duplicate code lines and now unused TSPR_MIRROR.

    Helixhorned r3936 7 Jul, 13:59
  • General

    Rename the external 'gethitickms()' to 'gethiticks()'.

    Helixhorned r3935 7 Jul, 13:59
  • General

    In Windows and SDL layers, rename *hitick* to *u64tick*.

    Helixhorned r3934 7 Jul, 13:59
Show the other commit in this build

Build 3932

4 Jul 2013 · 9 commits · 1 author SVN
Open build
  • partially fix LTO=1 build with GCC.

    Helixhorned r3932 4 Jul, 12:38 Fix
    Show details

    Having to tag these few variables and functions as ATTRIBUTE((used)) seems sensible, but what follows is just strange. OSD_Printf? headspritesect?

  • make g_playerWeapon an array of a corresponding bcarray type.

    Helixhorned r3931 4 Jul, 12:38
  • document the additions of the preceding commits.

    Helixhorned r3930 4 Jul, 12:38
  • various changes.

    Helixhorned r3929 4 Jul, 12:38
    Show details

    - swap 2d and 3rd args in xmath.rotate() -- now rotate(point, ang, pivot) - add vec3 method 'rotate', calling xmath.rotate - store game tic count in savegames

  • many changes, motivated by writing test "helixspawner".

    Helixhorned r3928 4 Jul, 12:38
    Show details

    - some renames of functions/methods - con.actorvar: explicitly allow (for now) boolean and number values - added gv.gametic, player.holdskey(), player.all(), actor.check*()/hit*(), gv.rendmode, gv.REND, <bitint>:mask(), spr:getheightofs() - make read of nil var in "finalized" (live) module produce error, too - add test/helixspawner.lua

Show the other 4 commits in this build

June 2013 21 builds · 90 commits

Build 3923

30 Jun 2013 · 10 commits · 1 author SVN
Open build
  • in con.action and con.move, allow mixed number/string key tables.

    Helixhorned r3923 30 Jun, 13:38
    Show details

    E.g. con.action{0, 4, delay=20}; for convenience, viewtype and incval are initialized to 1 (not 0) here.

  • retire an actor's sprite[].hitag/lotag for new actor[] members.

    Helixhorned r3922 30 Jun, 13:38 Engine
  • General

    Retire actor[].shootzvel, as it was only ever used in local scope.

    Helixhorned r3921 30 Jun, 13:38 CON
    Show details

    That is, its value was only referenced during the duration of a function call that had previously set it. It was also never accessible from CON.

  • General

    Actor-related code cleanup part 2: give actor t_data[] indexes names.

    Helixhorned r3920 30 Jun, 13:38
    Show details

    Using macros like AC_COUNT(t). Clean up related code: - comment out the dead condition noted in the previous commit - Lunatic: use get_count() instead of get_t_data(0) in one place, rename to _get_t_data(), i.e. make that method internal

  • General

    Actor-related code cleanup part 1: rename some locals, expose one dead condition

    Helixhorned r3919 30 Jun, 13:38
    Show details

    ... due to making hi/lotag unsigned in r3174. This commit keeps the compiler warning, the next one will remove it.

Show the other 5 commits in this build

Build 3913

29 Jun 2013 · 1 commit · 1 author SVN
Open build
  • General

    Fix loading maps in Mapster32, introduced in r3911.

    Helixhorned r3913 29 Jun, 05:15 FixEngine
    Show details

    Also, get rid of the strange filename[len]=255 hack in loadboard() and make its file name arg const char* at last.