EDuke32 Changelog Archivio non ufficiale

Cosa è cambiato in EDuke32, build per build

2.117 build · 8.866 commit · 25 autori · Ottobre 2009 – Agosto 2026

Commit per anno

Seleziona un anno per vederne le build
Era SVN · r1519 – r8798 Era Git · voidpoint.io, da aprile 2020
Filtri · 1 attivi

Visualizzate 670 build · 2.334 commit

Esporta CSV
Opzioni di visualizzazione
Dettagli dei commit:

Novembre 2013 6 build · 39 commit

Build 4145

8 nov 2013 · 6 commit · 1 autore SVN
Apri la build
  • add two names forgotten for dynsymlist.

    Helixhorned r4145 8 nov, 10:08
    Mostra dettagli

    Let's BUILD_LUNATIC to see whether it still works...

  • Generale

    In C_SetCfgName, don't use unsafe string functions with unknown-length input.

    Helixhorned r4144 8 nov, 10:08
  • implement 'setcfgname'.

    Helixhorned r4143 8 nov, 10:08 CON
    Mostra dettagli

    Factor out a block of code into C_SetCfgName() and use that from lunacon.lua.

  • on 'starttrack' with null music, issue a 'soft' error.

    Helixhorned r4142 8 nov, 10:08 CON
    Mostra dettagli

    That is, one that doesn't break the control flow.

  • fix ported A_FurthestVisiblePoint().

    Helixhorned r4141 8 nov, 10:08 Fix
Apri la build per vedere tutti i 6 commit

Build 4139

4 nov 2013 · 8 commit · 1 autore SVN
Apri la build
  • OSD

    on non-Windows, make textmode=0 the default, just like in Windows.

    Helixhorned r4139 4 nov, 14:56 Fix
    Mostra dettagli

    This fixes some init and update anomalies: before, - init would always be the graphical mode (0), but writing merely "osdtextmode" would switch it - osdtextmode would not get saved to the cfg

  • OSD

    retire OSD_GetFmt(), OSD_GetFmtPtr() and OSD_GetTextPtr() functions.

    Helixhorned r4138 4 nov, 14:56
    Mostra dettagli

    These were too much "looking into the implementation of a module" for my taste, hence OSD_GetShadePal() earlier.

  • OSD

    make plain display (osdtextmode=1) colorized, too.

    Helixhorned r4137 4 nov, 14:56
  • OSD

    factor out getting sh/pal using format+text buffers into OSD_GetShadePal().

    Helixhorned r4136 4 nov, 14:56
  • Generale

    textfont.c: make TAB character display blank.

    Helixhorned r4135 4 nov, 14:56 Fix
    Mostra dettagli

    This renders tweaks like r4122 unnecessary. Also, note a "bug" with the program generating that C code.

Apri la build per vedere tutti i 8 commit

Ottobre 2013 7 build · 27 commit

Build 4125

28 ott 2013 · 5 commit · 1 autore SVN
Apri la build
  • Generale

    In G_SaveMapState, fix 1024-byte write beyond array bound on 64-bit platforms.

    Helixhorned r4125 28 ott, 14:26 Fix
    Mostra dettagli

    This was caused by mismatched for types mapstate_t's animateptr[] and the global one (int32_t vs. int32_t *). Bump BYTEVERSION.

  • when failing to load file, don't append '.m32' if already there.

    Helixhorned r4124 28 ott, 14:26 EngineCON
    Mostra dettagli

    So that there are no error messages like "M32 file `a.m32.m32' not found." Also, in build.c's 'save as' code, add a bound check that would probably always pass in practice, but looks a bit safer and may fail in very cornerly cases.

  • save r_usetileshades and r_pr_artmapping with mapster32.cfg.

    Helixhorned r4123 28 ott, 14:26 Engine
  • when printing error line, replace tabs with spaces.

    Helixhorned r4122 28 ott, 14:26 CON
  • take initial map file name from ExtPreInit()->G_CheckCommandLine().

    Helixhorned r4121 28 ott, 14:26 Engine
    Mostra dettagli

    Instead of directly in build.c:app_main(). Previously, it was possible that an argument to an option, e.g. "WGR2" with "-game_dir WGR2", would get interpreted as the initial map to load. This in turn would attempt to execute WGR2.cfg as sequence of OSD commands -- where that file is an EDuke32 config file instead! Now: maps are passed without any options, e.g. "mapster32 [opts...] debug.map". The map file name is not added to the "additional parameters" for map testing.

