Commit Graph

102 Commits

Author SHA1 Message Date
ca6a2970ea TraversalClient: Make data externally read-only members private
These are only ever queried for state, not written. Therefore, prevent writing to the members
and make them private.
2018-04-16 16:46:44 -04:00
41682a07cb Add Quality of Service (QoS) support 2018-03-09 00:11:18 +01:00
379e28b58c Add GCPadStatus.isConnected boolean 2017-11-19 16:01:08 +01:00
696e1b40b5 Common: Move version strings to their own header
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label

This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing.

This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
2017-09-09 19:28:10 -04:00
b5d070b0cf NetPlayServer: handle port forwarding in constructor 2017-08-13 18:50:52 -07:00
4b50e77a26 NetPlayClient/Server: apply Parameter Object pattern to traversal parameters 2017-08-13 18:50:52 -07:00
3386543a9c Common: extract UPnP namespace from NetPlayServer 2017-08-13 18:50:51 -07:00
9e81fec816 NetPlayServer: encapsulate m_upnp_inited in initUPnP() 2017-08-07 11:35:13 -07:00
6a8c0ca70b NetPlayServer: actually set m_upnp_inited 2017-08-07 11:35:13 -07:00
2abf13ae36 NetPlayServer: remove goto statements 2017-08-06 23:06:38 -07:00
dd4203bec8 Core: Remove unnecessary includes
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
e6c15e993b quiet some sign-conversion-in-parameter warnings 2017-06-07 20:09:43 -07:00
b676edd80c Core: include what you use
Eliminates a swath of indirectly included standard headers
2017-06-07 01:20:48 -04:00
85d74a506f Merge pull request #4951 from waddlesplash/haiku-2
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
0831dad467 Initial support for Haiku. 2017-03-27 23:46:19 -04:00
35c230a418 NetPlayServer: const correctness 2017-03-19 09:36:40 -04:00
1834833edd NetPlay: use move semantics instead of unique_ptrs 2017-02-28 14:29:27 -08:00
5224771dac Copy Wii save for current game for Netplay and TAS 2017-02-05 13:17:05 -05:00
8078c18a80 Core: Move EXI source files to their own directory
Keeps related source files together and cleans up the root directory of HW
a little bit.
2017-01-20 16:06:35 -05:00
9950209bbf EXI_DeviceIPL: Unify GetGCTime epoch handling 2016-10-29 18:30:00 +02:00
39fd6dcd5b Fix missing includes
Aren't indirect includes great?
2016-10-07 23:46:41 +02:00
d7de39ebbe Merge pull request #3588 from Aestek/feature/improve-netplay-dialog
Improve netplay UX
2016-07-26 02:12:22 +02:00
6a0fc4c438 Improve netplay setup dialog UX
* Focus "Hash Code" / "IP address" text box by default in "Connect"
* Focus game list in "Host" tab
* RETURN keypress now host/join depending on selected tab
* Remember last hosted game
* Remove PanicAlertT:
	* Simply log message to netplay window
	* Remove them when they are useless
* Show some netplay message in OSD
	* Chat messages
	* Pad buffer changes
	* Desync alerts
* Stop the game consistently when another player disconnects / crashes
* Prettify chat textbox
* Log netplay ping to OSD

Join scenario:
* Copy netplay code
* Open netplay
* Paste code
* Press enter

Host scenario:
* Open netplay
* Go to host tab
* Press enter
2016-07-23 20:58:51 +02:00
9a01ced032 Fix bogus UPnP requests
UPNP_AddPortMapping needs our IP address, however enet_address_get_host
will return 0.0.0.0 or a host name in most cases.

