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:

February 2013 16 builds · 85 commits

January 2013 14 builds · 80 commits

Build 3439

26 Jan 2013 · 6 commits · 1 author SVN
Open build
  • General

    Lunatic translator: a couple of set-struct commands, "-I" option for default dir.

    Helixhorned r3439 26 Jan, 09:08
  • General

    Don't apply GL fogging to wall lines drawn in game's "light" overhead view.

    Helixhorned r3438 26 Jan, 09:07 Engine
  • prefer to use ctype objects instead of C type strings.

    Helixhorned r3437 26 Jan, 09:07
    Show details

    Pass types via ffi.typeof() instead of declaring them in the global namespace when possible.

  • General

    player.c: return early from various P_Display*() if player's *incs are oob.

    Helixhorned r3436 26 Jan, 09:07
  • use bcarray types to guard accesses to arrays inside structs.

    Helixhorned r3435 26 Jan, 09:07
Open the build to see all 6 commits

Build 3433

24 Jan 2013 · 5 commits · 1 author SVN
Open build
  • General

    Lunatic translator: struct read access.

    Helixhorned r3433 24 Jan, 12:03
  • General

    Lunatic translator: prototypical array/struct access, for reference only.

    Helixhorned r3432 24 Jan, 12:03
  • a little bit of everything.

    Helixhorned r3431 24 Jan, 12:03
  • sync with preceding change, complete two commands.

    Helixhorned r3430 24 Jan, 12:02
  • General

    CON parser: don't accept read-only gamevars for 1st arg of *sprite{sect,stat}.

    Helixhorned r3429 24 Jan, 12:02 EngineCON

Build 3428

23 Jan 2013 · 5 commits · 1 author SVN
Open build
  • General

    game.c: replace one missed instance of inline code with calc_smoothratio().

    Helixhorned r3428 23 Jan, 11:36
  • sync with preceding change, fix r3419.

    Helixhorned r3427 23 Jan, 11:36 Fix
  • General

    Rework hardcoded BADGUY sprite flag initialization (i.e. amend r3257).

    Helixhorned r3426 23 Jan, 11:36 FixEngine
    Show details

    Use a new flag to mark hard-coded enemies, not SPRITE_BADGUY. This fixes an issue where in E1L4, a pigcop would appear in the area you have to crawl under shrunk. Thanks to LLCoolDave1 for pinpointing the range of relevant revisions.

  • General

    Fix USE_OPENGL=0 build.

    Helixhorned r3425 23 Jan, 11:36 Fix
  • fix cycling to the next link sprite with LShift+"]", tweak message.

    Helixhorned r3424 23 Jan, 11:36 FixEngine

Build 3422

20 Jan 2013 · 11 commits · 1 author SVN
Open build
  • simplify how to determine whether the final binary is stripped.

    Helixhorned r3422 20 Jan, 13:17 Fix
    Show details

    Whenever it should be not, STRIP is set to the empty string. This fixes the Lunatic RELEASE=1 build.

  • General

    Reimplement pixel doubling by drawing scene at 1/(2*2) resolution and expanding.

    Helixhorned r3421 20 Jan, 13:17
    Show details

    The pixel doubling now only applies to the area where the world scene is drawn, i.e. it may be smaller than the physical screen / WM window size. The optimized version is slightly faster than for non-doubled pixels for me (optimized build), but see code for caveats. Some other minor issues: - won't work when the world is drawn from demo cameras (and offscreen, but that matters less) - will leave a few pixels empty when running with x resolutions not evenly divisible by 4

  • General

    game.c: pull out two G_DrawRooms blocks into G_OROR_DupSprite and G_ReadGLFrame.

    Helixhorned r3420 20 Jan, 13:17
    Show details

    ... to have a little moew overview.

  • General

    Lunatic translator: handle overriding system GVs.

    Helixhorned r3419 20 Jan, 13:17
  • General

    player.c: make four functions file-local.

    Helixhorned r3418 20 Jan, 13:17
Open the build to see all 11 commits

Build 3410

19 Jan 2013 · 6 commits · 1 author SVN
Open build
  • General

    Remove mixed Lunatic/legacy build option.

    Helixhorned r3410 19 Jan, 10:29
  • General

    Lunatic translator: more of the same.

    Helixhorned r3409 19 Jan, 10:28 Fix
    Show details

    - more predefined vars - fix recursive states and ones with a stray "else" before the end

  • General

    Consolidate badly named HUD weapon globals ("g_looking_angSR1") into struct.

    Helixhorned r3408 19 Jan, 10:28
  • more convenient weapon data access.

    Helixhorned r3407 19 Jan, 10:28
  • various.

    Helixhorned r3406 19 Jan, 10:28 Fix
    Show details

    - Fix "gv" access. - camera - translator: comparison predicates, predefs...

