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 668 builds · 2,314 commits

Export CSV
Display options
Commit details:

November 2012 18 builds · 85 commits

Build 3148

10 Nov 2012 · 2 commits · 1 author SVN
Open build
  • General

    Lunatic reorganization part 2: split into engine and editor/game parts.

    Helixhorned r3148 10 Nov, 12:59 Engine
    Show details

    On the engine side (functions starting with L_), there are now the basic parts like state creation and running code from strings and files. The game and editor can add to that by e.g. loading whatever they please into the state. Their functions start with El_ and Em_, respectively. The Lua scripts still reside in source/lunatic, even for the common ones. This is because they will be embedded into the binaries as bytecode or compressed source eventually, so their location on disk will be irrelevant.

  • General

    Lunatic reorganization part 1: two renames and one deletion.

    Helixhorned r3147 10 Nov, 12:58
    Show details

    See the next commit for details.

Build 3146

10 Nov 2012 · 5 commits · 1 author SVN
Open build
  • General

    Clean up texture loading code etc. in polymost.c, no functional changes.

    Helixhorned r3146 10 Nov, 06:11 Engine
  • General

    Introduce a per-tile bit preventing fullbrights in GL modes, use for LOADSCREEN.

    Helixhorned r3145 10 Nov, 06:11
  • fix rotatesprite with no screen scaling and non-widescreen aspects.

    Helixhorned r3144 10 Nov, 06:11 FixEngine
    Show details

    Also, enable showing sprites in Mapster32's overhead view again, since that was one (the only?) use of that code path. The uninitialized read was introduced in r2927.

  • General

    When looking through a camera, don't do third person view.

    Helixhorned r3143 10 Nov, 06:11
    Show details

    Also, reorganize some G_DrawRooms() code a little without changing anything.

  • General

    When found a camera sprite for viewscreen, set position etc. immediately.

    Helixhorned r3142 10 Nov, 06:11 FixEngine
    Show details

    Instead of later in P_ProcessInput(). This fixes one drawrooms() call in between where the sectnum is the camera's, but the position the player's, which can lead to a slow "outer view" render in Polymer.

Build 3131

8 Nov 2012 · 3 commits · 1 author SVN
Open build
  • General

    New utility ivfrate(.exe) and a couple of small VP8 changes.

    Helixhorned r3131 8 Nov, 12:17
    Show details

    The command-line utility can query and set the frame rate of IVF files, since apparently encoders don't care too much about setting proper values in the IVF header. Also, add the utility to the synthesis build. On the playback side in EDuke32, get rid of the 1/(2*fps) "correction" if the FPS numerator is <1000 (presumably used in older encoders) and properly print the frame rate's fractional part.

  • "fix" building.

    Helixhorned r3130 8 Nov, 12:17 Fix
  • General

    Fix USE_OPENGL=0 build.

    Helixhorned r3129 8 Nov, 12:17 Fix

Build 3127

6 Nov 2012 · 5 commits · 1 author SVN
Open build
  • General

    Prettify some code where I felt was necessary.

    Helixhorned r3127 6 Nov, 15:06
  • General

    When binding a key, take care of processing one-to-many binds properly in menu.

    Helixhorned r3126 6 Nov, 15:06 Fix
    Show details

    This means that the "Keyboard Setup" should now properly reflect the bindings, except in the theoretical case of one gamefunc being bound more than two keys. (What was fixed is the one key to many gamefuncs case.)

  • General

    Get rid of the code reading in [KeyDefinitions] section of eduke32.cfg.

    Helixhorned r3125 6 Nov, 15:06
    Show details

    That section was only ever read in for little profit and never written out! Keyboard input is actually dispatched as OSD commands for a good while, so that old cruft has to go!

  • General

    Clean up control.c.

    Helixhorned r3124 6 Nov, 15:06
    Show details

    - Remove everything using CONTROL_KeyMapping, which was only written to. - Remove unused functions, make local ones static. - Remove private function declarations in _control.h.

  • General

    Fix one key <--> multiple gamefuncs dispatching.

    Helixhorned r3123 6 Nov, 15:06 Fix

