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

Visualizzati 8.866 commit

Esporta CSV
Opzioni di visualizzazione
Dettagli dei commit:

Luglio 2012

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

    Helixhorned r2810 6 lug, 08:36 Build 2811 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.

  • fix drawing mirrors, introduced by nonpow2-ysize wall/mask drawing.

    Helixhorned r2809 6 lug, 07:16 Build 2809 FixEngine
    Mostra dettagli

    Some more drawing glitches remain.

  • Generale

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

    Helixhorned r2808 6 lug, 04:27 Build 2808 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 Build 2808 Engine
  • add {,m,t}vlineasm1nonpow2, currently unreferenced from high-level drawing.

  • fix drawing of walls and maskwalls with non-pow2 y size tiles.

    Helixhorned r2805 6 lug, 04:26 Build 2808 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.

  • Wii

    Minor adjustments to the joystick defaults for the Classic Controller.

  • Generale

    Fix disabling EVENT_DISPLAYCROSSHAIR by setting RETURN to 1. SECTOREFFECTOR is not a useful crosshair.

    Hendricks266 r2803 5 lug, 10:55 Build 2804 FixCON
  • Generale

    Remove BUTTON(gamefunc_Jump) and KB_KeyPressed(sc_Space) from AdvanceTrigger so you can type spaces in savegame names.

  • Generale

    Fix for "undefined reference to `clock_gettime'" linking error on some Linux systems

    TerminX r2801 5 lug, 10:43 Build 2804 Fix
  • don't try to factor textures from fallback skins

    Plagman r2800 1 lug, 21:51 Build 2800
  • enable the texture factoring code for all palettes

    Plagman r2799 1 lug, 21:24 Build 2799 Engine
  • Generale

    Fix MinGW build.

    Plagman r2798 1 lug, 20:44 Build 2798 Fix
  • Generale

    Makefile.common: add a couple of C warning flags.

    Mostra dettagli

    Most notably, -Wdeclaration-after-statement. This and -Wpointer-arith give some warning on linux, but this is "harmless" as it's assumed that we'll be always compiling with GCC or Clang there. Also, erratum in the "Make ksqrt take uint32_t ..." commit: hypotenuse -> squared length of the hypotenuse

  • Generale

    Constify various char* vars, parameters, etc. for more -Wwrite-strings cleanness

    Mostra dettagli

    -Wwrite-strings is useful to detect code where string literals and e.g. alloc'd strings are used side-by-side, potentially creating dangerous situations, or to find uses of old, non-constified APIs. However, enabling it would still flood the log with too many warnings. Also, GCC wrongly warns for initializations of char arrays.

  • const char *scripthist -> char *, since it's alloc'd/freed

  • Generale

    actors.c: factor out 4 almost identical code instances into proj_spawn_and_sound

    Mostra dettagli

    Most differences are handled with function parameters, except that one instance checked SpriteProjectile[i].spawns for being >0 instead of >=0. The factored function always checks for >=0.

  • Generale

    Make nsqrtasm return int32_t (instead of uint32_t) when compiled with GCC/x86.

  • Generale

    Lunatic translator: a first codegen ansatz.

  • Generale

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

    Helixhorned r2791 1 lug, 15:11 Build 2798 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).

  • ksqrt, with timing and value test.

    Helixhorned r2790 1 lug, 15:11 Build 2798 CON
    Mostra dettagli

    The latter shows that "int32_t ksqrt(int32_t)" also copes with values in the range INT32_MIN..-1, effectively interpreting them as uint32_t (i.e. adding 2**32). However, this should not be relied on from CON.

