2020.03.13.Log1761.txt
📄SVN
📅2020-03-13
💾3,9 KB
☰8 Entry parsate
BUILD
FIX
Revision r8750
👤 ny00123
📅 2020-03-13 08:28:55 -0700 (Fri, 13 Mar 2020)
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.
Revision r8749
👤 ny00123
📅 2020-03-13 08:28:53 -0700 (Fri, 13 Mar 2020)
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.
Revision r8748
👤 ny00123
📅 2020-03-13 08:28:51 -0700 (Fri, 13 Mar 2020)
SW: Add a few calls to handleevents around key press loops. Also check
quitevent in the game, and further call getpackets within StatScreen.
Revision r8747
👤 ny00123
📅 2020-03-13 08:28:50 -0700 (Fri, 13 Mar 2020)
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.
Revision r8746
👤 ny00123
📅 2020-03-13 08:28:48 -0700 (Fri, 13 Mar 2020)
sw/src/game.cpp:NewLevel: Wait for all peers when master player quits.
Revision r8745
👤 ny00123
📅 2020-03-13 08:28:47 -0700 (Fri, 13 Mar 2020)
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.
Revision r8744
👤 ny00123
📅 2020-03-13 08:28:46 -0700 (Fri, 13 Mar 2020)
sw/src/game.cpp:getinput: Make sure slave actually quits the game
Revision r8743
👤 ny00123
📅 2020-03-13 08:28:43 -0700 (Fri, 13 Mar 2020)
SW: Fix a bug in getpackets, making SW's Master-Slave code usable,
including 3+ players sessions.
Contenuto Raw
------------------------------------------------------------------------
r8751 | ny00123 | 2020-03-13 08:28:56 -0700 (Fri, 13 Mar 2020) | 2 lines
SW: Make quitting by closing the window, now done via CON_Quit,
a bit more usable in multiplayer, hiding the engine's console.
------------------------------------------------------------------------
r8750 | ny00123 | 2020-03-13 08:28:55 -0700 (Fri, 13 Mar 2020) | 12 lines
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.
------------------------------------------------------------------------
r8749 | ny00123 | 2020-03-13 08:28:53 -0700 (Fri, 13 Mar 2020) | 3 lines
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.
------------------------------------------------------------------------
r8748 | ny00123 | 2020-03-13 08:28:51 -0700 (Fri, 13 Mar 2020) | 2 lines
SW: Add a few calls to handleevents around key press loops. Also check
quitevent in the game, and further call getpackets within StatScreen.
------------------------------------------------------------------------
r8747 | ny00123 | 2020-03-13 08:28:50 -0700 (Fri, 13 Mar 2020) | 18 lines
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.
------------------------------------------------------------------------
r8746 | ny00123 | 2020-03-13 08:28:48 -0700 (Fri, 13 Mar 2020) | 1 line
sw/src/game.cpp:NewLevel: Wait for all peers when master player quits.
------------------------------------------------------------------------
r8745 | ny00123 | 2020-03-13 08:28:47 -0700 (Fri, 13 Mar 2020) | 3 lines
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.
------------------------------------------------------------------------
r8744 | ny00123 | 2020-03-13 08:28:46 -0700 (Fri, 13 Mar 2020) | 1 line
sw/src/game.cpp:getinput: Make sure slave actually quits the game
------------------------------------------------------------------------
r8743 | ny00123 | 2020-03-13 08:28:43 -0700 (Fri, 13 Mar 2020) | 2 lines
SW: Fix a bug in getpackets, making SW's Master-Slave code usable,
including 3+ players sessions.
------------------------------------------------------------------------
See http://svn.eduke32.com/listing.php?repname=eduke32 for more details.