Build 3114

4 Nov 2012 · 3 commits · 1 author SVN
Open build
  • General

    engine.c: add bound-check assert failing for sprites in m32's textured 2D mode.

    Helixhorned r3114 4 Nov, 15:03 Engine
    Show details

    Also, disable drawing sprites in that mode for now.

  • functionality to rotate or scale RShift-highlighted stuff smoothly.

    Helixhorned r3113 4 Nov, 15:03 Engine
    Show details

    This is done by pressing LShift and - holding down the left mouse button for scaling, or - the right mouse button for rotating the highlighted walls/sprites with respect to a pivot point determined as the center of the bounding box of all highlighted points. Note that scaling sectors isn't that easy and the current functionality is very rudimentary: there's no z scaling, no xrepeat correction, and sprites aren't touched expect for their position. The user is responsible to maintain map consistency, for example to prevent wall-lines of the same sector crossing each other.

  • when looking for matching wall in 2nd pt. ins., don't skip gray nextwalls.

    Helixhorned r3112 4 Nov, 15:03 FixEngine
    Show details

    This fixes a bug where it's not possible to split a sector under certain circumstances, reported by Micky C here: http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__138380 Also, don't allow zero in various 'F functions: Resize selection and Global {shade, visibility} divide.

Build 3111

3 Nov 2012 · 6 commits · 1 author SVN
Open build
  • General

    Work around the transparent line with on-screen chaingun and linear filtering.

    Helixhorned r3111 3 Nov, 12:32 Engine
    Show details

    We do this by messing with the GL texture that gets uploaded for CHAINGUN. Since this is implemented on the engine side, the static value for CHAINGUN (2536) is used, and the tile dimensions are compared to 211x55 to have a little confidence that the tile wasn't overridden by a mod. Hack indeed.

  • VPX

    print determined frame rate to the log.

    Helixhorned r3110 3 Nov, 12:32
    Show details

    Currently, the FPS determination is based on libvpx's vpxdec.c code, which uses the FPS provided in the IVF file in one case, and simply sets it to 30 FPS in the other. For the first case, a "correction" is carried out for something which the comments suggest to originate from other (old?) VPX encoder versions.

  • update structures, find maps case-insensitively in findmaps.sh.

    Helixhorned r3109 3 Nov, 12:32
  • draw lines to linking sprites with LShift, jump to them with +[ or +]

    Helixhorned r3108 3 Nov, 12:32 FixEngine
    Show details

    When LShift is pressed and the mouse is over a linking sprite (as determined by the tag labeling system), lines are drawn to all other sprites, and pressing [ or ] will cycle these then. False positives and missed sprites are possible. Additional changes: - consider SE 31 and 32's lotag to NOT be linking, since the ACTIVATOR is what matters. The original maps are inconsistent there. - When pressing Alt+[ or Alt+] and there are no corruptions, say so instead of doing [ or ].

  • make geom.lua work standalone, fix __eq metamethods for dvec[23]_t.

    Helixhorned r3107 3 Nov, 12:32 Fix
Open the build to see all 6 commits

October 2012 4 builds · 32 commits

Build 3078

