97 Commits

Author SHA1 Message Date
radius
32525ea0d3 rename MITM with Relay 2017-07-24 20:54:33 -05:00
radius
f7f613a244 android buildfix 2017-07-24 20:13:53 -05:00
radius
6804540635 improve logging 2017-07-24 20:13:52 -05:00
radius
dcd71b403f add RetroArch version to the netplay announcement 2017-07-24 06:14:34 +02:00
Gregor Richards
fb3c35dc9f Handle forwarding of netplay state demotions correctly.
Netplay state demotions, i.e. changes from playing to spectating or
disconnected states, could cause chain disconnections of all other
clients. This was due to a bug in when MODE change messages were sent.
Clients rely on the server sending all messages in its own order, and as
a consequence, the server typically holds messages for retransmission
until they can be retransmitted at the correct time. MODE messages were
not held, so could be sent early. When they were sent early, this caused
other clients to panic and disconnect.

A smaller but much stupider secondary bug was also fixed, in which the
first connection could be dropped due simply to writing connections[0]
instead of connections[i] somewhere.
2017-06-06 21:35:09 -04:00
twinaphex
449483206f Revert "New attempt to fix memory leaks of struct retro_system_info"
This reverts commit a1d3dd69dd51ba21b07e9fb96cd1a7d05f435974.
2017-05-30 01:44:49 +02:00
twinaphex
a1d3dd69dd New attempt to fix memory leaks of struct retro_system_info
char variables
2017-05-29 22:24:10 +02:00
Andrés
abd6dcd57f Merge pull request #4952 from fr500/fixes
fix delimiter for mitm connect
2017-05-21 12:13:02 -05:00
radius
a09a1030c0 fix delimiter for mitm connect 2017-05-21 12:04:50 -05:00
twinaphex
aeddb18e31 Rewrite netplay checks 2017-05-21 14:18:10 +02:00
radius
1de95c6413 further refinement of the netplay workflow 2017-05-16 00:18:29 -05:00
radius
a98033f375 make the --start netplay host-- entry context sensitive 2017-05-15 18:58:46 -05:00
twinaphex
42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
twinaphex
de80671658 Simplify content_get_crc 2017-05-06 16:41:22 +02:00
twinaphex
e6ab06a701 Move path variables 2017-04-29 00:39:29 +02:00
twinaphex
05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex
7bbd20b31d Move int settings 2017-04-28 19:12:48 +02:00
twinaphex
ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex
3ec5816259 Rewrite RUNLOOP_CTL_SYSTEM_INFO_GET 2017-04-23 16:41:26 +02:00
Gregor Richards
fbb508ab5e Make rewind compatible with netplay.
This commit adds support for temporary desync in netplay. When frontend
features that can't be truly synced, in particular rewind, are used,
netplay is momentarily disabled. As soon as the feature finished, e.g. a
rewind ending, netplay resumes with a state load. For rewind, netplay
peers won't actually experience the effect of rewind, but they will load
the rewound state.
2017-04-18 15:25:58 -04:00
Brad Parker
c12cc8e5be netplay: change lobby reannounce period to 600 frames 2017-03-07 12:29:51 -05:00
Brad Parker
bb362f307d netplay: don't advertise over LAN or try to open a port with UPnP if we're using a MITM server 2017-03-06 21:39:03 -05:00
bparker06
ced1dc10c1 Merge pull request #4732 from GregorR/netplay-server-spectator-fix-2-electric-boogaloo
Yet another server-is-spectator bug. Don't ever ignore stalls if we're a client
2017-03-06 21:25:18 -05:00
Brad Parker
4f02450bf9 forgot extra storage for NULL byte 2017-03-06 21:10:27 -05:00
Gregor Richards
2f21a3e370 Yet another server-is-spectator bug. Don't ever ignore stalls if we're a
client
2017-03-06 20:13:26 -05:00
Brad Parker
d9c78c75f0 fix setting of netplay has_password in lobby announcement 2017-03-06 16:01:45 -05:00
Twinaphex
4b796ae740 Silence warnings 2017-03-06 12:12:00 +01:00
Brad Parker
6a68a01eb9 msvc2005 buildfix 2017-03-05 22:02:55 -05:00
Brad Parker
12a208f75e merge reannounce bugfix from radius 2017-03-05 15:49:07 -05:00
Brad Parker
c6b1a4bb48 join MITM server when host starts game, if the announcement requested MITM 2017-03-05 14:19:39 -05:00
Brad Parker
8a01dda5d6 send force MITM setting with lobby announcement 2017-03-05 14:19:38 -05:00
Brad Parker
c7c0e1351a send CRC as hex string 2017-03-05 14:19:37 -05:00
Brad Parker
4f2cdf3a84 populate system info before reading it 2017-03-05 14:19:36 -05:00
Brad Parker
ad6733b519 add full urlencoder and encode lobby announcement POST data 2017-03-05 14:19:36 -05:00
Brad Parker
0d81b2005f parse new lobby room listing with JSON 2017-03-05 14:19:35 -05:00
twinaphex
c99d83f15c Update 2017-03-05 20:14:01 +01:00
Brad Parker
fea8a0f780 Don't stall for spectator data when we're not in spectator mode, thanks @GregorR 2017-02-28 11:31:59 -05:00
Twinaphex
fdbdcfee65 Merge pull request #4691 from GregorR/netplay-slave-mode
Netplay slave mode
2017-02-26 21:49:21 +01:00
Twinaphex
b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
Gregor Richards
e495671563 In spectator mode, we should never be ahead of our peer. 2017-02-22 23:19:22 -05:00
Gregor Richards
e70ee045bf Initial implementation of Netplay master/slave mode. 2017-02-22 20:34:17 -05:00
Gregor Richards
972b41f803 Fix race condition in NAT traversal task. 2017-02-20 20:16:53 -05:00
Gregor Richards
5f723d1bda Moving NAT traversal into a task to avoid blocking the UI. 2017-02-20 19:08:31 -05:00
Gregor Richards
816d7786ac Re-adding the option to start in spectator mode
This used to be a configuration option because spectator mode and "net"
mode were incompatible. When the ability to switch between player and
spectator was added, the configuration option was removed, since it was
no longer a mode toggle. This re-adds it, mainly so that I can use it to
implement regression tests.
2017-02-16 19:17:06 -05:00
Gregor Richards
4c1abfaa71 Support for reset in netplay
This patch transfers core_reset across netplay. Resets effectively
worked before thanks to check_frames, but this makes resets work even
without check_frames, and in particular should allow resets to force
sync in savestateless cores, bringing them one step closer to actually
being usable by non-experts.
2017-02-15 14:40:37 -05:00
Brad Parker
6d821132f5 msvc buildfix 2017-02-14 02:37:25 +00:00
Gregor Richards
aa77d688ec Make announcing netplay on the public lobby optional. 2017-02-06 13:45:58 -05:00
Gregor Richards
1148b8230c Fixes to stateless+input latency. 2017-02-01 22:54:03 -05:00
Gregor Richards
2ea3936d16 Renaming input_ptr/input_frame_count back to self_. 2017-02-01 22:54:03 -05:00
Gregor Richards
55157e934d input_latency_frames is now configurable and has a range 2017-02-01 22:54:03 -05:00