Commit graph

324 commits

Author SHA1 Message Date
ANR2ME
6b0cb78b3b Recreate the socket before attempting to connect again after ECONNREFUSED/ENETUNREACH error, since reusing the socket only works on Windows. 2022-03-24 08:34:02 +07:00
ANR2ME
267757a5e4 Caches IP-specific Port Offset to avoid recalculating them. 2022-03-24 08:34:02 +07:00
ANR2ME
5e739f32b2 Use reference when possible to avoid copying. 2022-03-24 08:34:02 +07:00
ANR2ME
2b09f81ff8 Initialize some socket-related structs to avoid unexpected behavior. (May fix Unknown Source Port issue) 2022-03-24 08:34:02 +07:00
ANR2ME
9209fb7c6e Shouldn't return as soon as possible when a blocking PtpConnect is getting ECONNREFUSED error, since it should be treated as ETIMEDOUT on non-Windows platform 2022-03-24 08:34:01 +07:00
ANR2ME
155d3e0478 Ignore disconnected error on PtpFlush. Fixes disconnection issue on some games (ie. R-Type Command) 2022-03-24 08:34:01 +07:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
36217e813c Build: Fix some minor warnings.
Just to get more warning clean.
2022-01-22 10:46:21 -08:00
ANR2ME
fbb1246cfd Reducing MatchingEvents processing delays. Fixes timing issue on a few games (Super Pocket Tennis, Thrillville Off the Rails, Lord of Arcana, Gundam: Senjou No Kizuna Portable, StarWars The Force Unleashed) 2022-01-20 03:16:25 +07:00
ANR2ME
bfd532561a Report sceNetAdhocMatchingInit to find out a list of games that use AdhocMatching library to be tested with. 2022-01-20 03:00:23 +07:00
ANR2ME
71f08a3db8 Discard HELLO Events when in the middle of Joining 2022-01-20 03:00:23 +07:00
ANR2ME
d5036ff2ae Fix buffer overflow issue on GameMode. 2022-01-13 16:13:53 +07:00
ANR2ME
4b6431f7fe GameMode Scheduler should only runs when there are active Master. 2022-01-13 15:35:16 +07:00
ANR2ME
2d5699d62b Prevent creating another GameMode Master, since we don't support more than one Master data, and there is no ID related to Master. 2022-01-13 14:06:51 +07:00
ANR2ME
73dff0566e Fix an issue where more than one GameMode Scheduler can be scheduled. 2022-01-13 14:02:33 +07:00
ANR2ME
4d0c7385ec Fix an issue where sceNetAdhocGameModeCreateReplica blocked current thread for initial sync while Master data hasn't been created yet. 2022-01-13 13:03:58 +07:00
ANR2ME
9efdaf9ba7 Updated sceNetAdhocGameModeUpdateReplica (Fix Bomberman Panic Bomber) 2022-01-13 10:51:43 +07:00
ANR2ME
2bd79838bf Fix invalid argument issue of sceNetAdhocPtpAccept on Bomberman Panic Bomber. 2022-01-13 10:36:11 +07:00
Henrik Rydgård
dbfa4e6830
Merge pull request #15213 from ANR2ME/adhoc
[Adhoc] Updated PdpCreate, PdpSend, PdpRecv, GetPdpStat, GetPtpStat
2021-12-08 21:38:23 +01:00
ANR2ME
69ec6b1972 Fix Tekken 5 Dark Resurrection Multiplayer 2021-12-08 12:00:59 +07:00
ANR2ME
26fd74edd4 Updated GetPtpStat 2021-12-08 08:50:14 +07:00
ANR2ME
004ecc008e Updated GetPdpStat 2021-12-08 08:50:11 +07:00
ANR2ME
f1e4b41f12 Discard PDP packets from an IP that can't be resolved to Player's MAC address (simple version) to prevent confusing the game, since the source MAC won't be updated and may contains invalid MAC.
Added TODO to handle unresolvable packets properly.
2021-12-08 08:46:45 +07:00
ANR2ME
6d1a069248 Added another returned error code on PdpCreate 2021-12-08 08:45:46 +07:00
ANR2ME
79d31d4b85 Allow Sending PDP to non-existing MAC address (except invalid mac address). Fixes an issue on NBA Ballers Rebound where players unable to enter Multiplayer Menu again after getting connection issue. 2021-12-08 08:45:45 +07:00
Vitaly Cheptsov
5600ac0161
Adhoc: Drop useless pointer check
Fixes compiler warning (-Wpointer-bool-conversion)
2021-10-20 12:08:29 +03:00
AdamN
1956624972
Merge pull request #14969 from ANR2ME/adhoc
[Adhoc] Workaround for a more cross-platform behavior on PtpConnect (but inaccurate)
2021-10-06 22:33:12 +07:00
ANR2ME
c34efa3e3e Workaround to prevent some games from not retrying to connect on non-Windows system. This will also make a more cross-platform behavior on Windows/Linux/BSD 2021-10-05 23:10:40 +07:00
ANR2ME
00a0885509 Minor changes 2021-10-05 23:10:40 +07:00
ANR2ME
ed7f1b72e2 An attempt to implement AdhocDiscover (can only Cancel the progress for now) 2021-10-01 12:13:03 +07:00
ANR2ME
5b010afff3 oops need to typecast metasocket 2021-09-28 20:44:03 +07:00
ANR2ME
9a714249a6 Changing most frequently used global vars to atomic to avoid possible multi-threading issue on friendFinder thread which communicates with AdhocServer in background.
PS: There are more global vars being used here (too many actually), so we should find a better approach in the future (ie. using PSPThread instead).
2021-09-28 20:44:03 +07:00
ANR2ME
6a79f59c06 Fix threading issue when exiting PPSSPP due to unjoined AdhocServer thread when AdhocServer failed to bind the socket and exited the thread early. 2021-09-28 20:44:03 +07:00
ANR2ME
1fd54153fc Prevent some games (ie. DBZ SB2) from repeatedly trying to Disconnect Adhocctl when not connected to AdhocServer. 2021-09-28 20:44:03 +07:00
ANR2ME
4741357bef Fix possible race condition issue when sending AdhocMatching data 2021-09-23 12:51:12 +07:00
ANR2ME
73b2070821 Temporary fix to avoid a crash that happened due to trying to logs a syscall's argument when being Logged from another thread (AdhocMatchingInput thread) 2021-09-23 12:51:09 +07:00
ANR2ME
ee7383193b Fix race condition issue on AdhocMatching 2021-09-21 15:32:41 +07:00
ANR2ME
2bda9c1c84 Keep tracks of the sender/source port on GameMode for further communication, in case it was remapped by router or ISP for some reason. 2021-09-19 10:55:03 +07:00
ANR2ME
ef279657dc Shows a warning when detecting a different sender/source port on GameMode. 2021-09-19 10:54:59 +07:00
ANR2ME
62a7ea2f41 Minor change to AdhocMatching's senderport type 2021-09-19 10:35:19 +07:00
ANR2ME
2305de42f0 Keeping track the source port of received data on AdhocMatching to be used for further communication, in the case the port was re-mapped for some reason. 2021-09-17 12:36:56 +07:00
ANR2ME
a95678ae49 Show a warning if other players detected to have their port being re-mapped, where communication with them might have an issue. 2021-09-17 12:36:56 +07:00
ANR2ME
2bb5453dc6 Don't ignores unknown sender/source port, due to a possibility of port re-mapping done by router or ISP the source port might be different. 2021-09-17 12:36:56 +07:00
ANR2ME
fa92cda23d Minor change to AdhocMatching logging 2021-09-17 12:36:56 +07:00
ANR2ME
704d1f94a6 Fix freezing issue during GameMode initialization on some games (ie. Hammerin' Hero) 2021-09-15 01:13:39 +07:00
ANR2ME
e3088e5f96 Fix Socket error 10014 on Windows when hosting a game of Vulcanus Seek and Destroy 2021-09-14 05:58:49 +07:00
Unknown W. Brackets
3ac669f80b Core: Fix some minor gcc warnings. 2021-09-13 08:13:14 -07:00
Sean McGovern
6f346e5d76 sceNetAdhoc: fix format specifier for debug log 2021-08-01 13:15:39 -04:00
ANR2ME
e059bc980c Updated Logs on sceNetAdhocDiscover to find more info on games that use AdhocDiscover. 2021-06-25 12:22:49 +07:00
ANR2ME
a7752997e1 Minor changes to Wrapped Port detection. 2021-06-21 18:28:37 +07:00