14 Oct 2012 · 7 commits · 1 author SVN
Open build
  • General

    Texel-granular hitscan() for wall-aligned sprites.

    Helixhorned r3078 14 Oct, 13:41 Engine
    Show details

    The attribute is set per tile from DEF: either texhitscanrange <begintile> <endtile> or tilefromtexture <tile> { ... texhitscan ... } (As a special case, the list may only contain "texhitscan", in which case the texture is not changed.) In passing, do some cleanup for "tilefromtexture" DEF parsing: the list tokens should now be accepted in any order, and errors don't appear in the middle of the list parsing.

  • General

    Factor out 2x identical code into G_WeaponHitCeilingOrFloor().

    Helixhorned r3077 14 Oct, 13:41
  • General

    Clean up G_MoveWeapons(), among other things getting rid of weird indentation.

    Helixhorned r3076 14 Oct, 13:41
  • General

    Clean up A_MoveSprite(), no functional changes.

    Helixhorned r3075 14 Oct, 13:41
  • General

    Rearrange G_MoveTransports() code a little to cut down on nested switches.

    Helixhorned r3074 14 Oct, 13:41
Open the build to see all 7 commits

Build 3064

7 Oct 2012 · 9 commits · 1 author SVN
Open build
  • expose updatesector*, add random walker as timing test for them.

    Helixhorned r3064 7 Oct, 08:26
  • various tweaks and API changes/additions.

    Helixhorned r3063 7 Oct, 08:26
  • save command input history.

    Helixhorned r3062 7 Oct, 08:26 Engine
  • General

    Clean up redundant/local function declarations in build.c.

    Helixhorned r3061 7 Oct, 08:26
  • various tweaks.

    Helixhorned r3060 7 Oct, 08:26
    Show details

    Going to extremes to avoid code duplication like the plague, but at least it's great to learn about the whole function environment business.

Open the build to see all 9 commits

Build 3052

