32493 Commits

Author SHA1 Message Date
Gregor Richards
4076b14568 Make Netplay flipping deterministic
The receiving side of a player-flip request now does a forced rewind to
assure that any already-computed frames are computed with the players on
the right side.
2016-09-15 23:06:32 -04:00
Gregor Richards
827009d2d3 A few corrections/clarifications in the Netplay README 2016-09-15 23:06:32 -04:00
Gregor Richards
2a0202ccf5 Making Netplay check frequency configurable. 2016-09-15 23:06:32 -04:00
Gregor Richards
9a91570db8 Adding new network commands to the Netplay README. 2016-09-15 23:06:32 -04:00
Gregor Richards
7271d1c3fa Support for frame CRCing
Every frame (soon to be configurable), the server does a CRC-32 hash and
sends it to the client. If the client finds that its own hash is
different from the server's, it requests a fresh savestate.

This is a last-ditch effort to sync if all else fails, and it's a
best-effort situation. The size of the buffer should assure that we
always still have the frame around to CRC, but I imagine there are edge
cases where we don't. If you're in an edge case, the CRC is ignored.
2016-09-15 23:06:32 -04:00
Gregor Richards
79eba578ff Remote state load bugfix: Don't skip an input frame 2016-09-15 23:06:32 -04:00
Gregor Richards
5f90f072ba Documentation fixup
Fixing up some of the function documentation, and documenting the packet
formats.
2016-09-15 23:06:32 -04:00
Gregor Richards
27188e102d Support for savestate loading over netplay
Assuming the core supports saving/loading states, and (crucially)
assuming the states are portable across the architectures on both sides
of the connection, Netplay now supports the transmission of savestates.
Right now the frontend doesn't actually send any such requests, as it's
not clear exactly where the code for that should be.

This works in either direction, although I'll admit I have no idea what
happens if they both load at the same time.
2016-09-15 23:06:32 -04:00
Gregor Richards
4d11b1d674 Don't misinterpret "Netplay isn't loaded" as "must pause" :) 2016-09-15 23:06:32 -04:00
Gregor Richards
c3186c57ab Don't stall if connection lost with remote paused 2016-09-15 23:06:32 -04:00
Gregor Richards
96186438ec Remote pausing
Support for remote pausing, and with it, support for Netplay pausing the
frontend correctly. With this patch alone this doesn't work, since
there's no clean way for the frontend to tell Netplay that it's paused.
2016-09-15 23:06:32 -04:00
radius
90a13632ac (ems) itch.io, fix core selector 2016-09-15 21:21:17 -05:00
twinaphex
f101e1bb8e Update glsm 2016-09-16 03:18:56 +02:00
twinaphex
54b65b689e Potential buildfixes for GLES2 2016-09-16 03:06:44 +02:00
fr500
f0b0c13d78 (ems) disable dropbox integration on itch.io for now 2016-09-15 19:01:05 -05:00
fr500
035259b959 (ems) disable dropbox integration on itch.io for now 2016-09-15 18:56:21 -05:00
fr500
0427ede025 (ems) update urls for itch 2016-09-15 18:56:21 -05:00
fr500
28a334318a (ems) itch.io template refinement 2016-09-15 18:33:12 -05:00
twinaphex
8de734b702 Header include cleanups 2016-09-16 01:27:59 +02:00
twinaphex
e19699bac4 Cleanups 2016-09-16 01:25:04 +02:00
twinaphex
8b2b406a85 menu_content.c - add HAVE_CONFIG_H ifdef 2016-09-16 01:23:25 +02:00
twinaphex
d6e4ce5118 menu_input.c - cleanup 2016-09-16 01:22:34 +02:00
fr500
f4e35e3cdf (ems) reorganize templates 2016-09-15 18:18:26 -05:00
fr500
20999f9952 (ems) remove deprecated template 2016-09-15 18:18:26 -05:00
fr500
2952952169 (ems) add itch.io template 2016-09-15 18:18:26 -05:00
twinaphex
fb133a7487 Update GLSM 2016-09-16 01:14:35 +02:00
Alcaro
f6b7fc17f6 Those checks aren't needed. 2016-09-16 00:45:00 +02:00
twinaphex
8e758bf155 Rename menu_input_pointer to menu_event_pointer 2016-09-15 23:49:24 +02:00
twinaphex
f4d7e36ed0 (menu_input.c) Cleanups 2016-09-15 23:47:08 +02:00
twinaphex
4a30bfd156 Make these two the default 2016-09-15 22:05:40 +02:00
Twinaphex
89f3bdb8cb Merge pull request #3591 from bparker06/rate
refresh rate should be 59.94
2016-09-15 22:04:37 +02:00
twinaphex
a71cd89379 Cleanup unused variable 2016-09-15 21:26:10 +02:00
twinaphex
8c5eb1b406 (iOS) BUildfix 2016-09-15 21:16:56 +02:00
Alcaro
9485263555 Fix implicit strstr 2016-09-15 21:16:25 +02:00
twinaphex
de1c5ec8bd Rename menu_input_frame_retropad to menu_event 2016-09-15 21:14:45 +02:00
twinaphex
528d5edad0 Cleanup 2016-09-15 21:10:12 +02:00
twinaphex
121675c8e4 Cleanups 2016-09-15 21:08:54 +02:00
twinaphex
4cbc8e6f27 Cleanup 2016-09-15 21:05:39 +02:00
twinaphex
06cc175311 Cleanups 2016-09-15 21:01:11 +02:00
twinaphex
b14ffa4562 menu_cbs.h - add HAVE_CONFIG_H ifdef 2016-09-15 20:58:36 +02:00
twinaphex
7bb5e46d21 menu_cbs.h - Add retro_common_api.h 2016-09-15 20:57:59 +02:00
twinaphex
3ed0aa5eb6 Cleanups 2016-09-15 20:55:20 +02:00
Alcaro
1964491e5f Fix Linux-MinGW build 2016-09-15 20:54:14 +02:00
twinaphex
e602f534c7 menu_input_bind_dialog.c - more refactors 2016-09-15 20:52:08 +02:00
twinaphex
a9b8114109 Reafctor input_bind_dialog code 2016-09-15 20:45:00 +02:00
twinaphex
4c702c2d36 Cleanups 2016-09-15 20:40:19 +02:00
twinaphex
814eb5b905 (menu_input.c) Header include cleanups 2016-09-15 20:38:07 +02:00
twinaphex
a21674881c Add menu_input_bind_dialog 2016-09-15 20:35:39 +02:00
twinaphex
68f695b196 Buildfix 2016-09-15 19:46:23 +02:00
twinaphex
82673b4db4 Warning cleanups 2016-09-15 19:26:04 +02:00