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

Showing 2012 · select it again to see every year
SVN era · r1519 – r8798 Git era · voidpoint.io, from april 2020
Filters · 2 active

Showing 187 builds · 836 commits

Export CSV
Display options
Commit details:

November 2012 18 builds · 85 commits

Build 3212

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

    build.lua: provide simplistic "readdefs()", use in foreachmap.lua.

    Helixhorned r3212 18 Nov, 11:01
    Show details

    So that symbolic tile names can be used when searching maps.

  • General

    Remove many redundant (int16_t) casts and one now incorrect one.

    Helixhorned r3211 18 Nov, 11:01 FixEngine
    Show details

    The redundant ones are in code like this: s->cstat = (int16_t)32768; Because the value is eventually converted to the type of "s->cstat", any casts to integral types having at least as many bits are no-ops, signedness being irrelevant due to (probably any two's complement arch targeting compiler's) bit-pattern preserving semantics of these conversions. The now incorrect one is: if (lotag == (int16_t) 65535), "int32_t lotag" being read from a wall or sprite struct directly earlier. Now, with these members being unsigned, and (int16_t)65535 equalling -1, the check always fails. The correction fixes normal switches having such a lotag ending the level immediately. In short: integer casts before assignments are unnecessary, those in reads highly relevant!

  • General

    Correct arithmetic comparisons of lo/hitags in actors.c.

    Helixhorned r3210 18 Nov, 11:01 Fix
    Show details

    Rewriting them in the obvious way, i.e. by casting the expression to int16_t first. (That is, this commit is the reverse of r3174, but with casts applied.) This fixes at least one regression: a FIREEXT with a hitag of 0 should not be linked with same- (that is, zero-) tagged SEENINEs or OOZFILTERs. Mind the corner cases!

Build 3209

18 Nov 2012 · 1 commit · 1 author SVN
Open build
  • General

    Fix bound keys' commands being truncated in settings.cfg, control* cleanup.

    Helixhorned r3209 18 Nov, 07:44 Fix
    Show details

    - provide functions instead of messing with CONTROL_*Binds directly - comment out a few more unused functions - make clear what memory (alloc'd or const char *) 'keybind' members use - for keys with no name, use "<?>"

Build 3207

17 Nov 2012 · 7 commits · 1 author SVN
Open build
  • General

    Engine cleanup: factor out code getting bounds of sprites.

    Helixhorned r3207 17 Nov, 11:46 Engine
  • General

    Clean up base engine functions: tighten scope of locals declarations.

    Helixhorned r3206 17 Nov, 11:46 Engine
  • General

    Clean up engine code by factoring repeated 3-liners into spriteheightofs().

    Helixhorned r3205 17 Nov, 11:46 Engine
    Show details

    This function also changed: it doesn't handle floor-aligned sprites now, and the z offset is returned instead of set by pointer.

  • General

    A couple of meaning-preserving rewrites of picanm[]-touching code.

    Helixhorned r3204 17 Nov, 11:46
  • fix cycling picnum in 3D mode.

    Helixhorned r3203 17 Nov, 11:46 FixEngine
    Show details

    Using non-keypad [-]/[+] or LMB + mousewheel, it was broken when a void tile was in between.

Open the build to see all 7 commits

Build 3189

15 Nov 2012 · 5 commits · 1 author SVN
Open build
  • CON

    make lotag/hitag getters return signed values, as per agreement on IRC.

    Helixhorned r3189 15 Nov, 13:10 EngineCON
    Show details

    This means that the internal change done to these sprite members in r3159 is hidden from CON for backward-compatibility purposes. Note that .cstat and .{ceiling,floor}stat aren't touched, and will return unsigned values to CON.

  • General

    Probably fix the zoom crash encountered with Mapster32 and CBP8.

    Helixhorned r3188 15 Nov, 13:10 FixEngine
    Show details
  • General

    Minor loadpics() cleanups, don't expose filegrp[] from cache1d.c.

    Helixhorned r3187 15 Nov, 13:09
  • General

    picanm[]-cleanup pt1: hide code using animateoffs() behind macro DO_TILE_ANIM.

    Helixhorned r3186 15 Nov, 13:09
  • General

    foreachmap.lua: add possibility of running code per s/w/s match with ':' shortcut

    Helixhorned r3185 15 Nov, 13:09
    Show details

    Also, add a missing "pragma pack(pop)" to build.lua.

Build 3183

15 Nov 2012 · 19 commits · 1 author SVN
Open build
  • Fix clipboard tile display in 3D mode.

    Helixhorned r3183 15 Nov, 06:28 FixEngine
  • General

    demo.c: time G_DoMoveThings() using a double instead of an int32_t.

    Helixhorned r3182 15 Nov, 06:28 Fix
    Show details

    I think this may fix some negative "non-profiled overhead" that I have been seeing.

  • General

    Bump BYTEVERSION.

    Helixhorned r3181 15 Nov, 06:28
  • General

    Split r3159..r3161, part 14: The rest.

    Helixhorned r3180 15 Nov, 06:28
  • General

    Split r3159..r3161, part 13: Poly{mer,most}, engine changes.

    Helixhorned r3179 15 Nov, 06:28 Engine
Open the build to see all 19 commits

Build 3157

13 Nov 2012 · 2 commits · 1 author SVN
Open build
  • set first walls more conveniently on split in one special case.

    Helixhorned r3157 13 Nov, 02:50 Engine
    Show details

    Specifically, if the first wall of the sector-to-split is to the left or right of the *start* of the splitting line AND the sector has no TROR extensions, make these two the new nextwalls of the respective split sectors.

  • General

    Rewrite old-version-savegame signaling in a cleaner fashion.

    Helixhorned r3156 13 Nov, 02:50

Build 3153

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

    Make it possible to build a standalone libcache1d.so.

    Helixhorned r3153 11 Nov, 09:57
    Show details

    Exporting only (de)compression functions. Also, different reader/writer functions can be set.

  • General

    Couple of tweaks in player.c to match all ProjectileData[...].xxx with a regexp.

    Helixhorned r3152 11 Nov, 09:57
    Show details

    It would be something like "ProjectileData\[([^]]+)]\.([a-z_]+)".

  • General

    Fix demo playback with diff application enabled.

    Helixhorned r3151 11 Nov, 09:57 Fix
    Show details

    This requires ripping out the .proj member of tiledata_t back into ProjectileData[] again because it was the only one in g_tile[] that changed during the course of a game. The g_tile[] array is now also correctly flagged as "constant throughout a game" (DS_NOCHK). Savegame version bumped.

  • General

    Trivial G_Util_PtrToIdx*() tweaks.

    Helixhorned r3150 11 Nov, 09:57
  • General

    Fix viewing through moving cameras.

    Helixhorned r3149 11 Nov, 09:56 Fix
    Show details

    It's still not pretty though since there's no interpolation from G_DrawRooms().

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.