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 2013 · select it again to see every year
SVN era · r1519 – r8798 Git era · voidpoint.io, from april 2020
Filters · 2 active

Showing 129 builds · 658 commits

Export CSV
Display options
Commit details:

April 2013 15 builds · 60 commits

Build 3684

15 Apr 2013 · 8 commits · 1 author SVN
Open build
  • General

    gameexec.c: in VM_Fall(), comment out dead code, small indentation change.

    Helixhorned r3684 15 Apr, 03:48
  • General

    TROR no-SE7 water: spawn splash, reuse calculated other sector number.

    Helixhorned r3683 15 Apr, 03:48 Engine
  • General

    Improve on the code that handles changing sectors of projectiles.

    Helixhorned r3682 15 Apr, 03:48 Engine
    Show details

    - In the A_MoveSprite() code that transports projectiles due to an SE7 (introduced in r1450 / legacy ROR), only report "success" if the transportation succeeded. - Clear newly introduced internal SPRITE_DIDNOSE7WATER flag after checking it.

  • General

    In G_MoveStandables() CRACKx handling, fix oob access of DynamicTileMap[].

    Helixhorned r3681 15 Apr, 03:48 Fix
    Show details

    Also, in two cases, don't assign A_IncurDamage() result to a variable if it's not needed.

  • General

    Fix a couple of issues identified in the preceding commit.

    Helixhorned r3680 15 Apr, 03:48 Fix
    Show details

    - In S_PlaySound(), move the sound index bound check above an indexing. - For A_CheckHitSprite(), and A_FindPlayer(), allow NULL second arg. - In A_ShootWithZvel(), make some one-letter vars be int32_t, making storing safeldist() results in them meaningful. - In MaybeTrainKillEnemies(), remove two redundant checks and move another one further up. - Comment that SIDEBOLT1 will never be translucent as was probably intended. - In G_MoveFX(), fix an always-true comparison.

Open the build to see all 8 commits

Build 3666

12 Apr 2013 · 5 commits · 1 author SVN
Open build
  • General

    In upward moving enemy code of VM_Move(), consider TROR boundaries.

    Helixhorned r3666 12 Apr, 04:59 Fix
    Show details

    This fixes liztroops not passing TROR layers when on the jetpack, as well as other enemies capable of moving upward, and also COMMANDER and DRONE (for which the code is special-cased).

  • General

    build.lua: add .sectsperbunch to map table, useful for TROR stats w/ findmaps.sh

    Helixhorned r3665 12 Apr, 04:59
    Show details

    Also, sync MAXBUNCHES to new limit in lunatic/defs_common.lua.

  • fix test.elua after map-int VX and one rename, add one microbenchmark.

    Helixhorned r3664 12 Apr, 04:59 Fix
  • General

    Mostly engine and some gameexec.c stylistic changes.

    Helixhorned r3663 12 Apr, 04:59 Engine
  • in hitscan and getzrange, skip sprites if sprite part of clipmask is 0.

    Helixhorned r3662 12 Apr, 04:59 Engine
    Show details

    ... like was done with clipmove() previously. Also, do some code clean up. There are no changes of functionality.

Build 3660

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

    Silence "may be used uninitialized" warning, use Batoi() for user input.

    Helixhorned r3660 9 Apr, 10:35
    Show details

    Nag: The behavoir of atoi() is *undefined* if "the value of the result cannot be represented" (C99 7.20.1). Note: my nagging about undefined behaviors will *not* get less over time. :P

  • print the "Saved board" message more persistently.

    Helixhorned r3659 9 Apr, 10:35 Engine
  • new-generation map format, in-memory representation ("map-int VX").

    Helixhorned r3658 9 Apr, 10:35 Engine
    Show details

    The Lunatic build compiles with new structures for sector and wall types. They have separate members for TROR {up,down}{bunch,nextwall}, so there are no conflicts with other uses of members into which they were previously shoehorned. Also, the maximum bunch limit is bumped to 512 in that build. Currently, loading from V7/8/9 and saving to V7 and V8 are supported.

  • move utility scripts to util/, bittest.lua -> test/test_bitar.lua.

    Helixhorned r3657 9 Apr, 10:35

