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:

February 2012 24 builds · 82 commits

Build 2390

27 Feb 2012 · 1 commit · 1 author SVN
Open build
  • General

    Significantly speed up non-power-of-two floor sprite texture mapping functions.

    Helixhorned r2390 27 Feb, 11:40 Engine
    Show details

    (Classic renderer). We don't need 64-bit integers; also use the nice asm version of divscale32() if possible.

Build 2387

25 Feb 2012 · 1 commit · 1 author SVN
Open build
  • General

    Try to find another mirror wall if the assigned one breaks.

    Helixhorned r2387 25 Feb, 07:59 FixEngine
    Show details

    This fixes mirrors consisting of more than one walls not drawing when the first assigned mirror wall breaks. It still does not let you have more than one mirror (i.e. mirror sectors) showing up at the same time in the scene. Affects classic and Polymost only.

Build 2381

24 Feb 2012 · 2 commits · 1 author SVN
Open build
  • General

    Do bound check for "quick" sector/wall accesses from CON, i.e. in getvarvar.

    Helixhorned r2381 24 Feb, 11:51 EngineCON
    Show details

    This was causing oob sector accesses with code like this: getwall[hitwall].nextsector temp ifvarvare sector[temp].floorz sector[temp].ceilingz setvar tempb 1 (from DT's HYPERCORE). Also validate quote indices passed to CON's quote and userquote commands at runtime.

  • General

    Fix user quotes colored with a 2-digit number being wrongly x-aligned.

    Helixhorned r2380 24 Feb, 11:51 Fix
    Show details

    Such game text was shown starting from about the center of the screen. The reason for the bug was this code: t += 1 + isdigit(*(t+2)); The sequence points here are at the beginning and end of this assignment expression, and the updating of t may happen anywhere between these (C99 6.5.16 #3). Please don't write such code. When in doubt, and assignment and reference to the same object should be split!

Build 2379

21 Feb 2012 · 3 commits · 1 author SVN
Open build
  • General

    Pull the 'for (' ... ')' out of the TRAVERSE_{CONNECT,SPRITE_*} macros.

    Helixhorned r2379 21 Feb, 11:33
    Show details

    This plays more nicely with automatic formatters. Also indent accordingly.

  • General

    QUOTE_NVG_OFF-p->heat_on --> QUOTE_NVG_OFF-!!p->heat_on in sector.c.

    Helixhorned r2378 21 Feb, 11:33 EngineCON
    Show details

    Because: 1) It used to be like this; 2) guard against bad CON input.

  • General

    Fix potential (certain?) oob access with ST28/SE21.

    Helixhorned r2377 21 Feb, 11:32 FixEngine
    Show details

    Encountered with Scent.map. Since the SE21 are deleted after they have been used, the search for them in the ST28 code in sector.c may come up empty, in which case sector[-1] would be accessed.

Build 2376

21 Feb 2012 · 1 commit · 1 author SVN
Open build
  • General

    Fix sprites with picnums >= MAXSPRITES not drawing in classic.

    Helixhorned r2376 21 Feb, 10:24 FixEngine
    Show details

    This was discovered because viewscreens (TILE_VIEWSCR) ceased being drawn with the MAXTILES increase (reported by Hank, who also did the bisect).

Build 2375

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

    Uncomment "CrosshairColor" parsing code in config.c.

    Helixhorned r2375 20 Feb, 13:18
    Show details

    Untested, but LeoD says it works.

  • General

    Define Batoi/Batol to strtol(...) in compat.h and use these when necessary.

    Helixhorned r2374 20 Feb, 13:17
    Show details

    That is, everyplace a user input is to be converted. The only remaining instance of atoi() is now atoi(s_buildDate).

Build 2373