Open the build to see all 6 commits

Build 3404

17 Jan 2013 · 6 commits · 1 author SVN
Open build
  • in texel-hitscan wall-aligned sprites, consider engine-side animation.

    Helixhorned r3404 17 Jan, 13:59 Engine
    Show details

    Whether a sprite is considered for texel-hitscan is determined on the base tile number, not the individual animated tile numbers.

  • General

    Make r_shadescale 1.0 by default.

    Helixhorned r3403 17 Jan, 13:59
  • General

    Simplify HUD scale and viewport size logic and clean up related code.

    Helixhorned r3402 17 Jan, 13:59 CON
    Show details

    * Make the "classic status bar fullscreen viewport" mode accessible in classic too. * Make range of status bar scale 36..100 * Update ud.statusbarmode when executing OSD command r_size (ud.screen_size). NOTE: ud.statusbarmode is considered internal. Don't use from CON! * Make sure 1) loading any configuration and 2) menu bars work correctly. (The "classic status bar fullscreen viewport" mode will never be restored though because ud.statusbarmode isn't handled by the OSD var system).

  • General

    polymost.c: factor out 2x dup'd code into get_projhack_ratio().

    Helixhorned r3401 17 Jan, 13:59 FixEngine
    Show details

    One use was in determining the ray vector for the mouse-aiming hitscan in the editor. Unfortunately, the change doesn't make it any less broken in Polymost, even if the two instances were out of sync.

  • General

    Various cleanup of status bar drawing code, remove some old commented out code.

    Helixhorned r3400 17 Jan, 13:59
Open the build to see all 6 commits

Build 3398

