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 1.043 build · 2.174 commit

Esporta CSV
Opzioni di visualizzazione
Dettagli dei commit:

Agosto 2012 9 build · 21 commit

Luglio 2012 11 build · 20 commit

Build 2850

29 lug 2012 · 1 commit · 1 autore SVN
Apri la build
  • on x86 GCC asm builds, fix crash with floor sprites of (x or y) size 2.

    Helixhorned r2850 29 lug, 05:46 FixEngine
    Mostra dettagli

    The idiv instruction also signals an FPE when the resulting *signed* quotient overflows, so we simply use div instead.

Build 2824

9 lug 2012 · 4 commit · 1 autore SVN
Apri la build
  • simplify some code while I'm at it (equivalence tranformations only)

    Helixhorned r2823 9 lug, 12:00 Engine
  • bring the ypanning correction for non-pow2 walls closer to Pmost's, pt2

    Helixhorned r2822 9 lug, 12:00 Engine
    Mostra dettagli

    This changes a constant inside the panning calculation from 256 to 255 (making e.g. panning 255 and 0 the same in the "San Andreas fault" sign in E1L5) and uses the correct reference wall for the "do panning correction?" conditional. Now, the problematic walls should look the same as in Polymost.

  • bring the ypanning correction for non-pow2 walls closer to Pmost's, pt1

    Helixhorned r2821 9 lug, 12:00 Engine
    Mostra dettagli

    This makes the corrections conditional on where they appear in (under-, over-, white or mask wall).

Apri la build per vedere tutti i 4 commit

Build 2820

8 lug 2012 · 8 commit · 1 autore SVN
Apri la build
  • Generale

    a.m32: add some commented out example code for the screenshot functionality.

    Helixhorned r2820 8 lug, 14:49 Engine
  • draw walls with non-pow2 ysizes in the old fashion for the time being.

    Helixhorned r2819 8 lug, 14:47 FixEngine
    Mostra dettagli

    I'm willing to make this one concession to correctness in the name of backward- compatibility. I think that one reason why this has never cause a crash is that tiles in BUILD are allocated in Ken's big allocache buffer, so oob accesses were dampened by that (though they hit uninitialized data).

  • if printext256's <col> arg is negative, use editorcolors[-<col>].

    Helixhorned r2816 8 lug, 14:47 EngineCON
    Mostra dettagli

    The editor colors are the ones listed on page 9 of the Mapster32 built-in help.

  • factor out y panning coefficient calculation code.

    Helixhorned r2815 8 lug, 14:47 Engine
  • Generale

    Add ART loader for the LuaJIT BUILD struct loader module, 2 more examples.

    Helixhorned r2814 8 lug, 14:47 Engine
    Mostra dettagli

    The map iterator now has init/finish capability, making it possible to write scripts that aggregate data over multiple map files. One such example calculates some statistics, the other loads art metadata and looks for red walls with non-pow2 ysize tiles.

Apri la build per vedere tutti i 8 commit

Build 2811

6 lug 2012 · 2 commit · 1 autore SVN
Apri la build
  • factor out wall y panning coefficient calculation.

    Helixhorned r2811 6 lug, 08:36 FixEngine
    Mostra dettagli

    Non-pow2 wall/mask drawing in classic introduced cases where walls are drawn "incorrectly" because they were constructed with the old behavior in mind. Polymer appears to "correct" for it partially, but doesn't cover all cases. Specifically, now we have: - E1L1 first inside secret room (5000, 50000): Polymer draws like Duke 1.5, classic now draws with an offset. - E3L2 near the vault (-20000, 25000): both classic and Polymer draw with offsets compared to Duke 1.5, but they're different! This means that more research is needed into what makes these two cases diverge, even though both have the same root cause. !!! Also, mappers should abstain from using non-power-of two textures on walls until this issue is resolved in a satisfactory fashion !!!

  • fix glitches where stuff would be drawn transiently on sect change.

    Helixhorned r2810 6 lug, 08:36 FixEngine
    Mostra dettagli

    This was introduced with r2771, which fixed e.g. AMC TC city_si's mirrors, but instructed the base drawrooms inside yax_drawrooms to not correct the passed sectnum. Therefore, stuff would get drawn wrongly when passing sector boundaries, like from the platform to the rails in trueror1.map.

Build 2808

