Subversion Repositories eduke32

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
8762 581d 9h terminx /source/ GCC 9.3.0 Windows build fix  
8761 581d 9h terminx /source/ Fix GCC 9.3.0 signedness warning  
8760 581d 9h terminx /source/ 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).
 
8759 581d 9h terminx /source/ Stylistic changes to driver_winmm

This changes the code formatting and style of driver_winmm to better match our style guidelines.
 
8758 581d 9h terminx /source/ Move a couple things around in the audiolib headers so we can access them from the game code  
8757 581d 9h terminx /source/ The most minor of audiolib cleanups  
8756 581d 9h terminx /source/ Fix swinging doors not automatically closing anymore after rebounding if they hit a player or actor when trying to close  
8755 581d 9h terminx /source/ More SF2 work

Now automatically detects a .sf2 file placed in the game directory if the mus_sf2_bank cvar is unset.
 
8754 581d 9h terminx /source/ Clamp SF2 sustain and attenuation  
8752 581d 9h terminx /source/ sf2 synthesizer WIP

Patch from Nuke.YKT.
 
8751 584d 21h ny00123 /source/ SW: Make quitting by closing the window, now done via CON_Quit,
a bit more usable in multiplayer, hiding the engine's console.
 
8750 584d 21h ny00123 /source/ SW: 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.
 
8749 584d 21h ny00123 /source/ sw/src/game.cpp:StatScreen crash bug fix: For a given player p,
use p->TeamColor instead of User[p->PlayerSprite]->spal, since
it's possible the player left before the map was loaded.
 
8748 584d 21h ny00123 /source/ SW: Add a few calls to handleevents around key press loops. Also check
quitevent in the game, and further call getpackets within StatScreen.
 
8747 584d 21h ny00123 /source/ SW: 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.
 
8746 584d 21h ny00123 /source/ sw/src/game.cpp:NewLevel: Wait for all peers when master player quits.  
8745 584d 21h ny00123 /source/ sw/src/network.cpp:MyCommPlayerQuit: When master player decides to quit,
make sure all players quit the game. Don't internally change the list
of players, just prepare to quit.
 
8744 584d 21h ny00123 /source/ sw/src/game.cpp:getinput: Make sure slave actually quits the game  
8743 584d 21h ny00123 /source/ SW: Fix a bug in getpackets, making SW's Master-Slave code usable,
including 3+ players sessions.
 
8742 585d 6h hendricks266 /source/ Engine compatibility update: ksqrt  

Show All