Build 3656

9 Apr 2013 · 1 commit · 1 author SVN
Open build
  • fix stuff after last commits; translator: clean up -f parsing code.

    Helixhorned r3656 9 Apr, 10:34 FixCON
    Show details

    Also, implement 'cmenu' in LunaCON, make 'definequote' also allowed as inner command.

Build 3653

7 Apr 2013 · 5 commits · 1 author SVN
Open build
  • replace DukePlayer_t set-member methods with metatable magic.

    Helixhorned r3653 7 Apr, 08:20 Engine
    Show details

    So that members needing it are checked when they're assigned to using the usual syntax. What kind of check to perform (sector, player, ... x whether negative values are allowed) is written in a declarative fashion inside the C declaration. Also, make Lunatic's MAXQUOTES be C's OBITQUOTEINDEX and bound-check an access of sprite[p->wackedbyplayer] in the C code.

  • get rid of some now unneeded set-member methods, add others.

    Helixhorned r3652 7 Apr, 08:20
  • General

    a.m32: Don't reposition head light if in void space, fixing crash.

    Helixhorned r3651 7 Apr, 08:20 FixEngine
  • access to show2dsector[], fix some permit-negative bound checks.

    Helixhorned r3650 7 Apr, 08:20 Fix
  • General

    Remove useless code setting show2dwall[] or show2dsprite[], as they're unused.

    Helixhorned r3649 7 Apr, 08:20

Build 3648

5 Apr 2013 · 10 commits · 1 author SVN
Open build
  • General

    a.m32: Implement a Polymer "head light" emanating from your position in 3D mode.

    Helixhorned r3648 5 Apr, 10:53 EngineCON
    Show details

    Toggled with Ctrl+Shift+[KP-]. Variable 'headlight_range' controls its range. For the implementation, a new event EVENT_PREDRAW3DSCREEN was added.

  • General

    Factor out displaying episode ending cutscenes into G_BonusCutscenes().

    Helixhorned r3647 5 Apr, 10:53 Fix
    Show details

    Also, - retire IFWITHIN() macro, preferring expanding it - fix _endofgame() in control.lua

  • gen. cleaner code, make actor[].movflag internal, update listglobals.sh

    Helixhorned r3646 5 Apr, 10:53 CON
  • General

    Define a macro LUNATIC_EXTERN that expands to 'static' in non-Lunatic builds.

    Helixhorned r3645 5 Apr, 10:53
  • General

    Take over and use static assertion macro found in LuaJIT sources.

    Helixhorned r3644 5 Apr, 10:53
Open the build to see all 10 commits

March 2013 12 builds · 62 commits

Build 3631

31 Mar 2013 · 4 commits · 1 author SVN
Open build
  • General

    Fix playing ambient sounds at max volume for split sec on entering their range.

    Helixhorned r3631 31 Mar, 11:58 Fix
    Show details

    This is done by always calling FX_PlayAuto3D() to play such sounds. It now additionally takes a third argument 'loophow', permissible values being FX_ONESHOT and FX_LOOP.

  • General

    In 'tip' display code, extrapolate four more values of the y coord table.

    Helixhorned r3630 31 Mar, 11:58
    Show details

    Also, for tip_incs values greater or equal than the number of elements in this table, return early reporting that the hand has been drawn, so that the otherwise selected weapon is not drawn.

  • chaining of actor callback functions.

    Helixhorned r3629 31 Mar, 11:58
    Show details

    For events and actors, a flag can be now passed whether to chain the new function at the beginning or end of an already existing one, or to replace it entirely. Also, for the translator, add option -fno-error-nostate, disabled by default.

  • General

    Add rudimentary sanity checks when playing ANM files.

    Helixhorned r3628 31 Mar, 11:57
    Show details

    - Don't attempt to play an ANM file if it is empty (warn) or too short (error). - If failing to read IVF file header or initializing VPX codec, don't play ANM. - Return early from gltexapplyprops() if not in GL modes.

