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 8,866 commits

Export CSV
Display options
Commit details:

August 2020

  • split getactorvar/setactorvar instructions

    TerminX a7a71e3 written 9 Jul 2020 Build 9239
    Show details

    These are actually fairly commonly used, so I'm not sure why I bothered with having them the other way before.

  • remove INTERNAL ERROR messages from Gv_GetVarIndex() and Gv_GetArrayIndex()

    TerminX b63ad53 written 6 Jul 2020 Build 9239 CON
    Show details

    This is only ever used for refreshing pointers to certain special gamevars and for checking if variables in savegames exist in the currently running script--it doesn't need to print errors to the console.

  • inline the array get/set functions

    TerminX d7db07f written 6 Jul 2020 Build 9239
  • get rid of separate check for common gamevar types before the switches in getvar__ and setvar__

    TerminX 2a6a35b written 6 Jul 2020 Build 9239 CON
    Show details

    It wasn't any faster.

  • move bounds check out of SetArray()

    TerminX b3f7698 written 6 Jul 2020 Build 9239
  • #if 0 out weird runtime check for array writability in SetArray()

    TerminX 45dbc0f written 6 Jul 2020 Build 9239
  • optimize VM_GetStruct()

    TerminX 19e2019 written 6 Jul 2020 Build 9239
    Show details

    I've heard several times that functions with a single exit point are faster, but profiling showed that removing the intermediate variable and returning directly from the switch wins here.

  • rework PlayerLabels[] to use the LABEL_SETUP macro

    TerminX d25fc0b written 3 Jul 2020 Build 9239
  • hook up MicroProfile counters to track the number of event executions

    TerminX c398a6d written 30 Jun 2020 Build 9239
    Show details

    Also lowers MICROPROFILE_MAX_COUNTERS to 256.

  • get rid of dynamic allocation for input_t inside playerdata_t

    TerminX de49453 written 30 Jun 2020 Build 9239
    Show details

    At some point years ago I switched the input_t struct inside the player struct to use dynamic memory allocation for some reason. This changes that back--input_t is only 20 bytes and dynamically allocating it saves at most a couple hundred bytes of memory. Pointless.

  • more work on updated savegame format

    TerminX 7d38c5d written 9 Jun 2020 Build 9239
  • update spriteext_t structure

    TerminX 15ef402 written 8 Jun 2020 Build 9239 Engine
    Show details

    Like DukePlayer_t, I do not intend to modify this structure again in a way that breaks backwards compatibility, unless 100% absolutely necessary.

  • optimize out millions of calls to getzrange

    TerminX 06d30fa written 4 Jun 2020 Build 9239
  • savegame format update WIP

    TerminX 687000e written 5 Apr 2020 Build 9239
  • General

    Make reading of picanm from ART files robust if picanm_t is extended

    Show details

    Backported from NBlood.

  • General

    Fix applying sprite[].yoffset to models

    Hendricks266 c59cfb1 written 6 Apr 2020 Build 9218 FixEngine
    Show details

    Backported from NBlood.

  • Add FX_StartDemandFeedPlayback3D

    Show details

    Backported from Rednukem.

  • SW

    Fix regression causing the last heat seeker to be a normal missile

    Hendricks266 1cec46e 10 Aug, 22:35 Build 9218 Fix
    Show details

    It was caused by the fix for crashing when firing outside the map. Also port said fix to the bunny rockets.

  • Don't try to open device if it isn't in

    NY00123 c297a7f written 6 Aug 2020 Build 9214
    Show details

    the list as returned by ALSADrv_MIDI_ListPorts. Opening a device with ALSA_PortID == 0 might technically be successful even if not present.

  • General

    Audio / Duke3D: Modify alsa_mididevinfo_t to manage memory use of

    NY00123 7c1c12b written 23 Jun 2020 Build 9214
    Show details

    the "name" field on its own. Also make sure that the for loop in Menu_RefreshSoundProperties isn't accessing copies of the objects, including temporary copies of the "name" strings. It could be managed in a better way, but this should be usable for now.

  • General

    ALSA MIDI: Improve implementation as per discussions in terminx/eduke32!16.

    Mitchell Richters b1cfcd4 written 20 Jun 2020 Build 9214
    Show details

    * Don't call ALSADrv_MIDI_ListPorts() from driver_alsa.cpp. There is no need to do this as ALSADrv_MIDI_Init() just connects to the client and port specified and succeeds or fails accordingly. * Remove nullDevice vector from driver_alsa.cpp. Calculate whether returned vector from ALSADrv_MIDI_ListPorts() is null or not within game's menu and handle accordingly. * Remove static declaration of validDevices from driver_alsa.cpp. Vector is of no use inside of driver_alsa.cpp and is only required game-side. * Return declaration of devices found back to ALSADrv_MIDI_ListPorts() and return whether it's empty or not. * Declare alsadevices as an empty non-constant in menus.cpp, then populate from Menu_RefreshSoundProperties() in menus.cpp. This allows us to fill alsadevices with an empty vector if no devices found and allows a user to plug new MIDI devices in and have the game find them without restarting the game.

  • Do free driver name strings duplicated using Xstrdup

    NY00123 69c9d0b written 30 May 2020 Build 9214
  • Refuse to initialize if Client:Port pair isn't in the list

    NY00123 dc22897 written 30 May 2020 Build 9214
  • Fix potential crashes in menu if no ALSA MIDI device is found

    NY00123 f13fbf6 written 30 May 2020 Build 9214 Fix
  • Fix blocking OOZ and OOZ2 not transporting the player upwards

    Dino Bollinger 81c5c99 7 Aug, 10:38 Build 9207 Fix
    Show details

    This fixes terminx/eduke32#105

  • Apply pogokeen's fix for hightile texture seams in polymost.

    Jordon Moss 878f7d6 2 Aug, 02:43 Build 9206 FixEngine

