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

January 2012 26 builds · 75 commits

Build 2255

12 Jan 2012 · 8 commits · 1 author SVN
Open build
  • General

    winlayer.c: in WM_PALETTECHANGED handling code ("someone stole the palette

    Helixhorned r2255 12 Jan, 12:49 Fix
    Show details

    so try and steal it back"), prevent calling IDirectDrawSurface_SetPalette() with NULL arguments, causing a crash. It's happened for me on Vista, when initially changing from 8-bit to 32-bit mode.

  • General

    Add Makefile option to use the DMALLOC (debug malloc) library.

    Helixhorned r2254 12 Jan, 12:49 Fix
    Show details

    I didn't have much success in finding bugs using it, but it works out-of-the-box on my setup, so it may be useful in the future.

  • General

    sdlayer.c: formatting of preprocessor lines

    Helixhorned r2253 12 Jan, 12:49
  • General

    Support for the first "thumb" mouse button, called MOUSE4 in the menu.

    Helixhorned r2252 12 Jan, 12:48
    Show details

    The second one is passed to the 'mouseb' variable, but the game currently can't map it since ud.config.MouseFunctions[] would have to be enlarged, breaking savegame compatibility. Works both for the Windows and SDL layers. For the latter, instead of using the SDL_BUTTON_X1/X2 macro constants, I'm using 8 and 9, since that is what SDL (and incidentally or not, xev) gives me for those buttons.

  • General

    Temporarily disable the 'model thinning-out' feature intended to save memory.

    Helixhorned r2251 12 Jan, 12:48 Fix
    Show details

    It turns out that with model interpolation, out-of-bounds frame numbers may be generated with thinned out models, so disable it until I can sort out what's wrong with it. Also, minor code cleanup.

Show the other 3 commits in this build

Build 2247

10 Jan 2012 · 8 commits · 1 author SVN
Open build
  • General

    a couple more trivial tweaks

    Helixhorned r2247 10 Jan, 15:45
  • General

    md4.c/h: add consts to appropriate arguments

    Helixhorned r2246 10 Jan, 15:45
  • General

    sounds.c: check the sound number before accessing arrays with it; always do

    Helixhorned r2245 10 Jan, 15:44
    Show details

    this in "(unsigned)i < bound" fashion.

  • General

    trivial formatting / removing of old cruft / adding comments

    Helixhorned r2244 10 Jan, 15:44
  • General

    animvpx sound: fix the 'may have many sounds per frame' requirement

    Helixhorned r2243 10 Jan, 15:44 Fix
    Show details

    E.g. this should work correctly now: // FLY_BY, PIPEBOMB_EXPLODE, OCTA_DYING animsounds logo { 1 244 64 14 64 144 }

Show the other 3 commits in this build

Build 2237

7 Jan 2012 · 1 commit · 1 author SVN
Open build
  • General

    When defining a model with the 'model' token and there were errors, don't

    Helixhorned r2237 7 Jan, 09:48
    Show details

    let it hang around causing trouble later on; delete it right now and inform the user. Add a couple of 'static's to some functions and file scope data in mdsprite.c

Build 2236

5 Jan 2012 · 1 commit · 1 author SVN
Open build
  • General

    - When saving game, clear all polymer lights before. Not doing this makes

    Helixhorned r2236 5 Jan, 13:58 Engine
    Show details

    the SE ones douple, triple, ... after each save. Maphack lights are reloaded with polymer_resetlights() (though I've had them disappearing after load, I couldn't reproduce it afterwards). - in debugging builds, print a message when polymer_resetlight is called on a nonexistent one. The problem is not so much the call itself (it's guarded), but the fact that resources on the caller side may not have been freed if it thinks that those lights do in fact exist. Right now, it's not the case though. - add 'loaded map hack' messages after some other successful loadmaphack calls

Build 2235

5 Jan 2012 · 3 commits · 1 author SVN
Open build
  • General

    When loading a game, DON'T restore 'adult' TV tiles. This fixes the recent

    Helixhorned r2235 5 Jan, 12:48 FixEngine
    Show details

    crashes. Usually, after loading a game, some wall tiles are tweaked depending on whether adult mode is enabled or not. If it's not, those wall picnums are replaced with blank or broken screens. If it is, they are restored from the wall's .extra member. Apparently though, Mapster32 leaves some .extra members floating around even after deleting a TROR nextwall link (it's used as the 'lower wall index'). Because MAXWALLS is greater than MAXTILES, this may produce out-of-bounds accesses and corrupt memory (besides setting wall tilenums to nonsensical values) later in the game. Other than that, the change only affects loading savegames created with adult mode OFF. Kinky TV screenies simply won't be restored then.

  • General

    savegame.c: some const void **ptr -> void **ptr, since they're certainly not const

    Helixhorned r2234 5 Jan, 12:48
  • General

    trivial tweaks: some NULLing pointer after freeing them; move the 'too much mirrors'

    Helixhorned r2233 5 Jan, 12:48
    Show details

    check one 'if' down since mirrors are only created when the condition holds

Build 2232

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

    Pass bit 16 to P_SetGamePalette from CON's setgamepalette (forgotten from earlier commit)

    Helixhorned r2232 3 Jan, 11:56 CON
  • General

    Patch up access of malloc'd buffer one byte beyond its size in kplib's

    Helixhorned r2231 3 Jan, 11:55
    Show details

    JPEG decoder (unearthed by valgrind).

  • General

    In G_NewGame(), call Gv_RefreshPointers after Gv_ResetVars.

    Helixhorned r2230 3 Jan, 11:55 CON
    Show details

    Resetting the gamevars might produce inconsistencies between an earlier loaded game (for example, if it was saved with different/earlier CON code), and worst of all, the gamevars that reference C variables might be overwritten (i.e. the addresses to those variable, which is very bad!).

December 2011 20 builds · 87 commits

Build 2229

31 Dec 2011 · 2 commits · 1 author SVN
Open build
  • General

    - Format CON crash output in VM_ScriptInfo() much more nicely.

    Hendricks266 r2229 31 Dec, 20:14 FixCON
    Show details

    - Execute VM_ScriptInfo() when DNDEBUG is used.

  • General

    Comment ldcty[12] array from kpegrend() to remove last of set-but-unused warnings. I don't see any reason to leave this alone.

    Hendricks266 r2228 31 Dec, 20:12

Build 2226

29 Dec 2011 · 1 commit · 1 author SVN
Open build
  • CON

    make the 'palette' player member actually return the player's palette ID

    Helixhorned r2226 29 Dec, 06:26 CON
    Show details

    instead of -1. Setting is still only through 'setgamepalette'.

Build 2225

28 Dec 2011 · 9 commits · 1 author SVN
Open build
  • General

    Besides the performance issues, there's another reason why changing the palette

    Helixhorned r2225 28 Dec, 12:36 EngineCON
    Show details

    'frequently' isn't such a good idea. Assume an actor constantly changes the palette to some value and you're attacked by a newbeast at the same time. Then the pain tinting would be reset each time the actor's code is run. This commit adds a new flag 16 to setbrightness(), meaning "don't reset the fade tinting". Its only use right now is from CON's setgamepalette command (and there, always). The change is done in the engine and thus affects all platforms.

  • General

    Trivial tweaks of setbrightness. Add an assertion that bits 1 and 4 are clear,

    Helixhorned r2224 28 Dec, 12:35
    Show details

    mainly. Also remove setvgapalette() from source.

  • General

    The earlier changes introduced bugs when palettes were not set correctly in

    Helixhorned r2223 28 Dec, 12:35 Fix
    Show details

    certain situations (mostly cutscenes etc). This commit removes bit 1 from all flags that make it to setbrightness, the meaning of which is "don't actually update the palette". I have no idea what it was for and since the corresponding P_SetGamePalette() calls were from places like the mentioned cutscenes, I don't think it matters performance-wise.

  • General

    SDL layer: don't call SDL_SetGammaRamp() if there would be no change.

    Helixhorned r2222 28 Dec, 12:34 Fix
    Show details

    This is in the similar vein as the set-palette deferring and it's this that fixes the low FPS in the radioactively contaminated area in AMC TC: Megabase (since setgamma() is called from setbrightness()). Again, update issues might be expected, but changing focus between EDuke32 and the desktop and back seems to restore the gamma settings properly on Kubuntu. Looks like X (or whatever above handles this stuff) maintains it on a per-application basis.

  • General

    SDL layer: in 8-bit mode, defer setting the palette until showing the next frame.

    Helixhorned r2221 28 Dec, 12:34 CON
    Show details

    CON code sometimes uses 'setgamepalette' from withing actors, which is a bit too frequent. Deferring the actual palette updating means that multiple requests in between two screen redraws are coalesced into one, which is desirable for performance reasons and for the reduction of 'tearing' artefacts (but not prevention, since the drawing isn't synced to the screen refresh rate with vsync off). (Did-not-)update issues might be introduced. Windows isn't touched because - I expect it to be more brittle, especially in light of the ATI HW gamma problems. - I haven't tested whether the particular performance penalty that lead to this change ('gas' in AMC TC) exists there too

Show the other 4 commits in this build

Build 2216

27 Dec 2011 · 2 commits · 1 author SVN
Open build
  • make smoststart[] (which saves starting "smostcnt"s) an array of int32's

    Helixhorned r2216 27 Dec, 06:22 FixEngine
    Show details

    instead of shorts. This fixes their values' overflow in AMC TC megabase and probably a couple of other large maps.

  • net

    fix bug in Net_ParseServerPacket introduced with SAMESIZE_ACTOR_T.

    Helixhorned r2215 27 Dec, 06:22 Fix

Build 2214

26 Dec 2011 · 2 commits · 1 author SVN
Open build
  • General

    Fix sintable access with raw angle value (which might be outside [0..2047])

    Helixhorned r2214 26 Dec, 07:44 Fix
    Show details

    in overhead map drawing code.

  • General

    patch up another out-of-bounds access in the voxel drawing code, though

    Helixhorned r2213 26 Dec, 07:44 Engine
    Show details

    I'm not sure whether the increased array size is enough.

Build 2212

26 Dec 2011 · 1 commit · 1 author SVN
Open build
  • General

    savegame.c: fix initial setting of compression threshold on savegame load;

    Helixhorned r2212 26 Dec, 06:37 Fix
    Show details

    64-bit fixes

Build 2211

25 Dec 2011 · 16 commits · 1 author SVN
Open build
  • General

    start CON code at script[3] instead of script[1]. The 'move' command permits

    Helixhorned r2211 25 Dec, 07:35 CON
    Show details

    the constants 0 and 1, and moveptrs may reference the script up to index 2 then (though I'm not sure whether the code is reachable with moveofs either 0 or 1), so make sure it's nulled instead of whatever happened to compile at the first two positions. Move 1 is only used once in the original cons, when frozen and being shattered.

  • General

    fix displaying the screenshot even for old-version savegames.

    Helixhorned r2210 25 Dec, 07:34 Fix
  • net

    send BYTEVERSION as two bytes, high byte first.

    Helixhorned r2209 25 Dec, 07:34
    Show details

    Now we don't need to worry about the numbers running out soon. Bump BYTEVERSION by three to celebrate this, too.

  • General

    Enable SAMESIZE_ACTOR_T described earlier.

    Helixhorned r2208 25 Dec, 07:34
  • General

    Rewrite the savegame format in terms of the generic saving/loading system.

    Helixhorned r2207 25 Dec, 07:34
    Show details

    This makes savegames practically the same as the initial snapshot of a demo. Saves are now named 'dukesavX.esv' (demos: 'edemoX.edm'). Additionally, many changes that couldn't/needn't be cleanly separated are added with this commit: - make spriteext_t have the same size across 32/64 bit platforms (actor_t partially) - prevent saving/loading in MP games (it certainly didn't work and still doesn't) - it's time we start using assertions! Define NDEBUG for releasse builds. - reset savegame major and minor versions (we have a new magic string, so no conflict)

Show the other 11 commits in this build

Build 2195

21 Dec 2011 · 11 commits · 1 author SVN
Open build
  • General

    minor cosmetic tweaks in sector.[ch] and a off-by-one limit correction there

    Helixhorned r2195 21 Dec, 10:43 Engine
  • General

    Fix out-of-bounds write when passing a map filename to Mapster32.

    Helixhorned r2194 21 Dec, 10:43 FixEngine
  • actor. (Needs SAMESIZE_ACTOR_T, which is not yet enabled)

    Helixhorned r2193 21 Dec, 10:43
  • General

    misc. beautifying some game code...

    Helixhorned r2192 21 Dec, 10:42
  • General

    some more clearbuf -> memset in gamedef.c plus add a forgotten keystatus

    Helixhorned r2191 21 Dec, 10:42
    Show details

    reset in the editor

Show the other 6 commits in this build

Build 2184

17 Dec 2011 · 2 commits · 1 author SVN
Open build
  • General

    Add new actor[].flags flag 2048 (SPRITE_NOCLIP), for 'spriteflags' CON usage.

    Helixhorned r2184 17 Dec, 10:51 EngineCON
    Show details

    Actors are always moved such that _they_ clip against blocking sprites, even if their blocking bit is clear. Setting the new bit make them not clip against anything. The promary use of this is for decorative moving sprites that are spawned in masses, such as rain or snow.

  • General

    engine.c, in engine_addtsprite: if we can't add more tsprites because we

    Helixhorned r2183 17 Dec, 10:51 Engine
    Show details

    already have MAXSPRITESONSCREEN of them, return 1 to signal that the caller should break out of the loop.

Build 2182

15 Dec 2011 · 3 commits · 1 author SVN
Open build
  • General

    Tweaks to compile the release build with clang. Now if it only would not

    Helixhorned r2182 15 Dec, 14:43
    Show details

    generate curious code like this one (Ubuntu 11.10's clang 2.9 on i386): 0x080a57ea <+538>: xor %al,%al 0x080a57ec <+540>: test %al,%al 0x080a57ee <+542>: jnz 0x80a57f2 <initgroupfile+546> => 0x080a57f0 <+544>: jmp 0x80a57f0 <initgroupfile+544> 0x080a57f2 <+546>: shl $0x4,%edi

  • General

    Patch up out-of-bounds access in some voxel drawing code.

    Helixhorned r2181 15 Dec, 14:42 Engine
  • General

    Don't spawn weapon tiles (WEAPONx_SPAWN) if any such value has been set

    Helixhorned r2180 15 Dec, 14:42 EngineCON
    Show details

    to negative numbers. Previously, only checks for being zero were performed, but CON code in the wild also has WEAPONx_SPAWN -1, which would propagate to the sprite picnum...

Build 2179

12 Dec 2011 · 4 commits · 1 author SVN
Open build
  • General

    a.m32: new state 'print_parallel_midpts'

    Helixhorned r2179 12 Dec, 15:18 Engine
  • Rudimentary support for auto-aligning along TROR nextwalls.

    Helixhorned r2178 12 Dec, 15:18 Engine
    Show details

    Usage: press the ['] (quote) modifier together with the PERIOD key. Aligns only the immediate upper and lower neighbors of each wall that got aligned by following point2s or nextwalls. Doesn't play well with Alt (carry over xrepeat) yet, might need two subsequent alignment passes.

  • General

    Fix out-of-bounds access in tile selector code in astub.c

    Helixhorned r2177 12 Dec, 15:18 Fix
  • General

    checkdefs.sh script: hackish support for CON files, only 'include *.con' and

    Helixhorned r2176 12 Dec, 15:18 CON
    Show details

    'definesound ... *.(voc|wav|ogg)' commands (missing: 'music', something else?).

Build 2175

11 Dec 2011 · 3 commits · 1 author SVN
Open build
  • General

    Fix two yax_drawrooms() calls with too large sectnums (copy&paste error).

    Helixhorned r2175 11 Dec, 05:26 Fix
  • General

    Fix a number of oob accesses with "switch switches".

    Helixhorned r2174 11 Dec, 05:26 FixEngine
    Show details

    Various code checked for switch tiles in the following manner, for (ii=0; ii<2; ii++) switch (DynamicTileMap[sprite[i].picnum-1+ii]) { case SOME_SWITCH: ... } which blows for picnum 0. Now, we simply disallow it.

  • Remove {eduke32,mapster32}.memmap files on clean/veryclean targets

    Helixhorned r2173 11 Dec, 05:26 Engine
    Show details

    (bioman request).