Giugno 2012

  • Generale

    Fix the overlooking of EDUKE.CON in the absence of DUKE3D.GRP caused by r2726. Also, tweak a few string literals' use of quotation marks.

    Hendricks266 r2789 27 giu, 10:45 Build 2789 FixCON
  • Generale

    Fix actors at action 0 executing the action C code protion in gameexec.c.

    Helixhorned r2788 26 giu, 12:50 Build 2788 Fix
    Mostra dettagli

    The bug was introduced with SAMESIZE_ACTOR_T enabling in r2208. This fixes being unable to read the messages in A.Dream* by zykov eddy.

  • Generale

    some trivial mapster tweaks

    Helixhorned r2787 26 giu, 12:50 Build 2788 Engine
  • safety tweaks, expose more stuff

    Helixhorned r2786 26 giu, 12:49 Build 2788
    Mostra dettagli

    Arrays inside structs must not be accessible, since they're not bound-checked by the FFI. Therefore, we flatten them into repeated scalar fields and need to write accessor functions later.

  • Generale

    When teleporting silently, also set g_player[].ps->bobposx/y to the new position

    Helixhorned r2785 26 giu, 12:49 Build 2788 Fix
    Mostra dettagli

    This fixes an integer overflow when a distance is calculated later.

  • Generale

    Integer Overflow Offensive continued: first round of -ftrapv - cleanness.

    Helixhorned r2784 26 giu, 12:49 Build 2788 Fix
    Mostra dettagli

    That is, "clang -ftrapv" builds don't abort almost immediately after entering a level. There are various classes of overflow bugs, needing different handling: - Some texture mapping code was written with signed integer wrapping semantics in mind. In some places, we're able to get away with unsigned casts. - sometimes, we really need a wider range, like when calculating distances or dot products - negating INT_MIN. Here, we cast to int64_t temporarily. Note that if the result is 32-bit wide, no 64-bit code may actually need to be generated. - shifting into a signed integer's sign bit. We cast to uint32 here. - in hitscan(), at the "abyss crash prevention code" comment, it's clearly the other code that is better... This is not merely done for pedantry, but rather makes it easier to track down overflow bugs having a real impact on the game.

  • Generale

    Fix a thinko in a comment (about commenting) in build/Makefile.

    Helixhorned r2783 26 giu, 12:49 Build 2788 Fix
  • Generale

    engine.c: factor out two instances of dup code into setup_globals_sprite1()

    Helixhorned r2782 26 giu, 12:49 Build 2788 Engine
  • Generale

    premap.c: make P_RandomSpawnPoint more readable by factoring out g_player[snum].ps

    Helixhorned r2781 26 giu, 12:49 Build 2788
  • Generale

    Fix being unable to hit ENTER on VIDEO SETTINS -> RENDERER SETUP with classic.

    Helixhorned r2780 22 giu, 14:40 Build 2780 FixEngine
  • various stuff

    Helixhorned r2779 22 giu, 14:40 Build 2779 Fix
    Mostra dettagli

    - hitscan & related types and constants - profiling with gethitickms - translator: eval the opening parts of block commands early - fix getbunch

  • Generale

    SDL layer: tweak high-resolution timers for profiling, add gethitickms().

    Helixhorned r2778 22 giu, 14:39 Build 2779
    Mostra dettagli

    For SDL 1.2 and when building on linux, the code using clock_gettime(CLOCK_MONOTINIC, ...) is taken over from SDL HG. gethitickms() is a convenience function that return milliseconds as doubles and isn't exposed in any header file, yet.

  • Generale

    Add prototypical SDL 2.X support.

    Helixhorned r2777 22 giu, 14:39 Build 2779
    Mostra dettagli

    Doesn't work: indexed-color modes, gamma (at least for X11), mouse wheel, special keys like ENTER or BACKSPACE in the OSD, probably more... In build/Makefile.shared, we now have logic to autodetect an SDL2 installed in /usr/local, however OS X and Wii builds follow other Makefile code paths, it seems. Note that the matching SDL2_mixer must be used then, too. In source/jaudiolib/src/driver_sdl.c, change the #includes from <SDL/SDL_xxx.h> to "SDL_xxx.h". SDL wiki says this is the most portable way, hopefully this doesn't break builds for anyone.

  • Generale

    Fix a single usage of S_IREAD instead of our BS_IREAD compatibility version

    TerminX r2776 21 giu, 12:48 Build 2776 Fix
  • Generale

    Fix useless "No error" message when loading palette.dat fails, change file casing in error message for failing to load tables.dat to reflect the filename actually passed to kopen4load().

    TerminX r2775 21 giu, 12:47 Build 2776 Fix
  • Generale

    Relative-aligned non-flipped ceiling/floor texture alignment ([;]+[ENTER])

    Helixhorned r2774 20 giu, 13:55 Build 2774
    Mostra dettagli

    Flipped reference ceilings/floors aren't handled correctly yet.

  • Fix tweaking TROR wall links when flipping sectors ([X], [Y]).

    Helixhorned r2773 20 giu, 13:54 Build 2774 FixEngine
    Mostra dettagli

    This was actually broken all the time except when ALL sectors were selected (which was what I tested incidentally when I wrote the first "fix"). D'oh!

  • Generale

    Fix a drawing glitch with mirrors and TROR in classic.

    Helixhorned r2772 20 giu, 13:54 Build 2774 Fix
  • Wii

    offset displayed quotes a bit from the top of the screen to deal with overscan

    TerminX r2771 20 giu, 13:03 Build 2771
  • Generale

    Allow fogpal DEF command to fogify pal 0.

    Helixhorned r2770 18 giu, 13:09 Build 2770
  • Generale

    Add samples/r_usenewshading.map.

    Helixhorned r2769 17 giu, 12:45 Build 2769
    Mostra dettagli

    This is to the cvar of the same name as samples/aspect.map is to r_usenewaspect.

  • Generale

    polymost.c: make polymost_checkcoordinates() static

    Helixhorned r2768 17 giu, 12:45 Build 2769 Engine
  • display zero-length walls as level-3 corruptions.

    Helixhorned r2767 17 giu, 12:45 Build 2769 FixEngine
  • Generale

    gamedef.c: some bound tweaks

    Helixhorned r2766 17 giu, 12:45 Build 2769
  • Generale

    Lunatic translator: ai/move/action.

    Helixhorned r2765 17 giu, 12:45 Build 2769
    Mostra dettagli

    This exposes some problems in the default/in-the-wild CONs. As usual, we'll have to retrofit sensible semantics :rolleyes:.

  • Generale

    Lunatic translator: define* et al

    Helixhorned r2764 17 giu, 12:45 Build 2769
  • Generale

    Lunatic t.: handle prefix-problematic commands for real, definelevelname, ...

    Helixhorned r2763 17 giu, 12:45 Build 2769
  • Generale

    Lunatic/LT: provide the predefined labels in con_lang, add "strict" from luajit.

    Helixhorned r2762 17 giu, 12:45 Build 2769 Fix
    Mostra dettagli

    The latter is only for development, since the embedded version already has a undeclared-var-reference handling similar to that. Also fix parm2memberpat.

  • Generale

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

    Helixhorned r2761 13 giu, 16:13 Build 2761 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.