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:

May 2012 15 builds · 64 commits

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

April 2012 11 builds · 37 commits

Build 2620

29 Apr 2012 · 5 commits · 1 author SVN
Open build
  • General

    Revert r2232, "don't reset full-screen tint on basepal change" in CON setgamepalette.

    Helixhorned r2620 29 Apr, 13:55 FixCON
    Show details

    Because gltexinvalidate*() could be called too often when setgamepalette is used while having a tint overlaid else. Pending thorough analysis/reworking of the 32-bit mode base palette handling / texture invalidation.

  • General

    When deleting GL skin textures, handle the case where they are aliased.

    Helixhorned r2619 29 Apr, 13:54
    Show details

    That is, have a second loop over all models run for each deleted tex and null the texname. This is ugly, sure, but it's better than calling glDeleteTextures on stale names.

  • General

    Fix 'realloc' routine of GL texture name (id) debugging code.

    Helixhorned r2618 29 Apr, 13:54 Fix
  • General

    Prettify some code in mdsprite.c.

    Helixhorned r2617 29 Apr, 13:54
    Show details

    - factor out a longish expression - whitespace, move a var down - remove unneeded casts (recall: "usual arithmetic conversions") - strcat -> Bstrcat, strcpy -> Bstrcpy

  • General

    Lunatic translator: nearing syntax completion while treading in murky waters.

    Helixhorned r2616 29 Apr, 13:54 Fix
    Show details

    - bump lpeg stack limit to 1024 (hack) for long if/if/if...else chains - lexical: newline, EOF and whitespace; "bad" identifiers; hex literals, newline terminated strings (allow empty string) - syntax: allow nesting of array expressions, it's easier than special-casing; handle issues with structs expecting parm2 (hackish); userdef; switch/case/default - fix parsing some commands; mind prefixes! - frontend: if failing match, print last keyword and its position; warn on "bad" identifiers (one per such); batch processing from command line - Files that locate finds from my linux box now pass (except where there are really syntax errors).

Build 2615

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

    CON palfrom: sanity-check current player and maybe print error message.

    Helixhorned r2615 28 Apr, 14:56 CON
  • General

    Make two-way trains capable of carrying SE49 or SE50 sprites.

    Helixhorned r2614 28 Apr, 14:56 Engine

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 2609

13 Apr 2012 · 3 commits · 1 author SVN
Open build
  • General

    Cleanup in game.c/actors.c part2, only whitespace changes.

    Helixhorned r2609 13 Apr, 03:46
  • General

    Some cleanup in game.c/actors.c, part 1.

    Helixhorned r2608 13 Apr, 03:45
  • General

    actors.c: factor out various duplicated code in G_MoveEffectors.

    Helixhorned r2607 13 Apr, 03:45 Fix
    Show details

    - 4 instances -> HandleSE31 - 4 instances -> MaybeTrainKillPlayer - 2 instances -> MaybeTrainKillEnemies - move a couple of variables into inner blocks and add 'const' for easier reading In passing, fix a minor glitch where the squishing sound of an enemy that got run over by an SE 6 or 14 car would appear to originate from the SE instead of the enemy's last position.

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 2603

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

    Fix aspect correction in fullscreen mode.

    Helixhorned r2603 9 Apr, 12:22 Fix
    Show details

    Previously, we only set the viewingrange according to the physical screen's dimensions, but didn't correct yxaspect for a potential non-square pixel ratio.

  • General

    Add samples/aspect.map for calibrating aspect-related settings and testing.

    Helixhorned r2602 9 Apr, 12:22
  • General

    On Windows, auto-determine r_screenaspect on startup.

    Helixhorned r2601 9 Apr, 12:22
    Show details

    Consequently, it's not saved as a setting in either the game or editor config files. We do this by calling "GetSystemMetrics(SM_CXSCREEN)" (accordingly for y) and calculating the cvar by dividing common factors, since it has to be in the form WWHH. This may fail for _really_ strange screen dimensions, so a log message is printed at the very beginning.

  • General

    On Windows, don't allow map playtesting from Mapster when in fullscreen.

    Helixhorned r2600 9 Apr, 12:21 Engine
    Show details

    Because this doesn't even seem to work on XP, we're being spammed with DDERR_SURFACELOST messages...

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.

  • fix inconsistent format letter vs. vararg in fprintf.

    Helixhorned r2598 8 Apr, 08:52 Fix

Build 2592

5 Apr 2012 · 3 commits · 1 author SVN
Open build
  • General

    A couple of less interesting changes.

    Helixhorned r2592 5 Apr, 12:49
    Show details

    - strip 'inline' from animateoffs() definition, remove declaration in build.h - one min/max -> clamp - one malloc/strlen/strcpy -> strdup

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

Build 2589

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

    Fix "ignored application parameter" message for short options.

    Helixhorned r2589 4 Apr, 11:58 Fix
  • General

    Big clean up in defs.c and related content. The usual stuff...

    Helixhorned r2588 4 Apr, 11:58
    Show details

    - factor out many identical checks in a convenient function; some messages may read slightly differently now and tile ranges may be handled more strictly (error out if one of the limits is invalid) - factor out two instances of identical (up to one arg) code into tile_from_truecolpic - factor out setting picsiz[] and stuff into set_picsizanm - some checks - Make "undefmodelof" non-functional and warn. - in "animtilerange", if the tile difference is >= 64, error out since we can't store it in picanm[]

  • General

    Add dummy parsing of "nofloorpalrange" to defs.c.

    Helixhorned r2587 4 Apr, 11:57
  • General

    Move some debugging stuff out of compat.h into glbuild.h and common.h.

    Helixhorned r2586 4 Apr, 11:57
  • General

    Fix "Thanks (...) for giving us big heads" message at the end of Ep4.

    Helixhorned r2585 4 Apr, 11:57 Fix
    Show details

    This was more or less done by trial and error rather than understanding what exactly is going on there. In any case, the code for all the different ending scenes ought to be factored out instead of being duplicated with subtle differences every time.

Open the build to see all 9 commits

March 2012 21 builds · 116 commits

Build 2575

31 Mar 2012 · 3 commits · 1 author SVN
Open build
  • General

    CON showview/showviewunbiased: silently clamp 'horiz' to HORIZ_MIN..HORIZ_MAX.

    Helixhorned r2575 31 Mar, 04:22 CON
  • General

    Allow the screen bounds difference in CON showview/-unbiased to be less than 2.

    Helixhorned r2574 31 Mar, 04:22 EngineCON
    Show details

    This requires one tweak in drawrooms' umost/dmost setup to prevent oob access. Specifically, a coordinate difference of 0 is allowed. In the classic renderer, this would mean a one-pixel (real screen coords) height or width. In Polymost, it would currently mean a one-pixel height and zero-pixel width, but this might be subject to change.

  • General

    New CON command 'showviewunbiased', mapping the screen coords w/o round-to-0 bias.

    Helixhorned r2573 31 Mar, 04:22 CON
    Show details

    The showview command transforms the 320-based screen bound coordinates to the real screen bounds like xreal = (x*xdim)/320, which shows a bias towards zero: for example, for a 1680 screen width, the maximum permissible value 319 is mapped to round_to_zero((319*1680)/320) == 1674. (The rounding is implicit in the integer division). This makes it impossible for a view to cover the whole screen with any other resolution than 320x200. The new command transforms the bounds like xreal = (x*(xdim-1))/319, which would map 319 to 1679 in the preceding example.