October 2021
-
don't crash when loading corrupt maps with sectors with zero walls
Show details
This also makes the editor recognize corrupt sectors with < 3 walls and try to repair the map. It works for the corrupt sectors in E4L1, at least. Please immediately report any problems caused by this change directly to me.
-
fix stupid mouse look bug
-
fix a few things to reference MAXUSERTILES instead of MAXTILES
-
improve tile picker
-
make little dot thing that snaps to the currently selected wall from the mouse cursor more visible and minorly improve mouse cursor
Show details
Yeah, I understand it's fucking pink, but go ahead and find me a more visible color in the default palettes of any of the supported games. wtf chode
-
patch from Doom64hunter to update the GTK2 version of the editor startup window to include the "working directory only" checkbox
-
patch from Doom64hunter to update the Ion Fury buildres.rc with the latest changes from the regular one
-
fix OOB reachability table access (sectnum == MAXSECTORS for a sound owned by a deleted sprite)
-
AddressSanitizer-guarded sm::GenericAllocator implementation using mimalloc as backend
-
console logging rework
Show details
This should resolve concurrency problems that arise when more than one thread attempts to add a line to the log simultaneously. A future commit will move the actual file writes to a different thread altogether.
-
add xfliphighlightedsectors/yfliphighlightedsectors/xmirrorhighlightedsectors/ymirrorhighlightedsectors to m32script, remove read-only flag from startpos vars so the map start position can be changed from scripts
-
WIP changes to allow Mapster32 to be used without the cursor being confined to the window
-
allow changing the video mode without tearing down and recreating the GL context or destroying the window
-
improve fps limiter
-
don't delete old saves at startup anymore
-
add osdcallbacks_t struct and OSD_SetCallbacks() function
Show details
I left OSD_SetFunctions() for compatibility.
-
remove everything left in zpl but rdtsc, delete zpl.cpp, rename zpl.h -> rdtsc.h
-
take a voice's volume into account when finding the lowest priority voice
-
General
MinGW build fix... I'm going to hell for this one
Show details
This works around what looks like a problem with the MinGW cross-compiler toolchain in Debian.
-
disable microprofile
-
instead of G_GameQuit(), abort() in app_crashhandler()
-
formatting
-
fix allocator mismatches between a few allocations and frees
-
pressing a mouse button counts as mouse activity
-
menus don't need their own input buffering and repeat handling anymore because it's handled in mact
-
half-assed attempt at making controller input work
Show details
It's not as half-assed as it was before, but still pretty damn half-assed.
-
misc bullshit cleanup changes
-
General
mact/Duke3d: revise CONTROL_GetUserInput/CONTROL_ClearUserInput, shitcan most of input.cpp
Show details
This implements input repeating for controllers in menus.
-
digital axes on mice haven't been a thing for a while.
-
startup window checkbox for -usecwd
-
integer upscaling for 2d mode for people with 4K displays
Show details
Enable with the "upscalefactor" console command or by editing the cfg for now.
-
unify resolution choice for 2d and 3d mode
-
rename some shitty preprocessor definitions and throw them in an enum
Show details
I saw these and thought that I was responsible for their poor naming, but it turns out the first three were inherited from the original source code.
-
only display relevant configuration options for game controller triggers
-
mouse/controller menu string changes
-
General
Duke3d/mact: shitcan integer scaling for input
-
SCRIPT_GetDouble()
Show details
Sorry, I don't feel like rigging all of the controller axis stuff up to cvars right now.
-
add missing MenuRangeFlags_t tokens to definitions using MAKE_MENURANGE
-
General
engine/mact: reimplement controller dead zone so that it isn't just naively applied to each axis independently
-
move uninitsystem() into engineUnInit and remove atexit
-
General
Update clang-format preferences
-
tweak default JoystickAimWeight and JoystickViewCentering settings and reset them to defaults when resetting the rest of the controller settings
-
rename r_windowpositioning var in source, default to 1
September 2021
-
Add events EVENT_PREUPDATEANGLES and EVENT_POSTUPDATEANGLES
Show details
These events trigger once every frame and provide access to the input struct value updates of each frame. This makes it possible to alter input.q16avel and input.q16horz again, even with smooth mouse aiming. Addresses terminx/eduke32#132
-
reset rotatesprite lerp value when interpolation should not be performed
-
Use APPBASENAME for testing maps
Show details
Allows FURY compiled mapster32 to launch fury.exe
-
General
random.h: Add wsrand
-
Fix a typo in P_DisplayWeapon from port of SHOTGUN_WEAPON case for WW2GI
-
General
Ken-Build, Duke3D, SW, mmulti: Replace rand with wrand almost everywhere.
Show details
Outside of 3rd party libraries, remaining uses are the Polymer-specific macro LIGHTRAD2 within Duke3D, system_15bit_rand and vox2poly. Also use WRANDOM_MAX in SW.
-
Add wrand, intended to mimic the behaviors of Watcom C 10.0's rand.
Show details
Also add WRANDOM_MAX. This will be used in SW, preventing possible freezes.