6 lug 2012 · 4 commit · 1 autore SVN
Apri la build
  • Generale

    Add description for 'remap' to mapster32.cfg, add 'setstartpos' to a.m32.

    Helixhorned r2808 6 lug, 04:27 Engine
    Mostra dettagli

    The latter is commented out, since it has to be *compiled* with script_expertmode enabled.

  • hook up non-power-of-two ysize wall/mask drawing in asm builds, too.

    Helixhorned r2807 6 lug, 04:27 Engine
  • fix drawing of walls and maskwalls with non-pow2 y size tiles.

    Helixhorned r2805 6 lug, 04:26 FixEngine
    Mostra dettagli

    Related to that, it looks like out-of-bounds accesses when drawing such walls/ maskwalls or *sprites* are fixed, too. Sprites still show a stray lines on some occasions, but Valgrind doesn't complain then.

Apri la build per vedere tutti i 4 commit

Build 2798

1 lug 2012 · 9 commit · 2 autori SVN
Apri la build
  • Generale

    Make ksqrt take uint32_t, add helper function uint32_t uhypsq(int32_t,int32_t).

    Helixhorned r2791 1 lug, 15:11 FixEngine
    Mostra dettagli

    uhypsq calculates the hypotenuse using unsigned multiplication. This is permissible since for arbitrary int32s a and b, the following holds in two's complement arithmetic: (int32_t)((uint32_t)a * b) == (int32_t)((int64_t)a * b) ("Signed and unsigned multiplication is the same on the bit level.") This fixes various overflows where wall lengths for walls of length > 46340 are calculated, but does not rid us of other overflows in the same vein (usually dot products between vectors where one point is a wall vertex and the other a position in a sector).

Apri la build per vedere tutti i 9 commit

Giugno 2012 9 build · 22 commit

Build 2761

13 giu 2012 · 9 commit · 1 autore SVN
Apri la build
  • Generale

    Integer Overflow Offensive, First Act: rintersect, hitscan, neartag.

    Helixhorned r2761 13 giu, 16:13 FixEngine
    Mostra dettagli

    It's time to replace some int32s with 64-bit ints in core engine functions. The problem is that for example, the dot product is taken between vectors that may be the difference between two arbitrary points in a sector, so even if one sticks to the "no blue walls" rule, that doesn't guarantee freedom from overflows.

  • don't attempt to draw sprite with void tile, preventing div-by-0s later

    Helixhorned r2760 13 giu, 16:13 Engine
  • draw a wall blue if its squared length exceeds INT_MAX (not UINT_MAX)

    Helixhorned r2759 13 giu, 16:13 Engine
  • fix a div by zero when drawing tile info for void tile in 3D mode.

    Helixhorned r2757 13 giu, 16:13 FixEngine
    Mostra dettagli

    This was exposed by Clang with -ftrapv, which apparently also traps those.

  • Generale

    a.m32: new state "collect_ceilsky_sectors" collecting parallaxed ceilings.

    Helixhorned r2754 13 giu, 16:13 Engine
Apri la build per vedere tutti i 9 commit

Build 2745

7 giu 2012 · 2 commit · 1 autore SVN
Apri la build
  • don't attempt drawing sprites with (cstat&48) == 48 that aren't voxels.

    Helixhorned r2744 7 giu, 10:37 EngineCON
    Mostra dettagli

    Bang! One more invalid internals exposure squashed. Maybe one day we'll be able to call EDuke32 "stable"... Actually the offending sprite IS drawn as face sprite with shade 32 and xrepeat and yrepeat 255 for the convenience of the CON coder who will have to debug it.

Apri la build per vedere tutti i 2 commit

Build 2740

5 giu 2012 · 2 commit · 1 autore SVN
Apri la build
  • Generale

    engine.c: cleanup / readability tweaks

    Helixhorned r2740 5 giu, 15:21 Engine
  • Generale

    TROR/classic: fix a certain class of underdraw glitches.

    Helixhorned r2739 5 giu, 15:21 FixEngine
    Mostra dettagli

    Those were happening when wall drawing in an upper/lower layer "closed" too much of the "curtain" (umost/dmost) for subsequent drawing in that portal. Example: looking down the sewer manhole at the beginning of Retaliation will now render without HOM.

Build 2729

3 giu 2012 · 5 commit · 1 autore SVN
Apri la build
  • Generale

    The handling for grp, con, and def filenames has been massively cleaned up and factored into common.c. A new header, common_game.h, was created because common.h was placed in build/include (see r2542) and we need a common header for things that strictly should not be in the engine. RTS file names were also improved but some of the patterned changes were already made in r2420, and they were not factored because they are strictly part of the game, not the editor.

    Hendricks266 r2726 3 giu, 09:09 Engine
    Mostra dettagli

    NAM and Napalm can now share their con, def, and rts files if the one for their respective game is not present because the con and rts files are identical. Also, decapitalize two string literals missed in r2540.

Apri la build per vedere tutti i 5 commit