3 Oct 2012 · 3 commits · 1 author SVN
Open build
  • General

    In savegames, store dummy constant-length block instead of a _prlight array.

    Helixhorned r3052 3 Oct, 08:29 Engine
    Show details

    sizeof(_prlight) differs across compilers, and besides, Polymer lights were not loaded anyway (they're restored live in-game later). The savegame version was not bumped, but only savegames made with builds where sizeof(_prlight)==261 (like synthesis) will stay compatible! Report and helpful debugging information by LeoD.

  • General

    In DNCOORDS display, add spritebridge and sbs.

    Helixhorned r3051 3 Oct, 08:29
  • General

    On non-{Windows, OS X}, don't link to libpng when PNG support is not requested.

    Helixhorned r3050 3 Oct, 08:29

Build 3049

1 Oct 2012 · 13 commits · 1 author SVN
Open build
  • General

    Add helper program profdemo.lua, running EDuke32's demo profiling N times.

    Helixhorned r3049 1 Oct, 10:52
    Show details

    ... and displaying statistics afterwards. It was easier to do it this way than porting stat.lua to C and especially adding more logic to the already spaghetti-like demo playback code.

  • General

    In Load Game menu, show 32- or 64-bitness of save game on mismatch.

    Helixhorned r3048 1 Oct, 10:52
  • make 'corruptcheck_noalreadyrefd' a separate OSD command.

    Helixhorned r3047 1 Oct, 10:52 FixEngine
    Show details

    Instead of having 'noalreadyrefd' as a 'corruptcheck' subcommand. This way, TAB completion can be had.

  • factor out some code (3x) into GetSaveBoardFilename().

    Helixhorned r3046 1 Oct, 10:52 Engine
  • General

    In -d command line arg, allow specifying demo number in addition to file name.

    Helixhorned r3045 1 Oct, 10:52
Open the build to see all 13 commits

September 2012 9 builds · 50 commits

Build 3034

28 Sep 2012 · 4 commits · 1 author SVN
Open build
  • General

    engine.c: Split CLASSIC_NONPOW2_YSIZE into _WALLS and _SPRITES, enable the second

    Helixhorned r3034 28 Sep, 08:20 Engine
  • General

    Port non-pow2 ysize texture mapping routines to MASM, untested.

    Helixhorned r3033 28 Sep, 08:20
    Show details

    It's mostly taking over the NASM code, with a couple of changes: - declarations for externals and globals are slightly different - the masm seems to have e.g. "dword ptr [...]" where the nasm has only "dword [...]", though the masm also has a couple of the latter. The "ptr" modifier seems kinda redundant to me, but I added it to every indirection anyway.

  • General

    a.nasm: add 'dword' to some stores in the nonpow2 routines for consistency.

    Helixhorned r3032 28 Sep, 08:20
  • General

    engine.c: add compilation switches for non-pow2 ysize functions, disable for now.

    Helixhorned r3031 28 Sep, 08:20 FixEngine
    Show details

    Previously, we used them in our builds for sprites, but MSVC builds don't have the ASM ported to MASM, and thus the workaround of ignoring the linking errors was not safe.

Build 3030

26 Sep 2012 · 3 commits · 1 author SVN
Open build
  • General

    foreachmap.lua: add option of only printing matching file names (like grep -l)

    Helixhorned r3030 26 Sep, 15:54 Engine
    Show details

    Also, add convenience wrapper script findmaps.sh for quickly searching for sprites/walls/sectors satisfying a certain condition in all map files under a given directory.

  • add check for sprites being out of the maximal grid range (+-524288).

    Helixhorned r3029 26 Sep, 15:53 Engine
    Show details

    Requested auto-correction will place such sprites at their sector's first point.

  • General

    Revert "Abyss crash prevention code", but make the overflow explicit.

    Helixhorned r3028 26 Sep, 15:53 Fix

Build 3027

24 Sep 2012 · 5 commits · 1 author SVN
Open build
  • General

    Disable spot lights on ATI cards, fixing the recent crashes with Catalyst 12.8.

    Helixhorned r3027 24 Sep, 14:09 Fix
  • General

    Fix compilation on Debian 6.0 (Squeeze).

    Helixhorned r3026 24 Sep, 14:09 Fix
  • General

    Revert r2223's removing of bit 1 making it to setbrightness(), now a noop.

    Helixhorned r3025 24 Sep, 14:09 Fix
    Show details

    Hendricks found a bug caused by that commit, so this one enables exprimentation with setbrightness() bit 1 behavior.

  • General

    Add the option of starting demo profiling from the command line.

    Helixhorned r3024 24 Sep, 14:09
    Show details

    EDuke32 will exit afterwards.

  • General

    foreachmap.lua: add shortcut for quickly finding certain sectors/walls/sprites.

    Helixhorned r3023 24 Sep, 14:09 Engine

Build 3022

15 Sep 2012 · 3 commits · 1 author SVN
Open build
  • General

    With SDL 1.2 builds, make the profiling be cancelable by pressing any key.

    Helixhorned r3022 15 Sep, 08:28
  • General

    Add a profiling option to the 'demo' OSD command.

    Helixhorned r3021 15 Sep, 08:28
    Show details

    See the comment in source/osdcmds.c for instructions on its usage.

  • General

    Fix aspect determination from showview in fullscreen mode.

    Helixhorned r3020 15 Sep, 08:28 Fix
    Show details

    This makes the splitscreen mod not have a ridiculous view distortion. Such scenes will have no correction for non-square pixels, though.

Build 3013

12 Sep 2012 · 4 commits · 1 author SVN
Open build
  • General

    SE17 setup: when failing to find warp z height for lower level, use heuristic.

    Helixhorned r3013 12 Sep, 02:48
    Show details

    Specifically, use the elevator's own ceiling z height instead of searching nextsectors with nextsectorneighborz(). This makes maps like L9.map (Spaceport from N64) or DEMOUNT.MAP work. [Note well: work at all, since if it happened to work before, that was pure coincidence.]

  • General

    __fastcall int32_t getangle -> int32_t fastcall getangle. Might fix MSVC build.

    Helixhorned r3012 12 Sep, 02:47 Fix
  • General

    Replace some literal statnums with the corrensponding STAT_...

    Helixhorned r3011 12 Sep, 02:46
  • General

    Replace some more literal SE numbers, rename a couple of functions.

    Helixhorned r3010 12 Sep, 02:45

Build 3009

8 Sep 2012 · 9 commits · 1 author SVN
Open build
  • General

    STHELP.HLP/SEHELP.HLP: reference SE11 and ST23 from each other.

    Helixhorned r3009 8 Sep, 15:18
  • General

    Replace most other literal SEs/STs by symbolic enumeration values.

    Helixhorned r3008 8 Sep, 15:18
    Show details

    Have fun researching Duke3D's hardcoded weirdness!!!

  • General

    Clean up some timing-related code.

    Helixhorned r3007 8 Sep, 15:18
    Show details

    - duke3d.h: comment the timing marcos a bit more - factor out smoothratio calculation - (TICRATE/TICSPERFRAME) --> REALGAMETICSPERSEC

  • General

    New OSD cmd: demo <demonum or demofile>, starting one instantly from the menu.

    Helixhorned r3006 8 Sep, 15:18 Fix
    Show details

    Also, correct some comments made in the demo source made earlier. Oops.

  • General

    Move enum cheatindex_t from game.c to game.h and use its values in osdcmds.c.

    Helixhorned r3005 8 Sep, 15:18
Open the build to see all 9 commits

Build 3000

5 Sep 2012 · 7 commits · 1 author SVN
Open build
  • General

    Add macro CON_ERRPRINTF(Fmt, ...) and use that everywhere.

    Helixhorned r3000 5 Sep, 10:25
  • General

    Factor out some repeated code into G_{Load,Save}PlayerMaybeMulti.

    Helixhorned r2999 5 Sep, 10:25 CON
    Show details

    This currently says that MP saving/loading isn't supported, but doesn't really work correctly. Also, properly bound-check the immediate argument to CON's 'save' command and one more ... -> G_HandleAsync().

  • General

    Use Bstrncpyz in 1 place; fix displaying err msg if write-opening savegame fails

    Helixhorned r2998 5 Sep, 10:25 Fix
  • General

    Factor out snprintf'ing a maybe-modDir'd file name into macro G_ModDirSnprintf().

    Helixhorned r2997 5 Sep, 10:25 CON
    Show details

    ... and use it in three places. In two of these uses, 1) CON {read,write}arrayfromfile and 2) G_SavePlayer, display an error message if the file name such generated is too long. In the CON commands of 1), also error out if the file couldn't be opened.

  • General

    Move G_HandleAsync() into game.h as 'static inline' and use everywhere else.

    Helixhorned r2996 5 Sep, 10:25