Build 4120

27 ott 2013 · 9 commit · 1 autore SVN
Apri la build
  • Generale

    SDL2/non-Windows: Before showing "simple message box", replace tabs with spaces.

    Helixhorned r4120 27 ott, 14:12
    Mostra dettagli

    Because the one implemented on top of X shows a special mark for tabs instead of whitespace. Also, in wm_msgbox(), use vsnprintf.

  • very primitive gamevar handling logic for {save,load}mapstate.

    Helixhorned r4119 27 ott, 14:12 CON
  • in {save,load}mapstate, warn that saving/restoring gamevars is NYI.

    Helixhorned r4118 27 ott, 14:12 CON
  • SDL

    Add SDL scancode -> ASCII value translation for the "key FIFO" for ESCAPE.

    Helixhorned r4117 27 ott, 14:12 Fix
    Mostra dettagli

    This fixes ESC in certain situations such as the editor map selection menu.

  • SDL

    factor out 2x repeated code into keyascfifo_{isfull,insert}.

    Helixhorned r4116 27 ott, 14:12
Apri la build per vedere tutti i 9 commit

Build 4108

16 ott 2013 · 5 commit · 1 autore SVN
Apri la build
  • fix quote and pause keys.

    Helixhorned r4108 16 ott, 12:43 Fix
    Mostra dettagli

    - Add SDL scancode -> our key code map for SDL_SCANCODE_APOSTROPHE - Remove duplicate map for SDL_SCANCODE_PAUSE

  • make it possible to build with LuaJIT 2.1, add -Lopts=profile there.

    Helixhorned r4107 16 ott, 12:43
  • Generale

    build.lua: add read_basepal().

    Helixhorned r4106 16 ott, 12:43
  • Generale

    foreachmap.lua: remove the need for a space for certain '.' accesses.

    Helixhorned r4105 16 ott, 12:43
    Mostra dettagli

    That is, now it's not necessary to write e.g. "io. write" -- .xxx is translated to <what>[i].xxx only if it's a matching member name.

  • Generale

    build.lua: add "artfile" class, allowing to open and get pics from an ART file.

    Helixhorned r4104 16 ott, 12:42

Build 4096

11 ott 2013 · 3 commit · 1 autore SVN
Apri la build
  • Generale

    Fix OpenGL texture cache "leak" and slightly tweak hash string construction.

    Helixhorned r4096 11 ott, 15:20 FixEngine
    Mostra dettagli

    The leak happened because a struct was hashed that had uninitialized bytes in padding inserted by the compiler. The hash string in now constructed as concatenation of three CRC32s as 8-byte hex strings, i.e. the individual CRC32s are padded with leading zeros. Note to users: because of the hash change, it's sensible to delete the 'textures' and 'textures.cache' files.

  • Generale

    Fix mouse grabbing in SDL debugging builds.

    Helixhorned r4095 11 ott, 15:20 Fix
  • fix ANM playback.

    Helixhorned r4094 11 ott, 15:20 FixEngine
    Mostra dettagli

    References: - r3742 - r4038 (fixing savegame screenshots, but introducing the now fixed bug)

Build 4093

11 ott 2013 · 2 commit · 1 autore SVN
Apri la build

Settembre 2013 4 build · 23 commit

Build 4069