Build 3627

29 Mar 2013 · 5 commits · 1 author SVN
Open build
  • General

    Add some test CON files to source/lunatic/test.

    Helixhorned r3627 29 Mar, 08:59 CON
    Show details

    The code is mostly by other people, who are credited in the CON files.

  • General

    Return early from A_IncurDamage() if actor[].picnum ("htpicnum" in CON) is < 0.

    Helixhorned r3626 29 Mar, 08:59 FixCON
    Show details

    With this change, it is impossible for negative values to be used as array indices inside this function, and I believe that it is also impossible that they escape to somewhere they might be used as such. For Lunatic, allow setting actor[].picnum to negative values and in the translator, add (commented out) code to warn whenever it is set to a constant negative value. Also, fix a _sound call in _addphealth in control.lua.

  • make the crash log file named eduke32_or_mapster32.crash.log.

    Helixhorned r3625 29 Mar, 08:59 Fix
  • General

    Don't output an empty SelectedGRP entry into the cfg, fixing bare EDuke32 build.

    Helixhorned r3624 29 Mar, 08:59 Fix
  • factor out 3x computing "alwaysshowgray", but don't change anything.

    Helixhorned r3623 29 Mar, 08:59 Engine

Build 3605

24 Mar 2013 · 4 commits · 1 author SVN
Open build
  • fix assertion failure with overlong walls in rintersect().

    Helixhorned r3605 24 Mar, 11:55 FixEngine
  • General

    Lunatic translator: proper Lua->CON line mapping for actor/event/etc. headers.

    Helixhorned r3604 24 Mar, 11:55 CON
  • return early with 0 from cansee() if either sector is >= MAXSECTORS.

    Helixhorned r3603 24 Mar, 11:55 EngineCON
    Show details

    Previously, only the <0 condition was checked. However, the passed sectnums could be >= MAXSECTORS (at least in C-CON), for example when issuing 'canseespr' on a sprite not in the game world.

  • readarrayfromfile: fail silently if file can't be opened.

    Helixhorned r3602 24 Mar, 11:55 CON

Build 3601

24 Mar 2013 · 9 commits · 1 author SVN
Open build
  • simplify RETURN handling, make its behavior across events same as C-CON.

    Helixhorned r3601 24 Mar, 11:54 CON
    Show details

    There's only one RETURN value on the C side (g_RETURN), which is also referenced from Lua. Upon entering an event, its value takes on the per-event default one, and its value when the event code finishes is passed back to the game. Independently of that, its value is always saved and restored across event calls.

  • add LuaJIT's 'dump' module, printing traced bytecode, IR and mcode.

    Helixhorned r3600 24 Mar, 11:54
  • don't wrongly report PANIC corruption with MAXSPRITES sprites present.

    Helixhorned r3599 24 Mar, 11:53 FixEngine
  • General

    Lunatic t.: don't error on changing stat/sect of sprite not in the game world.

    Helixhorned r3598 24 Mar, 11:53 Engine
  • actor usertypes from CON, set SFLAGs as 2nd gameactor() arg in Lua.

    Helixhorned r3597 24 Mar, 11:53 FixCON
    Show details

    In passing, fix a couple of omissions: gameactor() being passed nil's in the middle, more than one moveflag to CON *actor.

Open the build to see all 9 commits

Build 3592

21 Mar 2013 · 4 commits · 1 author SVN
Open build
  • General

    premap.c: fix oob access of tagbitmap[] with formerly negative lo-/hitags.

    Helixhorned r3592 21 Mar, 03:20 Fix
    Show details

    Also, allocate that array dynamically instead of on the stack.

  • make ivec3 and dvec3 types share same metatable, orthogonalize API.

    Helixhorned r3591 21 Mar, 03:20
    Show details

    Specifically, remove ivec3's blen1() method and add from/to BUILD coordinate (z scaled by 16) conversion methods.

  • slightly cleaner weapondata_t access.

    Helixhorned r3590 21 Mar, 03:20
    Show details

    Also, for the embedded translator: don't warn on unrecognized command line opt.

  • General

    Clean up mdsprite.c:voxdraw() a little.

    Helixhorned r3589 21 Mar, 03:20

