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:

August 2012 16 builds · 119 commits

Build 2868

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

    Fix tile CAMERA1+4 being not changed to a CAMERA1 on spawn.

    Helixhorned r2868 7 Aug, 06:09 Fix
  • General

    Fix slimers not disappearing on dnmonsters cheat, display 2nd 'on' state.

    Helixhorned r2867 7 Aug, 06:08 Fix

Build 2862

2 Aug 2012 · 10 commits · 1 author SVN
Open build
  • 'bitar': rewrite ops for colon syntax, serialization, set ops.

    Helixhorned r2862 2 Aug, 03:52
  • General

    sdlayer.c: Add high-resolution timer for OS X, using mach_absolute_time().

    Helixhorned r2861 2 Aug, 03:52
  • 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 'stat' module for running statistics.

    Helixhorned r2858 2 Aug, 03:52
    Show details

    Also, rewrite the mapastats iterator and the LIZTROOP hitscan timing in terms of that.

Open the build to see all 10 commits

July 2012 13 builds · 54 commits

Build 2852

29 Jul 2012 · 2 commits · 1 author SVN
Open build
  • General

    OSX build: mighty tweak osxbuild.sh and link to LibPNG from Fink on x86_64.

    Helixhorned r2852 29 Jul, 16:35
    Show details

    The build script now has two more presets: helix and installtools (which was previously attempted after the build; untested). Also, - when detecting git, run commands such that the SVN repo isn't accessed - package kextract, kgroup and arttool into tools/ in the zip - try to exit on failure in some places, though that doesn't seem to work

  • General

    osxbuild.sh: factor out building commands and exit 1 on failure

    Helixhorned r2851 29 Jul, 16:35

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 2849

25 Jul 2012 · 3 commits · 1 author SVN
Open build
  • build fix on Windows and translator fix with 32-bit archs?

    Helixhorned r2849 25 Jul, 11:56 Fix
    Show details

    erratum in r2844 commit message: ydim vs. bytesperline --> xdim vs. bytesperline

  • General

    Add gethitickms() to the Windows layer.

    Helixhorned r2848 25 Jul, 11:56
  • General

    Make DukePlayer_t's transporter_hold an int16_t again.

    Helixhorned r2847 25 Jul, 11:56 CON
    Show details

    This was narrowed to int8_t in r1625, breaking CON code that wanted to lock the player for a longer time than 127 game tics.

Build 2846

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

    Prevent integer div-by-0 (SIGFPE) when drawing console background with void tiles.

    Helixhorned r2846 22 Jul, 04:10
    Show details

    The tiles used are BIGHOLE (1141) and VIEWBORDER (3250). Ideally we'd draw the console background using something specially-coded instead of rotatesprite if it's fully black anyway.

Build 2845

20 Jul 2012 · 10 commits · 1 author SVN
Open build
  • General

    Fix SHOW MAP ON/OFF message in the game.

    Helixhorned r2845 20 Jul, 14:57 Fix
  • General

    PNG screenshots: fix oob read of malloc'd mem on Windows.

    Helixhorned r2844 20 Jul, 14:57 Fix
    Show details

    These could manifest themselves as garbage lines on the bottom and happened because of the ydim vs. bytesperline discrepancy again.

  • General

    Add custom-built lean zlib and libpng and enable PNG screenshots on Windows.

    Helixhorned r2843 20 Jul, 14:57
    Show details

    Instructions on how I built the libs are in Windows/src/minipng.dfa.

  • time every event and actor call and print summary at game exit.

    Helixhorned r2842 20 Jul, 14:57
  • add "bit array" helper module, rewrite the bit test in terms of that.

    Helixhorned r2841 20 Jul, 14:57
Open the build to see all 10 commits

Build 2834

13 Jul 2012 · 9 commits · 1 author SVN
Open build
  • VP8

    clamp GL texture to edge if possible, preventing potential stray lines

    Helixhorned r2834 13 Jul, 11:21
  • VP8

    don't call I_ClearAllInput() before idle loop.

    Helixhorned r2833 13 Jul, 11:20
    Show details

    If input is cleared before, it can become impossible to cancel the video when decoding and displaying a frame takes longer than a frame.

  • VP8

    collect times while playing the video and print a summary to the log afterwards.

    Helixhorned r2832 13 Jul, 11:20
  • General

    Update LibVPX prebuilt library and headers to git commit 3eb4143fc3381497128d.

    Helixhorned r2831 13 Jul, 11:20
    Show details

    The library was built with GCC 4.6.1 and configured like ./configure --disable-vp8-encoder --disable-multithread --disable-spatial-resampling On the aforementioned AMD system, this reduces the mean time for decoding a frame from 18.2 to 15.4 ms, so IMO it's worth the somewhat hefty addition of 430 Kb.

  • VP8

    unroll 3 planes -> packed conversion loop.

    Helixhorned r2830 13 Jul, 11:20
    Show details

    On an AMD Phenom II X4 system with generic memory modules, this brings down the mean time for this conversion from 16.5 to 10.5 ms. (GCC 4.6.1, optimized build)

Open the build to see all 9 commits

Build 2824

