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:

June 2012 15 builds · 66 commits

Build 2742

6 Jun 2012 · 2 commits · 1 author SVN
Open build
  • General

    Silence "number greater than INT32_MAX converted to a negative one" warning.

    Helixhorned r2742 6 Jun, 15:03
    Show details

    Literals written out as if they were unsigned and having the highest-order bit set are all too ubiquitous, like hitscan masks for example.

  • General

    TROR/classic: same fix as r2739, intersecting case.

    Helixhorned r2741 6 Jun, 15:03 Fix

Build 2740

5 Jun 2012 · 2 commits · 1 author SVN
Open build
  • General

    engine.c: cleanup / readability tweaks

    Helixhorned r2740 5 Jun, 15:21 Engine
  • General

    TROR/classic: fix a certain class of underdraw glitches.

    Helixhorned r2739 5 Jun, 15:21 FixEngine
    Show details

    Those were happening when wall drawing in an upper/lower layer "closed" too much of the "curtain" (umost/dmost) for subsequent drawing in that portal. Example: looking down the sewer manhole at the beginning of Retaliation will now render without HOM.

Build 2737

3 Jun 2012 · 8 commits · 1 author SVN
Open build
  • net

    do strtok on a duplicated string containing the address in Net_Connect().

    Helixhorned r2737 3 Jun, 12:20
    Show details

    Also, - don't strip const when passing the char ptr to it and a couple more instances in game.c - use g_netPort when -connect parameter doesn't have a port suffix (":XXXX"), so that e.g. eduke32 -port 1700 -connect localhost is the same as eduke32 -connect localhost:1700 (-port must come before -connect, unfortunately.)

  • net

    second part of buffer overflow check correction.

    Helixhorned r2736 3 Jun, 12:20 Fix
    Show details

    This was supposed to go into the last commit, but I did git commit --amend without adding the changes to the index. Now I'm too lazy to sort things out.

  • net

    correct packet buffer overflow checks.

    Helixhorned r2735 3 Jun, 12:20 Fix
    Show details

    The GAMESTATE one has to be carried out twice, first on the data from xd3_encode_memory, and then with the compressed data (because it might have increased in size, though this is very unlikely). The MOVE check is similar, though there, failure of the first check implies corrupt memory (which is why we're Bassert'ing that condition). Currently, the overflow on GAMESTATE sending happens when switching to a different map.

  • net

    remove (char *) casts where they amount to no-ops.

    Helixhorned r2734 3 Jun, 12:20
  • General

    Fix a "set but not used warning" in xdelta3.c, revert definition of XD3_ASSERT.

    Helixhorned r2733 3 Jun, 12:20 Fix
Open the build to see all 8 commits

Build 2724

3 Jun 2012 · 4 commits · 1 author SVN
Open build
  • pack actor/move parameters into t_data, which is enlarged to 14 elements.

    Helixhorned r2724 3 Jun, 08:46
    Show details

    (LUNATIC build only.) Also, a minor problem is identified. sizeof(actor_t) is 124 on 64-bit platforms, while the expected size is 128 bytes. This needs to be corrected whenever the next savegame version bump happens.

  • General

    In G_GameExit, rename arg 't' to 'msg' for (slightly) easier grepping of t_data etc.

    Helixhorned r2723 3 Jun, 08:46
  • one const char * --> char *, since we alloc/free it.

    Helixhorned r2722 3 Jun, 08:46
  • General

    Rename LUNATIC_ENABLE macro to just LUNATIC.

    Helixhorned r2721 3 Jun, 08:45

Build 2718