Build 3588

21 Mar 2013 · 6 commits · 1 author SVN
Open build
  • General

    Clean up mdsprite.c:md3draw() by factoring out m->head.flags == 1337 check.

    Helixhorned r3588 21 Mar, 03:20
    Show details

    ... into a macro MFLAGS_NOCONV(m). Since it currently expands to (0), some dead code will be eliminated. Introduce a "compilation option" macro DO_MD2_MD3_CONV in mdsprite.c.

  • General

    Clean up mdsprite.c:md3draw() by factoring out spriteext[tspr->owner] access.

    Helixhorned r3587 21 Mar, 03:19
  • General

    Make -testlua accepted (but ignored) in non-Lunatic build.

    Helixhorned r3586 21 Mar, 03:19
    Show details

    So that it doesn't result in the -t (respawn on) command line switch.

  • General

    Clean up mdsprite.c:md3draw() by tightening locals, factoring out 2x dup code.

    Helixhorned r3585 21 Mar, 03:19
  • give sprite cstat 1024 a marco name, CSTAT_SPRITE_MDHACK.

    Helixhorned r3584 21 Mar, 03:19 Engine
Open the build to see all 6 commits

Build 3575

18 Mar 2013 · 3 commits · 1 author SVN
Open build
  • General

    Classic screen tilting: fix it by passing bit 1024 to rotatesprite().

    Helixhorned r3575 18 Mar, 15:05 Fix
    Show details

    This now should look correct for both settings of r_usenewaspect.

  • properly protect weapondata_t members, fix Lua->CON line mapping.

    Helixhorned r3574 18 Mar, 15:05 FixCON
    Show details

    Also, make -Werror-bad-getactorvar disabled by default.

  • General

    Fix Lunatic build on Windows.

    Helixhorned r3573 18 Mar, 15:05 Fix
    Show details

    - Make _buildargv[_buildargc] NULL. - With SDL layer, pass argv and argc directly and get rid of _build* ones. - Add tilesiz* to dynsymlists.

Build 3572

17 Mar 2013 · 6 commits · 1 author SVN
Open build
  • General

    Lunatic translator embedded: handle command line arguments.

    Helixhorned r3572 17 Mar, 11:11 Fix
    Show details

    Also, fix an error() call in control.lua:gamearray_file_common().

  • General

    Lunatic t.: allow hex literals with >9 digits if the high ones are all 'F's.

    Helixhorned r3571 17 Mar, 11:11 CON
    Show details

    (Or '0's, but that case is handled automatically.) The resulting generated number is taken by looking at the 8 lower nibbles and interpreting them as a signed 32-bit integer. Also add some number parsing tests to test/nlcf_break.con.

  • General

    Lunatic translator: new switch -W(no-)error-bad-getactorvar.

    Helixhorned r3570 17 Mar, 11:11 CON
    Show details

    Toggling whether a getactorvar for a global or per-player gamevar issues a warning or a hard error, the latter being the default. Also, make it possible to readgamevar/savegamevar per-actor gamevars and add userdefs member "idplayers" (read-only).

  • General

    Lunatic translator: else if* -> elseif, fix codegen for "if {}".

    Helixhorned r3569 17 Mar, 11:11 Fix
    Show details

    The first transformation makes the "control structure too long" error appear only with larger if/else cascades, though it's still possible.

  • General

    Lunatic translator: dynamic tile remapping.

    Helixhorned r3568 17 Mar, 11:11 Fix
    Show details

    Also, fix message when tiles get remapped in debugging builds.

Open the build to see all 6 commits

Build 3566