16 Jan 2013 · 5 commits · 1 author SVN
Open build
  • add cvar/mapster32.cfg option "keeptexturestretch".

    Helixhorned r3398 16 Jan, 12:38 Engine
    Show details

    If enabled, dragging wall vertices will correct the xrepeat after the mouse button is released, so that the pre-drag absolute stretching is restored.

  • slightly rework code for setting/querying some cvars.

    Helixhorned r3397 16 Jan, 12:38 Engine
  • more or less fix the auto wall-alignment feature ([.]/[,]).

    Helixhorned r3396 16 Jan, 12:38 FixEngine
    Show details

    - Run it twice, since the first one is wrong. - Warn when attempting to align based on a top-oriented wall. When the sequence of walls to align has "windows", only the bottom parts will be correct. - Make the modifiers actually useful: * Pressing SHIFT aligns at most one wall, remove the old CTRL modifier. * The rest is as before: ALT makes the walls have (approximately) equal texture stretching, ['] (quote) aligns the immediate TROR-nextwalls.

  • don't show wall length of *line* highlight when dragging points.

    Helixhorned r3395 16 Jan, 12:38 Engine
    Show details

    Also, factor out 2x dup'd code of insertsprite() into do_insertsprite() and add searchwall-displaying code into package/samples/a.m32.

  • General

    Replace dragpoint()'s "dragpoint_noreset" global with a "flags" argument.

    Helixhorned r3394 16 Jan, 12:38 Engine
    Show details

    Also, add another flag, signifying that from the editor, also the "lastwall"s (i.e. the CCW-linked points) should get collected. This is to signal the editor that their wall lengths should be displayed, too.

Build 3393

13 Jan 2013 · 6 commits · 1 author SVN
Open build
  • General

    Fix MUSICANDSFX ambient sounds (bit 2) playing only one instance.

    Helixhorned r3393 13 Jan, 08:40 Fix
    Show details

    This is done by introducing an additional internal bit, meaning "play only one instance". It is set for all sounds which have bit 1 ("repeat in the sound system") set at definesound time, but not those that set bit 1 temporarily (see r3336).

  • codegen beyond milestone 1.

    Helixhorned r3392 13 Jan, 08:40
    Show details

    - weapon data - changing ones... (locals for now) - operators

  • General

    Lunatic translator: slight code reorganization to prevent too many local vars.

    Helixhorned r3391 13 Jan, 08:40
  • begin changing ones...

    Helixhorned r3390 13 Jan, 08:40
  • don't apply GL fogging to crosshair.

    Helixhorned r3389 13 Jan, 08:40 Engine
Open the build to see all 6 commits

Build 3387

8 Jan 2013 · 5 commits · 1 author SVN
Open build
  • General

    Make r_downsize 0 by default.

    Helixhorned r3387 8 Jan, 15:12
    Show details

    Also, rewrite comparison to the non-tint in astub.c to be even less hackish.

  • General

    polymost.c: a couple of {tex,mem}cache cleanups / fixes.

    Helixhorned r3386 8 Jan, 15:12 FixEngine
    Show details

    - Stop using memcache on some other failure paths, particularly when failing to read from the on-disk texcache. - Factor out cache reading code (3x). - Fix endianness issues affecting big-enadian systems (one introduced by r3382, one existing before). Comment each B_LITTLE32 with whether we're converting from native to on-disk (little) endianness or back.

  • General

    On Windows, remove "SHGetFileInfo failed with error code ..." note.

    Helixhorned r3385 8 Jan, 15:12
  • General

    polymost.c: some meaning-preserving cleanups, make some vars file-local.

    Helixhorned r3384 8 Jan, 15:12 Engine
  • General

    polymost.c: factor out 2 x 3x dup'd I/O code for DXT filter functions.

    Helixhorned r3383 8 Jan, 15:12 Engine

Build 3381

6 Jan 2013 · 5 commits · 1 author SVN
Open build
  • General

    Re-enable spotlights on ATI cards again because the crash from 12.8 seems gone.

    Helixhorned r3381 6 Jan, 10:56 Fix
  • a couple of small changes.

    Helixhorned r3380 6 Jan, 10:56
  • General

    Fix NETCODE=0 build.

    Helixhorned r3379 6 Jan, 10:56 Fix
  • General

    Reimplement pixel doubling by taking the upper left pixel of each 2x2 block.

    Helixhorned r3378 6 Jan, 10:56
    Show details

    This obviously won't help performance as the scene has still to be drawn at the original resolution, but it's better than the draw-to-tile hack.

  • General

    Factor "pipe standard outputs to files" code into baselayer.c.

    Helixhorned r3377 6 Jan, 10:56 Fix
    Show details

    The SDL and Windows layers had slightly different code: the latter would dereference a NULL pointer if stdout.txt failed being write-opened.

Build 3376

5 Jan 2013 · 4 commits · 1 author SVN
Open build
  • allow creating circle walls from TROR-constrained walls.

    Helixhorned r3376 5 Jan, 05:09 Engine
    Show details

    When reaching wall limits, it is possible that only some circle points will be inserted and the result is left unfinished.

  • grabbag of different things.

    Helixhorned r3375 5 Jan, 05:09 FixEngine
    Show details

    - fix error handing with recursing events - wallsofsect iterator, sector[]:contains() - more codegen; mangle function names - m32: compinside

  • General

    Lunatic translator: dangling else, hopefully for the last time!

    Helixhorned r3374 5 Jan, 05:09
  • more commands, mostly of the define* variety.

    Helixhorned r3373 5 Jan, 05:09

Build 3366

2 Jan 2013 · 4 commits · 1 author SVN
Open build
  • getting closer to the first milestone.

    Helixhorned r3366 2 Jan, 14:33
    Show details

    On the C side, zrange, angrange and autoaimang are represented as DukePlayer_t members then.

  • General

    gameexec.c: factor code for "ifnosounds" into sounds.c: A_CheckAnySoundPlaying.

    Helixhorned r3365 2 Jan, 14:33
  • fix a possible crash with texel-hitscan.

    Helixhorned r3364 2 Jan, 14:33 FixEngine
    Show details

    Reproduced as follows (assuming all tiles have texel-hitscan for simplicity): In E2L5, shoot the opening switch with the shotgun, aiming for the border. The crash occurs because the *other*, depressed switch tile isn't yet loaded when we index into its tile storage. Dereferencing 0+small number == BAD!

  • General

    Move DukePlayer_t's .palette down so that 2-byte-sized members are 2-byte-aligned.

    Helixhorned r3363 2 Jan, 14:33
    Show details

    Bump BYTEVERSION.

Build 3362

1 Jan 2013 · 11 commits · 1 author SVN
Open build
  • General

    player.c: factoring continued.

    Helixhorned r3362 1 Jan, 07:24
    Show details

    New local functions: Proj_DoRandDecalSize, SectorContainsSE13, HandleHitWall, Proj_CheckBlood, Proj_HandleKnee.

  • General

    player.c: cleanup. "ProjectileData[atwith]." --> "proj->", ...

    Helixhorned r3361 1 Jan, 07:24
    Show details

    The diff may look daunting, but it's clear what is changed with git diff (...) --color-words='[a-zA-Z0-9_]+|[^[:space:]]' -b

  • General

    player.c: finish hitscan projectile handling cleanup.

    Helixhorned r3360 1 Jan, 07:24
    Show details

    Factoring out 2x almost duplicated code into {P,A}_PostFireHitscan().

  • General

    player.c: hitscan projectile handling cleanup continued.

    Helixhorned r3359 1 Jan, 07:24
  • General

    player.c: factor out 2x almost dup'd code preparing hitscan weapon firing.

    Helixhorned r3358 1 Jan, 07:24
    Show details

    The code is duplicated with small changes for the hardcoded and custom projectiles. Adding local functions P_PreFireHitscan(), A_PreFireHitscan() and Proj_MaybeAddSpread().

Open the build to see all 11 commits

December 2012 17 builds · 59 commits

Build 3345

29 Dec 2012 · 5 commits · 1 author SVN
Open build
  • more glue, fixes, backtrace for code called back from C.

    Helixhorned r3345 29 Dec, 07:21 Fix
  • General

    Replace "if (g_tile[..].execPtr)" -> "if (G_HaveActor(...))".

    Helixhorned r3344 29 Dec, 07:21
  • beginning to glue things together. Introducing LUNATIC_ONLY.

    Helixhorned r3343 29 Dec, 07:21
  • General

    Remove commented code using former engine variable "automapping".

    Helixhorned r3342 29 Dec, 07:21 Engine
  • General

    Fix LTO=1 RELEASE=1 Lunatic build.

    Helixhorned r3341 29 Dec, 07:21 Fix

Build 3329

28 Dec 2012 · 8 commits · 1 author SVN
Open build
  • General

    DEF "voxel": fix a tile range check failure message.

    Helixhorned r3329 28 Dec, 09:18 FixEngine
  • General

    Encapsulate aplWeapon* array accesses in a PWEAPON(Player, Weapon, Wmember) macro.

    Helixhorned r3328 28 Dec, 09:18 CON
    Show details

    In the normal game, these arrays are conceptually [MAX_WEAPONS][MAXPLAYERS], allocated as CON per-player gamevars (e.g. WEAPONx_WORKSLIKE). For Lunatic, they are replaced with weapondata_t g_playerWeapon[MAXPLAYERS][MAX_WEAPONS].

  • General

    Replace wall of dup'd code in Gv_AddSystemVars with something more readable.

    Helixhorned r3327 28 Dec, 09:18 EngineCON
    Show details

    Specifically, have a weapondata_t type mimicking the aplWeapon* arrays. Keep a list weapondefaults[] which undergoes some static->dynamic tweaks and then makes its way to the WEAPONx_XXX per-player gamevars.

  • General

    Replace initialize_engine_globals() with array initialization.

    Helixhorned r3326 28 Dec, 09:18
  • General

    Lunatic translator: pack all translation units into one big blob.

    Helixhorned r3325 28 Dec, 09:18
Open the build to see all 8 commits

Build 3321

25 Dec 2012 · 4 commits · 1 author SVN
Open build
  • General

    Cleanup of console/on-screen-display (OSD) functionality.

    Helixhorned r3321 25 Dec, 08:13
    Show details

    - Rewrite the "clear background" routine in a no-brainer way instead of juggling around with rotatesprite(). Make it common to game+editor. Expose glRectd to glbuild. - Don't stop OSD text line drawing when encountering a non-printable char. Instead, treat it as space. - In OSD_SetTextMode(), don't use swaplong (which really swaps 32-bit ints) to swap pointers. Write an analogous "swapptr" instead. - When changing from/to OSD, don't inject a pause key. This *might* have been the cause of the reported pausing problems. - clean up the code... (Yes, this commit throws together too much stuff. I suck sometimes. :P)

  • event chaining.

    Helixhorned r3320 25 Dec, 08:13
  • print -> OSD_Printf, error reporting.

    Helixhorned r3319 25 Dec, 08:13
  • General

    Clip printext256() at xdim, don't crash OSD_Printf() with empty string.

    Helixhorned r3318 25 Dec, 08:13 Fix

Build 3317

23 Dec 2012 · 3 commits · 1 author SVN
Open build
  • General

    Add a couple of test CONs: non-local control flow, rotation-fixed useractors.

    Helixhorned r3317 23 Dec, 11:24 Fix
  • General

    Fix rotation-fixed useractors (those having usertype bit 4 set).

    Helixhorned r3316 23 Dec, 11:24 FixEngine
    Show details

    Rotation-fixing happens for a couple of hard-coded statnums that presumably never move (DEFAULT, STANDABLE, FX, FALLER, LIGHT), but for actors it wouldn't make sense since the common case is that they do move. For this reason, bit 4 was introduced in r1934. The position of such useractors will not diverge due to error roundoff accumulation in rotating sectors (SE0, train).

  • more complete gameactor(), misc. translator tweaks.

    Helixhorned r3315 23 Dec, 11:24