Gregor Richards
2b437ccb8c
Don't need to explicitly demand IPPROTO_TCP (and doing so breaks some
...
SOCKET_LEGACY builds)
2016-12-03 16:33:48 -05:00
Gregor Richards
0577749fae
Netplay LAN scanning is go! (sort of)
2016-12-02 22:40:26 -05:00
Gregor Richards
077d5440ee
Allow Netplay to receive a struct netplay_host to connect to rather than
...
using the configured setting
2016-12-02 21:16:15 -05:00
Gregor Richards
4c18cec752
Added Netplay discovery code (not yet in menu)
2016-12-02 19:49:42 -05:00
Gregor Richards
a082df0027
More stripping out of NAT traversal for SOCKET_LEGACY
2016-12-02 13:18:35 -05:00
Gregor Richards
5739be5594
SOCKET_LEGACY doesn't even necessarily have inet_ntoa, so oh well, no
...
host for you
2016-12-01 20:40:16 -05:00
Gregor Richards
22798e26c7
delay_frames naming consistency
...
Unifying all of the various inconsistent names of delay_frames into a
single name: delay_frames.
2016-12-01 13:34:37 -05:00
Gregor Richards
c7f8cd3c68
Adding NAT traversal announcement for SOCKET_LEGACY
2016-11-30 19:01:32 -05:00
Twinaphex
bb499b70be
Merge pull request #4104 from GregorR/natt
...
NAT traversal
2016-11-30 16:09:53 +01:00
Gregor Richards
b3ababce9a
Fix Netplay IPv6 support
2016-11-30 00:25:16 -05:00
Gregor Richards
c342c103ae
Always get numeric host/ports instead of names.
2016-11-29 23:08:26 -05:00
Gregor Richards
42da0a0184
NAT traversal in Netplay
...
For the time being, if NAT traversal is successful it simply announces
it as an OSD message. In the future it will be used to inform a
matchmaking server of the public port.
This patch also included minor fixes to the NAT traversal implementation
to make the select it demands actually doable.
2016-11-29 22:59:46 -05:00
twinaphex
d26a213971
CXX_BUILD fixes
2016-11-27 13:30:35 +01:00
Gregor Richards
225cbb387b
Updating netplay to use trans_stream for compression
2016-11-26 16:06:52 -05:00
Gregor Richards
da0b958aeb
Check HAVE_ZLIB and only do zlib compression if it's supported by both
...
sides.
2016-11-25 11:03:12 -05:00
Gregor Richards
db437047f8
Don't use z_const, which is apparently not always defined.
2016-11-25 10:40:25 -05:00
Gregor Richards
679ea058a4
Properly clean up zlib.
2016-11-25 10:40:24 -05:00
Gregor Richards
3ff22c9ed6
Fixes for C++ support.
2016-11-25 10:40:24 -05:00
Gregor Richards
53c6223dc6
Use zlib compression for savestates sent over netplay.
2016-11-25 10:40:24 -05:00
Diego Viola
cf0c60bb98
Fix Netplay fullscreen issue
...
Fixes #3936
2016-11-07 16:01:18 -02:00
twinaphex
0d3752e90f
More translatable strings
2016-10-22 05:23:59 +02:00
twinaphex
3334060b03
Add another translatable string
2016-10-22 04:49:04 +02:00
twinaphex
9de0ebe859
Make some more strings translatable
2016-10-22 04:47:50 +02:00
twinaphex
42053a82e1
Prevent some implicit memsets
2016-10-21 19:39:51 +02:00
Gregor Richards
5c206c89f0
Add a netplay advertisement server for LAN netplay detection.
2016-10-10 11:52:54 -04:00
Gregor Richards
2c1cd0d06b
Netplay should disable when it deinits, so it doesn't auto-reconnect
...
when loading a new game.
2016-10-09 09:42:06 -04:00
Gregor Richards
6c15c0de3d
Support for architecture-dependence serialization quirks in Netplay
...
As well as the implementation magic, we now send a platform magic in our
connection header. If the core reports platform dependence and the
platform magic differs relevantly, the connection will be refused.
Since netplay_send_info (client handshake) and netplay_get_info (server
handshake) were practically identical, they've also been merged into a
single netplay_handshake.
2016-10-05 21:12:42 -04:00
Alcaro
46ab267f40
Merge pull request #3700 from GregorR/netplay-serialization-quirks
...
Serialization quirks
2016-10-06 00:59:14 +02:00
Gregor Richards
49b4143687
Reviving netplay_log_connection, i.e. connection messages on the host
2016-10-05 07:52:14 -04:00
Gregor Richards
a636bac428
Style and clarity nits.
2016-10-04 23:07:36 -04:00
Gregor Richards
51683661e5
Changes to Netplay for the recent changes to quirks.
2016-10-04 23:07:36 -04:00
Gregor Richards
90bd741786
Switching serialization quirks to uint64_t for consistency with other
...
bitfields
2016-10-04 23:07:35 -04:00
Gregor Richards
3fa3fe0fcd
Fixes for the other few Netplay initialization points
2016-10-04 23:07:35 -04:00
Gregor Richards
0d661ef6a2
Fix some backwards implementation in reporting serialization quirks
2016-10-04 23:07:35 -04:00
Gregor Richards
07a4ad791d
Implemented Netplay initialization quirk
2016-10-04 23:07:35 -04:00
Gregor Richards
5676d0b848
Adding Netplay quirk for untransmittable savestates
2016-10-04 23:06:50 -04:00
Gregor Richards
44931586b7
Removing Netplay workarounds which will soon be replaced by quirks
2016-10-04 23:06:50 -04:00
Gregor Richards
71873e8c97
Moving Netplay pre- and post-frame behavior into core_run
...
This (mostly) prevents other paths from accidentally side-stepping
Netplay. Netplay itself now sets an in_netplay variable to avoid
self-recursion in its own core_run calls.
2016-10-04 13:40:07 -04:00
Gregor Richards
3953018547
Clarifications to Netplay menu and removing obsolete setting
...
This commit:
* Reorders the Netplay settings menu to put more useful options at the
top.
* Renames the swap_input setting from "Swap Netplay Input", which is
meaningless and confusing, to "Netplay P2 Uses C1", which is oddly
truncated but at least true.
* Removes the is_client setting altogether, as that's no longer how
client vs. server mode is determined (each are separate options when
enabling Netplay)
2016-10-03 17:28:20 -04:00
Gregor Richards
e41ac34561
Get rid of global->netplay
...
Moved settings values into settings->netplay, and global->netplay.enable
is moved into netplay itself, and is no longer a configuration value
whatsoever, as that conflicts with the behavior of the netplay menu.
2016-10-02 22:13:34 -04:00
twinaphex
243dc139d2
Revert "Create path server and add to paths.c"
...
This reverts commit 00a1e3716a .
2016-10-01 08:17:44 +02:00
Gregor Richards
01d379066e
Removing Netplay workarounds in anticipation of quirks API
2016-09-30 16:00:49 -04:00
twinaphex
00a1e3716a
Create path server and add to paths.c
2016-09-30 06:22:56 +02:00
Gregor Richards
5b62fbb355
Fix spectator mode to work with the late-serialization workaround
2016-09-29 17:28:01 -04:00
twinaphex
da5d43974a
netplay_data is a void pointer no more
2016-09-29 20:11:46 +02:00
Gregor Richards
567da56048
Adding remaining netplay menu options
...
A couple fixes are still necessary for the client, in particular to
recover a "lost" hostname, but now it is possible to start server or
client mid-stream, and to disconnect intentionally.
2016-09-29 13:04:38 -04:00
Gregor Richards
1470b6672b
Fix delay_frames=0 mode to work with the recent late-loading workaround
2016-09-28 15:45:52 -04:00
Twinaphex
f0a2159f9a
remove unused variable
2016-09-28 06:50:43 +02:00
Gregor Richards
f665881d6d
Workarounds for cores that can't be saved early
...
Netplay now never serializes/unserializes cores before 60 frames have
been emulated. This is a workaround for buggy cores and documented as
such.
2016-09-27 20:49:16 -04:00
Gregor Richards
bd354cd275
Making all Netplay sockets should be cloexec
...
All Netplay sockets should close-on-exec. There is no reason for
xdg-screensaver to keep Netplay sockets alive.
2016-09-25 23:26:32 -04:00