Open the build to see all 7 commits

Build 2992

2 Sep 2012 · 12 commits · 1 author SVN
Open build
  • General

    compat.h: tweak indentation of some preprocessing directives.

    Helixhorned r2992 2 Sep, 07:13
  • General

    Make getangle() a __fastcall function instead of static inline.

    Helixhorned r2991 2 Sep, 07:12 Engine
    Show details

    This trims four 4k pages of code from the release EDuke32 build and one page from Mapster32.

  • General

    In dosetaspect(), bail out calculating radarang2[] instead of failing assertion.

    Helixhorned r2990 2 Sep, 07:10 Engine
    Show details

    When this happens, parallaxmodes other than 0 will be unavailable and silently draw as parallaxmode 0. This usually happens with extremely wide resolutions.

  • General

    Add lunatic/test/tables.lua, which was used to compare the calc'd sin/atan values.

    Helixhorned r2989 2 Sep, 07:09
  • General

    Calculate sine and arctan tables, getting rid of TABLES.DAT dependency.

    Helixhorned r2988 2 Sep, 07:08
    Show details

    We're pulling stuff from math.h even in non-GL builds right now, so adding libc's sin() and atan() doesn't seem like a big deal. In the unlikely event that their accuracy is so bad that the calculated tables don't match the original ones, a warning is issued on little-endian platforms.

Open the build to see all 12 commits