Commit graph

337 commits

Author SHA1 Message Date
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
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