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 15 builds · 79 commits

Export CSV
Display options
Commit details:

October 2025 2 builds · 19 commits

Build 10651

23 Oct 2025 · 13 commits · 1 author GIT
Open build
  • SW

    Fix null pointer dereferences in case of showing inventory bar right before player kill

    NY00123 bf58c7b written 21 Oct 2025 Fix
  • SW

    Comment out definition and declaration of unused function _ErrMsg

    NY00123 8e1972a written 21 Oct 2025
  • SW

    Use TerminateWithMsg in _Assert

    NY00123 95ef384 written 21 Oct 2025
  • SW

    Use TerminateWithMsg in JS_DrawMirrors

    NY00123 26cfce5 written 20 Oct 2025
  • SW

    Use TerminateWithMsg in JS_PlockError as well

    NY00123 38465ff written 20 Oct 2025
    Show details

    There are unfortunate duplications of the shared string, but such occurrences don't seem to be that common so far.

Open the build to see all 13 commits

Build 10636

14 Oct 2025 · 6 commits · 1 author GIT
Open build
  • SW

    Improve prediction of interpolated bob_z value

    NY00123 fdbcb0b 14 Oct, 21:39
    Show details

    The addition of the "bob_z" field to the PREDICT struct might be unnecessary, technically speaking, but it probably won't hurt to ensure values are synced.

  • SW

    Fixed player movement prediction, now actually based on predicted angle

    NY00123 964ce88 14 Oct, 20:02 Fix
  • SW

    Fix switch to double Uzi for multiplayer games upon pick-up of second Uzi

    NY00123 8c88202 written 13 Oct 2025 Fix
  • SW

    Simplify HandleWeaponAutoSwitch usage to go through the DamageData array

    NY00123 1ca030f written 12 Oct 2025
  • SW

    Fix multiplayer sync errors with the weapon auto-switching toggle

    NY00123 2969374 written 12 Oct 2025 Fix
    Show details

    This also permanently enables weapon auto-switching for PedanticMode. The idea here is that outside of pedantic mode, within multiplayer games, a new bit or more of the inspected player's Flags2 field will be set for the weapon. Afterwards, only for player no. myconnectindex, the function getinput will set loc->bits as if a matching key was pressed for selecting the weapon. loc->bits should be properly synced. Note that each player's structure, including Flags2, is reset within InitNewGame, but not from InitLevel as far as I may tell.

Open the build to see all 6 commits

July 2020 1 build · 2 commits

Build 9166

16 Jul 2020 · 7 commits · 2 authors GIT
Open build
  • SW

    If a saved load is loaded at a point which is right after killing

    NY00123 b4b054d written 13 Jul 2020
    Show details

    a boss, ensure that FinishTimer and FinishAnim are appropriately updated. This commit bumps GameVersion. Additionally, the set of FinishAnim to 0 in NewLevel had to move to a different location (InitLevelGlobals2), so it doesn't override the value stored in the saved game.

  • SW

    Remove unused BetaVersion variable

    NY00123 168f199 written 13 Jul 2020
Open the build to see all 7 commits

June 2020 1 build · 1 commit

Build 9083

6 Jun 2020 · 7 commits · 2 authors GIT
Open build
  • SW

    This should hopefully be a better way of fixing the lack of

    NY00123 5b33797 written 27 May 2020 FixEngine
    Show details

    interpolation of player turning/aiming/movement, while being carried by a sector object, without SO interpolation. This is a continuation of 73a0aa394e906a65633d61f3c749c9b9b7e66aaa and bf31bc2987a3eccd31d343622327bd4ee0f9c5a1, aiming to fix a jitter in case the player is continuously getting pushed by a wall (e.g., on the boat in level 5). Basically, this moves the relevant assignments from track.cpp:MovePlayer and MovePoints to player.cpp:DoPlayerMove. Unless a call to one of these functions has been missed, pushwall and clipmove can be called from player.cpp in the following instances, which should be covered: - Via DoPlayerMove, which is the function getting the fix now. - Via DoPlayerSlide, which is called in the beginning of DoPlayerMove. - Via DoPlayerCurrent when called from DoPlayerCrawl/DoPlayerWade, followed by DoPlayerMove. - Via DoPlayerCurrent when called from DoPlayerDive, followed by DoPlayerMove if the player doesn't stop diving.

