Gregor Richards
2ea3936d16
Renaming input_ptr/input_frame_count back to self_.
2017-02-01 22:54:03 -05:00
Gregor Richards
5f5a8dc6d7
CRC searching should really start from run_ptr, not input_ptr
2017-02-01 22:54:03 -05:00
Gregor Richards
c4cb94db19
New approach to input latency
2017-02-01 22:54:03 -05:00
twinaphex
96c8ca5a09
Header update #1
2017-01-22 13:40:32 +01:00
Gregor Richards
ee55e2d783
LOAD_SAVESTATE can't use player frame timing from a server that's not playing
2017-01-02 18:56:08 -05:00
Gregor Richards
cd281d5757
Reverse catch-up, i.e., server-demanded stalling
...
Previously, if two clients were connected to the same server and one of
them was ahead of the server, the only way to rectify that situation was
for the client to get so far ahead that it stalled, as the server could
only catch up with an ahead client if all clients were ahead. That's
unrealistic. This gives the server the alternate option of demanding
that a client stall. This keeps things nicely in line even with >2
players.
2016-12-24 15:25:03 -05:00
twinaphex
77e5cdbfde
Revert "Rename runloop_msg_queue_push to video_driver_msg_queue_push"
...
This reverts commit ad7386913cf2876d2bffd4bedf0284b23f1ed593.
2016-12-22 23:36:11 +01:00
twinaphex
ad7386913c
Rename runloop_msg_queue_push to video_driver_msg_queue_push
...
and move code to video_driver.c
2016-12-22 13:15:02 +01:00
Twinaphex
1d36c5effa
Silence warnings - remove unused variables
2016-12-19 23:19:59 +01:00
Gregor Richards
677ffa9ebd
Support different forms of compression from different clients.
2016-12-18 19:28:44 -05:00
Gregor Richards
e79f30604f
Better stall timing
...
We now stall not until we've reached parity (which makes no sense since
we expect latency), but only until we're not likely to stall again.
2016-12-18 19:28:44 -05:00
Gregor Richards
7c2f12fbd9
Removign some leftover debug code
2016-12-18 19:28:44 -05:00
Gregor Richards
04266cf4f7
Run synchronization even when stalled
...
Previously, we could be stalled by one player but still reading data
from another, which would wedge the client because we would never act
upon the newly-read data. Now we act upon data even if we're stalled.
Fixes bugs in initial connection with high latency.
2016-12-18 19:28:44 -05:00
Gregor Richards
d6d96704fd
Don't panic about delta frames not being ready if we're not even fully
...
connected yet.
2016-12-18 19:28:43 -05:00
Gregor Richards
8b21014d07
Improvements to handshake protocol
...
Making the netplay handshake protocol send the core and content as an
explicit command, so that the other side can (notionally) choose to load
it. That isn't implemented, of course.
2016-12-18 19:28:43 -05:00
Gregor Richards
1fa60b396f
Improvements to the communication of netplay pausing.
2016-12-18 19:28:43 -05:00
Gregor Richards
6890456ac0
Updated error messages and fixed some stall-related disconnected-client
...
bugs.
2016-12-18 19:28:43 -05:00
Gregor Richards
df2600fbf4
Added error reporting when a player is not allowed to play.
2016-12-18 19:28:43 -05:00
Gregor Richards
4e01481b39
Only allow clients to load state if there's no further synchronization
2016-12-18 19:28:43 -05:00
Gregor Richards
da7efcb939
Cleaning up netplay headers.
2016-12-18 19:28:43 -05:00
Gregor Richards
03415c261d
Added netplay spectator password separate from play password
2016-12-18 19:28:43 -05:00
Gregor Richards
694b7a9723
Don't allow more players to join than are actually being polled
2016-12-18 19:28:43 -05:00
Gregor Richards
1b22191869
Deduplicating some code.
2016-12-18 19:28:43 -05:00
Gregor Richards
7e2465ef1f
Refactoring: Moving I/O functionality into netplay_io.c
2016-12-18 19:28:43 -05:00