Commit Graph

216 Commits

Author SHA1 Message Date
twinaphex 013117318c (network) Get rid of all the settings pointer grabbing 2020-02-12 20:01:48 +01:00
twinaphex 1fafdb2843 Style nits 2020-02-10 13:18:27 +01:00
twinaphex ac72ba5af8 Revert "(Netplay) Cleanups"
This reverts commit 646eba5a92.
2020-01-28 19:15:05 +01:00
twinaphex 846d9ed391 Revert "Cleanups"
This reverts commit 399f039b9e.
2020-01-28 19:14:37 +01:00
twinaphex 21381ff990 Revert "(netplay_frontend.c) Cleanups"
This reverts commit d0a2315098.
2020-01-28 19:14:22 +01:00
twinaphex d0a2315098 (netplay_frontend.c) Cleanups 2020-01-28 15:42:55 +01:00
twinaphex 399f039b9e Cleanups 2020-01-28 15:14:29 +01:00
twinaphex 646eba5a92 (Netplay) Cleanups 2020-01-28 14:56:05 +01:00
twinaphex 4d36f0d356 Remove rarch_get_cpu_architecture_string - don't have two
functions that do more or less the same thing
2020-01-27 22:51:20 +01:00
twinaphex eb4e365820 (libretro-common) Cleanups 2020-01-27 17:00:18 +01:00
twinaphex e8bc606c20 Move netplay_get_architecture to frontend_driver.c 2020-01-27 16:39:36 +01:00
twinaphex 9f9191819d (netplay_frontend.c) Cleanups 2020-01-27 16:27:51 +01:00
twinaphex fa328c1590 (Netplay) Cleanups 2020-01-02 17:07:03 +01:00
twinaphex fc4a5ad691 Revert "Configurable lobby URL"
This reverts commit cc0b7c42d1.
2020-01-02 15:30:50 +01:00
twinaphex cc0b7c42d1 Configurable lobby URL 2020-01-02 10:15:21 +01:00
twinaphex 091c5f6092 Should fix netplay for cores that use the new bitmask code 2019-08-16 16:29:18 +02:00
twinaphex 8308c41277 (netplay frontend) Cleanup this code - netplay_data should be
properly encapsulated
2019-08-10 17:25:39 +02:00
orbea e13ec54dc6 Fix --disable-overlay. 2019-07-21 10:26:42 -07:00
twinaphex 5f2e3c283d (netplay)/network) Style nits/cleanups 2019-06-26 07:13:50 +02:00
radius 34be5f399c no need to do nat traversal if using relay 2019-05-26 22:39:46 +02:00
Gregor Richards c0ed989738 Fix stall-out causing total disconnection with >2 players 2019-02-17 21:39:50 -05:00
Twinaphex 9b8efbc712
Merge pull request #8284 from fr500/master
[fix] potential crash when username is empty and discord is disabled
2019-02-14 06:46:46 +01:00
radius 7107175b93 [fix] potential crash when username is empty and discord is disabled 2019-02-14 00:31:02 -05:00
twinaphex 386657a366 (menu widgets backport) Re-commit task queue changes 2019-02-08 08:00:32 +01:00
twinaphex 7022786f34 Revert parts of menu_widgets that were causing breakage, but leave
all the hooks in so we can add them back piece by piece again
2019-02-08 07:26:43 +01:00
radius 671e90a415 [discord] party & ask to join refinements 2019-02-06 22:45:05 -05:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
radius 79d280e9c3 [discord] use discord username if available 2019-02-02 14:26:14 -05:00
twinaphex b13777e9fc Header cleanups 2019-01-20 03:16:58 +01:00
radius 9d0472c3ac [netplay] finding content works now
cleanup
2019-01-14 18:58:56 -05:00
radius f0b8d2d12e [netplay] support subsystem type netplay lobbies 2019-01-14 18:58:56 -05:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
twinaphex 93346fed6b Buildfix 2019-01-08 17:53:58 +01:00
radius 58e192881a [netplay] announce subsystems 2019-01-07 23:30:48 -05:00
radius b8f20e60c2 [discord] rewrite secret/join logic to use a queried lobby name 2019-01-06 19:04:08 -05:00
orbea d557ab09ce Fix a gcc -Wformat= warning with C89_BUILD.
network/netplay/netplay_frontend.c: In function ‘netplay_announce_cb’:
network/netplay/netplay_frontend.c:734:32: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 3 has type ‘int *’ [-Wformat=]
                sscanf(val, "%08X", &host_room->gamecrc);
                             ~~~^   ~~~~~~~~~~~~~~~~~~~
                             %08X
2018-12-16 19:59:53 -08:00
twinaphex ff4fa3be7a Fix more string is too small warnings 2018-11-25 18:49:04 +01:00
twinaphex a662b62d19 Use runloop_get_libretro_system_info in more places - clean some code up 2018-10-30 17:11:07 +01:00
radius fed74b9e70 [discord] populate data correctly 2018-09-12 01:45:28 -05:00
radius 4d0729187f [discord] start getting ready for ask-to-join functionality, cleanup some of the mess 2018-09-12 01:45:27 -05:00
twinaphex 58472cb696 Silence some warnings 2018-09-12 04:09:19 +02:00
Brad Parker 7a76c6a4da netplay: save lobby details received back from server after first announcement 2018-09-10 21:01:46 -04:00
Gregor Richards 2c07561fc1 Fix compatibility between netplay and runahead
Unsurprisingly, netplay and runahead are wildly incompatible; both rely
on internal rewinding, without communicating this fact to each other.
Somewhat more surprisingly, netplay already has all the infrastructure
for negative input latency, as it's structurally the same as receiving
delayed input from a peer. This patch makes the two features
"compatible" by disabling runahead per se when netplay is active, and
using runahead's configuration to adjust netplay's own input latency
feature, which is now allowed to be negative. The effect is mostly the
same (modulo the second core support), and it doesn't confuse netplay
peers.
2018-05-30 22:01:02 -04:00
radius c52fdc469f remove task_push_http_transfer_raw, encode before sending data to the task 2018-03-16 22:38:21 -05:00
Brad Parker 6fc0cc4645 send selected MITM server to the lobby 2018-02-02 15:48:45 -05:00
twinaphex 6437e4b4a9 remove tons of unreferenced local variables 2018-01-23 05:49:03 +01:00
Gregor Richards 73bd969ac9 Fixes for slave mode with multiple input devices 2018-01-05 14:27:02 -05:00
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 8d5a79fc69 Removing long-obsolete now-disfunctional "netplay flip players" feature 2018-01-05 14:27:02 -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 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 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 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 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
twinaphex 311b786279 Silence Coverity warning 2017-11-27 04:34:45 +01:00
radius 3991f9b316 add frontend name to netplay announce 2017-11-26 13:40:08 -05:00
Gregor Richards 584e12ed37 Fix disconnection not fully deinitializing Netplay. 2017-08-18 14:13:39 -04: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 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 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
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