9 Jul 2012 · 4 commits · 1 author SVN
Open build
  • General

    This should fix the "assignment discards 'const' qualifier" warning in music.c.

    Helixhorned r2824 9 Jul, 12:00 Fix
  • simplify some code while I'm at it (equivalence tranformations only)

    Helixhorned r2823 9 Jul, 12:00 Engine
  • bring the ypanning correction for non-pow2 walls closer to Pmost's, pt2

    Helixhorned r2822 9 Jul, 12:00 Engine
    Show details

    This changes a constant inside the panning calculation from 256 to 255 (making e.g. panning 255 and 0 the same in the "San Andreas fault" sign in E1L5) and uses the correct reference wall for the "do panning correction?" conditional. Now, the problematic walls should look the same as in Polymost.

  • bring the ypanning correction for non-pow2 walls closer to Pmost's, pt1

    Helixhorned r2821 9 Jul, 12:00 Engine
    Show details

    This makes the corrections conditional on where they appear in (under-, over-, white or mask wall).

Build 2820

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

    a.m32: add some commented out example code for the screenshot functionality.

    Helixhorned r2820 8 Jul, 14:49 Engine
  • 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).

  • EVENT_DRAW3DSCREEN, screenshot functonality.

    Helixhorned r2818 8 Jul, 14:47 CON
    Show details

    The event is run after drawing the scene, but before the overlays. To make a screenshot from a script, set DOSCRSHOT to non-zero. It will then be scheduled to run once after the drawing but before the above-mentioned event. The screenshots will be called mcapXXXX.{png,tga}.

  • General

    Comment out printext256's GL mode fallback code.

    Helixhorned r2817 8 Jul, 14:47
    Show details

    This would only hit when polymost_printext256 erred out (mem alloc failure, glGenTextures failure), i.e. "almost never". Also, tweak a bound check in polymost_printext256.

  • if printext256's <col> arg is negative, use editorcolors[-<col>].

    Helixhorned r2816 8 Jul, 14:47 EngineCON
    Show details

    The editor colors are the ones listed on page 9 of the Mapster32 built-in help.

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
  • General

    Add description for 'remap' to mapster32.cfg, add 'setstartpos' to a.m32.

    Helixhorned r2808 6 Jul, 04:27 Engine
    Show details

    The latter is commented out, since it has to be *compiled* with script_expertmode enabled.

  • hook up non-power-of-two ysize wall/mask drawing in asm builds, too.

    Helixhorned r2807 6 Jul, 04:27 Engine
  • add {,m,t}vlineasm1nonpow2, currently unreferenced from high-level drawing.

    Helixhorned r2806 6 Jul, 04:27
  • 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.

Build 2798

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

    Makefile.common: add a couple of C warning flags.

    Helixhorned r2797 1 Jul, 15:11
    Show details

    Most notably, -Wdeclaration-after-statement. This and -Wpointer-arith give some warning on linux, but this is "harmless" as it's assumed that we'll be always compiling with GCC or Clang there. Also, erratum in the "Make ksqrt take uint32_t ..." commit: hypotenuse -> squared length of the hypotenuse

  • General

    Constify various char* vars, parameters, etc. for more -Wwrite-strings cleanness

    Helixhorned r2796 1 Jul, 15:11
    Show details

    -Wwrite-strings is useful to detect code where string literals and e.g. alloc'd strings are used side-by-side, potentially creating dangerous situations, or to find uses of old, non-constified APIs. However, enabling it would still flood the log with too many warnings. Also, GCC wrongly warns for initializations of char arrays.

  • const char *scripthist -> char *, since it's alloc'd/freed

    Helixhorned r2795 1 Jul, 15:11
  • General

    actors.c: factor out 4 almost identical code instances into proj_spawn_and_sound

    Helixhorned r2794 1 Jul, 15:11
    Show details

    Most differences are handled with function parameters, except that one instance checked SpriteProjectile[i].spawns for being >0 instead of >=0. The factored function always checks for >=0.

  • General

    Make nsqrtasm return int32_t (instead of uint32_t) when compiled with GCC/x86.

    Helixhorned r2793 1 Jul, 15:11
Open the build to see all 9 commits

June 2012 15 builds · 66 commits

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

    some trivial mapster tweaks

    Helixhorned r2787 26 Jun, 12:50 Engine
  • safety tweaks, expose more stuff

    Helixhorned r2786 26 Jun, 12:49
    Show details

    Arrays inside structs must not be accessible, since they're not bound-checked by the FFI. Therefore, we flatten them into repeated scalar fields and need to write accessor functions later.

  • 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.

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 2779

22 Jun 2012 · 3 commits · 1 author SVN
Open build
  • various stuff

    Helixhorned r2779 22 Jun, 14:40 Fix
    Show details

    - hitscan & related types and constants - profiling with gethitickms - translator: eval the opening parts of block commands early - fix getbunch

  • General

    SDL layer: tweak high-resolution timers for profiling, add gethitickms().

    Helixhorned r2778 22 Jun, 14:39
    Show details

    For SDL 1.2 and when building on linux, the code using clock_gettime(CLOCK_MONOTINIC, ...) is taken over from SDL HG. gethitickms() is a convenience function that return milliseconds as doubles and isn't exposed in any header file, yet.

  • General

    Add prototypical SDL 2.X support.

    Helixhorned r2777 22 Jun, 14:39
    Show details

    Doesn't work: indexed-color modes, gamma (at least for X11), mouse wheel, special keys like ENTER or BACKSPACE in the OSD, probably more... In build/Makefile.shared, we now have logic to autodetect an SDL2 installed in /usr/local, however OS X and Wii builds follow other Makefile code paths, it seems. Note that the matching SDL2_mixer must be used then, too. In source/jaudiolib/src/driver_sdl.c, change the #includes from <SDL/SDL_xxx.h> to "SDL_xxx.h". SDL wiki says this is the most portable way, hopefully this doesn't break builds for anyone.