21 set 2013 · 4 commit · 1 autore SVN
Apri la build
  • Generale

    In C++ build, fix "narrowing conversion inside { } is ill-formed" warning.

    Helixhorned r4069 21 set, 06:38 Fix
    Mostra dettagli

    This also exposes an actual issue. The sound definitions may be dynamically remapped, in which case they are not necessarily <=255 any more. BUILD_LUNATIC.

  • Generale

    Prevent calling function pointers cast to an incompatible type.

    Helixhorned r4068 21 set, 06:38 Fix
    Mostra dettagli

    Most often, this had happened when casting comparison functions for qsort() like these: "int yax_cmpbunches(const int16_t *b1, const int16_t *b2)" to a function pointer type expecting "const void *". Alas, this is undefined behavior: see http://blog.frama-c.com/index.php?post/2013/08/24/Function-pointers-in-C and posts linked from it. At least two cases have not been fixed: - The savegame system maintains pointers which are either to data or a function in the generic "void *". This ought to be made into a union. - Probably also: #define OSD_ALIAS (int32_t (*)(const osdfuncparm_t*))0x1337

  • Generale

    Minor changes for Lunatic utils, replace missed sound flag literals with macros.

    Helixhorned r4067 21 set, 06:38
  • Generale

    Add WIP x86_64 assembly texture mapping routines.

    Helixhorned r4066 21 set, 06:37 Fix
    Mostra dettagli

    - Currently: only tvlineasm1 and tvlineasm2, but incomplete (no reverse translucency, nonpow2 textures will crash) - For System V AMD64 calling conventions; requires YASM

Build 4061