Open the build to see all 7 commits

May 2020 3 builds · 26 commits

Build 9048

26 May 2020 · 7 commits · 1 author GIT
Open build
  • SW

    Call OSD_DisplayQueued in DemoPlayback,

    NY00123 e32f897 26 May, 22:41
    Show details

    so OSD commands can have an effect from here

  • SW

    Remove TitleLevel (probably dating back to 1995 prototype builds)

    NY00123 0b98044 26 May, 22:23
  • SW

    Remove DemoOverride, ScenePlayBack and SceneLevel

    NY00123 d2dd9f0 26 May, 22:20
  • SW

    Write Numsprites to saved game (and update/dup nearby comment)

    NY00123 e8ed7ef 26 May, 21:22
Open the build to see all 7 commits

Build 9028

22 May 2020 · 14 commits · 2 authors GIT
Open build
  • SW

    Don't interpolate a sector object if the corresponding lasttic value is 0

    NY00123 3da461b 22 May, 14:07 Engine
  • SW

    Add the macro SO_EMPTY and use it instead of

    NY00123 09d3c60 22 May, 15:11
    Show details

    separate checks of the form sop->xmid == INT32_MAX

  • SW

    Remove unused DoubleInitAWE32 variable

    NY00123 0d75325 22 May, 09:45
  • SW

    Modify getinput to update oq16ang/oq16horiz with the same amount

    NY00123 ac45341 22 May, 02:29
    Show details

    of change that camq16ang/camq16horiz gets. Such an update is possible after making sure that UpdateInputs (faketimerhandler) is never called from domovethings.

  • SW

    Remove commented out code accessing non-existing variable

    NY00123 c79af65 22 May, 02:07
Open the build to see all 14 commits

Build 9003

20 May 2020 · 48 commits · 3 authors GIT
Open build
  • SW

    Afraid that we should disable almost all kinds of SOs in multiplayer

    NY00123 07df0eb written 3 May 2020
    Show details

    for now, due to possible jitters. Currently leaving remote-controlled SOs.

  • SW

    Call FunctionKeys from getinput only if the latter is called

    NY00123 bb3ead1 written 1 May 2020 Fix
    Show details

    from faketimerhandler. This should fix the timing of playing an RTS file's sound and sending the corresponding message.

  • SW

    Fix aiming in coop view

    NY00123 5e14c8f written 1 May 2020 Fix
  • SW

    Don't interpolate a non-remote sector object controlled

    NY00123 00ed85d written 1 May 2020 Engine
    Show details

    by the player. Make sure looking up/down is still smooth.

  • SW

    Disable interpolation of sector objects that

    NY00123 5ea24e8 written 1 May 2020 Engine
    Show details

    don't move as smooth as possible in multiplayer

Open the build to see all 48 commits

April 2020 3 builds · 18 commits

Build 8863

14 Apr 2020 · 13 commits · 1 author GIT
Open build
  • SW

    Remove unused wfe_Clock variable

    NY00123 1051f00 14 Apr, 22:35
  • SW

    This hopefully resolves issues with leaving multiplayer games

    NY00123 54fe355 14 Apr, 19:09
  • SW

    Interpolate sector objects in non-demo, single player games.

    NY00123 6bf8d9c 14 Apr, 18:17 Engine
    Show details

    Let's see if this is breaking anything.

  • SW

    Reset the number of interpolations on level load

    NY00123 f91e681 14 Apr, 00:13
  • SW

    Let's replace the macro PEDANTIC_MODE with variable PedanticMode

    NY00123 742ae8a 14 Apr, 18:57
Open the build to see all 13 commits

Build 8846

