Gregor Richards
a96eb24247
Support for keyboards over netplay.
2018-01-05 14:27:02 -05:00
Gregor Richards
c01a199493
Netplay input device abstraction, support for mice
...
This abstracts away the details of particular input devices for netplay,
and adds support for mice and (similar) lightguns. Unfortunately, in
practice, no core handles mice or lightguns in a savestate-safe way, so
they need to be used in stateless mode to be reliable, but they do work.
2018-01-05 14:27:02 -05:00
Gregor Richards
ab669a2db8
Fix a bug that could segfault with fast dis/reconnection.
2018-01-05 14:27:02 -05:00
Gregor Richards
8d5a79fc69
Removing long-obsolete now-disfunctional "netplay flip players" feature
2018-01-05 14:27:02 -05:00
Gregor Richards
c2923f5504
Netplay message for input devices not available.
2018-01-05 14:26:19 -05:00
Gregor Richards
fff95facc7
New netplay failure messages.
2018-01-05 14:26:19 -05:00
Gregor Richards
e4ad16fc1b
Document MODE change in netplay README
2018-01-05 14:26:19 -05:00
Gregor Richards
dc9ee8c6bc
Don't 0-index device numbers!
2018-01-05 14:26:19 -05:00
Gregor Richards
f7dba84c67
Netplay mode change improvements
...
(1) All mode change code unified, so server mode changes and client mode
changes and announcements go through the same functions
(2) New messages which are translateable and work with multiple input
devices
2018-01-05 14:26:19 -05:00
Gregor Richards
2104ac44d9
Fixed server mode changes.
2018-01-05 14:24:43 -05:00
Gregor Richards
6eaaaef995
Minor bugfixes in input resolution.
2018-01-05 14:24:43 -05:00
Gregor Richards
2794031d12
Improved reemulation to not replay unread frames if they haven't changed.
2018-01-05 14:24:43 -05:00
Gregor Richards
74901e6161
Whoops, missed one refactor rename.
2018-01-05 14:24:43 -05:00
Gregor Richards
6946ea1bd3
Netplay support for multiple local devices.
2018-01-05 14:24:43 -05:00
Gregor Richards
95bbd914f1
Fixed >2-player issues with multi-input.
2018-01-05 14:24:43 -05:00
Gregor Richards
ed320fd914
Adding and removing players
...
The new input handling makes adding and removing players more
complicated, since data can be present that's not expected from the
connected clients list, or absent that's expected in the list but
actually shouldn't be there.
2018-01-05 14:24:43 -05:00
Gregor Richards
39243a8d40
Configurable sharing mode.
2018-01-05 14:24:43 -05:00
Gregor Richards
abf045ef0e
Made device requests (badly) configurable.
2018-01-05 14:24:43 -05:00
Gregor Richards
7af7616d3d
New initial connection header and support for inter-version connections.
2018-01-05 14:24:43 -05:00
Gregor Richards
fe80c4ce2c
Added real pad sharing modes.
2018-01-05 14:24:43 -05:00
Gregor Richards
e4029b72c1
Rename things back after renaming for refactoring.
2018-01-05 14:24:42 -05:00
Gregor Richards
b897ba4e30
Re-fixed input simulation.
2018-01-05 14:24:42 -05:00
Gregor Richards
8c551f3990
Fixing some counters.
2018-01-05 14:24:42 -05:00
Gregor Richards
d1ca90e136
Get rid of this FIXME.
2018-01-05 14:24:42 -05:00
Gregor Richards
ed69916e59
First cut of input changes (not yet working)
2018-01-05 14:24:42 -05:00
Gregor Richards
6d4119690d
First step (not yet compiling) of changing around Netplay input.
2018-01-05 14:24:42 -05:00
radius
7bdd8e945a
show the frontend name and CPU architecture on netplay rooms
2017-12-17 11:51:50 -05:00
gblues
6904101c44
Clean up trailing whitespace
...
== DETAILS
Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
Alcaro
485ad9f6f7
add missing %s
2017-11-27 17:15:21 +01:00
Alcaro
0f695f074f
#5802
...
aren't most of the memdesc fields size_t aka uintptr_t rather than uint64_t? whatever, good enough
2017-11-27 17:07:31 +01:00
twinaphex
311b786279
Silence Coverity warning
2017-11-27 04:34:45 +01:00
twinaphex
493d442f8c
Silence some warnings
2017-11-26 22:43:58 +01:00
radius
3991f9b316
add frontend name to netplay announce
2017-11-26 13:40:08 -05:00
twinaphex
9875bbbd7d
Silence some Coverity warnings
2017-11-26 01:06:48 +01:00
radius
e10aee3f1d
get a proper error
2017-11-19 21:04:58 -05:00
radius
34934b169c
silence coverity warning
2017-11-19 17:34:15 -05:00
radius
b32a69889e
console buildfix
2017-11-19 16:21:26 -05:00
radius
8dfc585c59
fix another leak
2017-11-19 13:07:51 -05:00
radius
c5dfa314ad
fix leak
2017-11-19 12:43:13 -05:00
radius
11611acbe4
use correct size here
2017-11-19 09:43:51 -05:00
radius
9b673152f7
fix C89 errors
2017-11-19 09:41:36 -05:00
radius
149469515f
Fix lan rooms
...
Squashed commit of the following:
commit 6e1fea3b16bb330ed2862eb00d2e911221c48a34
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 22:16:02 2017 -0500
use the baked in address instead of sockaddr
commit 84f2d389fd6352b3037f48c18d133d2f1063d461
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 22:05:57 2017 -0500
send replies
commit c6733009cc5a25e58391c5fc693b277ea27404b3
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 21:53:12 2017 -0500
send replies
commit a6816c9481f7ea89a3c97597233e54c6354716e7
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 21:46:55 2017 -0500
send replies
commit c2453b73ccafbd53192507affbc11d5f279c2e7c
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 21:26:34 2017 -0500
look for common interfaces
commit fb42e6470242689f5e6160149ef91f0f0abf068d
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 20:06:50 2017 -0500
send broadcasts in all interfaces
commit b7730596df9775fb815007689e9c7cc06b317b03
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 20:00:17 2017 -0500
send broadcasts in all interfaces
commit b620a78052d1b95e81d346f3e5efb233e0547793
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 14:30:31 2017 -0500
add more logging
commit c016c7d559cd631172a58f99cd3e1a1365965b8e
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 14:12:03 2017 -0500
update log messages
commit 0a49ba61f56f2ca483fa76c7a04f0709c68b95ad
Author: radius <andres.430@gmail.com>
Date: Sat Nov 18 13:50:47 2017 -0500
fix lan room listing for rooms > 1, allow connecting in arbitrary ports
2017-11-18 22:43:47 -05:00
Brad Parker
bbf6f2f451
fix "may be used uninitialized in this function" warning
2017-10-28 16:01:29 -04:00
Alcaro
b97853a536
Rename STRING_REP_ULONG to STRING_REP_USIZE
2017-10-02 22:51:51 +02:00
twinaphex
1e37aab49b
Cleanup
2017-09-30 16:59:14 +02:00
Brad Parker
0a1b3fedc0
VC6 support (targets NT 3.51)
2017-09-06 23:03:02 -04:00
twinaphex
e16371b8a5
Merge input_config.c and input_driver.c
2017-08-31 02:25:04 +02:00
Gregor Richards
584e12ed37
Fix disconnection not fully deinitializing Netplay.
2017-08-18 14:13:39 -04:00
twinaphex
e56250c84f
C89_BUILD fix
2017-08-17 01:41:30 +02:00
radius
6804432fa7
log address family, fix inet_ntop_compat
2017-08-15 21:03:59 -05:00
Brad Parker
c072894a93
netplay: show country next to lobby nickname
2017-07-29 02:24:11 +00:00
radius
84e0251a86
add retroarch version to lan announcement
2017-07-24 21:13:28 -05:00
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
e09075dc25
Add RetroArch version and use different icons for different room types
2017-07-24 20:13:52 -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
twinaphex
b11620e1eb
Add retro_timers.h/retro_math.h
2017-06-28 04:41:38 +02:00
Twinaphex
e2be9e659d
Silence some warnings
2017-06-08 02:44:38 +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 a1d3dd69dd
.
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
twinaphex
d2bc5e0454
Fix more ASAN errors
2017-05-29 02:21:56 +02:00
twinaphex
d8f1cf7b5a
Style nits
2017-05-28 18:03:11 +02:00
twinaphex
57273a545f
Be more careful here
2017-05-28 18:00:47 +02:00
aliaspider
b49d2a87ab
getaddrinfo error codes can also be positive.
2017-05-28 12:46:39 +01:00
aliaspider
934f7c58ba
(WiiU) enable networking.
2017-05-23 10:24:23 +01:00
Gregor Richards
2681352d53
Make sure we flush a netplay pause message, so it isn't forgotten.
2017-05-22 16:27:22 -04: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
twinaphex
0bb1de9561
Cleanups
2017-05-21 09:16:45 +02:00
twinaphex
f51aa6e4ec
Add TODO/FIXME note
2017-05-17 09:10:58 +02:00
twinaphex
0aeb683444
Style nits/cleanups
2017-05-16 20:33:14 +02:00
twinaphex
944eff06b8
Cleanup
2017-05-16 20:25:54 +02:00
twinaphex
2562391167
Split up runloop message queue code from netplay_log_connection
2017-05-16 20:24:08 +02:00
twinaphex
eb409328ec
Style nits
2017-05-16 20:15:57 +02:00
radius
1de95c6413
further refinement of the netplay workflow
2017-05-16 00:18:29 -05:00
twinaphex
61a4e94649
Use string_is_equal_fast
2017-05-16 04:04:21 +02:00
Twinaphex
c035f9597a
Merge pull request #4921 from fr500/master
...
NETPLAY menu improvements
2017-05-16 03:00:19 +02:00
radius
c783dbff28
remove some more code duplication, lan rooms now show up correctly on left-right
2017-05-15 19:45:23 -05:00
radius
a98033f375
make the --start netplay host-- entry context sensitive
2017-05-15 18:58:46 -05:00
twinaphex
bf3188eac4
Combine runloop_ctl and rarch_ctl
2017-05-15 05:06:23 +02:00
twinaphex
e2c7671e9f
Create rarch_menu_running/rarch_menu_running_finished
2017-05-15 04:31:40 +02:00
twinaphex
42ebe7a7ad
Merge runloop.c and retroarch.c
2017-05-11 09:11:46 +02:00
Andre Leiradella
78efeb6ae2
Fix griffin and HTTP server builds
2017-05-07 19:52:22 +01:00
twinaphex
de80671658
Simplify content_get_crc
2017-05-06 16:41:22 +02:00
twinaphex
33f2fe8029
Move cheevos.c to tasks/task_cheevos.c and add TODO/FIXME note
2017-05-06 05:50:46 +02:00
Jean-André Santoni
a2542590ef
Fix the truncated game name in LAN rooms
2017-04-29 23:41:02 +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
e1e83b17b7
Wrap settings->input.libretro_device
2017-04-25 17:14:46 +02:00
twinaphex
3ec5816259
Rewrite RUNLOOP_CTL_SYSTEM_INFO_GET
2017-04-23 16:41:26 +02:00
twinaphex
aea00f1e00
Use memcmp instead of string_is_equal for more instances
2017-04-23 12:17:51 +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
Twinaphex
c343a88c10
Silence unused variable warnings
2017-03-05 20:30:14 +01: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
bf553fe65c
netplay: connect to MITM server instead of host IP if one is specified in lobby listing
2017-03-05 14:19:38 -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
9c19f16539
remove debug stuff
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
Brad Parker
c31823aa94
add HTTP POST support
2017-03-05 14:19:34 -05:00
twinaphex
c99d83f15c
Update
2017-03-05 20:14:01 +01:00
Brad Parker
96650e14ea
break early if server frame count is ahead of NOINPUT
2017-02-28 21:46:57 -05: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
05b760d0f8
Fix C89_BUILD/CXX_BUILD
2017-02-28 09:52:33 +01:00
twinaphex
5bf5388759
Cleanups
2017-02-28 09:44:44 +01:00
Twinaphex
59f5c596d6
Merge pull request #4707 from fr500/master
...
LAN scanning into rooms
2017-02-28 05:47:49 +01:00
radius
0c456c2235
comment this out for now
2017-02-27 23:47:04 -05:00
Gregor Richards
8fb1f6a647
Support empty INFO packet for undifferentiated servers.
2017-02-27 22:06:20 -05:00
radius
e50ea80dfa
integrate the rest of the lan scan parameters
2017-02-27 21:24:34 -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
07cfd90dc6
Actually USE the new slave options in config.
2017-02-23 21:49:22 -05:00
Gregor Richards
3ff9a43b7d
Spectator and slave mode are rewind-free
...
This commit makes spectator mode and slave mode in netplay always stay
ahead of the input, thereby avoiding rewinds, which is sort of the
point. This also changes catch-up detection to be a bit less eager, so
that they hopefully don't flap between stalling for server input and
catching up with that input.
2017-02-23 19:05:43 -05: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
3e0bc5acdc
Don't flush so eagerly...
2017-02-22 23:19:02 -05:00
Gregor Richards
d1ab288d73
Fix update_unread_ptr to handle the case of only slaves connected
2017-02-22 21:10:02 -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
twinaphex
e3a1b1859d
Fix ./configure --disable-rgui
2017-02-04 09:20:41 +01:00
Andre Leiradella
0c8ee93e3e
Moved cheevos files to their own folder in preparation for the changes to support leaderboards
2017-02-03 10:03:57 +00: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
Gregor Richards
5f5a8dc6d7
CRC searching should really start from run_ptr, not input_ptr
2017-02-01 22:54:03 -05:00
Gregor Richards
561eb42c84
Don't enable input latency if we're not connected
2017-02-01 22:54:03 -05:00
Gregor Richards
c4cb94db19
New approach to input latency
2017-02-01 22:54:03 -05:00
Twinaphex
2596de53ec
Merge pull request #4523 from fr500/master
...
add support for no content cores
2017-01-29 04:51:50 +01:00
Gregor Richards
3d24e844a4
We're in client mode if either server OR direct_host is set
2017-01-28 22:39:17 -05:00
radius
cfb882f4fc
add support for no content cores
2017-01-28 22:12:34 -05:00
Gregor Richards
12e8deedb4
Only disable netplay in deinit_netplay if it was actually on
2017-01-25 22:08:05 -05:00
Gregor Richards
263470a66c
Set netplay_enabled to false during deinit_netplay
...
This simply prevents the odd behavior of netplay automatically
restarting, or trying to restart, when you load a new game.
2017-01-25 21:23:55 -05:00
fr500
29a1d504d7
allow different server ports again
2017-01-25 17:48:43 -05:00
fr500
af14da93d5
fix whitespace
2017-01-25 17:43:56 -05:00
fr500
c097c2062e
fix when port is 0
2017-01-25 17:43:17 -05:00
twinaphex
178d959cad
Fix C89_BUILD
2017-01-22 21:24:57 +01:00
twinaphex
36b2c48cb5
Fix CXX_BUILD
2017-01-22 21:19:39 +01:00
Twinaphex
3ff158b907
Merge pull request #4436 from fr500/lobby
...
Basic lobby system (don't merge, just for tracking)
2017-01-22 21:08:43 +01:00
radius
a0e6a24f38
use deferred netplay init
2017-01-22 13:07:30 -05:00
radius
33cc168eb9
allow connecting to lobby port instead of the port in settings
2017-01-22 12:29:29 -05:00
Gregor Richards
addcbb896a
Fixing an incompatibility between stateless mode and the password prompt
...
Previously, the host would time out waiting for the guest to enter a
password, as the timeout was not conditionalized on whether the guest
was actually playing. This fixes that.
2017-01-22 10:43:09 -05:00
twinaphex
96c8ca5a09
Header update #1
2017-01-22 13:40:32 +01:00
twinaphex
768ce0854c
Make driver_set_nonblock_state a public function
2017-01-22 12:47:17 +01:00
Gregor Richards
8c304dfda7
Make the client send an INFO even if it's wrong
...
This simply gives the server a reason why the client disconnected,
rather than a generic, unexplained disconnection.
2017-01-21 13:18:31 -05:00
radius
0de43b954e
can now connect when starting a game too
2017-01-20 16:04:10 -05:00
radius
dcca2f8131
only announce if host
2017-01-20 14:33:57 -05:00
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
3dd6c91493
start populating the list
2017-01-19 08:56:56 -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
twinaphex
9a87bada55
Style nit
2017-01-17 19:05:33 +01:00
radius
f2beb49fd8
Announce netplay games to lobby.libretro.com
2017-01-16 22:24:35 -05:00
Gregor Richards
a0f236a83f
Use autosave_lock and autosave_unlock during SRAM negotiation
...
The SRAM transfer in netplay handshake now uses autosave_lock and
autosave_unlock. Will possibly fix a hang/crash bug on Android with
netplay and autosave conflicting.
2017-01-15 18:10:24 -05:00
Gregor Richards
e9e7878b5c
netplay_buf should use O_NOSIGNAL to avoid SIGPIPE
2017-01-15 10:59:25 -05:00
twinaphex
80bc91477a
Remove header include
2017-01-09 02:19:16 +01: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
ee55e2d783
LOAD_SAVESTATE can't use player frame timing from a server that's not playing
2017-01-02 18:56:08 -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
70a1a5f38e
Buildfixes
2016-12-24 01:48:36 +01:00
twinaphex
64dc7daeca
(MSVC) MSVC build fixes
2016-12-24 01:45:37 +01:00
twinaphex
77e5cdbfde
Revert "Rename runloop_msg_queue_push to video_driver_msg_queue_push"
...
This reverts commit ad7386913c
.
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
3df38fa40e
Silence two compiler warnings
2016-12-21 10:13:31 -05: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
c780e7db43
Accept the variable size quirk
...
Since the quirks protocol was that a core could report variable
savestate size, but the host then tells it "no", we should actually
accept the variable size quirk in netplay, since RetroArch refuses to
allow cores to actually produce variable-size states.
2016-12-20 22:17:15 -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
Gregor Richards
8f35de9da0
Adding blocks in the empty-RECV case to (hopefully) suppress warnings
2016-12-19 17:31:24 -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
dcd4b3046b
Making negative check_frames be "check only" mode
2016-12-18 19:28:44 -05:00
Gregor Richards
677ffa9ebd
Support different forms of compression from different clients.
2016-12-18 19:28:44 -05:00
Gregor Richards
84c33634a6
Communicate paused-ness during initial connection SYNC.
2016-12-18 19:28:44 -05:00
Gregor Richards
60b81e3a51
Nominal support for server sending blank INFO
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
8195a5bcee
Try to catch up if we're falling behind our peer, not anyone
...
In the previous catch-up system, we would only try to catch up if we
were falling behind the farthest-behind peer. However, as they would
also only try to catch up to us, everyone basically agreed to the
worst-case latency. It makes more sense to try to be in parity with your
direct peer than with indirect connections.
2016-12-18 19:28:44 -05:00
Gregor Richards
b535412914
Adding nick-changing
...
This is just to disambiguate multiple connections with the same nick
(usually Anonymous), which will now become e.g. Anonymous (2).
2016-12-18 19:28:44 -05:00