13 set 2013 · 4 commit · 1 autore SVN
Apri la build
  • Generale

    Revert "Prettify the DEF progress meter by relocating '\n' en masse."

    Helixhorned r4061 13 set, 13:23 Fix
    Mostra dettagli

    This reverts commit c7e51147f1869d42fc8365f748bb8f6bd4c6fc2f. [r3835] Conflicts: eduke32/build/src/defs.c [Dunno what caused this, but I cleaned this out. Also, the change from build.c was not reverted.]

  • in model preprocessing, implement cos/sin by table lookup.

    Helixhorned r4060 13 set, 13:23 Engine
    Mostra dettagli

    This reduces the proportion of time the trig calculations take of the whole preprocessing from 50% to about 13%.

  • make hitscan accept ray as vector, add xmath.kangvec.

    Helixhorned r4059 13 set, 13:23 Engine
    Mostra dettagli

    Also, add hitscan test to test.lua -- a crosshair-like sprite is spawned and continuously updated to the position of where the player aims at.

  • make spriteext[].{x,y,z}off independent of xdimen/viewingrange/aspect.

    Helixhorned r4058 13 set, 13:23 FixEngine
    Mostra dettagli

    The offsets (that will translate the axes for .pitch/.roll rotation) were calculated improperly with screen sizes other than 1280 x 1024 and were dependent on other related variables. The fix proceeded empirically, i.e. mostly trial, error, and some educated guesswork. (It's telling that the magic constant 1280 is needed.) A test for Lunatic is added to test.lua that will rotate SEENINES. Bug pointed out by Mblackwell.

Build 4057

10 set 2013 · 7 commit · 2 autori SVN
Apri la build
  • Generale

    Add foreachmap.lua module 'colenemy', allow passing module name to findmaps.sh.

    Helixhorned r4056 10 set, 12:17
    Mostra dettagli

    The 'colenemy' module searches for colored enemies in maps, excluding pal-21 liztroops. DONT_BUILD.

  • Generale

    Replace literal g_sounds[].m bits with enum constants. DONT_BUILD.

    Helixhorned r4055 scritto il 8 set 2013
  • Generale

    Lunatic doc: add some text and examples for using require()/module().

    Helixhorned r4054 scritto il 8 set 2013
  • document gv.getangle(), -Lopts=strict, sec:zrangeat(). DONT_BUILD.

    Helixhorned r4053 scritto il 6 set 2013
  • r/w gamearrays in binary mode, checks for mapdiff.sh, add test/gamearray.con.

    Helixhorned r4052 scritto il 6 set 2013 CON
Apri la build per vedere tutti i 7 commit

Build 4050

5 set 2013 · 9 commit · 1 autore SVN
Apri la build
  • make -Lopts=strict also error on some table reads w/ nonexistent keys.

    Helixhorned r4050 5 set, 10:37
    Mostra dettagli

    Specifically, for the tables returned with require"DEFS" etc. This allows to check if maybe parts of a bundle of files is missing (because comparisons like "spr.picnum == D.NONEXISTENT_NAME" do not yield errors normally).

  • add option -Lopts=... from command line.

    Helixhorned r4049 5 set, 10:37 Engine
    Mostra dettagli

    Permitting to enable various debugging options. See "eduke32 -debughelp" for which ones those are: they were previously settable from defs_common.lua, and a new option 'strict' has been added that makes accesses to void sprites error. (That is, already "sprite[i]", not "sprite[i].some_member".)

  • Generale

    A couple of minor changes.

    Helixhorned r4048 5 set, 10:37 FixEngine
    Mostra dettagli

    - engine.c: comment out some unused decls with RELEASE=0 DEBUGANYWAY=1 - Lunatic: update dump.lua and v.lua - Lunatic: test/test_geom.lua: note a perf regression (wrt older LuaJIT, or I mis-configured / built something wrong)

  • fix _digitalnumber, remove player._INPUT_BITS, add sprite.all().

    Helixhorned r4047 5 set, 10:37 FixEngine
  • Generale

    util/build.lua: lose packing, use fread(), make bound-check nan-safe.

    Helixhorned r4046 5 set, 10:37
Apri la build per vedere tutti i 9 commit

Agosto 2013 5 build · 34 commit

Build 4036

23 ago 2013 · 8 commit · 1 autore SVN
Apri la build
  • Generale

    Lunatic doc: move icons to doc/ root, as they were not showing up properly online.

    Helixhorned r4036 23 ago, 10:01
    Mostra dettagli

    That is, here: http://lunatic.eduke32.com/ or more specifically in lunatic.html. BUILD_LUNATIC.

  • Generale

    Lunatic doc: add appendix with hints on how to read Programming in Lua, 1st ed.

    Helixhorned r4035 23 ago, 10:01
  • Generale

    Bounds-check the tile number gotten from EVENT_GETMENUTILE.

    Helixhorned r4034 23 ago, 10:01 CON
  • after auto-inserting inner sector, change sectnums for sprites now in it.

    Helixhorned r4033 23 ago, 10:01 Engine
    Mostra dettagli

    (Auto-insertion of an inner sector from a loop happens either because the loop is created in an extended sector, or because it has been punched through a ceiling/floor into the upper/lower neighbor sector.)

  • update documentation a bit.

    Helixhorned r4032 23 ago, 10:01 Engine
    Mostra dettagli

    - add gv.GET, gv.WEAPON, gv.RETURN - specify that sprite[].x/y/z and wall[].x/y are 32-bit ints - add an example for con.longjmp() - add an appendix listing the RETURN usage of various events

Apri la build per vedere tutti i 8 commit

Build 4026

19 ago 2013 · 2 commit · 1 autore SVN
Apri la build
  • allow inserting point on wall line even if a sprite is highlighted.

    Helixhorned r4026 19 ago, 12:27 Engine
    Mostra dettagli

    Note: the wall line will not light up periodically, but point insertion will be possible nontheless. A bit inconsistent, but I didn't want to do a full analysis of which side effects allowing a sprite highlight and a line highlight to coexist at the same time would have.

  • allow a certain type error present in 1.3D GAME.CON to pass.

    Helixhorned r4025 19 ago, 12:26 CON

Build 4023

18 ago 2013 · 3 commit · 1 autore SVN
Apri la build
  • Generale

    When building Lunatic from synthesis, tell LuaJIT to generate PE object files.

    Helixhorned r4023 18 ago, 14:14
    Mostra dettagli

    BUILD_LUNATIC, third attempt.

  • a couple of trivial changes.

    Helixhorned r4021 18 ago, 12:24
  • Generale

    For Clang debugging build, only pass selected UBSanitizer options.

    Helixhorned r4020 18 ago, 12:24 Engine
    Mostra dettagli

    This makes CLANG=1 RELEASE=0 DEBUGANYWAY=2 OPTLEVEL=1 builds definitely pretty playable (only Polymost tested) while having a decent amount of sanitization.

Build 4017

12 ago 2013 · 16 commit · 1 autore SVN
Apri la build
  • Generale

    polymer.c: remove redundant NULL pointer check in polymer_invalidateplanelights().

    Helixhorned r4017 12 ago, 08:18 FixEngine
    Mostra dettagli

    Redundant for the same reason as the preceding one: the pointer has already been dereferenced at the point the check is made. Also, all 5 calls of that function pass a valid pointer (provided the pointers from which the expressions are derived are valid). Reported by Stack, too.

  • Generale

    game.c: remove dead bounds check for cheatbuf[], add assertion.

    Helixhorned r4016 12 ago, 08:18
    Mostra dettagli

    The check is dead because it is made after the fact (oob access), but the cheat string matching logic below actually assures that cheatbuflen < sizeof(cheatbuf) at all times. Exposed using the Stack tool from http://css.csail.mit.edu/stack/ . Also, in gamedef.c's definecheat handling, print the string length (19), not the buffer length (20) if the cheat was truncated.

  • Generale

    When issuing "setrendmode" OSD command with mismatched vidmode, auto-switch.

    Helixhorned r4015 12 ago, 08:18
  • Generale

    Fix taking address out of bounds of stack'd array, introduced in r3983.

    Helixhorned r4014 12 ago, 08:18 Fix
    Mostra dettagli

    Clang's UBSan reports this as undefined behavior. I think that the reason is as follows: C99 6.5.3.2#1 (Constraints) says: The operand of the unary & operator shall be either a function designator, the result of a [] or unary * operator, or an lvalue that designates an object that is not a bit-field and is not declared with the register storage-class specifier. But in case of an expression like "&array[-1]", the operand ("array[-1]") does not designate a valid object. Moral: check first -- assure that an expression is valid for a particular operation before carrying it out. Keep in mind that otherwise, the compiler is absolutely free to optimize out the *check*.

  • Generale

    baselayer.c: remove baselayer_onvideomodechange, onvideomodechange.

    Helixhorned r4013 12 ago, 08:18
Apri la build per vedere tutti i 16 commit

Build 3979

4 ago 2013 · 5 commit · 1 autore SVN
Apri la build
  • disable printing debug messages for the preview build. BUILD_LUNATIC.

    Helixhorned r3979 4 ago, 13:37
  • slightly more complete handling of (multi-tile) ART skies.

    Helixhorned r3977 4 ago, 13:37 Engine
    Mostra dettagli

    - Use the proper tile sequence when multiple pskies are present in a map. However, there's still only *one* psky chosen at map load time. - Handle three horizfrac cases: * 0, psky always at same level wrt screen * 65536, psky horiz follows camera horiz (e.g. E4L9) * otherwise, fall back to default hard-coded parallax implemented as an angle fraction

  • Generale

    Clean up parallaxed sky functionality, part 2.

    Helixhorned r3976 4 ago, 13:37 Engine
    Mostra dettagli

    - Rename sky_t members: yscale -> horizfrac, bits -> lognumtiles. - Add default sky (8 tiles, horizfrac=32768 (i.e. 1/2 the scene horiz), offsets all zero) and CLOUDYOCEAN sky (8 tiles, horizfrac=65536, offsets all zero) to multipsky[]. - Get rid of "psky_t g_psky", merely maintaining a g_pskyidx instead. Set it up at map load time so as to keep the behavior of the legacy per-map psky: the last sector index with a matching psky ceiling wins. - In mapstate_t, save g_pskyidx too, not (former) pskybits and pskyoffs[]. - Make on-map-load global psky setup consistent for the game and editor by factoring it out into common.c: G_SetupGlobalPsky(). - Remove a couple of useless initializations, add some static assertions. This commit is more likely to introduce subtle differences in behavior. Specifically, getpsky() now always returns the default sky properties instead of the global sky ones (but with all-zero offsets) when no match for a suiting multi-psky is found. This is only likely to affect the yscale/horizfrac of non-multi-pskies when a global non-default multi-psky has been set up. Bump BYTEVERSION again.

  • Generale

    Clean up parallaxed sky functionality, part 1.

    Helixhorned r3975 4 ago, 13:37 FixEngine
    Mostra dettagli

    - Consolidate psky* arrays into a "typedef struct psky_t" "g_psky" and "multipsky[]". - Factor out getting parallaxed sky properties into getpsky(). - Condense initial multi-psky setup by memcpy'ing from multipsky[]. - New function: MultiPsky_TileToIdx(). - Add new define PSKYOFF_MAX and related consistency-checking assertions. - Lower MAXPSKYTILES to 8 to reflect current usage (was 256). - Game: make multi-pskies consider dynamically-remapped MOONSKY1, BIGORBIT1 and LA. (Not very useful as the editor will still only act for the static values -- 80, 84 and 89, respectively.) An attempt has been made to preserve behavior even in strange cases, so this commit is unlikely to introduce regressions. Because of point 6, BYTEVERSION had to be bumped.

  • sanity-check some arguments passed to con.action().

    Helixhorned r3974 4 ago, 13:37

Luglio 2013 7 build · 47 commit

Build 3970

19 lug 2013 · 7 commit · 1 autore SVN
Apri la build
  • Add pre-compiled LPeg 0.12 for 32-bit Windows (MinGW).

    Helixhorned r3970 19 lug, 05:49
  • rename test.elua to test.lua.

    Helixhorned r3969 19 lug, 05:49
    Mostra dettagli

    The old extension is an artifact from when I was thought that extensions should label whether a Lunatic module is to be used in internal/external contexts. Also, change test.lua slightly and commit a little updated documentation.

  • Generale

    Lose the 'packed' attribute on actor_t.

    Helixhorned r3968 19 lug, 05:49
    Mostra dettagli

    Its members are already laid out on the natural alignment boundaries. Compilation tested with {32-bit, 64-bit} x {Lunatic, non-Lua} builds.

  • protect global environment.

    Helixhorned r3967 19 lug, 05:49
  • remove DBG_ variable for _DEBUG_LUNATIC=0.

    Helixhorned r3966 19 lug, 05:49
Apri la build per vedere tutti i 7 commit

Build 3963

18 lug 2013 · 5 commit · 1 autore SVN
Apri la build
  • Generale

    Makefile.common: disable -Wstrict-overflow.

    Helixhorned r3963 18 lug, 11:08 Fix
    Mostra dettagli

    It didn't turn out that useful and was giving a warning with one of the preceding changes.

  • Generale

    Polymer/ART mapping: fix formula for globalvisibility.

    Helixhorned r3962 18 lug, 11:08 FixEngine
    Mostra dettagli

    Also, very slightly tweak a factor toward a "brighter" (farther visible) scene overall to account for the "circular" nature of the fragment distance (as opposed to an "ortho" distance in Build).

  • Generale

    Retire global 'lastvisinc'.

    Helixhorned r3961 18 lug, 11:08
    Mostra dettagli

    It was only ever used as upper bound to the time that a visibility change decays, but since it does that in an exponential fashion, there's really no point.

  • Generale

    Make vis decay with time independent of FPS, treat p->visibility<0 like 0.

    Helixhorned r3960 18 lug, 11:08
    Mostra dettagli

    Now, if p->visibility differs from the constant visibility, the former converges toward the latter by three-quartering the difference each second totalclock increment (1/60th second). Negative player visibilities are not handled consistently throughout the different renderers, so make it look the same as 0 (can view to infinity).

  • properly calc start/end fog dist for r_usenewshading=2, vis=0, shade>0

    Helixhorned r3959 18 lug, 11:08
    Mostra dettagli

    So there's no "jump" from vis!=0 to vis=0 making the texture appear brighter.