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 00a1e3716afcbdad74c560eceb96753e5a9fce79.
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
Gregor Richards
c4eb12a583
Adding backend functionality to reconnect a Netplay client.
2016-09-24 23:48:42 -04:00
Gregor Richards
60449e8928
Checks for some netplay syscall errors and NULL deref errors
2016-09-24 18:48:55 -04:00
Gregor Richards
fcd57801bd
When we replay, resimulate input so that it doesn't judder between
...
remote states
2016-09-24 08:12:08 -04:00
Gregor Richards
6472b0ce82
Small checks to avoid needless blocking in delay_frames=0 mode
2016-09-23 23:27:07 -04:00
Gregor Richards
236839e22f
Reset netplay stall state upon disconnection
2016-09-23 22:20:47 -04:00
Gregor Richards
ae92cfeac2
More care in check_frames code so we don't check CRCs from a previous
...
connection
2016-09-23 22:18:56 -04:00
Gregor Richards
65e308c92d
Reset player flip state when we lose Netplay connection
...
This fixes a bug whereby reconnections would be out of sync due to the
flip state of the server and client being different. The server now
resets its flip state on disconnect.
2016-09-22 21:56:19 -04:00
Gregor Richards
06550ec289
Check if setting CLOEXEC fails on the Netplay server port.
2016-09-22 21:02:26 -04:00
Gregor Richards
42f8ed4338
Support for Netplay reconnection
...
In net server mode, when the client disconnects, the server now returns
to listening mode, in anticipation of the client reconnecting.
2016-09-21 22:37:43 -04:00
twinaphex
017bf34d71
Prevent null pointer dereference defect
2016-09-22 03:59:02 +02:00
Gregor Richards
c2d9e7a538
Support for late connection to Netplay host mode
...
This changes netplay host mode's behavior in net (normal) mode from
immediately blocking to waiting for a connection while allowing the game
to run, like spectator mode.
2016-09-21 17:26:02 -04:00
twinaphex
d7e9c198e6
Cleanups to netplay
2016-09-17 18:21:29 +02:00
Twinaphex
e21662b3e9
Merge pull request #3607 from GregorR/netplay-savestates
...
Netplay savestate loading frontend changes
2016-09-17 18:15:49 +02:00
Alcaro
ec2fd5ebd7
Fix warning
2016-09-17 17:55:42 +02:00
Gregor Richards
d53373a5cb
Netplay savestate loading frontend changes
...
Support for the frontend to inform Netplay when a savestate has been
loaded, so Netplay can in turn inform the peer.
2016-09-17 11:24:23 -04:00
Gregor Richards
ad336df709
Reimplemented Netplay spectate mode
...
Spectate mode is now far more similar to net (normal) mode, and, more
importantly, it works. In addition, spectate mode will not fast-forward
to catch up with the server if it lags too far behind.
2016-09-15 23:06:32 -04:00