Commit Graph

442 Commits

Author SHA1 Message Date
ANR2ME 5ca44f4ad9 Lets not delete the peer immediately, as handleTimeout function need the peer to be existed in order to trigger the TIMEOUT Event. 2023-10-13 00:21:54 +07:00
ANR2ME f63ed56b4e Extending AdhocMatching's timeout by 500ms should be sufficient for players with high latency. 2023-10-13 00:21:53 +07:00
ANR2ME abb196766d Allow BYE Event to intervene Joining process. 2023-10-13 00:21:51 +07:00
ANR2ME 270943dd59 Show socket id in Info Log when successfully created/accepted. 2023-08-26 06:43:24 +07:00
ANR2ME 3c66523f04 A quick fix for Metal Gear Acid due to adhocctl's busy state never reset to false when there are no adhocctl's handler. 2023-08-22 04:29:07 +07:00
Henrik Rydgård eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård 7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00
Brad Smith 3518abb47d Build fixes for OpenBSD 2023-05-19 22:04:36 -04:00
Henrik Rydgård ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård 9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
ANR2ME e9cb37993f Fix assertion issue when playing Cars over public adhoc server. 2022-09-23 20:12:16 +07:00
Unknown W. Brackets 8f96405ee5 Net: Remove usage of Memory::WriteStruct().
This also validates pointer write size better.
2022-09-03 10:44:11 -07:00
Henrik Rydgård e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
ANR2ME d86dc0bff6 Fix sceNetAdhocPtpConnect issue on Windows (ie. Tales of VS) due to getpeername on Windows can return a success when the other side haven't Accepted the connection yet. 2022-05-18 06:18:15 +07:00
ANR2ME 9497c98795 Fix sceNetAdhocPtpConnect issue on non-Windows (ie. Taiko no Tatsujin Portable DX on Linux) due to select can flags an unconnected socket as writeable & readable on Linux. 2022-05-18 06:18:11 +07:00
ANR2ME 799c721fa6 Added a note regarding select on Linux. 2022-05-18 01:11:56 +07:00
Henrik Rydgård 1bbaba4103 Fix some NEON code that had bad compile-time checks (and some didn't compile) 2022-04-15 00:54:44 +02:00
ANR2ME 65a90a2ec0 Use the most recent posix socket id during blocking simulation, since there is a possibility for the socket id to changes after recreated. 2022-03-24 08:34:03 +07:00
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