31 Commits

Author SHA1 Message Date
radius
8a1fb24fe9 update url 2017-01-19 23:21:22 -05:00
radius
930cde21a2 crc is announced now (for cores that don't have needs_fullpath set) 2017-01-19 21:43:46 -05:00
radius
95a2da81e4 start adding ui elements to insert room list into 2017-01-18 22:46:48 -05:00
radius
72cdb390cb reannounce roughly every minute 2017-01-18 21:31:02 -05:00
radius
ca2c2a8ce7 separate this 2017-01-18 21:12:01 -05:00
radius
f2beb49fd8 Announce netplay games to lobby.libretro.com 2017-01-16 22:24:35 -05:00
Gregor Richards
20c0de352c Fix to the netplay_is_alive function when server isn't playing
Fixes a bug by which very strange things would happen if the server went
to spectator mode with exactly one connected client.
2017-01-02 20:03:00 -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
Gregor Richards
f0bb0a77f8 Make netplay no longer cache passwords
Netplay now always loads passwords from the configuration, so that
passwords can be changed mid-session.
2016-12-21 09:51:50 -05:00
Gregor Richards
7bb26eb5c5 Fix some minor checked-return bugs
Should resolve Coverity reports 158862, 158861, 158860.

158863 is spurious but I have no idea how to convince Coverity of that.
2016-12-20 19:16:31 -05:00
Twinaphex
1d36c5effa Silence warnings - remove unused variables 2016-12-19 23:19:59 +01:00
Alcaro
fc1c83d8c0 Shut up false positive warning 2016-12-19 16:38:55 +01:00
Gregor Richards
11a3063fc6 Forgot the other half of that last bugfix 2016-12-18 20:08:21 -05:00
Gregor Richards
8f8e6dfc5f Unset the netplay callbacks when we deinit netplay
This is a bugfix to master that hadn't migrated to my branch.
2016-12-18 19:54:01 -05: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
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
1fa60b396f Improvements to the communication of netplay pausing. 2016-12-18 19:28:43 -05:00
Gregor Richards
f7f6590156 Goodbye delay_frames! stateless_mode is the new delay_frames=0 2016-12-18 19:28:43 -05:00
Gregor Richards
45d732a014 New sync system
The idea:
   * Use a fixed number of delay_frames (eventually to be fixed at 120,
     currently still uses the config variable, 0 will still be an option)
   * Determine how long it takes to simulate a frame.
   * Stall only if resimulating the intervening frames would be
     sufficiently annoying (currently fixed at three frames worth of
     time)

Because clients always try to catch up, the actual frame delay works out
automatically to be minimally zero and maximally the latency. If one
client is underpowered but the other is fine, the powerful one will
automatically take up the slack. Seems like the most reasonable system.
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
bade067d9a Support for catching up if the netplay peer is ahead of us. 2016-12-18 19:28:43 -05:00
Gregor Richards
70d04ec6a5 Apparently the frontend gets really pissy if it can't check the flip state 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
9c6ac2b934 Only the server can flip users. 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
7ad4e3f115 Per-connection stalling 2016-12-18 19:28:43 -05:00
Gregor Richards
8c59c7dd77 Starting to refactor: Separating frontend stuff into netplay_frontend.c 2016-12-18 19:28:43 -05:00