https://github.com/nukeykt/NBlood

Latest: r11619 (5578526ef) - May 30 2020
PCExhumed
(Port of Powerslave & Exhumed)

NBlood
(Port of Blood)

Rednukem
(Port of Redneck Rampage & Duke Nukem 3D)

Based on the latest DOS version of Exhumed, please beware of floating beta copies of the game as these will not work Based on the latest DOS version of Blood and compatible with expansions Also compatible with Rides again, also doubles as a highly accurate Duke3D port.
32-BIT | 64-BIT 32-BIT | 64-BIT 32-BIT | 64-BIT

NBlood & Rednukem: Nuke.YKT, NoOne, sirlemonhead and contributors
PCExhumed: sirlemonhead, Nuke.YKT, NY00123 and contributors
Based on EDuke32 by TerminX, Hendricks266, pogokeen, Plagman, Helixhorned and contributors

This page and autobuild service provided by oasiz
Please contact me (not port authors) for any issues related to these.

Changelog

RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11619
---
5578526ef | [sirlemonhead] ETekWar: Misc changes (config, progress towards linux compilation, cleanup etc)
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11618
---
fe3634b9c | [sirlemonhead] Exhumed/TekWar/Witchaven: Add mouse axis scale cvars
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11617
---
2c63f6bcb | [nukeykt] Blood: fix mouse axis scale slider initial value
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11616
---
8d27fdf15 | [nukeykt] Rednukem & Blood: Add mouse axis scale cvars
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11615
---
5a3f17acc | [nukeykt] Blood: prevent colmatch palette from tint effects
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11614
---
cfe5658d0 | [sirlemonhead] PCExhumed: Fix inaudible sounds when game volume isn't on full. Fixes #365
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11613
---
a189828bf | [nukeykt] Blood: main loop and input code improvements
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11612
---
6b43f6282 | [nukeykt] Merge remote-tracking branch 'remotes/eduke32/master'
888bda5c1 | [nukeykt] Engine: fix sprite sorting issue that caused broken voxel rendering in polymost
e32f897aa | [NY00123] SW: Call OSD_DisplayQueued in DemoPlayback, so OSD commands can have an effect from here
0b9804480 | [NY00123] SW: Remove TitleLevel (probably dating back to 1995 prototype builds)
d2dd9f003 | [NY00123] SW: Remove DemoOverride, ScenePlayBack and SceneLevel
88dc2234c | [NY00123] SW - interpso.cpp: Imperfect hack for jittery coolies in level 1's train (with SO interpolation turned on). It would be nicer to have something better structured than the given hack, but this currently seems to work, while not breaking the sprites on the boat in the beginning of level 5.
b62927ee7 | [NY00123] sw/src/interpso.cpp:so_dointerpolations: Move ratio calculation out of inner loop.
e8ed7efb5 | [NY00123] SW: Write Numsprites to saved game (and update/dup nearby comment)
9dacdfbc8 | [NY00123] Typo fix in mmulti.cpp:netinit warning message related to IPV6
249a40a1d | [Evan Ramos] Fury: Set font traits before overwriting MF_Minifont with MF_Bluefont
3cbb6adfb | [Richard C. Gobeille] audiolib: #if 0 out some dead code in XA and XMP support
This doesn't look like it's intended to be dead code, but nothing sets Loop.Size anywhere.
fb8073157 | [Richard C. Gobeille] Bump libxmp-lite back to version 4.5.0
This reverts commit 8914e7b6a62b05762b363dc7b2be247370fdf089.
453f774d6 | [Richard C. Gobeille] engine: use an additional bitmap in clipupdatesector() to mark which sectors have been checked with inside()
4bb267836 | [Richard C. Gobeille] engine: disable annoying clipupdatesector() console warning in release builds
23b0d6b3e | [Richard C. Gobeille] engine: make a few things in clipmove() const that I must have missed the last time I worked on it
Not a particularly exciting set of changes.
bb8db7d43 | [Richard C. Gobeille] engine: better handle the GL driver enforcing a particular SwapInterval
31bd7eb18 | [Richard C. Gobeille] audiolib: non-MIDI music is no longer affected by reverb
0a877c0cd | [Richard C. Gobeille] Duke3d: throw S_Update() back into the main loop to prevent audio popping
09dc0cc94 | [Richard C. Gobeille] audiolib: cleanups and consolidations
Zeroing of fields when starting playback moved to common functions, revised allocation of memory for FLAC, Vorbis, XA, and XMP, addition of "snd_lazyalloc" cvar to control reusal of memory blocks allocated for Vorbis, XA, and XMP playback, other misc code cleanup.
6e54cbb1b | [Richard C. Gobeille] audiolib: less nasty looking MV_Voices[] allocation
This removes the +2 bytes at the end of the allocation--I checked out the valgrind_errors.log referenced by the deleted comment and it looks like the issue fixed by 2e2e0e3af3378734c4f0b890c6b4d10253628416.
This is the commit to revert if weird audio crashes start happening.
b164d9443 | [Richard C. Gobeille] Duke3d: further tweak swinging door behavior
This adds a z position check to the collision check that controls the reversing swinging door behavior.
1c7b65755 | [Richard C. Gobeille] engine: fix poorly written time comparison in vsync handling
This only affected KMT mode, and only on certain system configurations.
02eff8c8c | [Evan Ramos] Duke3D: Fix breaking glass
Amends dc46c60e9fb511c0bc955ca39ea48ccfa3b02a24
9a9418bd7 | [Evan Ramos] sw/src/demo.cpp:DemoPlayBack: Add a call to timerUpdateClock, which is now required. Previously, it would be called from faketimerhandler, which in turn is called from the engine.
07eba992f | [Evan Ramos] sw/src/copysect.cpp: Temporarily disable interpolation of sector object if any of its sectors is impacted by CopySectorWalls. Fixes a possible flicker with the drill at the end of level 2.
3da461bd6 | [Evan Ramos] SW: Don't interpolate a sector object if the corresponding lasttic value is 0
09d3c6011 | [Evan Ramos] SW: Add the macro SO_EMPTY and use it instead of separate checks of the form sop->xmid == INT32_MAX
4c97870fd | [Evan Ramos] sw/src/sync.cpp:SOSync: Remove commented out code
0d7532544 | [Evan Ramos] SW: Remove unused DoubleInitAWE32 variable
ac45341a0 | [Evan Ramos] SW: Modify getinput to update oq16ang/oq16horiz with the same amount of change that camq16ang/camq16horiz gets. Such an update is possible after making sure that UpdateInputs (faketimerhandler) is never called from domovethings.
f0e94f098 | [Evan Ramos] sw/src/network.cpp: Remove from UpdateInputs the checks of totalclock and ready2send and the call to timerUpdateClock, which are now done before calling UpdateInputs itself from RunLevel.
2d77a8185 | [Evan Ramos] Rename faketimerhandler -> UpdateInputs and keep an empty faketimerhandler stub in SW. This basically deprecates the usage of faketimerhandler in the game.
ffccc7c35 | [Evan Ramos] sw/src/game.cpp:RunLevel: Call faketimerhandler in a loop, based on code from EDuke32-OldMP. Main difference from EDuke32-OldMP is that this is done even while staying in the menu; Behaviors will otherwise break. We should also call timerUpdateClock() before the loop, especially after removing the call to this function from faketimerhandler soon.
c79af6518 | [Evan Ramos] SW: Remove commented out code accessing non-existing variable
5f16a9a65 | [Evan Ramos] SW: Remove FAKETIMERHANDLER and calls to faketimerhandler via this macro
0f0cc9369 | [Evan Ramos] SW: While not exactly a favorite of mine, this fixes the floorz updates of the secret rotating pillar in level 1 with SO interpolation. The drill in level 2 is also covered. So far, SetVatorActive seems to be the only place where interpolation of ceiling/floorz may be set, outside of the SO interpolation code.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11576
---
c4cec18b5 | [sirlemonhead] PCExhumed: MoveSector() updates player position variables. Fixes #366
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11575
---
6f666991b | [nukeykt] Blood: fix sprite rendering glitch related to ROR
7ec6cd910 | [nukeykt] Merge remote-tracking branch 'remotes/eduke32/master'
d473e6028 | [Evan Ramos] SW: Fail gracefully from WarpToArea instead of aborting
cf3f6a1c8 | [Evan Ramos] SW: Clear the background during cinematics
9a1370307 | [Evan Ramos] SW: Add -j command line parameter
e7a5a2979 | [Evan Ramos] Defs: Fix logical error in ifmatch size, plus cleanup
8302839cd | [Evan Ramos] Makefile: Only pass --high-entropy-va when we pass --dynamicbase
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11568
---
197c38fe2 | [sirlemonhead] Rednukem: Fix VS2019 16.6 build error
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11567
---
3793222a3 | [nukeykt] Merge remote-tracking branch 'remotes/eduke32/master'
01b867167 | [Richard C. Gobeille] Duke3d: this bit of the main loop needs to go
The logic here is incorrect when considering anything run from within G_DoMoveThings() that may directly trigger drawing.
2876a3819 | [Richard C. Gobeille] engine: remove weird framejitter shit from FPS limiter because it doesn't do what I wanted it to
8b733c163 | [Richard C. Gobeille] Duke3d: split chunks of main loop off into Net_DedicatedServerStdin() and G_DrawFrame()
438ba9baf | [Richard C. Gobeille] Duke3d: fix VS2019 16.6 build error
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11562
---
8eee4f89d | [Evan Ramos] Merge remote-tracking branch 'eduke32/master'
00c669564 | [Evan Ramos] SW: Allow Strafe Left and Right to turn vehicles
04f50a6e5 | [Evan Ramos] Allow '.' to stand for 'this host' in the P2P mmulti host sequence
Same as JFBuild commit 274d8d886dde7cac081acf9698348d1168c18852
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11559
---
8b1ff9315 | [Evan Ramos] Merge remote-tracking branch 'eduke32/master'
48c8d3b4b | [Evan Ramos] SW: Remove pre-release software warning
aee713b59 | [Evan Ramos] Synchronize file extensions for GRP scanning between Duke 3D and SW
This way running both from the same folder won't invalidate the cache.
ba2dc6978 | [Evan Ramos] SW: Add forgotten call to FreeGroupsCache()
f8286c718 | [Evan Ramos] SW: Fix warning: function 'MNU_ClearFlags' is not needed and will not be emitted [-Wunneeded-internal-declaration]
0e9331843 | [Evan Ramos] SW: Fix music volume slider
7c9331a21 | [Evan Ramos] SW: Add FOV slider
3e9cbdd65 | [Evan Ramos] SW: Add "Game Saved" message
c1db471dd | [Evan Ramos] SW: Fall back gracefully if map mirror tags are not fully correct
1fe56a764 | [Evan Ramos] SW: Instrument Saveables with debug_break
c19a28c85 | [Evan Ramos] SW: Add PanelSpriteFunc values to saveables
07df0ebb7 | [Evan Ramos] SW: Afraid that we should disable almost all kinds of SOs in multiplayer for now, due to possible jitters. Currently leaving remote-controlled SOs.
bb3ead12e | [Evan Ramos] SW: Call FunctionKeys from getinput only if the latter is called from faketimerhandler. This should fix the timing of playing an RTS file's sound and sending the corresponding message.
5e14c8f90 | [Evan Ramos] SW: Fix aiming in coop view
00ed85d50 | [Evan Ramos] SW: Don't interpolate a non-remote sector object controlled by the player. Make sure looking up/down is still smooth.
5ea24e827 | [Evan Ramos] SW: Disable interpolation of sector objects that don't move as smooth as possible in multiplayer
cac10455d | [Evan Ramos] Store sector object interpolation data in saved game
8a4c9ba0e | [Evan Ramos] Remove the preceding sprite interpolation functions, not needed anymore
95485ac55 | [Evan Ramos] SW: Let's make use of interpso.*. Still need to do a few more things.
b7dbf6221 | [Evan Ramos] Add Sector Object interpolation menu toggle; Still having no impact.
d3c0b9e1e | [Evan Ramos] SW: Add the currently-unused interpso.* files, enabling interpolation of sector objects as whole groups of points and sprite angles.
The following goals are intended to be achieved with this code:
- Make it easy to let the user toggle sector object interpolation.
- Interpolate the angles of sprites carried by sector objects.
- Use the right amount of samples for interpolating a sector object,
depending on the players' locations, as done in the checks within
DoSector. Unfortunately, modifying DoSector itself to
unconditionally call MoveSectorObjects(sop, synctics) technically
changes the way sectors move (in the logical sense), and was
found out to make a specifically constructed user map unbeatable.
- Make it easy to disable interpolation of a whole sector object in
case of a need. This is especially important if such an object
is controlled by a player in multiplayer, mostly since this
isn't compatible with the way player prediction is working.
9ea0503b0 | [Evan Ramos] SW: Add the currently unused InterpolateSO option. A known issue, which also applies to existing settings like the voxel toggle, is that its value gets written to the saved game, and when such a game is loaded, the its value gets overwritten by the one in the saved game. Options should move to settings.cfg later, anyway.
c7125c9dd | [Evan Ramos] SW: Add the oangdiff field to USER struct as suggested by Hendricks, and use it in MovePoints. This will be used for interpolating the angles of sprites carried by SOs soon.
999a491c7 | [Evan Ramos] SW: Interpolate the player's bob_z, based on suggestion by Striker. Using pp instead of ppp seems to work better with prediction.
2b1a271cb | [Evan Ramos] sw/src/network.cpp: Disable most of the packet transmission debug messages unless NET_DEBUG_MSGS is defined
c3773c20d | [Evan Ramos] sw/src/draw.cpp: Import from Duke3D the Polymost shadow drawing hacks
dbf1e3736 | [Evan Ramos] sw/src/network.cpp: Fix waitforeverybody in Master/Slave modes. This uses SVN r1135 and r1143 as a reference.
6f4e76862 | [Evan Ramos] sw/src/network.cpp: Fix sending of messages in Master/Slave. Thanks Dynamo for spotting the bug.
4a8175566 | [Evan Ramos] sw/src/draw.cpp:analyzesprites: Interpolate other players' sprites, in a similar manner to what's done in Duke3D (with the addition of the angle).
There seem to be some jitters with this, mostly in Master/Slave mode.
Decreasing PAKRATE in mmulti.cpp might also increase the frequency
of this occuring in Peer-2-Peer mode.
989cc96df | [Evan Ramos] sw/src/jsector.cpp:JS_DrawMirrors: Make camera oscilation less dependent on the frame rate. It would probably be better to update this from the game loop side, like in Duke3D, but it's still better than the preceding situation.
9d6c8da02 | [Evan Ramos] SW: Q16.16 refinements in DoPlayerDeathFollowKiller.
1f5442791 | [Evan Ramos] SW: Add GetDeltaQ16Angle.
4c71e46e3 | [Evan Ramos] Add PedanticQ16AngleFloor to sw/src/game.h and use it in DoPlayerTurn
0c6a86e0b | [Evan Ramos] SW: Remove drive_oangvel from PLAYERstruct. We can use local variables instead.
b2b278767 | [Evan Ramos] SW - Hopefully a better way to decide if getinput should call DoPlayerTurn/DoPlayerHorizon while input is tied to the frame rate: Introduce the new player flags PF2_INPUT_CAN_TURN and PF2_INPUT_CAN_AIM. Set PF2_INPUT_CAN_TURN if DoPlayerTurn can be called outside of getinput. Similarly set PF2_INPUT_CAN_AIM if DoPlayerHorizon can be called in this manner. getinput will only call DoPlayerTurn/DoPlayerHorizon if PF2_INPUT_CAN_TURN/PF2_INPUT_CAN_AIM is set. These flags are reset right before the call to the player's current DoPlayerAction function.
For one example in which this assists, it's not always the
case that DoPlayerDeathFollowKiller may call DoPlayerTurn,
even if we assume that pp->input.q16angvel is never zero.
dd867e71f | [Evan Ramos] SW: Temporarily lock angle and horiz right upon player death
f2d8af9bc | [Evan Ramos] sw/src/draw.cpp:drawscreen: Don't interpolate while the game is paused
bcddc01a9 | [Evan Ramos] sw/src/game.cpp: Remove unused ReloadPromptMode variable
3cdeeab05 | [Evan Ramos] Minor SW cleanup: Have a single declaration of GamePaused within game.h. Do the same with ReloadPrompt.
30eb858f8 | [Evan Ramos] SW: Migrate the player's RevolveAng field to Q16.16 format. This fixes truncations of q16ang in MovePlayer. One known fixed issue is a minor micro-shaking effect, reproduced while standing on a non-moving SO (e.g., the bus in level 1). The latter is also related to the use of camq16ang.
Based in idea on patch from mjr4077au.
82c02f420 | [Evan Ramos] sw/src/draw.cpp:drawscreen: Use GetQ16AngleFromVect for pointing at a remote-controlled SO. In case PedanticMode == FALSE, this leads to small improvements with aiming at the car in EXAMPLE.MAP.
bdd4cd86f | [Evan Ramos] Add GetQ16AngleFromVect wrapper function to sw/src/game.h
9bdb87cea | [Evan Ramos] Add gethiq16angle and the getq16angle wrapper to the engine
c8887525e | [Evan Ramos] SW: Lock angle and horiz right after teleporting to sprite
1a3c9e3a1 | [Evan Ramos] sw/src/draw.cpp:drawscreen: Removing the check that pp->sop_control is non-null seems to resolve the newly introduced interpolation issue for looking up/down while controlling a sector object. We can also remove the PF_DEAD test, since game.cpp:getinput should lock any kind of aiming.
src/src/game.cpp:getinput: We now, however, need to further
lock turning here while controlling a sector object.
5e6acf23d | [Evan Ramos] SW: Ensure the player's rendering angle is in sync with a rotating sector. This re-introduces the angle interpolation in drawscreen while sector object interpolation is in use.
A side-effect of this is that looking up/down is now less smooth
while controlling a sector object (e.g., a turret).
966e9bdb5 | [Evan Ramos] sw/src/track.cpp:MovePlayer: We also need to update pp->camq16ang here. Note that this angle is currently not interpolated, as done for the sector.
bf31bc298 | [Evan Ramos] sw/src/track.cpp:MovePlayer: Missed this in preceding interpolation fixes
ab8aee8e3 | [Evan Ramos] sw/src/track.cpp: If interpolation is enabled, also cover the SO's midpoint. Fixes aiming at a remote controlled SO.
2e2e0e3af | [Richard C. Gobeille] audiolib: fix buffer overflow crash
a868d2a0e | [Richard C. Gobeille] Duke3d: block horiz input while the player view is returning to center
dc46c60e9 | [Evan Ramos] Duke3D: Disable dead code in implementation of undocumented SE 128
Avoids warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
7ea9abc4e | [Evan Ramos] KenBuild: Fix redundant sqr/ksqr functions
a7820e669 | [Evan Ramos] KenBuild: Fix -Wformat warnings
53dec9835 | [Evan Ramos] Link with -pthread when building with clang on Windows
52cad3a8e | [Evan Ramos] fix16: Add FIXMATH_FUNC_ATTRS to relevant function definitions
Avoids warning: missing exception specification [-Wmissing-exception-spec]
365d3c941 | [Evan Ramos] screentext: Change TEXT_* from enums to #defines
Avoids warning: bitwise operation between different enumeration types is deprecated [-Wdeprecated-enum-enum-conversion]
5f2229f6d | [Evan Ramos] ENet: Move ENET_PROTOCOL_COMMAND_FLAG_* to ENetProtocolCommand
Avoids warning: bitwise operation between different enumeration types is deprecated [-Wdeprecated-enum-enum-conversion]
781a84e7c | [Evan Ramos] debugbreak.h: Use FORCE_INLINE macro instead of attributes
Avoids warning: 'gnu_inline' attribute without 'extern' in C++ treated as externally available, this changed in Clang 10 [-Wgnu-inline-cpp-without-extern]
96a29cecf | [Evan Ramos] BuildGLErrorCheck: Avoid C++20 -Wvolatile warning
9bf7e41be | [Evan Ramos] Replace deprecated is_pod with is_standard_layout && is_trivial
8c39e5970 | [Evan Ramos] compat.h: Add CXXSTD definition for C++20
7053134e4 | [Richard C. Gobeille] Remove GitLab CI/CD configuration
Synthesis builds are now kicked off with a post-commit hook.
22a0cc6d6 | [Richard C. Gobeille] MSVC: remove LIBXMP_CORE_DISABLE_IT preprocessor definition
This seems to fix memory corruption issues with .xm playback... ???
0b14f61b4 | [Richard C. Gobeille] engine, audiolib: clean up most SDL_MAJOR_VERSION checks so they're relative to version 2
9462774c9 | [Richard C. Gobeille] engine: comment the reason SetWindowGrab exists
d15855499 | [Richard Gobeille] Fix trains not moving spawn points with higher indexes than player count.
74da38c9c | [Richard C. Gobeille] Duke3d: use timerGetPerformanceCounter() instead of timerGetHiTicks() for CON performance profiling
0fb637fd9 | [Richard C. Gobeille] Duke3d: move gameHandleEvents() (and therefore system event pumping) back to directly in the main loop
I'm hoping this is OK now that the issues with SDL and GetClipCursor() have been worked around.
0f6a696a6 | [Richard C. Gobeille] engine: bypass SDL_SetWindowGrab on Windows
0f6398abd | [Richard C. Gobeille] Duke3d: make CON_GETFLORZOFSLOPE and CON_GETCEILZOFSLOPE TROR aware
a73e8e6e9 | [Richard C. Gobeille] engine: add yax_getflorzofslope() and yax_getceilzofslope()
28f04d094 | [Richard C. Gobeille] Duke3d: restore previous version of VM_ASSERT macro for compilers other than MSVC
dfb6ed351 | [Richard C. Gobeille] engine: make cliptestsector() (used by clipmove(), etc) TROR aware
This is intended to help with issues where enemies get stuck in thin TROR layers.
329c25d4b | [Evan Ramos] screentext: Guard new !(o & RS_TOPLEFT) behavior behind TEXT_VARHEIGHT
f978d49b2 | [Evan Ramos] Menus: Use MF_Minifont struct for shadowminitext and creditsminitext
597dbfa25 | [Richard C. Gobeille] audiolib: revert Vorbis handling to standard memory allocation instead of cache1d
297e5e2d1 | [Richard C. Gobeille] engine: clean up classic mode sloped sprite drawing a little
99ca1255d | [Richard C. Gobeille] Duke3d: flip CON_USE_COMPUTED_GOTO dispatch macro logic around so the branch is taken less often
85bf4c04b | [Richard C. Gobeille] Duke3d: change random_angle hack in CON_MOVE to match CON_AI
4022d4405 | [Richard C. Gobeille] Duke3d: zero player return_to_center when setting horizRecenter to false
94bdfe1a2 | [Richard C. Gobeille] Duke3d: convert several more VM error checks into VM_ASSERT statements
9d4880776 | [Richard C. Gobeille] Duke3d: VM_ASSERT fix
1284ab266 | [Richard C. Gobeille] audiolib: minor XMP support cleanup
Ditches the struct full of unused members.
797ee637a | [Richard C. Gobeille] audiolib: minor cleanup to the dummy playback functions used when missing support for a format
0af5a215a | [Richard C. Gobeille] VS project: add driver_alsa.h and driver_alsa.cpp
8914e7b6a | [Richard C. Gobeille] Revert "Update libxmp-lite"
This reverts commit dd86318e14f78f2e428e747aa4c3dcfb360b1204.
60625fb39 | [Richard C. Gobeille] audiolib: bring MV_ReleaseVorbisVoice() in line with the other MV_ReleaseVoice() functions
b1cbe0267 | [Richard C. Gobeille] audiolib: factor common code from MV_AllocVoice() and MV_VoiceAvailable() into new MV_GetLowestPriorityVoice() function
687dde700 | [Richard C. Gobeille] audiolib: this commit is literally nothing but "auto"
7b8dc310f | [Richard C. Gobeille] audiolib: useless formatting
edf0962c6 | [Richard C. Gobeille] audiolib: skip voices without rawdataptr set
This shouldn't really ever happen, but I'm trying to figure out an elusive crash.
65c367a9f | [Richard C. Gobeille] Revert "Duke3d: set .horizRecenter when handling SK_CENTER_VIEW"
This reverts commit ef06d8c3dba3e4ccf9388bf31404ab23ebdcb37e.
78c8593ed | [Richard C. Gobeille] Duke3d: replace VM_CONDITIONAL macro with a lambda
7ad1cf177 | [Richard C. Gobeille] Duke3d: this is intended to fix an issue where CON VM errors within a CON_FOR loop could cause an infinite loop
e6fefb59d | [Richard C. Gobeille] Duke3d: add a few missing VM_ASSERT checks
543d0ac23 | [Richard C. Gobeille] Fix playback hang in Windows MME MIDI driver
Fixes #23.
711f59f8e | [Richard C. Gobeille] engine: add mutex_try()
Not used anywhere yet.
9e682b35d | [Richard Gobeille] Duke3d: interpolate player view angle when dead
1374c8b3a | [Richard Gobeille] ALSA code cleanup/standardization
0b0e9923c | [Richard Gobeille] Merge branch 'AudioLib_ALSAMIDI' into 'master'
audiolib: Import ALSA MIDI support from JFAudioLib and patch through the menu system as appropriate.
See merge request terminx/eduke32!5
79e457cbe | [Richard Gobeille] source/audiolib: Initial commit of ALSA MIDI code from jfaudiolib, with EDuke32 audiolib-specific changes as required.
02aae9426 | [Richard C. Gobeille] Duke3d: fix OOB memory access in CON_FOR
ef06d8c3d | [Richard C. Gobeille] Duke3d: set .horizRecenter when handling SK_CENTER_VIEW
This seems so obvious that I almost think I intentionally left it out before, but I can't remember why I would have.
5b3b3a140 | [Richard C. Gobeille] Duke3d: zero .horizAngleAdjust and .horizSkew after checking playerquitflag instead of before
I don't think this actually makes a difference, but it's more consistent.
ee44e834a | [Richard C. Gobeille] Duke3d: zero .horizSkew in P_DoJetpack()
da5d130c9 | [Richard C. Gobeille] Duke3d: fix bug with sound device configuration menu
This fixes an issue where the values for the options in the device configuration menu weren't being populated when entering the device configuration menu from the in-game sound menu (F4) without having entered the regular sound menu by navigating to it through the main menu first.
46c0b1b3e | [Richard C. Gobeille] Duke3d: zero player .horizRecenter, .horizSkew, and .horizAngleAdjust in P_ResetPlayer()
c1bc5e421 | [Richard C. Gobeille] audiolib: add nullptr checks to MV_ReleaseXMPVoice(), MV_ReleaseFLACVoice(), and MV_ReleaseXAVoice()
38bb54b75 | [Richard C. Gobeille] audiolib: disable mus_xmp_interpolation cvar and hard-code XMP interpolation to XMP_INTERP_NEAREST
Both linear and spline interpolation seem to be broken with some of the .xm tracks in Ion Fury.
3e43bed62 | [Richard C. Gobeille] Duke3d: allow SE_14_SUBWAY_CAR to move STAT_PLAYER sprites
Fixes #18.
af5d96cab | [Richard C. Gobeille] Duke3d: hoist checks for ST_2_UNDERWATER outside of loops in SE_14_SUBWAY_CAR processing
71a7f4a79 | [Richard C. Gobeille] Duke3d: remove interpolation fixups from subway
These aren't needed anymore after Striker's patch to improve overall interpolation.
0c956619d | [Richard C. Gobeille] Duke3d: fix APLAYER radius damage distance calculation regression
Fixes #20.
b8c077170 | [Richard C. Gobeille] audiolib: slightly clean up fix16 usage for volume
6ad4f7ba0 | [Richard C. Gobeille] audiolib: fix crash when a configuration file contains mus_xmp_interpolation but multivoc isn't initialized when the cfg is parsed
f70802932 | [Richard C. Gobeille] Get rid of FIXMATH_NO_OVERFLOW
We're explicitly using the functions that rely on the overflow detection functionality, so this will never be useful to us.
67bc82c57 | [Richard C. Gobeille] audiolib: reset rawdataptr to nullptr in MV_ReleaseVorbisVoice()
This also resets wavetype to FMT_UNKNOWN in MV_CleanupVoice(), and moves the resetting of a few structure members common to different voice types there.
472cb8416 | [Evan Ramos] Game-side locale stuff: save menu, TEXT_NOLOCALE, ':' captions
ef469091b | [Evan Ramos] G_ScreenText: Replace alloca with dedicated heap buffer
8ae26a42b | [Evan Ramos] Fury: Disable drawing color correction menu tiles
b545e719b | [Evan Ramos] Menus: Draw title bar text with y-centering
(No difference with Duke.)
18125453f | [Evan Ramos] Fury: Shrink menutext zoom and introduce ypadding
1d6a45627 | [Evan Ramos] Fury: Remove orientation 16 from hardcoded text drawing
4c89f58cf | [Evan Ramos] screentext: Change behavior when RS_TOPLEFT is not set
Add internal standardhalfheight and tilesizx
9558d76e2 | [Evan Ramos] TileFont
5260da850 | [Evan Ramos] Locale
26f683cad | [Richard C. Gobeille] audiolib: work around crash when ov_read fails
13a90f046 | [Richard C. Gobeille] Duke3d: fix level warp and skill cheats in the cheat menu
Fixes #17.
613565b7c | [Richard C. Gobeille] audiolib: call ov_clear before telling cache1d the block of memory can be reused!
39bed3e89 | [Richard C. Gobeille] audiolib: minor optimization to MV_SetVoiceMixMode()
0aabd7f55 | [Richard C. Gobeille] Mapster32: disable error message printed when m32help.hlp is missing
f9d0f1186 | [Richard C. Gobeille] Clarify clipupdatesector() log message a bit
198d5bcee | [Richard C. Gobeille] Derp...
Probably actually fixes #4. Regardless, I want to note that this is really sub-optimal.
fca35e8eb | [nukeykt] Properly display non power of 2 floor aligned sprites in 2d mode
0f5414e94 | [Richard C. Gobeille] Fix G_PlaySoundWhileNoInput()
Fixes #2.
734dddbea | [Richard C. Gobeille] Fix crash with CONs that only define one skill
Fixes #3.
c2ed7ae28 | [Richard C. Gobeille] Fix really stupid error with CON_NULLOP branch detection
Fixes #4.
e6a2bcc71 | [Richard C. Gobeille] Fix a crash with tabledivide64()
Fixes #1.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11420
---
aba6655f1 | [Alexey Khokholov] - Disable STD random for autobuilds - kModernEffectGen: fix getting middle of the sprite
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11419
---
e9d4df753 | [nukeykt] Blood: do not use tile offsets for voxels
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11418
---
35405683d | [Evan Ramos] Fix the USE_OPENGL=0 build
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11417
---
e0635a657 | [GitHub] Merge pull request #331 from nukeykt/mapedit
- Event redirection support for modern types
ec9f9211d | [NoOneBlood] - Fix kModernPlayerControl (qav scene)
963095212 | [NoOneBlood] - Damage scale, health, ammo and apperance changes for Custom Dude's life leech - Fix Custom Dude was not able to detect if life leech is thrown after loading a save game - Remove optional auto-aim flag for Pod enemies (wrong and deprecated) - Damage scale changes for Custom Dude (for surface type) - Use nnExtProcessSuperSprites() for tracking conditions processing instead of callback - ELSE IF detection for conditions (WIP) - Add more conditions - Ai fight: remove "annoying unit" detection (deprecated) - kModernPlayerControl: add powerup erase - Fix kModernSequentialTX and kModernRandomTX was sending wrong command - Fix kModernPlayerControl was not able to stop / play qav scene - Fix crash when kModernDudeTargetChanger have data4 == 0 and data3 != 0 - kModernSeqSpawner: remove statnum. - Fix wrong reserved statnums detection
03dcfd300 | [NoOneBlood] - Don't change statnum of thing converted to debris back to thing on impact  trigger when firing with vector weapon. - Change damage scale and min firedist for Custom Dude. - Remove unnecessary checks in callback of tracking condition. - Fix picWidth() function. - Better initialization of modern stuff. - kModernSeqSpawner: disable all other spawners with same TX ID when enabling current. - Fix: sceneQav was not playing if resurrected with COUSTEAU cheat. - kModernPictureChanger: remove kModernFlag01 feature (deprecated). - kModernSectorFXChanger: add flags to control where exactly light effect should appear. - kModernCondition:  - add delay before sending command if condition is true.  - take in account state, so kCmdState and kCmdNotState is useful.  - fix wrong comparison result in some conditions.  - add new various conditions. - kModernPlayerControl:  - fix start / stop playing qav scene when triggered with event command converted to sprite command.  - add a way to resurrect / heal player.  - add event commands to toggle inventory item status via trigger.  - fix that Remote and Proximity detonators cannot be given.  - add clear all screen effects option.  - proper percents for changing movement / jumping. - kModernRandomTX, kModernSequentialTX: change event redirection mode activation from kModernTypeFlag02 to kCmdLink. - kModernSpriteDamager: treat damage value as percents by default, take in account god mode. - kModernEffectGen: fix wrong cstat for effects. - kModernPropertiesChanger: proper underwater status for sectors and players or enemies in it. - Players: assign or update current player's sprite index for all conditions.
fdc4bbee7 | [NoOneBlood] Merge branch 'master' of https://github.com/nukeykt/NBlood into mapedit
b5a813556 | [NoOneBlood] - Removed link support for various upper / lower stacks (deprecated) - Removed link support for path marker (deprecated) - Removed link support for counter sector (deprecated) - STD random for wind generator
b0d52c830 | [NoOneBlood] - Custom start health fix - Check for system reserved statnums in gModerMap
c116aeafc | [NoOneBlood] Merge branch 'master' of https://github.com/nukeykt/NBlood into mapedit
7ffaf4c39 | [NoOneBlood] - More compact code for event redirection - Fix demo desync - Fix MINGW compile warnings - Move custom start health from data4 to sysData2 in gModern maps - Proper respawn for custom dude
315fc3570 | [NoOneBlood] Merge branch 'master' of https://github.com/nukeykt/NBlood into mapedit
659c85e4f | [NoOneBlood] - Player control: more strict rules for copying properties of xsprite - Fix for custom health when respawning enemy - Fix for custom dude when respawning it - Conditions: added way to refresh sprite index in tracking conditions
d91dd04e9 | [NoOneBlood] Merge branch 'master' of https://github.com/nukeykt/NBlood into mapedit
b7c04af90 | [NoOneBlood] - Changes for conditions (WIP) - Fix for picWidth();
99fc32e9a | [NoOneBlood] - Double print in console fix for consoleSysMsg - Changes for kModernCondition
04db968c8 | [NoOneBlood] - Changes in damage scale for Custom Dude - Conditions: added conditions for player and enemies (WIP)
23663b228 | [NoOneBlood] Merge branch 'master' of https://github.com/nukeykt/NBlood into mapedit
e349ff8c0 | [NoOneBlood] - Added tracking type of conditions. Generally conditions is still WIP. - Update aim for player while playing qav scenes. - Fix compile warnings
5008e0a46 | [NoOneBlood] Merge branch 'master' of https://github.com/nukeykt/NBlood into mapedit
a3ef534a3 | [NoOneBlood] - Condition type update (WIP) - IncDec type update (can iterate multiple data fields) - Fix compile warning (?)
755db6eaa | [NoOneBlood] - Event redirection support for modern types - New modern type "Condition" (WIP) - Fix damage scale for custom dude - Extend Impact and Vector flags so they can be used with dudes - Impact condition can be triggered with missiles and explosions - Updates for Teleport Target type (gModernMap) - Updates for Effect Gen type - Updates for Wind Gen type
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11397
---
335ab4805 | [sirlemonhead] Clean up the FileStream code: Remove non-working Is_Eos() and make Seek() and Skip() return int.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11396
---
6d73139cf | [sirlemonhead] libsmackerdec: Fix incorrect version comparison (though it wasn't breaking anything)
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11395
---
9dae9facf | [sirlemonhead] ETekWar: Make flags32[] unsigned
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11394
---
63341ea2d | [sirlemonhead] ETekWar/EWitchaven: Fix up wrong game names in header files. woops.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11393
---
541f0576d | [sirlemonhead] ETekWar: Fix typo in kenmovesprite()
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11392
---
802740e4d | [sirlemonhead] ETekWar: Get things compiling under Visual Studio
2a3062262 | [sirlemonhead] EWitchaven: Correct header file license
f94847070 | [sirlemonhead] libsmackerdec: Implement GotoFrame() function
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11389
---
b4112c31a | [sirlemonhead] PCExhumed: Play Ramses swirly sound with pitch changing effect
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11388
---
472d58256 | [Evan Ramos] RR: fix stupid input scaling bug
0906b6b0b | [Evan Ramos] Fix stupid typo that broke the camera aiming at the enemy that killed you in Duke3D
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11386
---
21686228a | [Evan Ramos] TekWar: Add preliminary Makefile definitions
a0cf370a6 | [Evan Ramos] TekWar: Rename source files to .cpp/.mm
7f52ceaec | [Evan Ramos] Import unmodified JFTekWar game sources
0957b5bbc | [Evan Ramos] Remove Duke 3D rsrc/source duplicated in other games' folders
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11382
---
67f41e216 | [sirlemonhead] EWitchaven: Add files for initial unfinished support for Witchaven.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11381
---
84482f2ae | [sirlemonhead] PCExhumed: Move the Ramses talking head code out to it's own cpp/h files
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11380
---
069c52b26 | [GitHub] Merge pull request #354 from CommonLoon102/multi-map-select
Blood: Add user map selector menu for multiplayer too
171c14000 | [CommonLoon102] Blood: Add user map selector menu for multiplayer too
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11378
---
0e42143f0 | [sirlemonhead] Blood: rename SAMPLE2D struct var, at0 -> hVoice
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11377
---
13ff982a0 | [nukeykt] Rednukem: fix brightness effect in polymost
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11376
---
b9a4556dc | [sirlemonhead] Blood: Correct implementation of SoundCallback()
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11375
---
d9e507eb4 | [sirlemonhead] Build & Rednukem: Add palette brightness hack. Will fix Redneck Rampage thunder and lightning effect.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11374
---
1c1795e9f | [Evan Ramos] Merge remote-tracking branch 'eduke32/master'
c4e58ebe9 | [Richard C. Gobeille] Duke3d: fix stupid input scaling bug
29f60f541 | [Richard C. Gobeille] Mapster32: slash resets sprite slope
cca9170c1 | [NY00123] Use pragma pack in sw/src/network.h instead of the locally defined PACKED macro. This is more consistent with the current Duke3D codebase, and further fixes build with older versions of MinGW GCC, in which attribute packed is broken without specifying -mno-ms-bitfields.
1051f0015 | [NY00123] SW: Remove unused wfe_Clock variable
4f83a7571 | [NY00123] sw/src/game.cpp: Add missing wfe_Esc callback from SW 1.2 after minor adjustments. Originally recreated for sw-src-and-build-addendum-20190129.7z.
e572a4209 | [NY00123] Fix usage of possibly wrong address in sw/src/player.cpp:DoPlayerHorizon
adba7fad4 | [NY00123] mmulti.cpp: Change PAKRATE to 250 (4ms) as previously done in SVN r365, and also as currently in use in EDuke32-OldMP.
f436b11c5 | [NY00123] sw/src/network.cpp: I think that it's safe to enable the sync check on the slave side in Master/Slave mode.
54fe355dd | [NY00123] SW: This hopefully resolves issues with leaving multiplayer games
6bf8d9cc3 | [NY00123] SW: Interpolate sector objects in non-demo, single player games. Let's see if this is breaking anything.
3b29b1c8b | [NY00123] Another change modifying saved game format in SW: Increase MAXINTERPOLATIONS from 1024 to MAXSPRITES.
4fd724107 | [NY00123] SW change breaking compatibility with existing saved games: Remove startofdynamicinterpolations and short_startofdynamicinterpolations.
f91e681be | [NY00123] SW: Reset the number of interpolations on level load
742ae8a6c | [NY00123] SW: Let's replace the macro PEDANTIC_MODE with variable PedanticMode
73a0aa394 | [NY00123] Interpolation fixes for SW:
draw.cpp: Fix the lack of interpolation while walking on a sector
object, like the bus roof or the floor of the train in Seppuku Station.
track.cpp: Make sure the player's location and angle aren't mistakenly
interpolated while standing on a moving sector object as a consequence.
4129b794f | [Richard Gobeille] Merge branch 'Engine_StutterFixes' into 'master'
build/src/sdlayer.cpp: Add new CVARs r_glfinish & r_finishbeforeswap.
See merge request terminx/eduke32!1
4b3321e99 | [Richard Gobeille] Update source/build/src/sdlayer.cpp, source/build/src/polymost.cpp, source/build/src/baselayer.cpp, source/build/include/baselayer.h files
e15e2efe6 | [Mitchell Richters] build/src/sdlayer.cpp: Add new CVAR r_glfinish to make 'glFinish()' optional.
- Issues requiring glFinish() aren't really apparent on Linux, therefore not needed.
- Running glFinish() can have an detrimental impact of Polymer users depending on whether they use the HRP or not.
c92fe8f70 | [Mitchell Richters] build/src/sdlayer.cpp: Add new CVAR r_finishbeforeswap.
- glFinish() after swapping stabilises stuttering issues and has minimum performance impact.
- glFinish() before swapping stabilises should be better but sometimes isn't, and is needed for KMT not to tear. Offer as an option.
12086fff8 | [NY00123] Add mjr4077au to the VoidSW credits
234a272b3 | [NY00123] SW: Rename q16avel -> q16angvel and q16horz -> q16aimvel. While it is understandable that avel and horz came from Duke3D, having both q16horiz and q16horz in the updated SW_PACKET struct can be confusing, and the alternative notation is more consistent with the original struct field names of angvel and aimvel, as well as the differing uses of the name angvel still present in player.cpp.
1f5a4cfae | [NY00123] SW (DoPlayerTurn): The 180-degrees turns should be clockwise
62c2ab050 | [NY00123] sw/src/player.cpp:PlayerAutoLook: Modify function to test for PF_MOUSE_AIMING_ON only if PEDANTIC_MODE == FALSE
1972c1612 | [NY00123] Revert SVN commit 8677; It wasn't sufficient in case one of the players toggled mouse aiming in the middle of a game, and it worked even worse in Master/Slave mode. Additionally, tying input to frame rate made the problem disappear.
af68572d4 | [NY00123] SW: This is a better place for a slave which quits to set QuitFlag
d3403822b | [NY00123] SW: Use the old interpolation path in drawscreen if player is dead
87beaad8a | [NY00123] SW: With the input tied to frame rate, disable aiming while the player is dead, and also disable horizontal aiming while on a ladder.
618e73a84 | [NY00123] SW: Make horiz centering a bit less immediate again
88a7a6c65 | [NY00123] SW: Tie player input to frame rate.
5c68222bb | [NY00123] SW: Add and use elapsedInputTicks and scaleAdjustmentToInterval as one more step before tying input to frame rate.
3e82292d7 | [NY00123] SW: Add the q16ang and q16horiz fields to SW_PACKET. These will be filled by faketimerhandler with the current player's most recent camq16ang and camq16horiz values, respectively.
aba6b2f36 | [NY00123] SW: Modify DoPlayerTurn/DoPlayerHorizon to make it possible for them to modify the player's camq16ang/camq16horiz field instead of q16ang/q16horiz. Additionally, pass to them the change in angle/horiz via a parameter, as an alternative to direct access to the corresponding player input field.
b371d767e | [NY00123] SW - First step in tying player input to frame rate: Add the camq16ang and camq16horiz fields to the player struct. With the exception of DoPlayerTurn and DoPlayerHorizon, whenever code in player.cpp updates player's q16ang/q16horiz, also write the updated values to camq16ang/camq16horiz. These variables' preceding values are never used in these functions.
9cc7a326b | [NY00123] sw/src/game.cpp:LoadLevel: Rename q16ang -> ang
a84d0009a | [NY00123] SW: We can revert the change of siang to q16 now
b26899be2 | [NY00123] sw/src/draw.cpp:drawscreen: We can set the pp->si* fields just once, a bit later.
c2f620aca | [NY00123] SW: Revert commented out horiz->q16horiz renames in DSPRINTF strings
5b3467aff | [NY00123] SW: Fix typo in DoPlayerTeleportToSprite, following the migration to q16 angles
6edb20689 | [NY00123] Fix multiplayer desync after the change to q16 angle and horiz. Note that this includes non-portable unaligned accesses, but this already applies to surrounding code. Just add comments for now.
96c0005a0 | [NY00123] SW: Trim q16 angle and horiz during demo playback/recording. This uses the newly introduced PEDANTIC_MODE macro.
fe5db301c | [NY00123] sw/src/player.cpp:DoPlayerTurn: Increase turning precision with q16 angle. This uses the new NORM_Q16ANGLE macro.
25bce29df | [NY00123] Another fix for "SW: Refinements for Q16.16 implementation", including an amend to a change from "SW: Make all the changes compile with GCC.": Pass q16-formatted angles to drawroomstotile.
8a88061bb | [NY00123] Consistency fix for "SW: Refinements for Q16.16 implementation.": Additionally update the commented out implementation of drawroomstotile
5249472f7 | [NY00123] Fix compatibility with existing demo files after the migration to q16 angle and horiz. The original SW_PACKET structure, named OLD_SW_PACKET here, is used while accessing demo files.
4110d6a08 | [NY00123] SW: Make all the changes compile with GCC.
b48ea760d | [NY00123] SW: Make it actually work.
01d4c3ecb | [NY00123] SW: Refinements for Q16.16 implementation.
0fc47dd3e | [NY00123] SW: Use Q16.16 for angle.
896f5768e | [NY00123] SW: Use Q16.16 for horiz.
9de473573 | [nukeykt] Correctly display sloped sprites in side view mode
5e5cfd9a5 | [Jordon Moss] Fix player sprite disappearing and chat indicator using the wrong sprite when typing.
61e40bccf | [Jordon Moss] Re-added a check in VM_Move that probably should't have been removed.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11321
---
48a4a0450 | [nukeykt] Blood: poll player input at least once to prevent skips
Fixes #329
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11320
---
3d20e208e | [GitHub] Merge pull request #345 from MexMeRcUrY/MoviePlusAddons_TextureCountFix
Blood: MoveFolder+Addons texture count fix
9c1da5be5 | [MexMeRcUrY] fixes #343
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r11318
---

Merged with EDuke32 codebase.
Changelog is skipped for this release.
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2488
---
cca54af7 | [Evan Ramos] Avoid warnings when defining only extra in tilefromtexture
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2487
---
599a22b7 | [Evan Ramos] Blood: Make voxels and models loaded via def inherit rotation automatically
c010f679 | [Evan Ramos] Disable the call to WIN_UpdateClipCursorForWindows in WIN_PumpEvents
Achieved by hex-editing libSDL2.a to change a JE (0x74) to JMP (0xEB).
This should improve micro stuttering-issues on Windows. My settings:
r_vsync 2
r_maxfps 0
win_systemtimermode 1
win_performancemode 1
4af48014 | [Evan Ramos] Replace hackish old PALETTE.DAT format detection with robust file length method
aefe9109 | [nukeykt] Blood: Fix model yoffset
d15ac4c7 | [GitHub] Merge pull request #341 from CommonLoon102/maxpath-fix
Blood: Use BMAX_PATH instead of MAX_PATH in CGameMenuFileSelect
94b5d32a | [CommonLoon102] Blood: Use BMAX_PATH instead of MAX_PATH in CGameMenuFileSelect
1b96a9bc | [GitHub] Blood: Add User Map menu to episode select (#340)
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2480
---
2916fda2 | [GitHub] Merge pull request #339 from CommonLoon102/illusion-map-crash-fix
Blood: fix ILLUSION.MAP crash
212485c0 | [CommonLoon102] Blood: fix ILLUSION.MAP crash
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2478
---
f320d308 | [nukeykt] Blood: fix build
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2452
---
18f915ea | [nukeykt] Update TinySoundFont to 91c24e1620a8f9c13be1aa21698757e5ad5a95a6
git-svn-id: https://svn.eduke32.com/eduke32@8770 1a8010ca-5511-0410-912e-c29ae57300e0
cea26778 | [nukeykt] Make TinySoundFont effect sample block size configurable via cvar
git-svn-id: https://svn.eduke32.com/eduke32@8769 1a8010ca-5511-0410-912e-c29ae57300e0
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2450
---
136a5cf0 | [nukeykt] Expand Nuke.YKT's patch from SVN r7414 to cover all 32-bit platforms. Fixes non-deterministic white rectangles rendering bug in PCExhumed.
git-svn-id: https://svn.eduke32.com/eduke32@8768 1a8010ca-5511-0410-912e-c29ae57300e0
2de18cb4 | [nukeykt] Remove unused FAF_DebugView variable from sw/src/brooms.cpp. The corresponding variable in rooms.cpp is used if DEBUG is defined to nonzero.
git-svn-id: https://svn.eduke32.com/eduke32@8767 1a8010ca-5511-0410-912e-c29ae57300e0
a6490dce | [nukeykt] sw/src/draw.cpp: Don't draw rooms if textured overhead map is drawn later. This also turns out to fix a Polymost-specific bug revealed in SVN r8711. Further remove a call to PicInView which does nothing.
git-svn-id: https://svn.eduke32.com/eduke32@8766 1a8010ca-5511-0410-912e-c29ae57300e0
2d2a5140 | [nukeykt] Fix crash in menu file selector when no files OR directories are available to display
git-svn-id: https://svn.eduke32.com/eduke32@8765 1a8010ca-5511-0410-912e-c29ae57300e0
cfc61d84 | [nukeykt] Fix FURY=1 build
git-svn-id: https://svn.eduke32.com/eduke32@8764 1a8010ca-5511-0410-912e-c29ae57300e0
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2445
---
00e5c866 | [nukeykt] Blood: improve mouse wheel control in file menu
b4be583e | [nukeykt] Blood/Rednukem: Add sf2 option to menu
deb3f14c | [nukeykt] Fix stupid menu bug
git-svn-id: https://svn.eduke32.com/eduke32@8763 1a8010ca-5511-0410-912e-c29ae57300e0
c5ffd435 | [nukeykt] GCC 9.3.0 Windows build fix
git-svn-id: https://svn.eduke32.com/eduke32@8762 1a8010ca-5511-0410-912e-c29ae57300e0
34f31b61 | [nukeykt] Fix GCC 9.3.0 signedness warning
git-svn-id: https://svn.eduke32.com/eduke32@8761 1a8010ca-5511-0410-912e-c29ae57300e0
c4f85ae4 | [nukeykt] Add file selector for choosing which .sf2 bank to use
This also adds a menu option for OPL3 stereo mode. Windows MME output device selection is probably next (this can already be done through the  console).
git-svn-id: https://svn.eduke32.com/eduke32@8760 1a8010ca-5511-0410-912e-c29ae57300e0
c59e2c72 | [nukeykt] Stylistic changes to driver_winmm
This changes the code formatting and style of driver_winmm to better match our style guidelines.
git-svn-id: https://svn.eduke32.com/eduke32@8759 1a8010ca-5511-0410-912e-c29ae57300e0
f1fa3804 | [nukeykt] Move a couple things around in the audiolib headers so we can access them from the game code
git-svn-id: https://svn.eduke32.com/eduke32@8758 1a8010ca-5511-0410-912e-c29ae57300e0
f96e97d1 | [nukeykt] The most minor of audiolib cleanups
git-svn-id: https://svn.eduke32.com/eduke32@8757 1a8010ca-5511-0410-912e-c29ae57300e0
5a057e35 | [nukeykt] Fix swinging doors not automatically closing anymore after rebounding if they hit a player or actor when trying to close
git-svn-id: https://svn.eduke32.com/eduke32@8756 1a8010ca-5511-0410-912e-c29ae57300e0
bad2ee93 | [nukeykt] More SF2 work
Now automatically detects a .sf2 file placed in the game directory if the mus_sf2_bank cvar is unset.
git-svn-id: https://svn.eduke32.com/eduke32@8755 1a8010ca-5511-0410-912e-c29ae57300e0
3e0b1fd8 | [nukeykt] Clamp SF2 sustain and attenuation
git-svn-id: https://svn.eduke32.com/eduke32@8754 1a8010ca-5511-0410-912e-c29ae57300e0
b256445e | [nukeykt] Remove deleted file from VS project, must have been missed when the file was actually deleted from the repo
git-svn-id: https://svn.eduke32.com/eduke32@8753 1a8010ca-5511-0410-912e-c29ae57300e0
612d50ca | [nukeykt] sf2 synthesizer WIP
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8752 1a8010ca-5511-0410-912e-c29ae57300e0
RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT RELEASE 32-BIT 64-BIT DEBUG 32-BIT 64-BIT
NBlood / Rednukem / PCExhumed - r2431
---
c59feb1d | [nukeykt] Blood: fix mapedit build
To browse repo, click the game icon at the top