20 Feb 2012 · 8 commits · 1 author SVN
Open build
  • make neartag accept a sprite-blacklist function and use it in sector.c.

    Helixhorned r2373 20 Feb, 11:54 EngineCON
    Show details

    Internally, the last argument to neartag is now a pointer to a function int32_t (*blacklist_sprite_func)(int32_t i), which is supposed to return 1 if sprite[i] should NOT be considered for hitting. This is now used in the hard-coded neartag() calls in sector.c, but not in any way in CON (there's neither a C blacklist function provided, nor is there a possibility to define one in CON). There, all sprites with picnums >=1 and <=10 (i.e. the effectors) will be blacklisted. This remedies problems where such sprites would get in the way of switches. Note that a whitelist approach (only consider a predefined set, namely those picnums which will be checked afterwards) has back-compatibility implications since people may have used e.g. lotagged window sprites to cover a switch. Also, the >=1 to <=10 range is [sic] (the static, not dynamic values are used), since anyone redefining effector picnums is clearly out of their mind.

  • General

    Make neartag() return void instead of always 0.

    Helixhorned r2372 20 Feb, 11:53
  • General

    polymost.c: More informative failure message for gloadtile_cached().

    Helixhorned r2371 20 Feb, 11:53 Engine
  • General

    Use maps selector: draw files found in ZIPs with pal 8.

    Helixhorned r2370 20 Feb, 11:53
  • General

    cache1d.c: more meaning-preserving transformations, patch up one oob access.

    Helixhorned r2369 20 Feb, 11:52
    Show details

    lzwcompress can access one byte after lzwrawbuf[LZWSIZE] when provided with an uncompleng of LZWSIZE, so we increase that array's size by one.

Open the build to see all 8 commits

Build 2364

18 Feb 2012 · 4 commits · 1 author SVN
Open build
  • General

    Make compiler happy: remove 'may be used uninitialized' warning in multivoc.c.

    Helixhorned r2364 18 Feb, 14:15
    Show details

    I'm not getting this warning (synthesis is) but I think it's justified because the VOC block parsing code isn't terribly validating...

  • General

    Fix a potential free() of stack memory in screenshot code. Ouch!

    Helixhorned r2363 18 Feb, 14:15 Fix
  • General

    Comment out unused dfread and kdfwrite functions in cache1d.c.

    Helixhorned r2362 18 Feb, 14:15
  • General

    constify various cache1d and pragmas functions, some copybuf* -> memcpy/move.

    Helixhorned r2361 18 Feb, 14:14
    Show details

    The following functions have const qualifiers attached for the 'destination' arguments: kdfwrite, dfwrite in cache1d.c and copybuf{byte,reverse,} in the pragmas source or headers. A couple uses of the latter ones were replaced with calls to standard library functions.

Build 2360

18 Feb 2012 · 8 commits · 1 author SVN
Open build
  • General

    cache1d.c: debugging feature routing all allocache requests to malloc.

    Helixhorned r2360 18 Feb, 09:57
    Show details

    This is useful to debug out-of-bound violations for memory allocated with that function.

  • General

    menus.c: rename _bar to sliderbar.

    Helixhorned r2359 18 Feb, 09:56
  • make aspect ratio also control r_usenewaspect.

    Helixhorned r2358 18 Feb, 09:56 Engine
    Show details

    - RENDERER SETUP is now also accessible from classic, with only 2 options: 'aspect ratio' and 'ambient light level' - remove the latter option from the VIDEO SETUP menu - When compiled with OpenGL, the aspect ratio option cycles between 3 states: r_usenewaspect=1 (the modern way), and r_usenewaspect=0 but r_widescreen=0/1. In non-GL builds, there are only 2 states. - don't display black translucent overlay in COLOR CORRECTION menu

  • General

    Fix non-OpenGL build.

    Helixhorned r2357 18 Feb, 09:56 FixEngine
  • General

    In the user map selector, sort file names case-insensitively on Unix'y systems.

    Helixhorned r2356 18 Feb, 09:56 Engine
    Show details

    This makes more sense because the game selector draws the names with uppercase letters and the hotkeys to jump to a map starting with a particualar letter aren't case sensitive, either. Mapster32's selector will still display maps starting with upper case first.

Open the build to see all 8 commits

Build 2351

16 Feb 2012 · 7 commits · 1 author SVN
Open build
  • General

    Update samples/trueror1.map with some tests of sprites lying on TROR floors.

    Helixhorned r2351 16 Feb, 11:25 FixEngine
    Show details

    Also, there's a "ladder" that passes through a TROR portal, and the mirror in that map has been fixed for the classic renderer.

  • Fix extended ceiling/floor picnums taking on picnum 0 in Polymer.

    Helixhorned r2350 16 Feb, 11:25 FixEngine
    Show details

    The reason was that drawmasks(), which was where the resetting of the fake RoR textures happened under Polymer, can be called from polymer_displayrooms() when mirrors are present. I was assuming that drawmasks() was only ever called after the 'main' drawrooms and that hence the sequence of fake RoR tile tweaking was set, reset, set, reset, ... which it was not. Now, do the resetting explicitly after every drawmasks() in the editor.

  • General

    When loading a map in-game, clear TROR wall members corresponding to up/down links.

    Helixhorned r2349 16 Feb, 11:25 FixEngineCON
    Show details

    I find this cleaner for two reasons. First, lotags won't get in the way of neartag(), so that doors and switches near constrained TROR walls can be pushed. Second, this removes the information leak so that CON coders aren't tempted to read that values directly before a proper API for that comes along. When writing out a map in-game (e.g. with dndebug), restore the respective members so that it can be loaded in the editor again.

  • General

    engine.c: Rewrite tslopevlin (translucent slope vline texmapping) for clarity.

    Helixhorned r2348 16 Feb, 11:24 Engine
  • General

    Fix player being not blocked by sprites lying on an extended floor.

    Helixhorned r2347 16 Feb, 11:24 FixEngine
    Show details

    getzrange() returns the floor rather than the sprite if their heights are equal. Now, make an exception for extended floors (analogously, ceilings).

Open the build to see all 7 commits

Build 2344

14 Feb 2012 · 4 commits · 1 author SVN
Open build
  • General

    Fix use of an uninitialized variable in P_FindWall->FindDistance2D with noclip.

    Helixhorned r2344 14 Feb, 15:14 Fix
  • General

    engine.c: replace 0xXXXXXXXX literals with INT32_MIN/MAX; whitespace changes.

    Helixhorned r2343 14 Feb, 15:13 Engine
  • General

    Fix a couple of out-of-bounds accesses when roaming around with noclip.

    Helixhorned r2342 14 Feb, 15:13 FixEngine
    Show details

    - guard cansee() against negative sectnums (return 0 immediately), since it's often called with the player sectnum as one argument - in resetpspritevars(), don't inset APLAYER sprite if sectnum < 0, which can happen if a map is started in void space accidentally (e.g. from the editor) - two checks before accessing sector[] with a player sectnum

  • General

    Fix sprite rendering glitches with r_usenewaspect=1 in 8-bit mode.

    Helixhorned r2341 14 Feb, 15:13 FixEngine

Build 2340

13 Feb 2012 · 3 commits · 1 author SVN
Open build
  • General

    Make 5th mouse button functional in Windows.

    Helixhorned r2340 13 Feb, 13:38
  • General

    Draw HANDHOLDINGLASER and ~ACCESS with guniqhud=200 and 201, respectively.

    Helixhorned r2339 13 Feb, 13:38 Fix
    Show details

    This fixes updateanimation picking up foreign (and thus potentially oob) frame numbers at "3: c > n".

  • General

    Remix mdsprite.c's updateanimation() to look prettier and clearer.

    Helixhorned r2338 13 Feb, 13:37
    Show details

    Specifically, - rearrange conditionals - factor out constant expressions - add a couple of debugging printfs for extraordinary events (oob frames) - add VERIFY comments for implicit assertions I'd like to verify sometime Also, one calloc -> malloc.

Build 2337

12 Feb 2012 · 3 commits · 1 author SVN
Open build
  • General

    Debugging helper disabling a.nasm calls with OpenGL renderers.

    Helixhorned r2337 12 Feb, 05:47 Engine
    Show details

    Uncomment #define DEBUG_VALGRIND_NO_SMC in duke3d.h to be able to valgrind --smc-check=none (or the default stack-only) with Polymost and Polymer renderers.

  • General

    Patch up out-of-bounds access (r/w) when mixing 16-bit stereo *source* data.

    Helixhorned r2336 12 Feb, 05:47
    Show details

    ... by allocating two bytes more for the mixing buffers.

  • General

    Fix uninitialized mem access in dorotatesprite with thin tiles (e.g. 3085).

    Helixhorned r2335 12 Feb, 05:46 Fix

Build 2334

11 Feb 2012 · 4 commits · 1 author SVN
Open build
  • General

    jmact/control.c: rewrite strange looking loop.

    Helixhorned r2334 11 Feb, 03:52
  • General

    Draw translucent black background only when playing (back a demo or oneself).

    Helixhorned r2333 11 Feb, 03:52
  • General

    Fix menu text not drawing when not playing (back), introduced in r2326.

    Helixhorned r2332 11 Feb, 03:51 Fix
  • General

    Fix zero-size calloc when enumerating a joystick with no hats in SDL.

    Helixhorned r2331 11 Feb, 03:51 Fix

Build 2330

9 Feb 2012 · 10 commits · 1 author SVN
Open build
  • General

    Remove a couple of redundant declarations.

    Helixhorned r2330 9 Feb, 14:45
  • interface to events.

    Helixhorned r2329 9 Feb, 14:45
  • General

    Add some #includes to gameexec.h and sector.h so that they can be included directly

    Helixhorned r2328 9 Feb, 14:44 Engine
  • General

    Use a tokenlist for the event names and add tokenlist typedef to gamedef.h.

    Helixhorned r2327 9 Feb, 14:44
  • General

    Make r_maxfps functional in demo playback.

    Helixhorned r2326 9 Feb, 14:44
Open the build to see all 10 commits

Build 2318

4 Feb 2012 · 5 commits · 1 author SVN
Open build
  • General

    rotatesprite(..., windowx1,windowy1,windowx2,windowy2) --> rotatesprite_win

    Helixhorned r2318 4 Feb, 13:35
  • a bit rearrangement, getbunch.

    Helixhorned r2317 4 Feb, 13:34
  • General

    game.c: trivial tweaks to reduce code duplication (which is hard on the eyes)

    Helixhorned r2316 4 Feb, 13:34
  • fix crash with 'vidmode <bpp>' introduced in r2311.

    Helixhorned r2315 4 Feb, 13:34 FixEngine
  • General

    Factor out four instances of identical code into M32_DrawRoomsAndMasks().

    Helixhorned r2314 4 Feb, 13:33