Save game version / time / openGL stats / and misc. other things
that we can use to debug issues to a gameinfo.ini (in savegames)
or WZdebuginfo.txt (on fatal errors) file that can be easily
uploaded to us.
Avoids players seeing only flags, no player names or ready buttons, when joining a
re-hosted game. The issue was MultiPlayerJoin() failing to send a NET_OPTIONS message
via sendOptions().
Avoids the "Waiting for players" screen in single-player mode, after nearly starting a
single-player skirmish game, going back, and loading a game instead.
Fixes ticket:3309.
Clients actually get a game full message instead of a host has dropped connection
message.
Don't double-pop NET_REJECTED messages when joining (which were sent to a random socket
other than the joining client, anyway, due to being attempted to being sent to tmp
queues). To reproduce, apply this patch to the host but not to the client.
Hopefully fixes ticket:3245 and ticket:3300.
Fixes possible crash in zlib deflate routines when flushing sockets before any data has
been written to the socket.
Seems to be reproducible if applying the following tmp queue commit, hosting a game, and
joining it.
When updating the game state, we now determine what happened in the interval
[gameTime - deltaGameTime + 1; gameTime]. The time gameTime - deltaGameTime is now
considered to be in the past, so the game state may be modified at time
gameTime - deltaGameTime + 1, at the earliest.
During GAME_* message processing, deltaGameTime is 0, however it is still considered
valid to change the game state at gameTime - deltaGameTime + 1, since that will lie
within the following update interval.
Refs ticket:3175.
close ticket:3100
close ticket:3121
Fix kick routines that got clobbered by the merge a long time ago, and also implement a in-game kick.
Currently, you hold down the right mouse button over the channel icon of the person you want to kick, and it will kick them.
There is no more room for a new icon. :(
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11490 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit da30725d967cf7076456f56122b28ddbc3202488)
Conflicts:
src/multiint.cpp
src/multimenu.cpp
src/multiplay.cpp
Allow the host to kick the AI only in 'cheat mode' in skirmish games.
Closes ticket:2139
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11596 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 7a083b154dab6b6fa8f421042db0670a671127f5)
Conflicts:
src/multimenu.cpp
When kicking, make sure they are an actual human player before adding them to the list.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11506 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 43b180768c71853b3de97d71fa091e6a0fdfc10e)
Conflicts:
lib/netplay/netplay.c
general networking improvements by popular request.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11568 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 052d03d19ec967d4b8cee5d79446fe5ec1f2b040)
Conflicts:
lib/netplay/netplay.c
src/multiint.cpp
src/multijoin.cpp
src/multiplay.cpp
src/multiplay.h
src/multisync.c
Fix client side messages.
refs ticket:2144
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11601 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 98723c00a9b7d6a46eab204ccd474df4a62fbd93)
Conflicts:
lib/netplay/netplay.c
src/multiint.cpp
src/multiplay.cpp
Also, avoid unexpected triggering of debug code.
Note that this code was actually originally part of the pre-newnet synchronisation
mechanism, but is no longer useful outside of debugging.
Introduced in 82e00bf7747af4962a32b67e4215d40298bbf9b3:
Roll to camera uses TYPE x1x instead of a "1 x 0" connector.
Pitch to camera uses TYPE x2x instead of a "2 x 0" connector.
Additive uses TYPE xx1/xx2 to dis/enable instead of a "x 1 0"/"x 2 0" connector.
Introduced in f3ba2378e54ab0557db4a20c876043f8be059906:
Premultiplied uses TYPE xx4 instead of a "x 3 0" connector.
Refs #3024.
Hopefully reduces Zzz microfreezes a bit, in the case of laggy connections.
There's probably a better way of guessing latency than this, but it works for now.
NOTE: ssize_t can be 32 or 64 bit (depending on platform), so just casting
that to a int in this case since we aren't going to read in > 2^32-1 bytes.
close ticket:3080
This is a partial revert of 5eac7e75e6
since it seems this was the main issue everyone was having while
hosting a game. (It would show odd version mismatch errors in the log)
A full revert may be needed, more testing of hosting & connecting to games
both via lobby and direct IP needed.