Build 9009
GIT-
Allow Strafe Left and Right to turn vehicles
Nickname SVN e nomi Git sono unificati per persona.
Allow Strafe Left and Right to turn vehicles
Remove pre-release software warning
Add forgotten call to FreeGroupsCache()
Fix warning: function 'MNU_ClearFlags' is not needed and will not be emitted [-Wunneeded-internal-declaration]
Fix music volume slider
Add FOV slider
Remove unused wfe_Clock variable
This hopefully resolves issues with leaving multiplayer games
Interpolate sector objects in non-demo, single player games.
Let's see if this is breaking anything.
Reset the number of interpolations on level load
Let's replace the macro PEDANTIC_MODE with variable PedanticMode
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.
This is a better place for a slave which quits to set QuitFlag
Use the old interpolation path in drawscreen if player is dead
With the input tied to frame rate, disable aiming while the
player is dead, and also disable horizontal aiming while on a ladder.
Make horiz centering a bit less immediate again
Revert the changes from JFSW commit 7d0deafe81b0ffa30d77cfe242e454f8b4487a1f
related to the definitions of RANDOM_NEG in bunny.cpp, ripper.cpp and ripper2.cpp. Do so in a way that isn't re-introducing compiler warnings. This partially fixes compatibility with demos made for SW 1.2. Additionally, replace the 3 separate definitions of RANDOM_NEG with a common one within game.h.
Fix a few memory access errors related to demo support
Make quitting by closing the window, now done via CON_Quit,
a bit more usable in multiplayer, hiding the engine's console.
Modify MenuLevel and RunLevel by using CON_Quit,
toggling MultiPlayQuitFlag on instead of QuitFlag in multiplayer games if a player tries to close the window. Further update MNU_QuitCustom to use CON_Quit. - In RunLevel, this fixes quit of game for all players. - In MenuLevel, this leads to transmit of PACKET_TYPE_MENU_LEVEL_QUIT. However, the work isn't complete, since the game isn't shut down on the peers' sides, leading to possibly undesired side-effects. Currently known issue: - If the master closes the window, the scores won't be shown for the master. Reason is that waitforeverybody will terminate the app.
Add a few calls to handleevents around key press loops. Also check
quitevent in the game, and further call getpackets within StatScreen.
Make sure StatScreen is called around the same time for
all players after level change. This is done by adding calls to getpackets within the BonusScreen and StatScreen while loops. It is related to a change from the DOS versions of 1997. Basically, dosendpackets immediately sends all packets via the commit driver under DOS, while in the mmulti port in use here, sending might be postponed. This was leading to a problem with the game entering waitforeverybody before showing the stats. In particular, it initially attempted to send a PACKET_TYPE_PLAYER_READY message, which could get postponed in the manner described above. In case it received PACKET_TYPE_PLAYER_READY messages from all other peers before the time arrived for sending pending packets, though, waitforeverybody would return, eventually leading to a call to StatScreen/BonusScreen, without sending the pending message until the user in question continued. Other peers would have to wait for the given player to confirm level change before they could see their own stat screens.
Fix a bug in getpackets, making SW's Master-Slave code usable,
including 3+ players sessions.
Do limit Master/Slave support to 2-players sessions.
Thanks to LittleTijn for testing and inspecting.
Comment out function parameters accessed only in commented out code
Mark function parameters as unused in cases we can't easily change
the functions' signatures (often due to being used as callbacks/hooks)
Remove a bunch of unused function parameters
Handle cases in which the result of an expression
with (possible) side-effects is written to an unused var.
Comment out unused vars, which would become
used if previously commented out code was uncommented (including a few instances of uninitialized var reads).
Remove a ton of unused vars
Activate engine compatibility
Don't restart the music when loading a save playing the same track
Add handleevents to end credits
From JFSW commit 0c651743f8371fade0231e9c3206ca25e6ae5269
Fix potential blank 3DR logo
From JFSW commit 18d1c68893693e68d0ce7d41bd1eacbec5655d4f
Fix potential buffer overrun in colormap
From JFSW commit 18d1c68893693e68d0ce7d41bd1eacbec5655d4f
Add new game banner
Scale the banner, with antialiasing, instead of centering it
Overwrite startup window with Duke's
Clamp tsprz of blood pool floor decals
Clamp tsprz of Bouncing Betty mines to their floorz if beneath the floor
This fixes their invisibility in Polymost.
Fix FindDistance3D calls to not z>>4 at the call site
This is handled by the function itself now. Fixes the distance issue with the ceiling fan.
Draw the crosshair actually centered
Thanks to Striker for the tip.
Detect absence of pic_yinyang and use pic_shuriken1 for cursor instead
Fixes menu usability with game data versions before 1.2
Avoid memory leaks when playing a new music file
Run all allocations through Xmalloc et al
Fix crash issues when Track sprites are set up incorrectly
Add tailspritefree to savegames
Remove sound quality option from startup window
Add call to palettePostLoadLookups
Remove unconditional inclusion of winbits.h from game.cpp
Avoid a one-pixel tall hall of mirrors above the full status bar
Draw the status bar under the menu instead of over it
Don't show the status bar during the end of level screen
Left-pin the mini HUD in widescreen
Move HIT_PLAX_WALL out of the bit range used for limit raised struct IDs
Activate ASSERT macro with RELEASE=0 builds
Fix assertions and OOB so that the player can noclip OOB
Address Sanitization commenceth
Get widescreen aspect working
Take screenshots as PNG, not TGA
Fix cheats only granting one Uzi instead of two
Add Alt Weapon Mode gamefunc and bind it to MOUSE3 by default
Fix CONTROL_ClearUserInput so menu input is reliable
Fix NUMGAMEFUNCTIONS and mouse button select menu
Enable Run mode by default
Set up very basic OSD appearance
Add Redux's -addon1 and -addon2 command line parameters
Add support for loading dependent GRPs -- and Redux's Twin Dragon
Port more efficient startup window game data selection infrastructure
This includes saving the user's selection to the cfg.
Rename the poorly named "Cool Stuff" menu entry to "Credits" and clean it up
Fix saves
Dynamically-allocated structs strike again.