July 2020

  • Fix tilescreen drawing for Polymer renderer.

    Dino Bollinger 74f7b0d 27 Jul, 22:33 Build 9205 FixEngine
    Show details

    According to pogo in a previous commit, GL_TEXTURE_2D is deprecated. However, polymer cannot draw the tiles in the tilescreen correctly without enabling it first, else it shows white boxes instead. This fixes terminx/eduke32#93

  • prevent hash lookup on empty keybinds

    Dino Bollinger 7c3b3e6 27 Jul, 09:34 Build 9205 Fix
    Show details

    This fixes terminx/eduke32#98

  • Fix faulty call to getzrange() in player jump code

    Dino Bollinger 94179a4 written 23 Jul 2020 Build 9203 Fix
    Show details

    This fixes terminx/eduke32#45

  • FORCE_INLINE mutex_lock() and mutex_unlock(), make mutex_try() actually work

    TerminX edac43b written 16 Jul 2020 Build 9202 Engine
  • return length from printf-style functions

    TerminX 4716881 written 15 Jul 2020 Build 9202 Engine
  • add an additional layer of camera vec3_t position smoothing across frames

    TerminX a359877 written 4 Jul 2020 Build 9202
    Show details

    This is intended to mask a slight jitter that occurs when strafing and turning at the same time as a result of turning being decoupled from movement.

  • testing an alternate version of calc_smoothratio_demo() that returns values based on fractional tics

    TerminX ca76197 written 4 Jul 2020 Build 9202
  • only allow doubled up game updates if we're behind at least 2 tics

    TerminX 9f44ddb written 4 Jul 2020 Build 9202
  • remove the do {} while (0) from the VM_ASSERT macro

    TerminX fc43c04 written 9 Jul 2020 Build 9202
    Show details

    This makes the macro less flexible, but I'm not sure that using __builtin_expect within the loop is doing what I want. I guess I should fire up godbolt.org...

  • re-enable EDUKE32_PREDICT_TRUE and EDUKE32_PREDICT_FALSE

    TerminX 6dc2eae written 9 Jul 2020 Build 9202 Engine
  • remove a few instances of EDUKE32_PREDICT_FALSE

    TerminX cc9b223 written 9 Jul 2020 Build 9202
  • remove "printtimes" console command

    TerminX 92ea05b written 30 Jun 2020 Build 9202
    Show details

    This information is pretty much useless compared to using the profiler.

  • #define EDUKE32_UNREACHABLE_SECTION as debug_break() in DEBUG builds

    TerminX 0ef5814 written 3 Jul 2020 Build 9202 Engine
  • split [get/set][wall/sector] into separate opcodes for direct access through VM_GetStruct()/VM_SetStruct()

    TerminX dd7594f written 3 Jul 2020 Build 9202 Engine
    Show details

    This makes them match [get/set]actor.

  • General

    Remove etcpak

    TerminX ec55c69 written 2 Jul 2020 Build 9202
  • replace outdated "gamepad" terminology in menu with "controller"

    TerminX f555006 written 2 Jul 2020 Build 9202
  • make frag[] in DukeStatus_t unsigned

    TerminX d8323c7 written 30 Jun 2020 Build 9202
  • add STR_REVISION to CON_QGETSYSSTR

    TerminX 9a9750f written 30 Jun 2020 Build 9202
    Show details

    It returns the binary's revision string without the "r".

  • allow setting the scale for the mouse axes to 0

    TerminX 13342dc written 29 Jun 2020 Build 9202
  • update the types of the player's .horizAngleAdjust and .horizSkew to match current usage

    TerminX 976a536 written 29 Jun 2020 Build 9202
  • remove dead function prototype

    TerminX 86219e1 written 29 Jun 2020 Build 9202
  • more fix16 cleanup

    TerminX d59d007 written 28 Jun 2020 Build 9202 Engine
    Show details

    There's an optimization or two in here, but tbh I just like deleting shit.

  • don't invalidate TILE_SAVESHOT until after G_ReadGLFrame() and don't set the cache1d entry lock byte to the unlocked state until the data has actually been used

    TerminX 2723852 written 28 Jun 2020 Build 9202