August 2023
-
Make some variables and literals related to movefifo unsigned
Show details
Avoids OOB detections by UBSan.
-
Avoid OOB access in A_DamageWall_Internal with invalid overpicnum
-
Fix maybe-uninitialized warnings
-
Cleanup to avoid future merge conflicts downstream
-
Add new alt reverb option for sound menu
-
Don't call pushmove from DamageObject if sprite has invalid sectnum
-
Properly reset Viewscreens when loading a savegame
Show details
Previously, they would get stuck in a deactivated state while the player was still in range.
-
Fix keyboard function override message not showing the keys
Show details
And apply some cleanup to the code in question.
- Fixes
- terminx/eduke32#275
- Co-authored by
- Evan Ramos
-
Fix weapon behavior with FIREDELAY set to 1
Show details
Defer setting kickback_pic setting to lower block. Make adjustments to prevent errant behaviour this may cause.
-
Fix rapid-tap chaingun glitch
Show details
Behaves like Atomic Edition now. Avoids breaking WW2GI.
-
Fix OOB access
-
Use only unsigned literals inside array indexes
Show details
Avoids OOBs as detected by UBSan.
-
General
Avoid OOB access in G_GetCrosshairColor
-
Move alpha==255 check up in dorotatesprite.
-
Skip screentextRender() if provided zoom smaller or equal zero
Show details
This fixes a division by zero crash if zoom == 0.
- Fixes
- terminx/eduke32#272
-
Display r_maxfps == -1 as "Auto" on the display menu
Show details
Previously, this would be the default selection and say "CVAR"
- Fixes
- terminx/eduke32#273
-
Fix savegames made before floorzrebound and floorzcutoff were introduced.
Show details
These would default to 0 after loading the savegame.
-
General
Clean up integration of mimalloc into smmalloc_generic.cpp
-
Fix ordering issues with rotatesprite interpolation that were causing insane jitter and pacing issues.
-
Bugfix polymost1Frag.glsl
-
Return from mi_log if msg is null or contains only a newline
-
Add buildgl_uLookAt to glbuild.h
-
Add USE_OPENGL guard around fullscreen_tint_gl() declaration
-
Revert interpolation changes on non-water VM_Fall cases
-
add a few rotatesprite flags for fine control of interpolation.
-
Fix z interpolation problems in VM_Fall() and A_Fall()
Show details
This prevents a visual jitter effect from sprites that aren't moving, but use the "fall" command in a water sector (zombie actors, pickups, etc).
-
General
Use SW_AddPathAndMusic in more places
-
General
Fix name and use of XDG_CONFIG_HOME environment variable
Show details
More cleanup to come.
-
Search XDG paths for music
-
Fix pathsearchmode when using a .def which loads a GRP
Show details
Same fix as applied for Mapster32 in c7aa59b001
-
Remove "pathsearchmode" backup from menuselect()
Show details
Hitting CTRL+F in Mapster32's map load menu, then exiting it with ESC would result in the next menu opening at the filesystem's root path, and not in the previously open folder.
-
Initialize mysock in mmulti.cpp with INVALID_SOCKET
-
General
Do not free strings returned by getenv
-
General
Purge trailing whitespaces from audiolib, duke3d, sw, mact and build folder.
-
Replace remaining instances of MV_Printf with LOG_F
-
Replace all instances of strtok() with Bstrtoken()
Show details
Because this function stores state statically, using it in a loop with NULL as argument can result in unexpected behavior when another function in the loop invokes strtok() with a different buffer as argument.
-
Only poll glGetGraphicsReset() once every 100ms in handleevents()
Show details
This call acted as a bottleneck, significantly reducing the framerate on E1L1 of Duke3D as the status was being polled every single time handleevents() was called.
July 2023
-
General
Make all remaining int bitfields of size 1 unsigned
-
General
startosx.editor.mm: Use Allman braces
-
Fix cstat parameter in "classicDrawVoxel()" being int8_t instead of int16_t
Show details
Also fix an error log message in engine.cpp logging the wrong variable.
-
Fix parameter in "polymost_drawtilescreen" being called "wallnum" instead of "tilenum"
-
SMALLSMOKE projectile cleanup
Show details
Now no longer uses negative tilenums.
-
Remove unused function "A_DoGutsDir()" from actors.cpp
-
General
Duke3D/Editor: Add "whilevare" CON command
Show details
Also fix editor checking for "else" tokens on whilevarl.
-
Add MONK, LUKE, INDY and JURYGUY to "respawn" tilegroup
-
Fix typo in PR light offset for EXPLOSION2.
Show details
Also fixes attempts to read data for sprite no. -1 in case of no parent sprite.
-
Reduce EXTRATILES from 3840 to 1792 (= 32512 - MAXTILES)
Show details
Previously, MAXTILES+EXTRATILES went above the highest possible 16 bit integer value of 32767, which is the datatype used to store tilenums.
-
General
Use bitmap macros in more places
Show details
regex for initial replacement: find: ([A-Za-z0-9_]+)[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*>>[ \t]*3[ \t]*\][ \t]*&[ \t]*pow2char[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*&[ \t]*7[ \t]*\] find: ([A-Za-z0-9_]+)[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*>>[ \t]*3[ \t]*\][ \t]*&[ \t]*\(1[ \t]*<<[ \t]*\([ \t]*([A-Za-z0-9_]+)[ \t]*&[ \t]*7[ \t]*\)[ \t]*\) replace: bitmap_test(\1, \2) find: ([A-Za-z0-9_]+)[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*>>[ \t]*3[ \t]*\][ \t]*\|=[ \t]*pow2char[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*&[ \t]*7[ \t]*\] find: ([A-Za-z0-9_]+)[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*>>[ \t]*3[ \t]*\][ \t]*\|=[ \t]*\(1[ \t]*<<[ \t]*\([ \t]*([A-Za-z0-9_]+)[ \t]*&[ \t]*7[ \t]*\)[ \t]*\) replace: bitmap_set(\1, \2) find: ([A-Za-z0-9_]+)[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*>>[ \t]*3[ \t]*\][ \t]*&=[ \t]*~[ \t]*pow2char[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*&[ \t]*7[ \t]*\] find: ([A-Za-z0-9_]+)[ \t]*\[[ \t]*([A-Za-z0-9_]+)[ \t]*>>[ \t]*3[ \t]*\][ \t]*&=[ \t]*~[ \t]*\(1[ \t]*<<[ \t]*\([ \t]*([A-Za-z0-9_]+)[ \t]*&[ \t]*7[ \t]*\)[ \t]*\) replace: bitmap_clear(\1, \2) regex for cleanup: find: \((bitmap_test\([A-Za-z0-9_]+, [A-Za-z0-9_]+\))\) == 0 replace: !\1 find: \((bitmap_test\([A-Za-z0-9_]+, [A-Za-z0-9_]+\))\) != 0 find: \((bitmap_test\([A-Za-z0-9_]+, [A-Za-z0-9_]+\))\) > 0 replace: \1 find: \((bitmap_test\([A-Za-z0-9_]+, [A-Za-z0-9_]+\))\) replace: \1 plus manual filtering to find missed cases: git grep -nw pow2char git grep -nEw '>> *3' git grep -nEw '(gotpic|gotsector)' git grep -n show2d
-
Always write boardfilename to savefile, and set app title on save load.
-
Fix FURY=1 build removing the "obj/fury/" folder after linking.
Show details
This bug was introduced in 36af1bb2 and caused the subsequent mapster32 linking to fail. The obj dump folder now has "_dump" as suffix. For regular duke3d builds, this temp folder had the name "obj/eduke32", and hence did not conflict with the "obj/duke3d" folder.