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:

January 2012 24 builds · 72 commits

Build 2290

27 Jan 2012 · 6 commits · 1 author SVN
Open build
  • General

    Remove a couple of nested externs and #include some headers directly

    Helixhorned r2290 27 Jan, 07:03
    Show details

    ... instead of relying on indirect inclusion via duke3d.h.

  • General

    In Mapster32, register the 'vidmode' OSD command in non-GL builds.

    Helixhorned r2289 27 Jan, 07:03 Engine
  • General

    Two tweaks for USE_OPENGL=0 builds.

    Helixhorned r2288 27 Jan, 07:03
    Show details

    - Always parse 'animsounds' defs - don't print "ignored frame/animation definition" warnings

  • General

    Fix USE_OPENGL=0 build; squelch one warning.

    Helixhorned r2287 27 Jan, 07:03 Fix
  • General

    Fix building with GCC 4.6 link-time optimization.

    Helixhorned r2286 27 Jan, 07:02 Fix
    Show details

    It looks like GCC doesn't honor the 'used' attribute with LTO. This is "fixed" by declaring the variables in question with external linkage (i.e. removing the 'static'). I consider such behavior a GCC bug, though.

Open the build to see all 6 commits

Build 2284

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

    Route the 5th mouse button to the game; bump savegame version.

    Helixhorned r2284 26 Jan, 13:58 Fix
    Show details

    The "double-click button4" had to make way for MOUSE5 in the button binds menu, but I don't think anyone cares. Savegame compatibility was actually silently broken with the MAXTILES update earlier, but I forgot updating the version...

  • General

    small correction of a memory-clearing line in namesdyn.c

    Helixhorned r2283 26 Jan, 13:58
  • General

    Rearrange 'struct hicreplc_t' members so that no padding is inserted on x64.

    Helixhorned r2282 26 Jan, 13:58
  • General

    engine.c cleanup, making some variables static mostly

    Helixhorned r2281 26 Jan, 13:58 Engine
  • General

    Fix a potential sector[-1] access when drawing a masked wall in Polymost.

    Helixhorned r2280 26 Jan, 13:57 FixEngine

Build 2278

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

    Fix sprite[-1] access when aborting playing a sound in Mapster's Sound Index.

    Helixhorned r2278 23 Jan, 11:13 FixEngine
    Show details

    Also a couple of other cleanup lines... might need more though, I'm not sure it's all good there.

Build 2277

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

    Fix sprite[] access with indices > MAXSPRITES in Polymer model drawing code.

    Helixhorned r2277 22 Jan, 09:18 FixEngine
    Show details

    Internally, updateanimation() now takes a third parameter 'lpal'.

Build 2272

20 Jan 2012 · 2 commits · 1 author SVN
Open build
  • General

    minor engine cleanup.

    Helixhorned r2272 20 Jan, 05:24 Engine
    Show details

    - enclose glbuild.h in #idndef ... sentinels - engine.c: remove unused variable 'pageoffset', make 'lastx' static - formatting

  • General

    Use ATTRIBUTE((used)) for symbols used only in inline asm.

    Helixhorned r2271 20 Jan, 05:23 Fix
    Show details

    This may fix compilation for optimized builds with GCC or clang where the compiler would otherwise decide that those symbols are unused.

Build 2270

19 Jan 2012 · 2 commits · 1 author SVN
Open build
  • General

    Inreased debugging level for catching oob accesses to 'main' arrays.

    Helixhorned r2270 19 Jan, 15:17 Engine
    Show details

    If enabled, this makes the following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc'd block temporarily). To compile, pass DEBUGANYWAY=1 in addition to RELEASE=0 to 'make', and it's really only useful with CC=clang, of course.

  • General

    Fix a problem in G_DrawRooms where an sectnum updated to -1 may be used as index.

    Helixhorned r2269 19 Jan, 15:17 Fix

Build 2268

19 Jan 2012 · 4 commits · 1 author SVN
Open build
  • General

    Fix oob accesses when e.g. shooting tile -1. (can propagate via WEAPONx_SHOOTS)

    Helixhorned r2268 19 Jan, 13:58 FixCON
    Show details

    Ideally, we would also warn when setting WEAPONx_SHOOTS to negative values, but we'd have to intercept CON's setvar's and it wouldn't be pretty.

  • General

    Double MAXTILES to 30720, reduce EXTRATILES (models w/ custom pal skin) to 3840

    Helixhorned r2267 19 Jan, 13:58
    Show details

    I'm decreasing EXTRATILES because I feel that it's way overcommitted. It's the max number of model-tiles that have their own skin for a certain palette, like the slimer egg in the HRP.

  • General

    less trivial stuff

    Helixhorned r2266 19 Jan, 13:57 Fix
    Show details

    - fix one bound-checking line - rewrite two lines in astub.c to potentially not overflow an int16 - make tiletovox[] an array of int16's

  • General

    trivial tweaks: make stuff static, remove unused stuff, formatting...

    Helixhorned r2265 19 Jan, 13:57

Build 2261

15 Jan 2012 · 4 commits · 1 author SVN
Open build
  • General

    Remove the allocache() allocation type for 'intptr_t *lookups'.

    Helixhorned r2261 15 Jan, 14:39
    Show details

    Always malloc that buffer. This allows us to remove suckcache() from cache1d.c, which I believe to be buggy (see comments in the source).

  • General

    cleanup:

    Helixhorned r2260 15 Jan, 14:39 Engine
    Show details

    - 'whitecol' was defined in the engine and in build.c, use only the engine one - make cachesize, artsize, artversion static in engine.c - undo some formatting havoc presumably done by astyle

  • General

    Increase the number of maximum art files from 64 to 256 and tweak loadpics().

    Helixhorned r2259 15 Jan, 14:39
    Show details

    It is likely that this is the value it used to have at some point, because the MAXTILEFILES macro equals 256 and is as old as the Duke3D source. loadpics() now refuses to load an ART file with localtilestart or localtileend out of bounds, or if localtileend<=localtilestart (i.e. no tiles in ART file, or nonsense). Also, on 'invalid art file version', continue instead of returning. Note: this does not increase the maximum number of tiles, which is still 15360, it only gives a bit more freedom to arrange them (well, into more art files). Also, I don't see what anyone keeps off from packing any number of tiles (from 1 to 15360) into an art file. Old EDITART limits?

  • General

    Add a hack to the animsounds DEF token parsing to not wrongly emit an error.

    Helixhorned r2258 15 Jan, 14:38

Build 2257

14 Jan 2012 · 2 commits · 1 author SVN
Open build
  • General

    Fix parallaxed sector display in Mapster32 on Polymer.

    Helixhorned r2257 14 Jan, 06:48 FixEngine
  • General

    Fix the Polymer hitches first encountered with Parkade.

    Helixhorned r2256 14 Jan, 06:48 FixEngine
    Show details

    The cause was a combination of many factors. First, Polymer requires the start-drawing position to be inside the sector to draw (deviations lead to incorrect drawing). This was violated by the game, because it interpolated the current and next tic position without updating the sectnum, leading to inconsistencies especially when passing through narrow sectors. Polymer worked around it by doing an updatesector() each frame, however this works poorly for maps with overlapping geometry such as SoS or RoR. The solution to this is to add a new engine function, updatesector_onlynextwalls(), which searches the sectors (via nextsector) in breadth-first fashion instead of from 0 to numsectors-1, like updatesector does when it fails for the *immediate* nextwall neighbors. Internally, the breadt-first search helpers are moved into the engine.

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.

Open the build to see all 8 commits

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 }

Open the build to see all 8 commits

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!).