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
68cee3b409
Being more careful with serialization
2016-10-04 22:24:33 -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
twinaphex
19863e4174
autosave_lock/autosave_unlock - no longer require HAVE_THREADS ifdefs
2016-10-04 09:56:58 +02: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
13cf804a70
Fix signed/unsigned mismatch warnings
2016-09-30 08:23:24 +02:00
twinaphex
00a1e3716a
Create path server and add to paths.c
2016-09-30 06:22:56 +02:00
Gregor Richards
f710303a40
Somewhat fixing support for savestateless cores
...
Without early saves we couldn't properly detect savestateless cores. We
still can't, really, but we can at least EVENTUALLY detect this
condition. netplay_net has been fixed to do so.
2016-09-29 20:48:39 -04: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
Brad Parker
186d0d6450
fix cheevos memory leak
2016-09-28 23:05:59 -04:00
Twinaphex
9b17e4f01e
Merge pull request #3680 from GregorR/netplay-sram-leniency
...
Make netplay lenient to differing sram sizes
2016-09-28 23:12:10 +02: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
Gregor Richards
ad4cec0b07
Make netplay lenient to differing sram sizes
...
Some cores can only determine the true size of sram after fully loading
the content, and so will report different values when the sram size is
queried. As a result, netplay cannot count on sram size as a reliable
verification technique. sram is still sent for the savestateless core
case.
2016-09-28 08:04:38 -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
fa5b75b635
Bugfixes in how we reset state on a late Netplay connection
2016-09-23 22:21:53 -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
1503b3d42f
Don't serialize frame 0 in netplay, as the core may not yet be ready
2016-09-22 17:36:46 -04:00
Twinaphex
34944cac0f
remove unused variables
2016-09-22 22:01:35 +02:00
Twinaphex
b2240c5783
Merge pull request #3631 from GregorR/netplay-reconnect
...
Support for Netplay reconnection
2016-09-22 14:27:38 +02:00
Gregor Richards
4a83e6dee9
Both sides should send the same header so either can check the other
2016-09-22 07:06: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
4b370cf55e
Re-add TCP_NODELAY in host mode.
2016-09-21 17:31:19 -04: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
b548362869
Use encoding_crc32
2016-09-21 12:31:40 +02:00
Gregor Richards
851cd0fe6e
Removing now-unused BSV-related functions from Netplay
2016-09-20 22:32:23 -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