Novembre 2025
-
fix adlib additive mode
Ottobre 2025
-
Fix null pointer dereferences in case of showing inventory bar right before player kill
-
Comment out definition and declaration of unused function _ErrMsg
-
Use TerminateWithMsg in _Assert
-
Use TerminateWithMsg in JS_DrawMirrors
-
Use TerminateWithMsg in JS_PlockError as well
Mostra dettagli
There are unfortunate duplications of the shared string, but such occurrences don't seem to be that common so far.
-
Cleanup of what was non-RENDERTYPEWIN code
-
Remove not fully ported heap check code and related definitions
-
Remove DEBUG-specific console commands mem, checkheap, dumpheap
-
Replace a few more printf calls, none being compiled, with LOG_F/VLOG_F
-
Replace a few printf calls with uses of LOG_F(ERROR, ...)
Mostra dettagli
Trailing '\n' characters have been removed again.
-
Do replace multiple calls to TerminateGame+print/wm_msgbox+exit
Mostra dettagli
These are done using TerminateWithMsg, except for a few instances in which the strings were meant to be printed without formatting, where TerminateWithSimpleMsg is used instead. Trailing '\n' characters have been removed from input strings. For code previously using printf and not wm_msgbox or loguru, this should resolve instances in which the program would abort without relevant logs, at least under specific platforms. Note that printf had its usage under DOS.
-
Add template function TerminateWithMsg and wrapper TerminateWithSimpleMsg
Mostra dettagli
TerminateWithMsg is going to be used instead of separate sets of calls to TerminateGame, printf/wm_msgbox and exit. It'll use wm_msgbox, not printf (originally used under DOS), and also go through LOG_F. This is an inline function definition using a variadic template, allowing the use of LOG_F and also matching loguru::log. TerminateWithSimpleMsg is a wrapper that allows printing a string without formatting.
-
Move #endif directive to the end of game.h
-
Increase mmulti.cpp's MAXPAKSIZE (size of pakbuf in bytes) to 2048.
Mostra dettagli
This appeared to fix a long-standing issue, where a relatively high ping between two players (say, about 750ms) could start increasing over time due to accumulated messages not being sent sufficiently fast.
-
Log a warning from mmulti.cpp:dosendpackets in case output pakbuf lacks space for all data.
Mostra dettagli
Do so with a given threshold, i.e., turn off the warning until there are 16 consecutive calls to dosendpackets in which pakbuf has enough space for all data to send.
-
Improve prediction of interpolated bob_z value
Mostra dettagli
The addition of the "bob_z" field to the PREDICT struct might be unnecessary, technically speaking, but it probably won't hurt to ensure values are synced.
-
Fixed player movement prediction, now actually based on predicted angle
-
Fix switch to double Uzi for multiplayer games upon pick-up of second Uzi
-
Simplify HandleWeaponAutoSwitch usage to go through the DamageData array
-
Fix multiplayer sync errors with the weapon auto-switching toggle
Mostra dettagli
This also permanently enables weapon auto-switching for PedanticMode. The idea here is that outside of pedantic mode, within multiplayer games, a new bit or more of the inspected player's Flags2 field will be set for the weapon. Afterwards, only for player no. myconnectindex, the function getinput will set loc->bits as if a matching key was pressed for selecting the weapon. loc->bits should be properly synced. Note that each player's structure, including Flags2, is reset within InitNewGame, but not from InitLevel as far as I may tell.
-
Introduce new weapon auto-switch PF2 flags for a follow-up commit
-
Fix voxels introducing glitched sprites in ROR sectors
Mostra dettagli
- Segue
- 6e6b82d — Use a tspr->clipdist bit to specify legacy voxels instead of tspr->cstat 48 (Build 10380)
Settembre 2025
-
Generale
Update credits
-
Add detection for GOG version of WWII GI
-
Generale
Increase MAXVOXELS to 2048
Agosto 2025
Luglio 2025
-
fix timing issue in input code after rate is changed
-
Fix lighting preview when multiple SEs are in a sector
Mostra dettagli
Adds a failsafe for when multiple SE12, SE3 or SE4 are in a single sector by only accounting for the first one (Lowest sprite #ID) This prevents the lighting preview from causing permanent shade changes to a map as it can only store the original map state for one SE sprite per sector.
-
Add EVENT_OPERATEACTIVATORS
Mostra dettagli
EVENT_OPERATEACTIVATORS is run against each STAT_ACTIVATOR with a matching lotag when a typical Duke3D button/touchplate is triggered. Current sprite will be stored in THISACTOR and setting RETURN -1 will skip the normal processing of any remaining activator logic. This does not work with Masterswitches as they use a completely different logic instead.
- Risolve
- terminx/eduke32#323
Giugno 2025
-
Fix selection bug affecting sector pal
Aprile 2025
-
Generale
Fix `includeoptional` in Mapster32's sound parser
Marzo 2025
-
Generale
Implement `includeoptional` in Mapster32's CON parsing
-
Clean up rusted EDUKE32_GLES so that it at least builds
-
Add GL_KHR_debug
-
Add gles2=3.0
-
Update to 0.1.36
-
Avoid unused parameter warning during release builds
-
Update C and C++ language standard version detection
-
Tweak xxhash_config.h so xxhash.c needs fewer changes on update
Mostra dettagli
- Segue
- 4f58b06 — engine: fix RELEASE=0 build with GCC 14.x (Build 10600)
-
fix voxel shading in polymost
Febbraio 2025
-
Generale
Add "includeoptional" CON token, that doesn't error out if the included file is absent.