Commit graph

170 commits

Author SHA1 Message Date
RipleyTom
cd87a64621 Headers cleanup 2025-02-11 20:38:35 +01:00
Megamouse
1c22cc2f52 overlays: add trophy list dialog 2025-01-01 13:42:21 +01:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers (#16403)
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.

Notes to programmers:

* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.

Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
RipleyTom
c49ff490bc Fix scenp_score_record_score param check 2024-09-29 12:09:11 +03:00
RipleyTom
3d9c8a670e Implement old matching API 2024-09-19 20:34:56 +02:00
Elad Ashkenazi
7f92d6003d sceNp: Silence a few functions 2024-08-14 11:53:00 +03:00
Ninetime
7d84d084a4
Enable user to change country code (#15884) 2024-08-10 22:33:38 +02:00
Silent
c0808448be sceNp: Fix sending partial results from sceNpScoreRecordGameData
Fixes Ghost Data in Ridge Racer 7
2024-07-22 21:52:33 +02:00
Silent
f3ceebabd9 sceNp: Improve SceNpCommunicationId logging 2024-07-18 21:42:07 +03:00
RipleyTom
dd9b3c651f Support old sceNpScoreRankData 2024-07-18 18:29:49 +02:00
Elad Ashkenazi
f18e3be4f2
Cut scenNpDrmIsAvailable sleep time by half 2024-06-25 10:02:53 +03:00
Megamouse
c8e2b9cb99 sceNp: add some more array pointer checks 2024-06-12 00:18:37 +02:00
oltolm
9e9a3262eb simplify template code like std::is_same<T>::value 2024-04-21 18:15:17 +03:00
RipleyTom
cb6186ea60 Initialize CB in cellSysutilAvc2Load 2024-04-12 21:16:11 +03:00
RipleyTom
7674c29c78 Fix for sceNpScoreGetGameData 2024-02-29 15:12:22 +02:00
RipleyTom
2168511e5b Add check for score transactions being reused 2024-02-28 02:14:37 +01:00
RipleyTom
ac8e914a25
improves sig_ctx handling, sys_net logging and fixes udpp2p protocol (#15235) 2024-02-24 12:40:53 +01:00
RipleyTom
3acd442c2e sceNpBasicSendMessage fix 2024-02-22 05:33:29 +02:00
RipleyTom
26d406fec3 RPCN 1.1 2024-02-05 09:44:29 +01:00
Megamouse
e5cfe710fa sceNp: correct type for data attachment 2024-02-03 17:59:19 +01:00
Megamouse
2a0e2ce0a2 sceNp: don't preserve messages in sceNpBasicRecvMessageAttachment 2024-02-03 17:59:19 +01:00
Megamouse
8bc3a39586 sceNp: implement sceNpBasicAbortGui 2024-02-03 17:59:19 +01:00
Megamouse
e13a671f86 sceNp: Implement sceNpBasicRecvMessageAttachment 2024-02-03 17:59:19 +01:00
RipleyTom
c589001dff Add player history 2024-02-03 08:45:29 +01:00
Megamouse
c271415328 sceNp: decrease some log levels from todo to warning 2024-01-31 16:33:29 +01:00
Megamouse
d7f317fa58 Add UI to sceNpBasicSendMessageAttachment and sceNpBasicAddFriend 2024-01-31 16:33:29 +01:00
Megamouse
3f2c34edd2 sceNp: silence some errors 2024-01-31 16:33:29 +01:00
Megamouse
566a8ac5ac scnNp: add ppu wait before opening blocking dialogs 2024-01-31 16:33:29 +01:00
Megamouse
71b5bc4fe6 sceNp: add more error checks 2024-01-31 16:33:29 +01:00
Megamouse
23dc6a44f6 overlays: implement native sendmessage dialog 2024-01-31 16:33:29 +01:00
Megamouse
9ef5a01de4 overlays: implement native recvmessage dialog 2024-01-31 16:33:29 +01:00
Megamouse
fa7ef870dd sceNp: disable Canonicalize functions for RPCN 2024-01-14 22:55:03 +01:00
Megamouse
ecacb874e4 sceNpCommerce: more error checks 2024-01-14 22:55:03 +01:00
Megamouse
0b2e0a1b28 sceNpCommerce: add error constants 2024-01-14 22:55:03 +01:00
Megamouse
a08d60fbbe sceNpFriendlist: more checks 2024-01-14 22:55:03 +01:00
Megamouse
ef6041c14f sceNpMatching: simplify linked list for loops 2024-01-14 22:55:03 +01:00
Megamouse
25954758d7 sceNpMatching: add error checks 2024-01-14 22:55:03 +01:00
RipleyTom
fe9a24a1b8
RPCN 1.0 (#15045) 2024-01-14 12:36:23 +01:00
RipleyTom
485fca34b0 Misc NP fixes 2024-01-08 14:03:15 +01:00
RipleyTom
74e084c893 Improve sceNpEula 2024-01-07 14:50:45 +01:00
RipleyTom
47ae192cf8 Impl sceNpBasicSendMessage 2024-01-07 13:36:27 +01:00
RipleyTom
0227b16d06 Fix sceNpBasicSetPresence when data is nullptr and size is 0 2024-01-05 22:34:52 +01:00
RipleyTom
b6e9746198
RPCN 0.9 (#15002) 2024-01-05 09:43:26 +01:00
Megamouse
b1c48e66c9 sceNp: fix size_t data types 2023-12-30 19:07:35 +01:00
RipleyTom
a96f9d9bfb Fix sceNpManagerGetNetworkTime called before rpcn connection 2023-12-30 02:00:21 +01:00
RipleyTom
03761c5dd4 rpcn 0.8 2023-12-29 19:22:49 +01:00
Megamouse
d08c7a9b96 sceNpDrm: improve error handling of rap files 2023-12-20 22:22:51 +01:00
Eladash
60baa49007 sceNp/vm: Fix strings read, implement safe string reader 2023-12-12 21:23:33 +02:00
Eladash
f07e17f6aa sceNp: Cut inactive time of DrmIsAvailable in half 2023-10-02 21:18:08 +03:00
Eladash
4794869bd8 sceNpDrm: Slow down sceNpDrmIsAvailable 2023-08-23 10:14:29 +03:00