1 Jun 2012 · 8 commits · 1 author SVN
Open build
  • General

    For me (helixhorned), do SDL_WarpMouse even in debugging builds again.

    Helixhorned r2718 1 Jun, 13:09
    Show details

    This introduces a Makefile variable EDUKE32_MY_DEVELOPER_ID, which is expected to come from the environment, so that minor disagreements/ preferences can be handled -- don't let it go overboard though! -- to keep the working directory clean of stuff that one doesn't actually work on. My ID is 805120924, i.e. "helix".

  • General

    M32 auto-aligner: calculate panning for non-firstwall-aligned ceilings/floors.

    Helixhorned r2717 1 Jun, 13:09 Engine
    Show details

    Also, print failure messages on some occasions.

  • keep the temp sector on some more occasions that don't delete them.

    Helixhorned r2716 1 Jun, 13:09 Engine
  • Part 1 of ceiling/floor auto-alignment functionality.

    Helixhorned r2715 1 Jun, 13:09 Engine
    Show details

    Usage is from 3D mode only. When a sector (or wall) is committed to the clipboard, it (or the wall's sector) is saved, and is subsequently used when auto-aligning [;-ENTER] another sector's ceiling or floor against the reference one's. This temp. sector is reset on any structurally modifying operation except setting first walls; also, aligning extended ceilings or floors is impossible as they use .*xrepeat internally. The auto-alignment does not change picnums (this can be accomplished with the ['+ENTER] combination), but copies the orientation bits 2^{2..6} to the alignee. Afterwards, if the reference is relative-aligned, it tweaks them, so that every case where the two firstwalls are either parallel or perpendi- cular is handled correctly. It does not yet calculate the panning values.

  • General

    Throw a commented #define DEBUG_TEXTURE_NAMES into glbuild.h.

    Helixhorned r2714 1 Jun, 13:09
    Show details

    This is so that people know where to enable it. One day, all these debugging switches ought to go into the Makefiles in one form or another.

Open the build to see all 8 commits

May 2012 15 builds · 64 commits

Build 2710

29 May 2012 · 6 commits · 1 author SVN
Open build
  • fix one stack index, comment on a problem with ffi.C access.

    Helixhorned r2710 29 May, 13:01 Fix
  • General

    A couple of minor fixes and comments that got accumulated in my tree.

    Helixhorned r2709 29 May, 13:01 Fix
  • General

    Makefile.shared: don't link with libsupc++ on linux.

    Helixhorned r2708 29 May, 13:01
    Show details

    It works perfectly fine without it for me, and including it for no reason is just an annoyance to other people building from source.

  • General

    Introduce two convenient sprite iteration macros in build.h, add a few uses.

    Helixhorned r2707 29 May, 13:01 Engine
    Show details

    Defines SPRITES_OF(Statnum, Iter) and SPRITES_OF_SECT(Sectnum, Iter) [The first is so that STAT_* can be substituted for Iter and it reads nicely.] Usage should be self-explanatory, but one thing to keep in mind is that the sprites that are iterated over MUST NOT be deleted.

  • General

    In CON showview, if drawing off-screen, clear the view with pal 0 and bail out.

    Helixhorned r2706 29 May, 13:01 FixCON
    Show details

    This fixes the glitches/corruption whereever showview is used from EVENT_DISPLAYROOMS while the scene is actually rendered to a tile instead of the frame buffer, for example because we have a tilted view or "pixel doubling" enabled. Fixing it for real (i.e. so that the showview actually completes) will require more effort.

Open the build to see all 6 commits

Build 2704

28 May 2012 · 3 commits · 1 author SVN
Open build
  • General

    On Windows, check file name case with 'sound' and 'music' CON commands.

    Helixhorned r2704 28 May, 11:15 CON
    Show details

    This is done by kopen4loadfrommod'ing and immediately closing the file (since the checker is still run from there when not ingame). On my system, times were like 0.12 ms, 0.2 ms and 0.5 ms for each openfrompath/findfrompath, openfrompath/Bopen and SHGetFileInfo respectively, so it shouldn't have a too noticable impact on initial loading times.

  • General

    In kopen4loadfrommod, don't try g_modDir if it's the default "/".

    Helixhorned r2703 28 May, 11:15
    Show details

    I experienced the following on Windows XP: a few openfrompath() --> findfrompath() calls were taking enormously long (4.5 secs) to complete, having been passed a file name like "//bla/qwe.asd". My guess is that Windows then tried to interpret these as a network FS path in access(), and the 4.5 secs represents a timeout value.

  • General

    Only check file name case when not in-game; don't warn for ALLUPPER or alllower.

    Helixhorned r2702 28 May, 11:15
    Show details

    The first means that the expensive (~0.5 ms) SHGetFileInfo() calls won't inter- fere with smooth gameplay, but files that are opened only at game-time like sounds won't be checked. The second means that there are now less false positives, i.e. warnings about files that would be found due to the check-all-{upper,lower} hack.

Build 2701

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

    engine.c: make horizlookup/horizlookup2 have int32_t elts instead of intptr_t.

    Helixhorned r2701 26 May, 14:58 Engine
  • General

    In tilted-view setup code, allocate TILE_TILT storage more tightly.

    Helixhorned r2700 26 May, 14:58
  • General

    build.c: factor out two identical code instances into handle_sprite_in_clipboard

    Helixhorned r2699 26 May, 14:58
  • General

    Disallow high-quality (640x480) tilted screen if MAXYDIM is less than 640.

    Helixhorned r2698 26 May, 14:58 FixEngine
    Show details

    This fixes the crash on Wii when looking sidewards (e.g. when dying), but makes the tilted view look more pixelated. The problem was that an attempt was made to render onto a 640x640 tile for the rotated view, but the base engine arrays were too small for that.

  • General

    Various cleanup and rewrites.

    Helixhorned r2697 26 May, 14:58
    Show details

    - make allocatepermanenttile() return intptr_t - the usual

Build 2696

25 May 2012 · 3 commits · 1 author SVN
Open build
  • General

    Fix harmless "cast to pointer from integer of different size" warning with x64.

    Helixhorned r2696 25 May, 11:39 Fix
  • General

    Cleanup & minor rewrites, among other things in premap.c:G_EnterLevel().

    Helixhorned r2695 25 May, 11:39
  • General

    With engine compiled for V7 limits, refuse loading maps exceeding them.

    Helixhorned r2694 25 May, 11:39 FixEngine
    Show details

    Also, correct the loadboard() return value checks in premap.c to be aware of a returned -2 ("wrong map version").

Build 2693

25 May 2012 · 7 commits · 2 authors SVN
Open build
  • General

    On Windows, don't try to lowercase/uppercase filenames.

    Helixhorned r2693 25 May, 08:23
    Show details

    Most of the time, Windows file name lookup is case-insensitive. Reading the docs (see MSDN's CreateFile help, for example), it seems like case-sensitivity can be controlled on a per-file basis where applicable (NTFS), but people should be concerned about matching case in the DEFs/on disk *especially* in that case. Also, note that this hack will not always help on systems with case-sensitive lookup.

  • General

    On Windows, check for case-mismatched file names on successful kopen4load().

    Helixhorned r2692 25 May, 08:23
    Show details

    When a file from the local file system is opened, its real file name is gotten with SHGetFileInfo() and compared against the one that was passed. In the case they're not identical, a warning is issued. This is one step towards eliminating mismatched file names in DEFs etc., which cause trouble on systems that look them up case-sensitively. However, it's not perfect because the issue is trickier than it appears on first sight. For one thing, this will only check the last (i.e. file) part in the path, falsely accepting mismatched directory names. However for these, it reports them ruthlessly, even for those names where the try-other-case hack (try all uppercase, all lowercase) would find the correctly-cased file.

  • General

    Fix some *printf format-char/vararg mismatches on x86_64 in net.c.

    Helixhorned r2691 25 May, 08:23 Fix
  • General

    Bump BYTEVERSION because of the preceding change.

    Helixhorned r2690 25 May, 08:23
  • General

    Fix gamearrays on 64-bit platforms.

    Helixhorned r2689 25 May, 08:23 FixCON
    Show details

    They were broken by r2666, which made their elements intptr_t instead of int32_t, but this change was not reflected in related allocation code. WARNING: players on 64-bit platforms should not attempt to load games saved with r2665 or earlier.

Open the build to see all 7 commits

Build 2674

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

    net.c tweaks, just for the sake of pushing them to SVN.

    Helixhorned r2674 18 May, 14:41
    Show details

    - alloc_multimapstate() helper - make g_netMapRevision a uint32 and store save->revision in sequence order (without &(NET_REVISIONS-1)) - one assert, one XXX comment, stylistic changes

  • General

    PNG screenshots: don't save custom gAMA.

    Helixhorned r2673 18 May, 14:40
    Show details

    This should be more correct, since previously, the saved PNGs were way too contrasty when looked from within a browser. Now, they'll always be slightly darker than in-game (assuming one has a gamma greater than 1).

  • General

    With Clang, compile in GNU89 mode and fix clang detection in the Makefiles.

    Helixhorned r2672 18 May, 14:40 Fix
    Show details

    The default C99 mode is giving us linking errors from xdelta3.

  • General

    Fix one ptr size mismatch and one format letter/arg mismatch on x86_64.

    Helixhorned r2671 18 May, 14:40 Fix

Build 2670

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

    Fix cheats giving inventory items and their events.

    Helixhorned r2670 18 May, 05:46 Fix
  • actions prototype, not enabled even in the dev build.

    Helixhorned r2669 18 May, 05:46
    Show details

    For Lunatic, we'll want to get rid of the t_data --> script indirections, since the latter will be no more. Thus, all parameters are saved in t_data directly. For the normal build, there are no changes, only stylistic tweaks.

  • v7 engine support, event updates

    Helixhorned r2668 18 May, 05:45 Engine
  • General

    Fix A_CheckEnemyTile() returning 1 for "fixed" sprites (see r1913).

    Helixhorned r2667 18 May, 05:45 FixEngine
    Show details

    Those sprites are usually decorative, and certainly not enemies!

Build 2651

13 May 2012 · 4 commits · 1 author SVN
Open build
  • General

    Add tilenum bound check to CON *actor blocks when parsing, fix the other ones.

    Helixhorned r2651 13 May, 09:05 FixCON
    Show details

    The remaining checks now "continue;" when an oob tilenum is found where an oob access would ensue else. Also, it's now checked for negative numbers (the message remains the same though).

  • embed lpeg and the translator into the binary

    Helixhorned r2650 13 May, 09:05
  • General

    Lunatic translator: better line numbering

    Helixhorned r2649 13 May, 09:04
  • better initial environment setup, preventing textual repetitions

    Helixhorned r2648 13 May, 09:04

Build 2646

6 May 2012 · 1 commit · 1 author SVN
Open build
  • General

    Assign light SEs (lotags 49 and 50) to an exclusive status number. EXPERIMENTAL!

    Helixhorned r2646 6 May, 14:01 FixEngineCON
    Show details

    The primary reason for doing this is that handing of moving sectors is significantly simplified. Because moving sectors usually don't move containing SEs/effector-statnum sprites, no special handing code is needed to move light SEs with them. Thus, this commit sets light SEs to a new statnum when they're spawned *from premap*, and a new G_Move*-like function (called G_DoPolymerLights) is added to process every sprite in that status list. This should "fix" light SEs moving together with a variety of moving sectors, but CON programs expecting the old behavior may break, therefore this commit is marked as experimental. Additionally, a problem with the old implementation is identified: it seems like the correct functioning is dependent upon the order of processing between the sector movement effector and the light SE, so this makes it another good reason for the change. (A third one is that all lights can be processed with a per- statnum loop, but CON coders should not do this until the change is considered final).

Build 2645

6 May 2012 · 2 commits · 1 author SVN
Open build
  • General

    A couple of misc. Wii changes.

    Helixhorned r2645 6 May, 13:23 FixEngine
    Show details

    - Make MAXXDIM and MAXYDIM macros be 860 and 490, respectively. tueidj says max. screen size is 848x480, but there are oob access bugs in the classic renderer when running with the maximum possible resolution - don't allocate additional sector/wall storage for Mapster (saves ~16k) - Add ud.config.UseJoystick = 1 in config.c, but make it conditional on Wii - remove one comment I no longer believe true, add one TODO comment

  • General

    Lunatic translator: a bit more syntax

    Helixhorned r2644 6 May, 13:22

Build 2643

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

    Factor out almost all instances of setting ...->pals.[rgbf] into P_PalFrom.

    Helixhorned r2643 5 May, 15:24 CON
    Show details

    This is so that it may be intercepted in the future. The only code that's not replaced by the function call is with the CON interface to g_player[].ps->pals via player[].pals X and .pals_time. Also, comment out one instance because it's overwritten by a succeeding one.

  • General

    In game code, replace remaining literal status numbers by their defines.

    Helixhorned r2642 5 May, 15:24
  • General

    Prevent an (unlikely) integer overflow in neartag with huge switch sprites.

    Helixhorned r2641 5 May, 15:24 FixEngine
  • General

    Remove the 'inline' qualifier of some (not-so) short functions.

    Helixhorned r2640 5 May, 15:24
    Show details

    Besides being the compiler's job nowadays, they significantly inflate the size of the debugging builds.

  • General

    Accumulated trivia, mostly "the usual".

    Helixhorned r2639 5 May, 15:23 Engine
    Show details

    Among other things, comment out very seldomly (or not at all) used sprite member macros: SV, ZV, RX, RY, CX, CY, CD, PL.

Open the build to see all 11 commits

Build 2632

1 May 2012 · 5 commits · 1 author SVN
Open build
  • General

    Some leftover stuff from the Wii patch.

    Helixhorned r2632 1 May, 05:41
    Show details

    - in actors.c, make a static array const (the original patch removed the staticness) - remove one comment and change some compiled-out code - remove commented out pre-Makefile.common stuff Some changes were not adopted from tueidj's patch: - whitespace cleanup - ud.config.UseJoystick = 1 in config.c - Makefile.common, as mentioned before - proper read-in of g_numRealPalettes, because it was done with r2503

  • General

    Patch adding Wii support by tueidj, part 11: miscellaneous changes

    Helixhorned r2631 1 May, 05:41
    Show details

    - BIGX -> BIGX_, likely again because of a name clash - make a loop in animlib.c iterate in forward direction

  • General

    Patch adding Wii support by tueidj, part 10: sound and endianness changes

    Helixhorned r2630 1 May, 05:40 Fix
    Show details

    This part is a mixture of the original patch and my changes. It seems like tueidj had some trouble 1) getting OGG to work, which is why it's conditionally compiled out 2) struggling with endianness with the mixing routines? This may be also due to him missing to define two others BIGENDIAN macros (our code is in need of cleanup there). Note the change in jaudiolib/src/mix.c! Because I added my share to this part, I might have actually broken sound mixing on big-endian platforms.

  • General

    Patch adding Wii support by tueidj, part 9: build.h sector/wall/spr/... limits

    Helixhorned r2629 1 May, 05:40 Engine
    Show details

    On the Wii, V7 (i.e. original) map limits are used and the maximum screen size is 1600x1200.

  • General

    Patch adding Wii support by tueidj, part 8: system-specific changes

    Helixhorned r2628 1 May, 05:40
    Show details

    - conditionally compiles out some code intended for the PC platforms - compat.c: get home directory routine, access() implementation - game.c: don't use ioctl(), lower cache1d size to 8 MiB, Wii-specific initialization code and application directory ("apps/eduke32")

Build 2627

1 May 2012 · 7 commits · 1 author SVN
Open build
  • General

    Patch adding Wii support by tueidj, part 7: networking

    Helixhorned r2627 1 May, 05:39
    Show details

    This simply macro-defines various low-level networking functions.

  • General

    Patch adding Wii support by tueidj, part 6: mutexes

    Helixhorned r2626 1 May, 05:39 Fix
    Show details

    For the Wii, SDL's mutex functionality is used. The implementation in the original patch was wrong though, so this part required non-trivial changes.

  • General

    Patch adding Wii support by tueidj, part 5: game-side input device changes

    Helixhorned r2625 1 May, 05:39
    Show details

    - the crosshair is displayed at the position read from the absolute pointing device - in the menus, use the hat input (that was mapped to mouse buttons in part 4) for navigation

  • General

    Patch adding Wii support by tueidj, part 4: joystick support

    Helixhorned r2624 1 May, 05:38 Fix
    Show details

    - sdlayer.c: custom "get joystick button names" routine - jmact/mouse.c: packs some joystick events into the value returned by MOUSE_GetButtons(): bits used are 256, 512, 4096, 8192 - MOUSE_Init() --> Mouse_Init(), presumably because of a name clash? - comments out right-shift of joystick analog values by 5, maybe this fixes the scale problems with the joystick on the PC too?

  • General

    Patch adding Wii support by tueidj, part 3: SDL-level mouse changes

    Helixhorned r2623 1 May, 05:38
    Show details

    This part adds support for an absolute pointing device.

Open the build to see all 7 commits