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 210 builds · 330 commits

Export CSV
Display options
Commit details:

August 2012 11 builds · 22 commits

Build 2862

2 Aug 2012 · 10 commits · 1 author SVN
Open build
  • fix build on OS X, pass LUNATIC define to build/ sources.

    Helixhorned r2860 2 Aug, 03:52 Fix
  • fix hex literal parsing on Windows, add two comments.

    Helixhorned r2859 2 Aug, 03:52 Fix
  • add 'randgen' module, implementing an encapsulated JKISS PRNG.

    Helixhorned r2857 2 Aug, 03:52 Fix
    Show details

    Also fix error handling path in our_require(), i.e. when loadstring fails.

  • update DukePlayer_t, fix build.

    Helixhorned r2854 2 Aug, 03:52 Fix
Open the build to see all 10 commits

July 2012 12 builds · 16 commits

Build 2850

29 Jul 2012 · 1 commit · 1 author SVN
Open build
  • on x86 GCC asm builds, fix crash with floor sprites of (x or y) size 2.

    Helixhorned r2850 29 Jul, 05:46 FixEngine
    Show details

    The idiv instruction also signals an FPE when the resulting *signed* quotient overflows, so we simply use div instead.

Build 2820

8 Jul 2012 · 8 commits · 1 author SVN
Open build
  • draw walls with non-pow2 ysizes in the old fashion for the time being.

    Helixhorned r2819 8 Jul, 14:47 FixEngine
    Show details

    I'm willing to make this one concession to correctness in the name of backward- compatibility. I think that one reason why this has never cause a crash is that tiles in BUILD are allocated in Ken's big allocache buffer, so oob accesses were dampened by that (though they hit uninitialized data).

Open the build to see all 8 commits

Build 2811

6 Jul 2012 · 2 commits · 1 author SVN
Open build
  • factor out wall y panning coefficient calculation.

    Helixhorned r2811 6 Jul, 08:36 FixEngine
    Show details

    Non-pow2 wall/mask drawing in classic introduced cases where walls are drawn "incorrectly" because they were constructed with the old behavior in mind. Polymer appears to "correct" for it partially, but doesn't cover all cases. Specifically, now we have: - E1L1 first inside secret room (5000, 50000): Polymer draws like Duke 1.5, classic now draws with an offset. - E3L2 near the vault (-20000, 25000): both classic and Polymer draw with offsets compared to Duke 1.5, but they're different! This means that more research is needed into what makes these two cases diverge, even though both have the same root cause. !!! Also, mappers should abstain from using non-power-of two textures on walls until this issue is resolved in a satisfactory fashion !!!

  • fix glitches where stuff would be drawn transiently on sect change.

    Helixhorned r2810 6 Jul, 08:36 FixEngine
    Show details

    This was introduced with r2771, which fixed e.g. AMC TC city_si's mirrors, but instructed the base drawrooms inside yax_drawrooms to not correct the passed sectnum. Therefore, stuff would get drawn wrongly when passing sector boundaries, like from the platform to the rails in trueror1.map.

Build 2809

6 Jul 2012 · 1 commit · 1 author SVN
Open build
  • fix drawing mirrors, introduced by nonpow2-ysize wall/mask drawing.

    Helixhorned r2809 6 Jul, 07:16 FixEngine
    Show details

    Some more drawing glitches remain.

Build 2808

6 Jul 2012 · 4 commits · 1 author SVN
Open build
  • fix drawing of walls and maskwalls with non-pow2 y size tiles.

    Helixhorned r2805 6 Jul, 04:26 FixEngine
    Show details

    Related to that, it looks like out-of-bounds accesses when drawing such walls/ maskwalls or *sprites* are fixed, too. Sprites still show a stray lines on some occasions, but Valgrind doesn't complain then.

Open the build to see all 4 commits

Build 2798

1 Jul 2012 · 9 commits · 2 authors SVN
Open build
  • General

    Fix MinGW build.

    Plagman r2798 1 Jul, 20:44 Fix
  • General

    Make ksqrt take uint32_t, add helper function uint32_t uhypsq(int32_t,int32_t).

    Helixhorned r2791 1 Jul, 15:11 FixEngine
    Show details

    uhypsq calculates the hypotenuse using unsigned multiplication. This is permissible since for arbitrary int32s a and b, the following holds in two's complement arithmetic: (int32_t)((uint32_t)a * b) == (int32_t)((int64_t)a * b) ("Signed and unsigned multiplication is the same on the bit level.") This fixes various overflows where wall lengths for walls of length > 46340 are calculated, but does not rid us of other overflows in the same vein (usually dot products between vectors where one point is a wall vertex and the other a position in a sector).

Open the build to see all 9 commits

June 2012 14 builds · 26 commits

Build 2789

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

    Fix the overlooking of EDUKE.CON in the absence of DUKE3D.GRP caused by r2726. Also, tweak a few string literals' use of quotation marks.

    Hendricks266 r2789 27 Jun, 10:45 FixCON

Build 2788

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

    Fix actors at action 0 executing the action C code protion in gameexec.c.

    Helixhorned r2788 26 Jun, 12:50 Fix
    Show details

    The bug was introduced with SAMESIZE_ACTOR_T enabling in r2208. This fixes being unable to read the messages in A.Dream* by zykov eddy.

  • General

    When teleporting silently, also set g_player[].ps->bobposx/y to the new position

    Helixhorned r2785 26 Jun, 12:49 Fix
    Show details

    This fixes an integer overflow when a distance is calculated later.

  • General

    Integer Overflow Offensive continued: first round of -ftrapv - cleanness.

    Helixhorned r2784 26 Jun, 12:49 Fix
    Show details

    That is, "clang -ftrapv" builds don't abort almost immediately after entering a level. There are various classes of overflow bugs, needing different handling: - Some texture mapping code was written with signed integer wrapping semantics in mind. In some places, we're able to get away with unsigned casts. - sometimes, we really need a wider range, like when calculating distances or dot products - negating INT_MIN. Here, we cast to int64_t temporarily. Note that if the result is 32-bit wide, no 64-bit code may actually need to be generated. - shifting into a signed integer's sign bit. We cast to uint32 here. - in hitscan(), at the "abyss crash prevention code" comment, it's clearly the other code that is better... This is not merely done for pedantry, but rather makes it easier to track down overflow bugs having a real impact on the game.

  • General

    Fix a thinko in a comment (about commenting) in build/Makefile.

    Helixhorned r2783 26 Jun, 12:49 Fix
Open the build to see all 8 commits

Build 2780

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

    Fix being unable to hit ENTER on VIDEO SETTINS -> RENDERER SETUP with classic.

    Helixhorned r2780 22 Jun, 14:40 FixEngine

Build 2776

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

    Fix a single usage of S_IREAD instead of our BS_IREAD compatibility version

    TerminX r2776 21 Jun, 12:48 Fix
  • General

    Fix useless "No error" message when loading palette.dat fails, change file casing in error message for failing to load tables.dat to reflect the filename actually passed to kopen4load().

    TerminX r2775 21 Jun, 12:47 Fix