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 670 builds · 2,334 commits

Export CSV
Display options
Commit details:

March 2012 21 builds · 116 commits

Build 2525

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

    Make "LIBS+= $(L_SSP) -Wl,--enable-auto-import" conditional to Windows.

    Helixhorned r2525 24 Mar, 08:59
  • General

    Correct 'nofloorpalrange' range clamping, move one get_hud_pal() farther down.

    Helixhorned r2524 24 Mar, 08:59
    Show details

    The nofloorpalrange beginning and end indices are silently clamped to 1 .. 255.

Build 2519

22 Mar 2012 · 9 commits · 1 author SVN
Open build
  • General

    Rather trivial changes in engine.c and crc32.c.

    Helixhorned r2519 22 Mar, 15:48 Engine
  • General

    Make 'nofloorpalrange' def token affect HUD weapons.

    Helixhorned r2518 22 Mar, 15:47
  • General

    New game def token "nofloorpal <pbeg> <pend>", disabling sprites taking on floor pals.

    Helixhorned r2517 22 Mar, 15:47 Engine
    Show details

    It has always annoyed me how floors with "shirt-color" type palookups like 21 affected the color of its containing sprites and HUD-drawn stuff. This commit allows one to specify an inclusive range of pals for which this should be disabled for sprites (but not for HUD stuff, yet).

  • General

    Remove global 'uint8_t *anim_pal' which was only used once as a temporary.

    Helixhorned r2516 22 Mar, 15:47
  • General

    In Mapster32, remove ReadGamePalette() and GAMEpalette[] and use engine's palette[].

    Helixhorned r2515 22 Mar, 15:46 Engine
Open the build to see all 9 commits

Build 2505

20 Mar 2012 · 3 commits · 1 author SVN
Open build
  • General

    Probably fix sheared PNG screenshots.

    Helixhorned r2505 20 Mar, 11:32 Fix
    Show details

    We shouldn't assume a particular bytes-per-line value and use ylookup[] instead. Specifically, windowed modes on Windows use a frame buffer that always has odd x dimension.

  • General

    Rename 'numpalookups' to 'numshades' internally.

    Helixhorned r2504 20 Mar, 11:32
  • General

    Weirdness removal in G_LoadExtraPalettes (which reads lookup.dat).

    Helixhorned r2503 20 Mar, 11:31
    Show details

    - replace bit tweaking for big endian archs with clear code - allow palette lookups >= 128, previously we read into a signed byte

Build 2502

18 Mar 2012 · 7 commits · 1 author SVN
Open build
  • General

    Clear up after r2495. (Because I'm a pedantic asshole.)

    Helixhorned r2502 18 Mar, 16:18 FixEngine
    Show details

    - in Mapster, pre-form the default 10 clip map names before returning from G_CheckCommandLine() so it gets loaded even if we passed no cmdline args. - malloc + strlen + strcpy --> strdup - don't need to spank dead variables ;) - we may call calloc with zero size, which isn't bad by itself, but asserting for non-null afterwards is. Allocs of 0 are implementation-defined, and may well return a null pointer (C99 7.20.3).

  • General

    Assorted trivia.

    Helixhorned r2501 18 Mar, 16:18
    Show details

    Make some computer Duke opponent variables in player.c static.

  • General

    Input validation: guard makepalookup 'pal', 2dcol 'col'. Add one const.

    Helixhorned r2500 18 Mar, 16:17
  • General

    Use vlineasm4 for the upright-oriented rotatesprite in C-replacements build.

    Helixhorned r2499 18 Mar, 16:17
    Show details

    Gives a couple more fps for scenes where much screen estate is covered by stuff, like when holding the devastator.

  • General

    Port tvlineasm2 to C and enable transmaskvline2 code also for all-C builds.

    Helixhorned r2498 18 Mar, 16:17 Engine
    Show details

    With the same setup as before, a screen-filling translucent wall (with nothing drawn behind it) renders at about 7 fps faster (from 60-something fps initially)

Open the build to see all 7 commits

Build 2492

17 Mar 2012 · 5 commits · 1 author SVN
Open build
  • General

    Remix undo/redo system, fixing potential access of freed memory.

    Helixhorned r2492 17 Mar, 04:35 FixEngine
    Show details

    A run of consecutive mapstates may share sector/wall/sprite blocks, but the code was deciding whether to free them solely on local properties. Now, save a reference count at the beginning of each such allocated block and free it only if it reaches zero.

  • General

    In undo/redo, always print the revision that got _restored_.

    Helixhorned r2491 17 Mar, 04:35
  • General

    "Promote" oob sectnum/statnum sprites to corruption level 4.

    Helixhorned r2490 17 Mar, 04:34 FixEngine
    Show details

    Also, always print at least level 5 corruptions (that is, have no instances of completely silent corruptcheck).

  • sprite list consistency checker in corruptcheck.

    Helixhorned r2489 17 Mar, 04:34 FixEngine
    Show details

    This checks for about every possible type of sprite list corruption and reports back with a corruption level 5 if one of the 14 validations fail.

  • General

    Tweak Mapster32's sound index (F2).

    Helixhorned r2488 17 Mar, 04:34 Engine
    Show details

    - start scrolling from about half of the visible page - PGUP/DGDN moves the cursor by 1/4 of the page - code cleanup (we only need one displine[80], use clearkeys())

Build 2484

14 Mar 2012 · 8 commits · 1 author SVN
Open build
  • General

    Make 'Numsprites' also accessible from CON (read-only) under the same name.

    Helixhorned r2484 14 Mar, 15:32 CON
    Show details

    Note the capitalization. I hope that this makes clashes with user variable names less likely.

  • General

    Save 'Numsprites' into savegames and mapstates. Bump savegame minor version.

    Helixhorned r2483 14 Mar, 15:31
  • General

    Fix (still not enabled) undo/redo code compilation.

    Helixhorned r2482 14 Mar, 15:31 Fix
    Show details

    Also include one comment about a currently failing assertion there.

  • General

    Include <assert.h> in compat.h.

    Helixhorned r2481 14 Mar, 15:31
  • General

    When loading map w/ oob sectnum sprites, make them have sect. 0 if updatesector fails.

    Helixhorned r2480 14 Mar, 15:30 Engine
    Show details

    Previously, if the sprite turned really out to be in void space, either freelist inconsistency (before the list rewrite) or oob access (now) would happen. Also add an bound-checking assert() for insertsprite's sectnum argument (it's not a bound check!)