This gets our IP address from the socket to the IGD.
2016-07-23 20:04:07 +02:00
cac9516e39 Add Configurable RTC 2016-07-19 11:20:02 -04:00
51c77e8eea Add md5 testing to netplay
Allows to test current game, an arbitrary game or the sdcard of all players
at once.
2016-07-16 22:48:46 +02:00
cd9a58b704 Check if all players have the game before starting netplay
https://bugs.dolphin-emu.org/issues/8885
2016-07-10 10:13:34 +02:00
JDV
d6a2fcd26c Formatting and setting is now only temporarily changed (#1)
Add the cheat setting to the bootmanager config cache, and reformat
2016-07-05 02:23:19 +02:00
8a2e7fddd1 Sync the "enable cheat" setting over netplay 2016-07-05 02:23:10 +02:00
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
2030ad4577 SCM: Use std::string.
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
84b0a930da NetPlayServer: Get rid of some explicit deallocations 2016-03-08 19:31:36 -05:00
20f8b471a8 Fix build with MINIUPNPC_API_VERSION >= 16
miniupnp commit c4991916e5c12a7754e935e71a5313e75af6aeb9 introduced a
4th statusCode parameter to miniwget function. This parameter is set
to a value returned by the UPnP device. We have to check if it's set
to 200 to make sure the result is a success. Also, we now have to check
if descXML is set in the error case and free it.
2016-03-04 10:59:57 +02:00
db8dbae131 Fix some very minor spelling mistakes
Found by Lintian https://lintian.debian.org/
2016-02-19 01:48:10 +00:00
b92a80ba1b Fix: segfault in NetPlayServer::GetInterfaceListInternal for ifa_addr-less interfaces
`NetPlayServer::GetInterfaceListInternal` was crashing dolphin with a segfault when encountering a
network interface without `ifa_addr`.
2016-02-08 21:21:27 +01:00
8ce9191948 NetPlayServer: Make SendAsyncToClients use an unique_ptr 2016-01-27 01:34:03 +01:00
34ae512d91 NetPlayServer: Make pad data unpacking nicer to read 2016-01-27 01:34:03 +01:00
1c808a2835 NetPlayServer: Possible out-of-bounds access on invalid input
if a pad or wiimote number was outside bounds (e.g. 42353543232),
it would still have been read from the array, which could lead to
inappropriate consequences, like a segfault.
2016-01-27 01:33:50 +01:00
8e1be37feb NetPlayServer: in-class initialization 2016-01-27 01:20:44 +01:00
40c7a2fb7d Use the current commit hash in the netplay version
So that it contains the current commit and not an arbitrary date that
may or may not be up-to-date. This will cause tears as people will not
be able to use netplay with one diverging commit that does not touch
anything related. On the other hand, users can’t be trusted.
2016-01-07 00:17:05 +01:00
ec6a48ff76 Merge pull request #2876 from CastellaFactory/master
[Netplay] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-12-02 14:20:47 +01:00
4eace2b49e CMake: simplify FindMiniupnpc.cmake
miniupnpc.h provides MINIUPNPC_API_VERSION since 1.7 and we require 1.7
or later, so there is no reason to have version detection code for older
versions.
2015-10-12 02:26:35 +02:00
bcee41b65d Merge pull request #3123 from lioncash/null
Core: Replace 0 literals with nullptr
2015-10-03 16:19:46 +13:00
0f6c4653a4 Core: Replace 0 literals with nullptr 2015-10-02 22:06:17 -04:00
8c5744bca7 miniupnpc API version 14 changed the upnpDiscover functions, adding an argument for TTL (should default to 2)
this enables support for that should the build system have that specific version installed, the miniupnpc bundled in the project is unchanged
2015-09-30 16:50:58 +02:00
1f83a3d146 [Netplay:Traversal] Add "Force Netplay Listen Port" feature that was in old netplay branch 2015-09-20 20:15:13 +09:00
4fc71e9708 Common: Remove StdMakeUnique.h 2015-09-06 04:09:53 -04:00
11f3ded296 NetPlay: Return mapping arrays and player list vectors directly
Simplifies pad map dialog initialization
2015-08-17 21:56:25 -04:00
b1af2a6bbc NetPlay: Use std::array for the pad mappings 2015-08-16 00:08:09 -04:00
2420004af8 [Netplay] Always set a playerid
And don’t blindly dereference a pointer.
2015-08-15 15:12:20 +02:00