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 1,043 builds · 2,174 commits

Export CSV
Display options
Commit details:

June 2012 9 builds · 22 commits

Build 2718

1 Jun 2012 · 8 commits · 1 author SVN
Open build
  • 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.

  • in textured 2D mode, make floor flipping [F] work.

    Helixhorned r2713 1 Jun, 13:09 Engine
  • In textured 2D mode, allow setting floor relativity [R].

    Helixhorned r2712 1 Jun, 13:09 Engine
    Show details

    Also factor out the code (2x) setting the alignment bits for sprites.

Open the build to see all 8 commits

May 2012 11 builds · 17 commits

Build 2710

29 May 2012 · 6 commits · 1 author SVN
Open build
  • 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.

Open the build to see all 6 commits

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

    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.

Open the build to see all 5 commits

Build 2685

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

    Mac OS X: Add correct default values for 'gameexecutable' cfg string so that the Mapster32 test feature works with .app bundles.

    Hendricks266 r2684 20 May, 00:24 FixEngine
    Show details

    Note: You may encounter a crash if you try to test your map and Mapster32 is running fullscreen.

Open the build to see all 3 commits

Build 2657

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

    "Band-aid" fix for the issue with EDuke32 and Mapster32 visually locking up but continuing to run and play sounds after alt+tabbing away for a few seconds on Windows Vista/7. This may screw something else up, so please test thoroughly.

    TerminX r2657 17 May, 10:19 FixEngine

Build 2652

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

    Addition of 3 events:

    TerminX r2652 14 May, 11:12 FixEngineCON
    Show details

    EVENT_SOUND: triggered upon playback of any sound, this allows the "hard coded" sounds to be altered in a context-aware fashion instead of having to resort to clunky hacks like replacing them with a blank sound effect. RETURN var iable is set to the sound effect # of the sound to be played, or -1 to cancel playback. EVENT_CHECKTOUCHDAMAGE: triggered in P_CheckTouchDamage() whenever the player collides with anything. Value of RET URN is set to the result provided by clipmove() and so can be decoded in the same way. Value of RETURN when the event is over can also be manipulated to control some of the hard coded damage effects. EVENT_CHECKFLOORDAMAGE: triggered in P_CheckFloorDamage(), RETURN is simply the picnum of the floor of the sector t he player is in. Can be used to cancel hard coded floor damage effects or to make other tiles exhibit the same eff ects Other misc fixes and cleanups, including a possible workaround for Duke Plus SECTOREFFECTOR light issues wherein all SE49 and SE50 that have a statnum of STAT_EFFECTOR are simply changed to STAT_LIGHT during the STAT_EFFECTOR loop now.

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

Open the build to see all 2 commits

Build 2643

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

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

    Helixhorned r2641 5 May, 15:24 FixEngine
  • 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.

  • General

    Add bit 16 to the two main setbrightness() users, add bit 2 to one of them.

    Helixhorned r2637 5 May, 15:22 EngineCON
    Show details

    (I.e. also restore r2232 again.) The first one is the palette restore logic in G_DisplayRest, the second is CON setgamepalette, to which the "don't gltexinvalidateall()" bit is added to mimic the first. Hightile invalidations aren't really useful for anything other than reloading them after a video mode change, IMO. These changes mean that 1) active full screen tints should (almost) always be kept with a basepal change. The only exceptions to this are when tints really have to be cleared, e.g. when changing the player view in co-op play. 2) there should be no performance issues with simultaneously changing basepals while a tint is applied

  • General

    Tweak the conditions under which setbrightness() invalidates GL textures.

    Helixhorned r2636 5 May, 15:22 FixEngineCON
    Show details

    Previously, we checked whether the faded palette has changed (by way of CRC) and invalidated the textures then unless the preserve flags were set. This however could lead to wrongly invalidating them under unfortunate circumstances, e.g. basepal change from CON + tints at the same time before r2620 which reverted r2232. Now, only invalidate them if the corresponding preserve flags are clear AND * the base palette has really changed OR * the palette CRC changed and we were running on software gamma The latter means that performance-killing invalidations may still happen on GL platforms lacking HW gamma (for ATI, it's currently only disabled in 8-bit fullscreen). Also have a new global 'basepalreset' to fake a basepal change for setbrightness(), currently used when changing renderers so that going from Polymer to Polymost and back again will invalidate the Polymer textures on the second change, potentially re-applying a basepal highpal. (Still with me?)

  • General

    On Windows, determine if we're running on a ATI card at startup even in classic.

    Helixhorned r2633 5 May, 15:21 Engine
    Show details

    Previously, I knew no way of querying for graphics adapter vendors/names from anything other than OpenGL. Googling revealed a way to do this with the Windows API.

Open the build to see all 11 commits

April 2012 6 builds · 9 commits

Build 2610

14 Apr 2012 · 1 commit · 1 author SVN
Open build
  • General

    Fix a null pointer access in Polymer mouse picking.

    Helixhorned r2610 14 Apr, 06:04 FixEngine
    Show details

    Specifically, it was in the "determine searchwall when aiming at floor or ceiling" part. Now, if prsectors[]->ceil.plane (or ->floor.plane) is NULL, we set the searchwall to the sector's firstwall and return.

Build 2606

10 Apr 2012 · 3 commits · 1 author SVN
Open build
  • when drawing art sky, temporarily set texcoord s wrapping to clamping.

    Helixhorned r2606 10 Apr, 13:14 FixEngine
    Show details

    This properly fixes the unwanted vertical lines.

  • General

    Mapster/classic: Make Ctrl-P toggle parallax rendering types in 3D mode again.

    Helixhorned r2605 10 Apr, 13:14 Engine
    Show details

    Of course, it's just for the heck of it, since this setting is not saved into MAP files. I kinda like the cylindrical projection...

  • General

    Fix flipping masked walls in Mapster/classic.

    Helixhorned r2604 10 Apr, 13:14 FixEngine
    Show details

    This has been there since searchbottomwall introduction in r1466.

Build 2599

8 Apr 2012 · 2 commits · 1 author SVN
Open build
  • General

    Fix point deletion in Mapster32.

    Helixhorned r2599 8 Apr, 08:52 FixEngine
    Show details

    Previously, it was possible to leave a sector with less than three walls if a point got deleted transitively by a TROR link. Now, a proper check is done for all deletion candidates and a message stating which wall and sector is problematic is printed. Thanks for Diaz for pointing out the brokenness.

Open the build to see all 2 commits

Build 2592

5 Apr 2012 · 3 commits · 1 author SVN
Open build
  • fix some commands breaking too early in case of a failed validation.

    Helixhorned r2591 5 Apr, 12:49 FixEngineCON
    Show details

    If one next instruction happened to be interpreted, madness would ensue, because the pointer wouldn't be aligned on the "opcode" part anymore. Also, with "seti", set current sprite index only after a successful validation.

  • General

    New M32Script command "getspritelinktype" <spritenum> <<linktypevar>>.

    Helixhorned r2590 5 Apr, 12:49 EngineCON
    Show details

    This get into the writable variable the "linking type" of the sprite with index <spritenum>. The result is a bit field of ORed values: 1: lotag has linking semantics 2: hitag 4: extra, 8: xvel, 16: yvel, 32: zvel, 64: owner (custom only) Custom setting about which sprites have what kind of linking can be programmed via EVENT_LINKTAGS: it receives a sprite index as the 'current sprite' and is supposed to return the bit field in RETURN. An example which lists sprites and their linking hi- and lotags is provided in the state 'listusedtags' in a.m32.

Open the build to see all 3 commits

March 2012 21 builds · 45 commits