Open the build to see all 8 commits

Build 2454

11 Mar 2012 · 9 commits · 1 author SVN
Open build
  • General

    Rename ud.clipping to ud.noclip internally for sanity.

    Helixhorned r2454 11 Mar, 10:38 CON
    Show details

    This might now be even more confusing for users reading both the source and CON code (where the access is necessarily still via '.clipping'), but at least reading the source now makes sense :P

  • General

    After executing actor or loadactor CON code, null the instruction pointer.

    Helixhorned r2453 11 Mar, 10:38 FixCON
    Show details

    This is so that in the event of a crash, no CON dump will be printed if no (actor or loadactor) CON code was actually executing at the time of the crash, confusing the users. Note: doesn't apply for event code.

  • General

    Explicitly call A_DeleteSprite() from game code instead of relying on macro expansion.

    Helixhorned r2452 11 Mar, 10:38
  • General

    Remove non-SAMESIZE_ACTOR_T code and remaining #defines.

    Helixhorned r2451 11 Mar, 10:37
    Show details

    We've been running with same-sized actor_t for a while without problems now. In the unlikely event (famous last words) that an issue should pop up later, this revision should be consulted for the differences between the two versions.

  • General

    Remove YES and NO #defines from duke3d.h since they're giving warnings on OS X.

    Helixhorned r2450 11 Mar, 10:37
Open the build to see all 9 commits

Build 2442

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

    Rename SOUNDOWNER's (used in sound_t) member .i to .ow for easier grepping.

    Helixhorned r2442 10 Mar, 13:22
  • General

    With dndebug, show the currently playing sounds.

    Helixhorned r2441 10 Mar, 13:22 Engine
    Show details

    The format is snd #<sound number> inst <instance of that sound>: voice <internal voice handle>, ow <owner's sprite ID/-1> (this is the interesting part)

  • General

    Rename P_ActivateSwitch()'s 3rd argument from 'switchtype' to 'switchissprite'.

    Helixhorned r2440 10 Mar, 13:22
  • General

    Some sound source cleanup, no functional changes.

    Helixhorned r2439 10 Mar, 13:21
    Show details

    - make a couple variables static in sounds_mapster32.c - KHz --> Hz in initialization text

  • General

    Clean up cache1d.c.

    Helixhorned r2438 10 Mar, 13:21
    Show details

    - make some variables static - conditionally compile out some code with DEBUG_ALLOCACHE_AS_MALLOC - exit(1) on failure (instead of exit(0)) - some formatting

Build 2431

8 Mar 2012 · 5 commits · 1 author SVN
Open build
  • General

    OS X: whitespace-cleanup Objective-C files. Also does TAB-->space.

    Helixhorned r2431 8 Mar, 11:16
  • General

    OS X: fix and enable startup windows; enable PPC build in osxbuild.sh.

    Helixhorned r2430 8 Mar, 11:16 Fix
  • General

    OS X Objective-C files: NSApp -> nsapp as before for a PPC linkage fix

    Helixhorned r2429 8 Mar, 11:16 Fix
    Show details

    Note: I'm not really sure whether I'm initializing it in the right places.

  • remove now unused B_ATTRIBUTE_USED macro.

    Helixhorned r2428 8 Mar, 11:15
  • fix mirror-related oob access analogous to r1872's fix for classic.

    Helixhorned r2427 8 Mar, 11:15 FixEngine
    Show details

    When drawing from inside the mirror, there may be no 'bunches' (BUILD lingo, not TROR ones) collected, but following code used the first one unconditionally.

Build 2424

7 Mar 2012 · 2 commits · 1 author SVN
Open build
  • General

    Optimizations and tweaks for C replacements of mhline and thline.

    Helixhorned r2424 7 Mar, 11:42 FixEngine
    Show details

    Hlines for masked and translucent masked ceiling/floor (sprites). - apply the --> 'do { ... } while (--cnt)' transformation, making these functions iterate cnt+1 times like the asm version. This also fixes an off-by-one issue where sprites or masked ceilings/floors had a one-pixel non-drawn line to the right. - This time, only declare-as-local two 'extern' globals (asm1 and asm2). It seems that I was too eager with "localing" all file-scoped vars earlier. GCC is able to remove the loads from memory inside the loop by itself, whereas clang is not. This is not trivial, since it has to prove that the 'screen' pointer passed to the functions will never alias these globals.

  • General

    Optimize 'rainbow' background drawing in the editor with 8-bit renderer.

    Helixhorned r2423 7 Mar, 11:42 Engine

Build 2416

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

    Formatting; remove 'loop has empty body' warnings with clang.

    Helixhorned r2416 4 Mar, 12:15
    Show details

    I have to admit, I like its grumbling.

  • with r_parallaxskypanning=1, clamp the sky at a constant horizon.

    Helixhorned r2415 4 Mar, 12:15 Engine
    Show details

    See E4L1 for what this means.

  • General

    Fix apparent horizon not being independent of viewingrange (classic/Polymost).

    Helixhorned r2414 4 Mar, 12:14 FixEngine
    Show details

    The apparent horizon (in units proportional to pixels by a constant factor) was being calculated without normalizing to viewingrange, resulting a discrepancy between the drawn and actual up/down angle with non-default viewingranges (e.g. with r_usenewaspect=1, or when setting it from setaspect). This also means that the center-of-aim will now be the same regardless of the aspect. This fixes many derived bugs: * inconsistency w/ crosshair when shooting a gun and aiming up/down (obviously) * bugs resulting from being able to look up/down too far (garbage non-slope texture-mapping and viewing BIGORBIT skies above the borders in classic). Note: mods that had workaround logic for this bug will have to remove it...

  • General

    Tweak 'dncoords' display.

    Helixhorned r2413 4 Mar, 12:14 Engine
    Show details

    added: sector extra; viewingrange and yxaspect before the main drawrooms call removed: randomseed

  • General

    ATTRIBUTE((pure)) for Ptile2tile(), add a forgotten comment.

    Helixhorned r2412 4 Mar, 12:14
Open the build to see all 14 commits

Build 2394

1 Mar 2012 · 2 commits · 1 author SVN
Open build
  • General

    Define strtoll to _strtoi64 on MSVC.

    Helixhorned r2394 1 Mar, 15:36
    Show details

    Usage of a search machine by Hendricks.

  • General

    When failing to open a savegame file for writing, print the reason to the log.

    Helixhorned r2393 1 Mar, 15:35

February 2012 24 builds · 82 commits

Build 2392

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

    More rebust (and "correct"/expected) decimal number parsing in CON.

    Helixhorned r2392 29 Feb, 07:27 FixCON
    Show details

    The replacement of atoi with strtol in r2374 had the side-effect that numbers out of the range of a 32-bit integer were being returned as LONG_MAX/LONG_MIN instead of being converted by taking the bits and re-interpreting them (note that it was a coincidence that atoi behaved that way; to be strict, the behavior was undefined and there is no regression). Now, we implement parsing decimal integers using strtoll (with assuming "long long" being the same as int64_t) and check in which range the number falls. If it's in the range (INT32_MAX <= x <= UINT32_MAX), issue a warning; if it's not in (INT32_MIN <= x <= UINT32_MAX), warn too (though this better ought to be an error?). In each case, the bit representation is converted to the CON number type (int32 to assume maximum portability) by re-interpreting the bits [this is the same as an int/int cast, with GCC at least; more generally, it's implementation-defined per C99].

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!