mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 22:19:02 +00:00
RPCN v0.7
Bump protocol version Improve signaling RTT calculation for client Implement score game data functions Various sceNpScore fixes Verify flatbuffer buffers Use std::variant for transaction specific data
This commit is contained in:
parent
87797e117e
commit
01c285fc4a
15 changed files with 762 additions and 318 deletions
|
|
@ -13,8 +13,8 @@ namespace np
|
|||
void np_handler::notif_user_joined_room(std::vector<u8>& data)
|
||||
{
|
||||
vec_stream noti(data);
|
||||
u64 room_id = noti.get<u64>();
|
||||
auto update_info_raw = noti.get_rawdata();
|
||||
u64 room_id = noti.get<u64>();
|
||||
auto* update_info = noti.get_flatbuffer<RoomMemberUpdateInfo>();
|
||||
|
||||
if (noti.is_error())
|
||||
{
|
||||
|
|
@ -24,9 +24,8 @@ namespace np
|
|||
|
||||
u32 event_key = get_event_key();
|
||||
|
||||
auto* update_info = flatbuffers::GetRoot<RoomMemberUpdateInfo>(update_info_raw.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMemberUpdateInfo, sizeof(SceNpMatching2RoomMemberUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMemberUpdateInfo*>(edata.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMemberUpdateInfo, sizeof(SceNpMatching2RoomMemberUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMemberUpdateInfo*>(edata.data());
|
||||
RoomMemberUpdateInfo_to_SceNpMatching2RoomMemberUpdateInfo(edata, update_info, notif_data);
|
||||
np_memory.shrink_allocation(edata.addr(), edata.size());
|
||||
|
||||
|
|
@ -45,8 +44,8 @@ namespace np
|
|||
void np_handler::notif_user_left_room(std::vector<u8>& data)
|
||||
{
|
||||
vec_stream noti(data);
|
||||
u64 room_id = noti.get<u64>();
|
||||
auto update_info_raw = noti.get_rawdata();
|
||||
u64 room_id = noti.get<u64>();
|
||||
auto* update_info = noti.get_flatbuffer<RoomMemberUpdateInfo>();
|
||||
|
||||
if (noti.is_error())
|
||||
{
|
||||
|
|
@ -56,9 +55,8 @@ namespace np
|
|||
|
||||
u32 event_key = get_event_key();
|
||||
|
||||
auto* update_info = flatbuffers::GetRoot<RoomMemberUpdateInfo>(update_info_raw.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMemberUpdateInfo, sizeof(SceNpMatching2RoomMemberUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMemberUpdateInfo*>(edata.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMemberUpdateInfo, sizeof(SceNpMatching2RoomMemberUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMemberUpdateInfo*>(edata.data());
|
||||
RoomMemberUpdateInfo_to_SceNpMatching2RoomMemberUpdateInfo(edata, update_info, notif_data);
|
||||
np_memory.shrink_allocation(edata.addr(), edata.size());
|
||||
|
||||
|
|
@ -77,8 +75,8 @@ namespace np
|
|||
void np_handler::notif_room_destroyed(std::vector<u8>& data)
|
||||
{
|
||||
vec_stream noti(data);
|
||||
u64 room_id = noti.get<u64>();
|
||||
auto update_info_raw = noti.get_rawdata();
|
||||
u64 room_id = noti.get<u64>();
|
||||
auto* update_info = noti.get_flatbuffer<RoomUpdateInfo>();
|
||||
|
||||
if (noti.is_error())
|
||||
{
|
||||
|
|
@ -88,9 +86,8 @@ namespace np
|
|||
|
||||
u32 event_key = get_event_key();
|
||||
|
||||
auto* update_info = flatbuffers::GetRoot<RoomUpdateInfo>(update_info_raw.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomUpdateInfo, sizeof(SceNpMatching2RoomUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomUpdateInfo*>(edata.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomUpdateInfo, sizeof(SceNpMatching2RoomUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomUpdateInfo*>(edata.data());
|
||||
RoomUpdateInfo_to_SceNpMatching2RoomUpdateInfo(update_info, notif_data);
|
||||
np_memory.shrink_allocation(edata.addr(), edata.size());
|
||||
|
||||
|
|
@ -110,7 +107,7 @@ namespace np
|
|||
{
|
||||
vec_stream noti(data);
|
||||
SceNpMatching2RoomId room_id = noti.get<u64>();
|
||||
auto update_info_raw = noti.get_rawdata();
|
||||
auto* update_info = noti.get_flatbuffer<RoomDataInternalUpdateInfo>();
|
||||
|
||||
if (noti.is_error())
|
||||
{
|
||||
|
|
@ -120,9 +117,8 @@ namespace np
|
|||
|
||||
u32 event_key = get_event_key();
|
||||
|
||||
auto* update_info = flatbuffers::GetRoot<RoomDataInternalUpdateInfo>(update_info_raw.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomDataInternalUpdateInfo, sizeof(SceNpMatching2RoomDataInternalUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomDataInternalUpdateInfo*>(edata.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomDataInternalUpdateInfo, sizeof(SceNpMatching2RoomDataInternalUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomDataInternalUpdateInfo*>(edata.data());
|
||||
RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpdateInfo(edata, update_info, notif_data, npid);
|
||||
np_memory.shrink_allocation(edata.addr(), edata.size());
|
||||
|
||||
|
|
@ -143,7 +139,7 @@ namespace np
|
|||
{
|
||||
vec_stream noti(data);
|
||||
SceNpMatching2RoomId room_id = noti.get<u64>();
|
||||
auto update_info_raw = noti.get_rawdata();
|
||||
auto* update_info = noti.get_flatbuffer<RoomMemberDataInternalUpdateInfo>();
|
||||
|
||||
if (noti.is_error())
|
||||
{
|
||||
|
|
@ -153,9 +149,8 @@ namespace np
|
|||
|
||||
u32 event_key = get_event_key();
|
||||
|
||||
auto* update_info = flatbuffers::GetRoot<RoomMemberDataInternalUpdateInfo>(update_info_raw.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMemberDataInternalUpdateInfo, sizeof(SceNpMatching2RoomMemberDataInternalUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMemberDataInternalUpdateInfo*>(edata.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMemberDataInternalUpdateInfo, sizeof(SceNpMatching2RoomMemberDataInternalUpdateInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMemberDataInternalUpdateInfo*>(edata.data());
|
||||
RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDataInternalUpdateInfo(edata, update_info, notif_data);
|
||||
np_memory.shrink_allocation(edata.addr(), edata.size());
|
||||
|
||||
|
|
@ -174,9 +169,9 @@ namespace np
|
|||
void np_handler::notif_room_message_received(std::vector<u8>& data)
|
||||
{
|
||||
vec_stream noti(data);
|
||||
u64 room_id = noti.get<u64>();
|
||||
u16 member_id = noti.get<u16>();
|
||||
auto message_info_raw = noti.get_rawdata();
|
||||
u64 room_id = noti.get<u64>();
|
||||
u16 member_id = noti.get<u16>();
|
||||
auto* message_info = noti.get_flatbuffer<RoomMessageInfo>();
|
||||
|
||||
if (noti.is_error())
|
||||
{
|
||||
|
|
@ -186,9 +181,8 @@ namespace np
|
|||
|
||||
u32 event_key = get_event_key();
|
||||
|
||||
auto* message_info = flatbuffers::GetRoot<RoomMessageInfo>(message_info_raw.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMessageInfo, sizeof(SceNpMatching2RoomMessageInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMessageInfo*>(edata.data());
|
||||
auto& edata = allocate_req_result(event_key, SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_RoomMessageInfo, sizeof(SceNpMatching2RoomMessageInfo));
|
||||
auto* notif_data = reinterpret_cast<SceNpMatching2RoomMessageInfo*>(edata.data());
|
||||
RoomMessageInfo_to_SceNpMatching2RoomMessageInfo(edata, message_info, notif_data);
|
||||
np_memory.shrink_allocation(edata.addr(), edata.size());
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue