Maggio 2023
-
this is hilariously incorrect.
-
fix m32script crash
-
add file drop callback/SDL_DROPFILE support
-
add Ctrl+Alt+R hotkey to toggle the display of grayed-out sectors
-
skip showing the radii of ambient sounds within grayed-out sectors
-
fix problems with 36af1bb2881ac1ec58d6d80142adc12a285fa7d3 and ee2d323fe0682c3b95d8f85509f289502520318c
Mostra dettagli
Now I like it even less, ha.
-
handle a couple edge cases not covered by ae9b0d412455e36f22139494daa3e8ca8dbea520
Aprile 2023
-
allow startup window in Steam big picture mode if the -setup parameter is passed
Mostra dettagli
This allows the startup window to be used on Steam-based devices like the Steam Deck without switching to desktop mode.
-
Generale
Update gamecontrollerdb.txt
-
update to 92556e0e629b0cb59183f264b800cd0f88b14e22
-
re-enable mus_xmp_interpolation cvar
Mostra dettagli
It looks like there were a couple interpolation related fixes in libxmp since the last time we tried enabling this, so maybe it'll work without crackling and crashes this time.
-
alter libxmp-lite to use the engine's memory allocation routines instead of the system's
-
update libxmp-lite to 1cb557ce338e86eb1e911e971fdf93674cd4db3b
-
this was needed to get automatic dependency generation to work with source files that exist in subdirectories below a target's main source dir, but I don't really like it.
-
parameterize wildcard portion of getfiltered function
-
fix bugged hightile skyboxes in polymer when artmapping is enabled
-
bump MAXSPRITESONSCREEN to 4096, add r_maxspritesonscreen cvar, improve handling of cutoff
-
fix problems with the automatic view angle adjustment for playing without a mouse. This fixes #265.
-
make using LTO=xx for multithreaded linking work on Windows without the error spew, and default it to 12 threads if unspecified
-
update ImGui to 9e30fb0ec1b44dc1b041db6bdd53b130b2a18509
-
add manual test case 'mask_drawing_order.map'
-
in 'msaveloadtext()', prevent read of 'g_skillNames[-1]', fixing issue #225.
Mostra dettagli
Note: 'skill == 0' can be obtained from the command line by either * '-m': "monsters off", or * '-s0': 'ud.m_monsters_off' is *not* set
-
in "draw tsprite before mask?" check, consider tile offsets for sloped sprites.
Mostra dettagli
In 'GetCornerPoints()', fix condition for when to use 'get_floorspr_points()' to include sloped sprites as well.
-
in "draw tsprite before mask?" check, consider offsets for floor sprites.
-
in "draw tsprite before mask?" check, consider xoffset for wall sprites.
Mostra dettagli
(More precisely, in renderDrawMasks()'s check "does the maskwall separate the tsprite center from the camera?".) This provides more reasonable rendering order when the sprite (as drawn) is heavily biased to one side of the maskwall. Note [1]: mask/mask intersections are in general problematic since there is no further subdivision. For opaque objects, the OpenGL modes "work around" the issue thanks to the depth buffer. See: - 'mask_drawing_order.map', the STEAM sprites which by position are all on the other side of the right-hand side fence, but as drawn may or may not be more towards one particular side. (The topmost one with xoffset 50 is the first to be drawn behind it; note that 'picanm[STEAM].xofs == -47'.) - Issue #136, the first example screenshot. However, there, the fence intersects the STEAM sprite quite exactly in the middle (as drawn), so note [1] above applies.
-
in 'editorDraw2dSprite()', don't redundantly (over)draw a line.
-
in 'editorDraw2dSprite()', rename '[xy]2' -> 'd[xy]' + other NIFC tweaks.
Mostra dettagli
- pull out repeated expression 'spr->ang + angofs' into local 'ang' - tweak 'editorDraw2dScreen()', too
-
in 'renderDrawMasks()', simplify a condition.
-
fix "search for named tile" [S] in the tile selection view.
-
NIFC tweaks around tile selection.
Mostra dettagli
Background: "search for named tile" does not work as expected.
-
from 'renderDrawMasks()', pull out 'GetCornerPoints()'.
-
in mask/tsprite sorting, NIFC tweaks (round 3: common rendering).
Mostra dettagli
Meaning the 'while (maskwallcnt) { ... loop over tpsrites ... }' block in 'renderDrawMasks()' that is not conditional on the rendering mode.
-
in mask/tsprite sorting, NIFC tweaks (round 2: +1 local, +3 functions).
Mostra dettagli
- 'PolymostPrepareMasks()' - 'PolymostDrawMasks()' - 'DrawDebugSpriteOutlines()' In passing: - Declare once and reuse 'isPolymost' local - In '#if 0'-d debug code, fix an inconsistency and a call by an obsolete function name
-
in mask/tsprite sorting, NIFC tweaks (round 1: clang-format, locals, const).
Mostra dettagli
(NIFC: no intended functional changes)
-
address various UBSan and [-Wunused-but-set-variable] warnings.
Mostra dettagli
source/mimalloc/src/options.c:228:3: runtime error: call to function mi_log(char*, void*) through pointer to incorrect function type 'void (*)(const char *, void *)' source/build/src/osd.cpp:1755:44: runtime error: null pointer passed as argument 2, which is declared to never be null source/build/src/glbuild.cpp:296:9: runtime error: load of value 4294967295, which is not a valid value for type 'glsamplertype' source/duke3d/src/gamestructures.cpp:355:125: runtime error: member access within null pointer of type 'DukePlayer_t' ---- Note: we are also getting e.g. > source/build/include/compat.h:1008:72: runtime error: store to misaligned address 0x(...) > for type 'uint32_t' (aka 'unsigned int'), which requires 4 byte alignment due to '-fsanitize=alignment' implied by '-fsanitize=undefined'. This is left as-is.
-
pull out 'find_usermaphack()', also handling '!usermaphacks' case.
Mostra dettagli
Exposed by UBSan, e.g.: source/build/src/engine.cpp:11090:67: runtime error: null pointer passed as argument 2, which is declared to never be null
-
Generale
Common.mak: drop 'unsigned-integer-overflow' and 'float-divide-by-zero' from 'ASAN_FLAGS'.
Mostra dettagli
- 'unsigned-integer-overflow': happens too frequently (and is not UB) - 'float-divide-by-zero': see https://reviews.llvm.org/D63793 and D64317
-
update libcompat-to-msvc to fix linking against the newest SDL with MSVC
-
update to 20e17559e545c5d3cfe86c1c4772365e70090779
-
use engine memory allocation functions
-
update to 4159da79e20ad6d0eb1f13baa0f10e989edd9fba
-
update minicoro to 8673ca62ed938c0b436bc2a548f172865f65bf1d
-
fix Linux home directory detection issue, respect XDG_CONFIG_HOME env var
-
fix mouse sensitivity slider values, allow a vertical sensitivity of 0
-
fix crash on old GPUs that don't support GL sampler objects
-
Linux build fix
-
fix Linux SDL_STATIC=1 builds with newer versions of SDL
-
remove explicit VM compiler checks at use time for whether a label is a keyword or not
Mostra dettagli
This is already covered separately by undefined parameter checks on label use and by keyword checks on label definition.
-
fix copy/paste error on bounds check in CON_GETPLAYER/CON_SETPLAYER
-
add an EVENT_INIT that fires once per explicit `include` of a script filename from the console (including from within m32_autoexec.cfg)