Commit Graph

263 Commits

Author SHA1 Message Date
JMC47
225039f742 Merge pull request #13427 from LillyJadeKatrin/retroachievements-code-approval-fix
Fixed Multi Config Code Approvals
2025-03-15 13:57:48 -04:00
LillyJadeKatrin
0615ade725 Fixed Multi Config Code Approvals
Refactors the AR/Gecko/Patch code approval process to verify from every possible game ini, not just the base game ID. This fixes codes on specific revisions or codes general to any region.
2025-03-15 07:57:16 -04:00
JMC47
9f43f59c9b Merge pull request #13276 from JoshuaVandaele/sfml-3.0.0
Migrate to SFML 3.0.0
2025-03-10 15:03:36 -04:00
Luz Paz
fb6c625fed Core/Core: fix typos
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,bufferin,clen,collet,datas,delt,fpr,inout,inport,interm,pixelx,re-use,re-used,sav,stateman,strat,wil`
2025-03-08 15:41:53 -05:00
Joshua Vandaële
0a83783fae Migrate to SFML>=3.0.0 2025-02-25 06:42:13 +01:00
Jordan Woyak
3b85653003 NetPlay: Implement GetInterfaceListInternal for Windows. 2025-01-04 00:29:34 -06:00
mitaclaw
140252ffc0 Modernize std::any_of with ranges
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-12-15 19:54:16 -08:00
mitaclaw
860e6cf5cb Modernize std::all_of with ranges
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
2024-12-15 19:50:34 -08:00
LillyJadeKatrin
3c255b55e8 Add AR Code Whitelist Approval 2024-11-27 21:21:26 -05:00
LillyJadeKatrin
13a1956cfa Add Gecko Code Whitelist Approval 2024-11-27 21:21:25 -05:00
LillyJadeKatrin
9b6555c49c Force NetPlay Clients to Host Hardcore Status
If the host is in hardcore mode, all joining players will be set to hardcore mode; if not, all joining players will be set to softcore. This ensures all players have the same settings and remain synchroized.
2024-11-10 09:40:47 -05:00
Alfred Wingate
d7c93d87be Add support for libfmt-11
fmt::join was moved into fmt/ranges.h

Signed-off-by: Alfred Wingate <parona@protonmail.com>
2024-08-22 16:54:35 +03:00
Dr. Dystopia
618b41a459 Use 'contains' method 2024-08-14 22:18:28 +02:00
Lioncache
9abcc1c08b Core/NetPlayServer: Use fmt::format_to_n in GetInterfaceHost()
Lets us avoid some noisy deprecation warnings on macOS (and also lets us use
a more generic formatting specifier).
2023-12-18 13:08:57 -05:00
LillyJadeKatrin
3aebbbb3e7 Disable cheats in hardcore mode
RetroAchievements does not allow cheats such as Action Replay or Gecko in hardcore mode, for fairness.
2023-12-02 16:41:17 -05:00
Mai
d85cb749c0 Merge pull request #11382 from skyfloogle/traversal-fix-2
Traversal: Use low TTL for probe packet
2023-11-30 18:03:50 -05:00
Admiral H. Curtiss
b181842092 Netplay: Fix building on clang 17. 2023-11-03 16:15:04 +01:00
Floogle
bee6d5bfb6 Netplay: Don't log skippable events as errors 2023-10-28 18:06:07 +02:00
jmlee337
550b9782e1 Do not try portmapping when using traversal server
using portmapping with hosting while using traversal server (which is possible by checking the option while under "direct connect" and flipping back to traversal server) causes dolphin to request a mapping to external port 0.

In UPnP a mapping to external port 0 is actually the wildcard, which means that connection requests on all
external ports (that are not otherwise mapped) will be forwarded to the client.

Additionally it seems like using port mapping with traversal server is probably not expected behavior, as the option checkbox disappears when traversal server is used.
2023-07-13 01:15:12 -07:00
Floogle
5c1c22bab9 Traversal: Notify user of TTL to be used 2023-05-20 17:15:10 +02:00
Floogle
4f11b0d4c9 Traversal: Autoconfigure TTL to use for probe packet 2023-05-20 17:15:07 +02:00
Admiral H. Curtiss
6a339cbdb3 IOS/ES: Split ESDevice into ESCore and ESDevice.
ESCore implements the core functionality that can also be used outside of emulation. ESDevice implements the IOS device and is only available during emulation.
2023-05-15 20:41:05 +02:00
Lioncash
27f38c6c8f Common/TraversalClient: Move interface into Common namespace
Gets the interface out of the global namespace.
2023-04-24 08:28:25 -04:00
Admiral H. Curtiss
00e4fc4b70 Netplay: Check if save is readable before marking it for sync. 2023-04-23 15:52:38 +02:00
Lioncash
e4caace6bb Common/IniFile: Move interface into Common namespace
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
Lioncash
f5bdfdde1a Common/UPnP: Move interface into Common namespace
Keeps these utilities consistent with the rest of most of the Common
library.
2023-04-12 14:15:58 -04:00
Admiral H. Curtiss
31d2dedcb1 Merge pull request #11749 from lioncash/copy
NetPlayServer: Prevent unnecessary copies in GetInterfaceSet()
2023-04-11 22:09:56 +02:00
Lioncash
09e11b8067 Common: Rename ENetUtil.cpp/.h to ENet.cpp/.h 2023-04-11 11:48:46 -04:00
Lioncash
81493ee910 NetPlayServer: Prevent unnecessary copies in GetInterfaceSet()
This was previously copying each pair out of the vector returned by
GetInterfaceListInternal() when we just need to emplace the first entry
of each pair.
2023-04-11 09:17:03 -04:00
Lioncash
64ce2012e3 Common/ENetUtil: Move interface into Common namespace
Rather than just being under a separate ENetUtil namespace, we can unify
this into the common namespace as Common::ENet.
2023-04-11 09:12:04 -04:00
Admiral H. Curtiss
1e1041f299 NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132 2023-04-02 17:23:10 +02:00
Admiral H. Curtiss
0ccf24b0c5 Netplay: More logging for server and client thread main loops. 2023-03-30 16:57:39 +02:00
Admiral H. Curtiss
bfe0940bbd Netplay: More logging before game start. 2023-03-30 00:02:30 +02:00
Admiral H. Curtiss
8a3b8a925e Core: Add option to force linear texture filtering. 2022-12-09 02:02:16 +01:00
Admiral H. Curtiss
70f353fb37 Merge pull request #11283 from AdmiralCurtiss/netplay-save-sync-log
Netplay: Add more logging to save syncing.
2022-11-26 03:53:17 +01:00
Admiral H. Curtiss
2132e005c3 Core: Add config setting for base GCI folder path. 2022-11-22 10:48:37 +01:00
Admiral H. Curtiss
f0b0fcbb95 Netplay: Add more logging to save syncing. 2022-11-16 04:00:43 +01:00
Admiral H. Curtiss
e9caa09f7b NetPlay: Split SyncSaveData() into two parts.
This allows the 'save collection' part to run even if no clients are connected. Fixes issue 13095.
2022-11-06 01:51:01 +01:00
Admiral H. Curtiss
66684a392f Deduplicate NetPlayServer::Send() and NetPlayClient::Send() into ENetUtil::SendPacket(). 2022-10-09 02:25:28 +02:00
Admiral H. Curtiss
aade584180 Netplay: Completely rewrite Wiimote syncing logic to be similar to the GameCube controller one. 2022-10-02 23:22:02 +02:00
Admiral H. Curtiss
0d095b4d9b Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
Admiral H. Curtiss
0a517ebdbd Core: Pass Netplay SRAM through boot process.
This removes the Netplay classes touching emulated hardware structures before emulation even starts.
2022-09-19 21:47:12 +02:00
Admiral H. Curtiss
9963637463 HW: Remove global state from functions in Sram.h. 2022-09-19 21:42:43 +02:00
Admiral H. Curtiss
bec4850fc3 Netplay: Rename variable names in NetSettings to match style guide. 2022-09-19 01:25:46 +02:00
Admiral H. Curtiss
1845a13cbe Merge pull request #10905 from shuffle2/netplay-hash
netplay: use sha1 instead of md5
2022-08-22 15:57:49 +02:00
Sage King
da803adf15 Work around for compiler bug on Debian and FreeBSD 2022-08-09 16:26:54 -06:00
Sage King
66276ac61b Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an
attempt to fix a failed call to operator<< in SendResponse()
2022-08-09 16:26:53 -06:00
Sage King
978b6a8724 Added comment explaining obscure folding syntax in NetPlayServer.cpp 2022-08-09 16:26:53 -06:00
Sage King
a12099404e Added SendResponseToAllPlayers() and SendResponseToPlayer() to NetPlayServer.cpp and refactored OnConnect to use them 2022-08-09 16:26:52 -06:00
Sage King
477c20e28d Updated comment explaining enet_peer_timeout's use in NetPlayClient.cpp and NetPlayServer.cpp; Corrected syntax related to PEER_TIMEOUT in NetplayClient.cpp 2022-08-09 16:26:52 -06:00