Commit graph

78 commits

Author SHA1 Message Date
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
82a064adcf Resolve Adhoc Server DNS early and cache it so we don't need to resolve it again later. 2020-09-10 12:00:30 +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
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
6a2de8647f Fixed SceNetAdhocctlParameter structure 2020-09-07 03:38:47 +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
00d2b488dd Reindexing PDP and PTP socket using const/var instead of using confusing raw numbers 2020-09-05 13:44:35 +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
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
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
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
0752e7d158
Merge pull request #13302 from unknownbrackets/net-local
Net: Simplify local IP lookup and cleanup instance counter a bit
2020-08-18 21:29:29 +02:00
Unknown W. Brackets
a89840f309 Net: Cut down on local IP aliasing. 2020-08-17 23:08:35 -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
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
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
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
5f550fdf73 Lowering minVer of AfterAdhocMipsCall section. 2020-08-02 09:52:27 +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
a3b21b04ea Making mac2str function easier/cleaner/safer to use for logging purpose 2020-07-23 12:41:13 +02:00
ANR2ME
a0f0973462 Reconnect to Adhoc Server when disconnected while still having the AdhocCtl Inited (ie. due to timeout or network failure) so players doesn't need to reset the game to reconnect. 2020-07-23 12:09:28 +02:00
ANR2ME
68ac1d306d Fix issue when loading save state created from previous test version 2020-07-23 12:09:24 +02:00
ANR2ME
df26845388 Minor fixes 2020-07-22 23:13:41 +02:00
ANR2ME
b9025b50bd Added a UPnP option to use original port for external port instead of using the shifted port by port offset, to be compatible with real PSP or other PSP emulators 2020-07-22 23:13:41 +02:00
ANR2ME
d12218e8da Attempt to fix compilation error on Linux 2020-07-22 20:41:47 +02:00
ANR2ME
62c37a3481 Fix Blinking game room issue on NFS Most Wanted, this will also fix lobby issue on Ridge Racer 2, Naruto Kizuna Drive, etc. 2020-07-22 19:17:34 +02:00
ANR2ME
8daf2ff66e Added UI to change WLAN Channel.
Currently Ridge Racer 2 doesn't works with Auto channel (TODO: Making sure sceUtilityGetSystemParamInt doesn't returns channel 0 when connected to a network for Ridge Racer 2 to works with Auto channel)
2020-07-22 16:46:39 +02:00
ANR2ME
d0045947f1 An attempt to fix socket's behavior inconsistencies across platforms.
Added an option to override minimum socket's timeout to prevent getting timeouts on high latency networks.
2020-07-22 16:46:34 +02:00
ANR2ME
6c267dff9e Fix Local IP detection on non-Windows system
(Note: Had to delete a UPnP related line)
2020-07-20 19:23:37 +02:00
ANR2ME
b58f4a6e90 Enabling KeepAlive on sockets 2020-07-20 19:13:10 +02:00
ANR2ME
fa36c2edab Improved multiplayer stability regardless of I/O Timing method 2020-07-20 19:12:55 +02:00
ANR2ME
fb7d50e5c2 Improved multiplayer compatibility on some games (ie. GTA VCS, Naruto Ultimate Ninja Heroes 3, DBZ Shin Budokai 2, Power Stone Collection, .hack//Link, etc) 2020-07-20 18:09:16 +02:00
Henrik Rydgård
af2ed00232
Merge pull request #13172 from hrydgard/generalized-multi-instance
Generalized multi-instance
2020-07-20 16:23:10 +02:00
ANR2ME
da5b54e630 Separate each AdhocMatching callback's buffer, since callback aren't immediately executed thus using shared memory address may corrupt previous data 2020-07-20 12:19:40 +02:00
Henrik Rydgård
fa0b9dc1bc Make the instance counter global and initialized at startup.
Turn off config saving for secondary instances.
2020-07-20 11:40:54 +02:00
Henrik Rydgård
fa683bf902 Remove some _XBOX stuff 2020-07-20 10:03:09 +02:00
ANR2ME
834d086876 Support multiple instance of localhost Multiplayer on 1 PC 2020-07-20 10:03:09 +02:00
Henrik Rydgård
a722dfe0fb Formalize "core excpetions" as a concept 2020-07-12 15:25:21 +02:00
Unknown W. Brackets
20dd7db351 SaveState: Make sure to default init net data.
Otherwise, we may crash when loading a save state.
2020-06-29 19:37:55 -07:00
Unknown W. Brackets
7d36b70a8e Kernel: Rename conflicting kernel object names.
These are names that can often conflict with system headers in ports.
Let's just simplify by prefixing with PSP.

No actual functional/code changes, just syntax and names.
2020-03-15 08:33:40 -07:00
ANR2ME
142e60974c Merge branch 'rechat' of https://github.com/adenovan/amultios-ppsspp into rechat 2020-03-02 22:25:18 +07:00
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
twinaphex
7424e6485f Revert "PACK should be defined different for Win32 based on whether"
This reverts commit 553c7083ca.
2017-08-30 21:31:18 +02:00
twinaphex
553c7083ca PACK should be defined different for Win32 based on whether
we compile with Mingw or MSVC
2017-08-30 19:53:26 +02:00