12 Apr 2020 · 30 commits · 2 authors GIT
Open build
  • SW

    Rename q16avel -> q16angvel and q16horz -> q16aimvel.

    NY00123 234a272 12 Apr, 23:28
    Show details

    While it is understandable that avel and horz came from Duke3D, having both q16horiz and q16horz in the updated SW_PACKET struct can be confusing, and the alternative notation is more consistent with the original struct field names of angvel and aimvel, as well as the differing uses of the name angvel still present in player.cpp.

  • SW

    This is a better place for a slave which quits to set QuitFlag

    NY00123 af68572 written 11 Apr 2020
  • SW

    Use the old interpolation path in drawscreen if player is dead

    NY00123 d340382 written 11 Apr 2020
  • SW

    With the input tied to frame rate, disable aiming while the

    NY00123 87beaad written 11 Apr 2020
    Show details

    player is dead, and also disable horizontal aiming while on a ladder.

  • SW

    Make horiz centering a bit less immediate again

    NY00123 618e73a written 11 Apr 2020
Open the build to see all 30 commits

Build 8798

4 Apr 2020 · 3 commits · 1 author SVN
Open build
  • SW

    Revert the changes from JFSW commit 7d0deafe81b0ffa30d77cfe242e454f8b4487a1f

    NY00123 r8798 4 Apr, 12:42 Fix
    Show details

    related to the definitions of RANDOM_NEG in bunny.cpp, ripper.cpp and ripper2.cpp. Do so in a way that isn't re-introducing compiler warnings. This partially fixes compatibility with demos made for SW 1.2. Additionally, replace the 3 separate definitions of RANDOM_NEG with a common one within game.h.

  • SW

    Fix a few memory access errors related to demo support

    NY00123 r8797 4 Apr, 12:41 Fix
Open the build to see all 3 commits

March 2020 5 builds · 13 commits

Build 8751

13 Mar 2020 · 9 commits · 1 author SVN
Open build
  • SW

    Make quitting by closing the window, now done via CON_Quit,

    NY00123 r8751 13 Mar, 08:28 Engine
    Show details

    a bit more usable in multiplayer, hiding the engine's console.

  • SW

    Modify MenuLevel and RunLevel by using CON_Quit,

    NY00123 r8750 13 Mar, 08:28 Fix
    Show details

    toggling MultiPlayQuitFlag on instead of QuitFlag in multiplayer games if a player tries to close the window. Further update MNU_QuitCustom to use CON_Quit. - In RunLevel, this fixes quit of game for all players. - In MenuLevel, this leads to transmit of PACKET_TYPE_MENU_LEVEL_QUIT. However, the work isn't complete, since the game isn't shut down on the peers' sides, leading to possibly undesired side-effects. Currently known issue: - If the master closes the window, the scores won't be shown for the master. Reason is that waitforeverybody will terminate the app.

  • SW

    Add a few calls to handleevents around key press loops. Also check

    NY00123 r8748 13 Mar, 08:28
    Show details

    quitevent in the game, and further call getpackets within StatScreen.

  • SW

    Make sure StatScreen is called around the same time for

    NY00123 r8747 13 Mar, 08:28
    Show details

    all players after level change. This is done by adding calls to getpackets within the BonusScreen and StatScreen while loops. It is related to a change from the DOS versions of 1997. Basically, dosendpackets immediately sends all packets via the commit driver under DOS, while in the mmulti port in use here, sending might be postponed. This was leading to a problem with the game entering waitforeverybody before showing the stats. In particular, it initially attempted to send a PACKET_TYPE_PLAYER_READY message, which could get postponed in the manner described above. In case it received PACKET_TYPE_PLAYER_READY messages from all other peers before the time arrived for sending pending packets, though, waitforeverybody would return, eventually leading to a call to StatScreen/BonusScreen, without sending the pending message until the user in question continued. Other peers would have to wait for the given player to confirm level change before they could see their own stat screens.

  • SW

    Fix a bug in getpackets, making SW's Master-Slave code usable,

    NY00123 r8743 13 Mar, 08:28 Fix
    Show details

    including 3+ players sessions.

Open the build to see all 9 commits

Build 8690

6 Mar 2020 · 9 commits · 1 author SVN
Open build
  • SW

    Handle cases in which the result of an expression

    NY00123 r8688 6 Mar, 07:49
    Show details

    with (possible) side-effects is written to an unused var.

  • SW

    Comment out unused vars, which would become

    NY00123 r8686 6 Mar, 07:49
    Show details

    used if previously commented out code was uncommented (including a few instances of uninitialized var reads).

  • SW

    Remove a ton of unused vars

    NY00123 r8685 6 Mar, 07:49
Open the build to see all 9 commits