15 Mar 2013 · 8 commits · 1 author SVN
Open build
  • General

    Add new LOGO_FLAGS bit 2048, preventing cutscene at E4 beginning if set.

    Helixhorned r3566 15 Mar, 09:56
  • General

    geom.lua: fix copy-paste bugs and clean up code. Remove __eq metamethod.

    Helixhorned r3565 15 Mar, 09:56 Fix
  • allow indexing some weapon/inventory arrays with their names.

    Helixhorned r3564 15 Mar, 09:56
  • General

    Lunatic translator: warn if setting reserved bits in some system gamevar redef.

    Helixhorned r3563 15 Mar, 09:56 CON
  • g_tile access, rudimentary system gamearray support for the translator.

    Helixhorned r3562 15 Mar, 09:56 CON
    Show details

    The only operation for which proper code is generated is reading a single value from a system gamearray.

Open the build to see all 8 commits

Build 3558

13 Mar 2013 · 3 commits · 1 author SVN
Open build
  • replace some allocations by static data, some translator fixes.

    Helixhorned r3558 13 Mar, 03:48 Fix
    Show details

    Fix 'setsprite' and 'music'. A good timing test for actors performance is the starfield of WGR2's E1L1 ("Nexus").

  • also save min, max actor times; fix release build.

    Helixhorned r3557 13 Mar, 03:48 Fix
  • General

    Lunatic translator: handle LOGO_FLAGS.

    Helixhorned r3556 13 Mar, 03:48 CON
    Show details

    This is the only gamevar of its kind that is handled for Lunatic, neither PLR_MORALE nor LOGO_FLAGS are.

Build 3542

3 Mar 2013 · 9 commits · 1 author SVN
Open build
  • General

    Fix starttrack crashing when a "null music" is selected.

    Helixhorned r3542 3 Mar, 08:06 Fix
    Show details

    Introduced with the refactoring in r3490.

  • make con.ai accept literal action/move, check for calling from top.

    Helixhorned r3541 3 Mar, 08:06 Fix
    Show details

    Also, fix con._setgamepalette.

  • General

    Lunatic translator standalone: option specifying a directory for gen'd code.

    Helixhorned r3540 3 Mar, 08:06
    Show details

    The option is -fgendir=<directory>.

  • General

    Lunatic translator standalone: allow specifying list files.

    Helixhorned r3539 3 Mar, 08:06 CON
    Show details

    All non-option positional arguments after an @ sign are taken as list files: hashes at the beginning of a line denote comments, truly empty lines are ignored, all other lines should contain one root CON file name.

  • General

    spriteclip.txt: refer to _clipshape0.map instead of _clipshape_.map.

    Helixhorned r3538 3 Mar, 08:06
Open the build to see all 9 commits

February 2013 16 builds · 85 commits

Build 3533

28 Feb 2013 · 4 commits · 1 author SVN
Open build
  • General

    Lunatic t.: {read,save}gamevar, fix break in nested while, fix rotatesprite16.

    Helixhorned r3533 28 Feb, 09:30 FixCON
  • General

    build.c: initialize g_doHardcodedMovement to 1.

    Helixhorned r3532 28 Feb, 09:30 FixEngine
    Show details

    Fixing movement when not loading a.m32.

  • attach const qualifiers to appropriate function input arguments.

    Helixhorned r3531 28 Feb, 09:30
  • fixups and debugging helpers.

    Helixhorned r3530 28 Feb, 09:30 Fix
    Show details

    - add LuaJIT's 'v' module printing trace info - translator: fix game function name definitions - revert math.fmod -> math.modf, they are different! - disable JIT compilation for a function we're getting strange crashes with - Make some of DukePlayer_t's members 'bool' on the Lua side. It's way too easy to write something like "ps.jetpack_on" where "ps.jetpack_on~=0" was meant. [Background: Kyle873 observed that Duke was always floating.] - Error out if looping in our_module(). I find this behavior more logical than returning true. - fix a couple of missed FORBID variables