Subversion Repositories eduke32

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
8781 416d 7h ny00123 /source/sw/src/game.cpp SW: Revert the automapping changes from r5207. Using engine-side code
brought back in r7873, this should restore the behaviors of DOS v1.2.
 
8750 424d 14h ny00123 /source/sw/src/game.cpp 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 424d 14h ny00123 /source/sw/src/game.cpp 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 424d 14h ny00123 /source/sw/src/game.cpp SW: Add a few calls to handleevents around key press loops. Also check
quitevent in the game, and further call getpackets within StatScreen.
 
8747 424d 14h ny00123 /source/sw/src/game.cpp 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 424d 14h ny00123 /source/sw/src/game.cpp sw/src/game.cpp:NewLevel: Wait for all peers when master player quits.  
8744 424d 14h ny00123 /source/sw/src/game.cpp sw/src/game.cpp:getinput: Make sure slave actually quits the game  
8743 424d 14h ny00123 /source/sw/src/game.cpp SW: Fix a bug in getpackets, making SW's Master-Slave code usable,
including 3+ players sessions.
 
8708 426d 4h terminx /source/sw/src/game.cpp Tweaks to engine compatibility stuff  
8704 428d 5h ny00123 /source/sw/src/game.cpp sw/src/game.cpp: Fix crash following an abort of InitGame while
processing multiplayer params or waiting for players. It's been
decided that Control won't call TerminateGame in this case,
one implication being that voidsw.cfg is not updated.
 
8703 428d 5h ny00123 /source/sw/src/game.cpp SW: Do limit Master/Slave support to 2-players sessions.
Thanks to LittleTijn for testing and inspecting.
 
8701 428d 5h ny00123 /source/sw/src/game.cpp sw/src/game.cpp: Update processing of multiplayer-related arguments,
mostly from JFSW commits 7a95dee807c735de6588372e268af7a5c7cdc533
and 6137b48d6d432c34d94d08fea527b89539cc3adb. In particular,
this makes Master/Slave usable for 2-player sessions, with SW's
networking code behaving as if these were actually Peer-2-Peer sessions.

Thanks to JonoF for his work on the support.
 
8696 430d 15h ny00123 /source/sw/src/game.cpp SW: Mark function parameters as unused in cases we can't easily change
the functions' signatures (often due to being used as callbacks/hooks)
 
8694 430d 15h ny00123 /source/sw/src/game.cpp SW: Remove a bunch of unused function parameters  
8686 431d 13h ny00123 /source/sw/src/game.cpp SW: Comment out unused vars, which would become
used if previously commented out code was uncommented
(including a few instances of uninitialized var reads).
 
8685 431d 13h ny00123 /source/sw/src/game.cpp SW: Remove a ton of unused vars  
8667 434d 6h ny00123 /source/sw/src/game.cpp sw/src/game.cpp: Use initsingleplayers instead of initmultiplayers  
8629 455d 22h hendricks266 /source/sw/src/game.cpp SW: Activate engine compatibility  
8627 455d 22h hendricks266 /source/sw/src/game.cpp SW: Don't restart the music when loading a save playing the same track  
8626 455d 22h hendricks266 /source/sw/src/game.cpp SW: Add handleevents to end credits

From JFSW commit 0c651743f8371fade0231e9c3206ca25e6ae5269
 

Show All