Commit graph

313 commits

Author SHA1 Message Date
ANR2ME
8d68e917b7 Prevent Client side from forever re-trying to connect to Exited Host on Shin Sangoku Musou Multi Raid 2 2020-09-14 03:38:20 +07:00
ANR2ME
3b38062a47 Fix Failed to Bind already used port issue on Android (and probably linux too). This should fix Dynasty Warrior Strikeforce and Shin Sangoku Musou Multi Raid 2 2020-09-12 09:08:50 +07:00
ANR2ME
210413cba7 Allows reusing the same port for PtpListen and PtpOpen. This fixes Shin Sangoku Musou Multi Raid 2, and probably other games with similar issue (ie. Dynasty Warrior Strikeforce) 2020-09-11 20:29:49 +07:00
ANR2ME
3eeb48bb40 Clients shouldn't try to detects timeout of other clients, because most of the time the client side doesn't have timeout information given, better wait for the host to tells them if a client got disconnected. 2020-09-11 13:44:09 +07:00
ANR2ME
2e9952cf6e Prevent spamming the log too much on some games 2020-09-11 07:19:03 +07:00
ANR2ME
c57d81cc3e Fixed sceNetAdhocMatchingGetMembers error return value 2020-09-11 07:19:03 +07:00
ANR2ME
97e5a1f447 Combining PDP and PTP socket's array into a union array. Fixes Hot Shots Tennis that doesn't works well with socketId > 255 2020-09-09 14:21:32 +07:00
ANR2ME
57584343a2 Simulate blocking PtpFlush 2020-09-08 19:16:44 +07:00
ANR2ME
871707c6a7 Allows blocking socket simulation on multiple threads simultaneously 2020-09-08 13:17:52 +07:00
ANR2ME
d8d2fd8107 Making use Adhoc SocketAlert Flags to stop/abort blocking sockets 2020-09-08 13:17:52 +07:00
Unknown W. Brackets
fcaef648ec Net: Fix memory corruption on save old state.
Can't restore these if they're not inited either.
2020-09-07 07:23:13 -07:00
Unknown W. Brackets
b5712efdfb Net: Correct save state from old loaded state.
Fixes #13395.
2020-09-07 07:11:33 -07:00
Henrik Rydgård
55ca5ab1d7
Merge pull request #13393 from ANR2ME/adhocctl_fix
Adhocctl fix - Fix SceNetAdhocctlParameter structure
2020-09-06 23:24:44 +02:00
ANR2ME
b1d6f6aa48 Added some more info in Debug Log to help debugging 2020-09-07 03:38:45 +07:00
ANR2ME
69b3c788eb Ignore SIGPIPE error on certain system (ie. Linux) 2020-09-07 02:38:45 +07:00
ANR2ME
c2a4d56430 An attempt to implement AdhocSocketAlert 2020-09-06 11:12:04 +07:00
ANR2ME
ff6b466eff Oops forgot to replace these numbers with const on adhoc socket reindexing PR 2020-09-06 05:53:16 +07:00
Henrik Rydgård
5f1e3b2950
Merge pull request #13383 from ANR2ME/adhocctl_fix
Adhocctl Fix - Valhalla Knights 2
2020-09-05 10:07:33 +02:00
Henrik Rydgård
46208f8724
Merge pull request #13384 from ANR2ME/adhocmatching_fix
AdhocMatching Timeout Fix - Phantasy Star Portable 2 Timeout issue
2020-09-05 10:06:44 +02:00
ANR2ME
00d2b488dd Reindexing PDP and PTP socket using const/var instead of using confusing raw numbers 2020-09-05 13:44:35 +07:00
ANR2ME
19cc81fe91 Fix crash issue due to out of bound when indexing PDP socket 2020-09-05 13:17:20 +07:00
ANR2ME
e79d3b8204 Fix Phantasy Star Portable 2 Timeout issue 2020-09-05 11:45:14 +07:00
ANR2ME
423a7b2391 Fix multiplayer on Valhalla Knights 2 2020-09-05 08:58:29 +07:00
ANR2ME
c564e77b9f Fix AdhocMatching P2P Mode. This fix Bleach Heat the Soul 7 2020-09-04 16:08:07 +07:00
ANR2ME
170d313fa7 Minor changes to make sure the output struct/arg have similar value to the one from prx file (based on Kingdom Hearts BBS) 2020-09-04 13:09:46 +07:00
ANR2ME
d3157205dd Don't allocate PSP's Memory during DoState 2020-09-04 13:09:45 +07:00
ANR2ME
a05da1a8c5 Fix communication issue with Adhoc Server where ping to the Adhoc Server sometimes getting socket error 10053 and disconnected from Adhoc Server 2020-09-04 13:09:45 +07:00
ANR2ME
439171fc56 An attempt to reduce the lags/stutters during multiplayer caused by improper blocking behavior. 2020-09-04 13:09:44 +07:00
ANR2ME
6a9cf0f575 An attempt to differentiate adhoc connect, create, and join. 2020-09-04 13:09:44 +07:00
ANR2ME
db3e7d80d9 Oops we already have local mac stored in context, no longer need to getLocalMac again 2020-09-04 08:35:40 +07:00
ANR2ME
5155925516 Fix connection issue on games using AdhocMatching due to sometimes events are removed prematurely before being processed. This fix Gran Turismo where some peers could permanently be in "busy data" state. 2020-09-04 02:39:00 +07:00
ANR2ME
d99f55465e Fixed possible crash issue due to lingering leftover callback events from previous multiplayer session. 2020-09-04 02:39:00 +07:00
ANR2ME
7083342046 Avoid using hleLog during a Shutdown 2020-09-04 02:38:58 +07:00
ANR2ME
804dd07c93 An attempt to sort AdhocMatching Member List in order to make a consistent list on all players (based on Host). Also fixed some disconnection issue on other players when a player is leaving the room on Gran Turismo and Patapon 3. 2020-09-04 01:32:15 +07:00
ANR2ME
405863c579 An attempt to make PDP and PTP ID to be unique so they can be polled properly together without getting conflicted ID. This fixes Gran Turismo. 2020-09-03 05:27:51 +07:00
ANR2ME
577209752e An attempt to fix sceNetAdhocPollSocket to works properly. This fixes one of the multiplayer mode on Bleach Heat the Soul 7 2020-09-03 05:17:44 +07:00
ANR2ME
9c5f02fbf5 Default to P2P/Parent's MAC address if the target MAC on sceNetAdhocMatchingSendData is 00:00:00:00:00:00 (need to confirm whether this is correct or an error should be returned instead) 2020-09-02 21:17:38 +07:00
ANR2ME
a76a5bdf56 Ignores the 1st byte of MAC address when comparing, since there might be games (ie. Gran Turismo) that tries to tamper/change the 1st byte during multiplayer upon use. 2020-09-02 21:17:38 +07:00
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
ANR2ME
8dec09703f Moving reused adhoc function out of sceNet function to prevent getting extra SCENET log 2020-08-13 00:59:50 +07:00
Unknown W. Brackets
b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
1dc5ee424b SaveState: Split out Do types to reduce headers. 2020-08-10 08:03:44 +00:00
Unknown W. Brackets
4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Henrik Rydgård
914b6ce24c
Merge pull request #13216 from ANR2ME/net_apctl_stuff
Added a fake thread to process Apctl Request Events into Apctl State Changes
2020-08-02 11:05:17 +02:00
ANR2ME
5de2707633 Fix crashes issue due to 0 is a valid index to types_, using invalid index like -1 should give a better/clearer stack trace 2020-08-02 14:02:49 +07:00
ANR2ME
8886291434 Save&Restore PSP Thread IDs to prevent using the wrong Thread ID after loading from save state, also making sure DoState have default value 2020-08-02 12:57:27 +07:00
ANR2ME
90ff382c59 Rearranged network's After PSPAction creation/registration so that newer one have higher value to prevent network's callbacks triggering the wrong after action after loading from old save state. 2020-08-02 08:49:58 +07:00
AdamN
1380c09cb8
Patapon 3 Fix (#13231)
* Showing returned error code in the logs to give more info on the exact error with so many error code variations.

* Fix an issue where players that got forcefully disconnected (ie. Resetting the game) are no longer recognized by the Host when trying to reJoin on Patapon 3

* Allows Optional data pointer to be non-zero/null even if Optional data Length is 0, since we're not even accessing the data if it's length is 0 anyway. TODO: Will need someone to confirm if this is really allowed or returning an error on a real PSP.

* Fix Identity issue on Patapon 3 where all players became Player1. This should also fix other games with similar issue.
2020-08-01 15:24:21 +02:00
ANR2ME
f927ca795c Added a fake thread to process Apctl Request Events into Apctl State Changes 2020-07-29 02:27:39 +07:00
ANR2ME
30ea1087dd Attempt to fix an issue when the 3rd player joined causing problem to other players on Patapon 3 (this may also affects other games that use AdhocMatching) 2020-07-25 11:48:19 +07:00