Build 10345
GIT-
add a few rotatesprite flags for fine control of interpolation.
SVN handles and Git names are merged into one person.
add a few rotatesprite flags for fine control of interpolation.
Fix z interpolation problems in VM_Fall() and A_Fall()
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).
Use SW_AddPathAndMusic in more places
Fix name and use of XDG_CONFIG_HOME environment variable
More cleanup to come.
Search XDG paths for music
Fix pathsearchmode when using a .def which loads a GRP
Same fix as applied for Mapster32 in c7aa59b001
Remove "pathsearchmode" backup from menuselect()
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
Do not free strings returned by getenv
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()
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()
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.
Make all remaining int bitfields of size 1 unsigned
startosx.editor.mm: Use Allman braces
Fix cstat parameter in "classicDrawVoxel()" being int8_t instead of int16_t
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
Now no longer uses negative tilenums.
Use bitmap macros in more places
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.
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.
Fix crash on init with microprofile when GL is not available at runtime
Fix crash on exit when GL is not available at runtime
Fix crash on `setrendermode 3` when GL is not available at runtime
Duke, SW: Fix game data search paths
uspriteptr_t in spriteGetSlope()/spriteGetZOfSlope()
add map start position to undo/redo state
fix F11 brightness adjustment and enable function in 2D mode
add console error spew for a couple conditions which can cause creating a savegame to fail to capture a meaningful screenshot
Fix terminx/eduke32#267
Fix building with GCC targeting Apple Silicon
Disable undefined and signed-integer-overflow sanitizers
They make running with LLDB untenable because they constantly fire.
compat.h: Add CSTD definition for C17
SW, KenBuild: Fix Allman brace styling in macOS startup window
Add bitmap_size macro
git grep -E '\+ *7 *\) *>> *3' find: \( *([A-Za-z0-9_]+) *\+ *7 *\) *>> *3 replace: bitmap_size(\1)
Quick fixes for winlayer warnings
Quick fixes for winlayer errors
Fix minor warnings
Fix warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion]
Fix warning: 'basepal_' violates the C++ One Definition Rule [-Wodr]
I don't understand how something in SW's common_game.h could conflict with Duke3D's common_game.h right now, but it did.
Reset pathsearchmode to the original value after getting mod dir names in the GTK startup window.
Fix whitespace issues
Fix USE_OPENGL=0 build
slope sprite collision improvements
fix various integer overflows in floor sprite rendering code
Add screentext.con as previously present under source/duke3d/src/lunatic
Replace startup window with working code from SW
Add macOS .app bundles
Replace space in editor's proper name with hyphen
Fix logic of voxflags lookup in polymost_voxdraw, avoiding OOB access
improve 2d mode sprite color calculation to avoid returning illegible colors
change crouch jump handling to short-circuit CON VM "ifp pducking" instead of short-circuiting how the player code chooses which autostep value to use
make FATAL and ERROR level log messages purposefully screw up the log formatting a little bit so they stand out more
set asksave to 0 when saving from menu
add floorzcutoff and floorzrebound player members to control additional aspects of how the player's position reacts to traversing sectors with differing floor heights
Not recommended to use these in mods until after Ion Fury: Aftershock ships because they might still change some.
allow startup window in Steam big picture mode if the -setup parameter is passed
This allows the startup window to be used on Steam-based devices like the Steam Deck without switching to desktop mode.
Update gamecontrollerdb.txt
update to 92556e0e629b0cb59183f264b800cd0f88b14e22
re-enable mus_xmp_interpolation cvar
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