diff --git a/rpcs3/Emu/NP/fb_helpers.cpp b/rpcs3/Emu/NP/fb_helpers.cpp index c4d7f90ab7..61a860810e 100644 --- a/rpcs3/Emu/NP/fb_helpers.cpp +++ b/rpcs3/Emu/NP/fb_helpers.cpp @@ -378,12 +378,7 @@ void np_handler::RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpd sce_update_info->newRoomDataInternal = room_data; RoomDataInternal_to_SceNpMatching2RoomDataInternal(update_info->newRoomDataInternal(), sce_update_info->newRoomDataInternal.get_ptr(), npid); - if (update_info->newFlagAttr() == update_info->prevFlagAttr()) - { - sce_update_info->newFlagAttr.set(0); - sce_update_info->prevFlagAttr.set(0); - } - else + if (sce_update_info->newRoomDataInternal->flagAttr != update_info->prevFlagAttr()) { sce_update_info->newFlagAttr = sce_update_info->newRoomDataInternal.ptr(&SceNpMatching2RoomDataInternal::flagAttr); @@ -392,12 +387,7 @@ void np_handler::RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpd sce_update_info->prevFlagAttr = prev_flag_attr; } - if (update_info->newRoomPasswordSlotMask() == update_info->prevRoomPasswordSlotMask()) - { - sce_update_info->newRoomPasswordSlotMask.set(0); - sce_update_info->prevRoomPasswordSlotMask.set(0); - } - else + if (sce_update_info->newRoomDataInternal->passwordSlotMask != update_info->prevRoomPasswordSlotMask()) { sce_update_info->newRoomPasswordSlotMask = sce_update_info->newRoomDataInternal.ptr(&SceNpMatching2RoomDataInternal::passwordSlotMask); @@ -418,13 +408,20 @@ void np_handler::RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpd if (update_info->newRoomBinAttrInternal() && update_info->newRoomBinAttrInternal()->size() != 0) { + const auto get_ptr_for_binattr = [&](u16 binattr_id) -> vm::ptr { + vm::ptr ret_ptr = sce_update_info->newRoomDataInternal->roomBinAttrInternal; + while (ret_ptr->data.id != binattr_id) + { + ret_ptr++; + } + return ret_ptr; + }; + sce_update_info->newRoomBinAttrInternalNum = update_info->newRoomBinAttrInternal()->size(); vm::bpptr binattr_info_array(allocate(4 * sce_update_info->newRoomBinAttrInternalNum)); for (uint i = 0; i < sce_update_info->newRoomBinAttrInternalNum; ++i) { - vm::ptr binattr_info = allocate(sizeof(SceNpMatching2RoomBinAttrInternal) * sce_update_info->newRoomBinAttrInternalNum); - binattr_info_array[i] = binattr_info; - RoomBinAttrInternal_to_SceNpMatching2RoomBinAttrInternal(update_info->newRoomBinAttrInternal()->Get(i), binattr_info); + binattr_info_array[i] = get_ptr_for_binattr(update_info->newRoomBinAttrInternal()->Get(i)); } sce_update_info->newRoomBinAttrInternal = binattr_info_array; } @@ -436,12 +433,7 @@ void np_handler::RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDat sce_update_info->newRoomMemberDataInternal = room_member_data; RoomMemberDataInternal_to_SceNpMatching2RoomMemberDataInternal(update_info->newRoomMemberDataInternal(), nullptr, sce_update_info->newRoomMemberDataInternal.get_ptr()); - if (update_info->newFlagAttr() == update_info->prevFlagAttr()) - { - sce_update_info->newFlagAttr.set(0); - sce_update_info->prevFlagAttr.set(0); - } - else + if (sce_update_info->newRoomMemberDataInternal->flagAttr != update_info->prevFlagAttr()) { sce_update_info->newFlagAttr = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::flagAttr); @@ -450,17 +442,32 @@ void np_handler::RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDat sce_update_info->prevFlagAttr = prev_flag_attr; } - sce_update_info->newTeamId = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::teamId); - + if (sce_update_info->newRoomMemberDataInternal->teamId != update_info->prevTeamId()) + { + sce_update_info->newTeamId = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::teamId); + } + if (update_info->newRoomMemberBinAttrInternal() && update_info->newRoomMemberBinAttrInternal()->size() != 0) { sce_update_info->newRoomMemberBinAttrInternalNum = update_info->newRoomMemberBinAttrInternal()->size(); vm::bpptr binattr_info_array(allocate(4 * sce_update_info->newRoomMemberBinAttrInternalNum)); + + auto get_binattr_vmptr = [&](u16 wanted_id) -> vm::ptr { + for (u32 i = 0; i < sce_update_info->newRoomMemberDataInternal->roomMemberBinAttrInternalNum; i++) + { + if (sce_update_info->newRoomMemberDataInternal->roomMemberBinAttrInternal[i].data.id == wanted_id) + { + return sce_update_info->newRoomMemberDataInternal->roomMemberBinAttrInternal + i; + } + } + + rpcn_log.fatal("RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDataInternalUpdateInfo: Invalid data from server!"); + return vm::null; + }; + for (uint i = 0; i < sce_update_info->newRoomMemberBinAttrInternalNum; ++i) { - vm::ptr binattr_info = allocate(sizeof(SceNpMatching2RoomMemberBinAttrInternal) * sce_update_info->newRoomMemberBinAttrInternalNum); - binattr_info_array[i] = binattr_info; - RoomMemberBinAttrInternal_to_SceNpMatching2RoomMemberBinAttrInternal(update_info->newRoomMemberBinAttrInternal()->Get(i), binattr_info); + binattr_info_array[i] = get_binattr_vmptr(update_info->newRoomMemberBinAttrInternal()->Get(i)); } sce_update_info->newRoomMemberBinAttrInternal = binattr_info_array; } diff --git a/rpcs3/Emu/NP/generated/np2_structs.fbs b/rpcs3/Emu/NP/generated/np2_structs.fbs index e76ab06bdc..40373f170e 100644 --- a/rpcs3/Emu/NP/generated/np2_structs.fbs +++ b/rpcs3/Emu/NP/generated/np2_structs.fbs @@ -197,8 +197,6 @@ table SetRoomMemberDataInternalRequest { roomId:uint64; memberId:uint16; teamId:uint8; - flagFilter:uint32; - flagAttr:uint32; roomMemberBinAttrInternal:[BinAttr]; } @@ -221,20 +219,17 @@ table RoomUpdateInfo { table RoomDataInternalUpdateInfo { newRoomDataInternal:RoomDataInternal; - newFlagAttr:uint32; prevFlagAttr:uint32; - newRoomPasswordSlotMask:uint64; prevRoomPasswordSlotMask:uint64; - newRoomGroup:[RoomGroup]; - newRoomBinAttrInternal:[BinAttrInternal]; + newRoomGroup:[uint8]; + newRoomBinAttrInternal:[uint16]; } table RoomMemberDataInternalUpdateInfo { newRoomMemberDataInternal:RoomMemberDataInternal; - newFlagAttr:uint32; prevFlagAttr:uint32; - newTeamId:uint8; - newRoomMemberBinAttrInternal:[RoomMemberBinAttrInternal]; + prevTeamId:uint8; + newRoomMemberBinAttrInternal:[uint16]; } table GetPingInfoResponse { diff --git a/rpcs3/Emu/NP/generated/np2_structs_generated.h b/rpcs3/Emu/NP/generated/np2_structs_generated.h index 93a74f3a64..dba52659a6 100644 --- a/rpcs3/Emu/NP/generated/np2_structs_generated.h +++ b/rpcs3/Emu/NP/generated/np2_structs_generated.h @@ -2514,9 +2514,7 @@ struct SetRoomMemberDataInternalRequest FLATBUFFERS_FINAL_CLASS : private flatbu VT_ROOMID = 4, VT_MEMBERID = 6, VT_TEAMID = 8, - VT_FLAGFILTER = 10, - VT_FLAGATTR = 12, - VT_ROOMMEMBERBINATTRINTERNAL = 14 + VT_ROOMMEMBERBINATTRINTERNAL = 10 }; uint64_t roomId() const { return GetField(VT_ROOMID, 0); @@ -2527,12 +2525,6 @@ struct SetRoomMemberDataInternalRequest FLATBUFFERS_FINAL_CLASS : private flatbu uint8_t teamId() const { return GetField(VT_TEAMID, 0); } - uint32_t flagFilter() const { - return GetField(VT_FLAGFILTER, 0); - } - uint32_t flagAttr() const { - return GetField(VT_FLAGATTR, 0); - } const flatbuffers::Vector> *roomMemberBinAttrInternal() const { return GetPointer> *>(VT_ROOMMEMBERBINATTRINTERNAL); } @@ -2541,8 +2533,6 @@ struct SetRoomMemberDataInternalRequest FLATBUFFERS_FINAL_CLASS : private flatbu VerifyField(verifier, VT_ROOMID) && VerifyField(verifier, VT_MEMBERID) && VerifyField(verifier, VT_TEAMID) && - VerifyField(verifier, VT_FLAGFILTER) && - VerifyField(verifier, VT_FLAGATTR) && VerifyOffset(verifier, VT_ROOMMEMBERBINATTRINTERNAL) && verifier.VerifyVector(roomMemberBinAttrInternal()) && verifier.VerifyVectorOfTables(roomMemberBinAttrInternal()) && @@ -2563,12 +2553,6 @@ struct SetRoomMemberDataInternalRequestBuilder { void add_teamId(uint8_t teamId) { fbb_.AddElement(SetRoomMemberDataInternalRequest::VT_TEAMID, teamId, 0); } - void add_flagFilter(uint32_t flagFilter) { - fbb_.AddElement(SetRoomMemberDataInternalRequest::VT_FLAGFILTER, flagFilter, 0); - } - void add_flagAttr(uint32_t flagAttr) { - fbb_.AddElement(SetRoomMemberDataInternalRequest::VT_FLAGATTR, flagAttr, 0); - } void add_roomMemberBinAttrInternal(flatbuffers::Offset>> roomMemberBinAttrInternal) { fbb_.AddOffset(SetRoomMemberDataInternalRequest::VT_ROOMMEMBERBINATTRINTERNAL, roomMemberBinAttrInternal); } @@ -2588,14 +2572,10 @@ inline flatbuffers::Offset CreateSetRoomMember uint64_t roomId = 0, uint16_t memberId = 0, uint8_t teamId = 0, - uint32_t flagFilter = 0, - uint32_t flagAttr = 0, flatbuffers::Offset>> roomMemberBinAttrInternal = 0) { SetRoomMemberDataInternalRequestBuilder builder_(_fbb); builder_.add_roomId(roomId); builder_.add_roomMemberBinAttrInternal(roomMemberBinAttrInternal); - builder_.add_flagAttr(flagAttr); - builder_.add_flagFilter(flagFilter); builder_.add_memberId(memberId); builder_.add_teamId(teamId); return builder_.Finish(); @@ -2606,8 +2586,6 @@ inline flatbuffers::Offset CreateSetRoomMember uint64_t roomId = 0, uint16_t memberId = 0, uint8_t teamId = 0, - uint32_t flagFilter = 0, - uint32_t flagAttr = 0, const std::vector> *roomMemberBinAttrInternal = nullptr) { auto roomMemberBinAttrInternal__ = roomMemberBinAttrInternal ? _fbb.CreateVector>(*roomMemberBinAttrInternal) : 0; return CreateSetRoomMemberDataInternalRequest( @@ -2615,8 +2593,6 @@ inline flatbuffers::Offset CreateSetRoomMember roomId, memberId, teamId, - flagFilter, - flagAttr, roomMemberBinAttrInternal__); } @@ -2812,48 +2788,36 @@ struct RoomDataInternalUpdateInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers: typedef RoomDataInternalUpdateInfoBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NEWROOMDATAINTERNAL = 4, - VT_NEWFLAGATTR = 6, - VT_PREVFLAGATTR = 8, - VT_NEWROOMPASSWORDSLOTMASK = 10, - VT_PREVROOMPASSWORDSLOTMASK = 12, - VT_NEWROOMGROUP = 14, - VT_NEWROOMBINATTRINTERNAL = 16 + VT_PREVFLAGATTR = 6, + VT_PREVROOMPASSWORDSLOTMASK = 8, + VT_NEWROOMGROUP = 10, + VT_NEWROOMBINATTRINTERNAL = 12 }; const RoomDataInternal *newRoomDataInternal() const { return GetPointer(VT_NEWROOMDATAINTERNAL); } - uint32_t newFlagAttr() const { - return GetField(VT_NEWFLAGATTR, 0); - } uint32_t prevFlagAttr() const { return GetField(VT_PREVFLAGATTR, 0); } - uint64_t newRoomPasswordSlotMask() const { - return GetField(VT_NEWROOMPASSWORDSLOTMASK, 0); - } uint64_t prevRoomPasswordSlotMask() const { return GetField(VT_PREVROOMPASSWORDSLOTMASK, 0); } - const flatbuffers::Vector> *newRoomGroup() const { - return GetPointer> *>(VT_NEWROOMGROUP); + const flatbuffers::Vector *newRoomGroup() const { + return GetPointer *>(VT_NEWROOMGROUP); } - const flatbuffers::Vector> *newRoomBinAttrInternal() const { - return GetPointer> *>(VT_NEWROOMBINATTRINTERNAL); + const flatbuffers::Vector *newRoomBinAttrInternal() const { + return GetPointer *>(VT_NEWROOMBINATTRINTERNAL); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NEWROOMDATAINTERNAL) && verifier.VerifyTable(newRoomDataInternal()) && - VerifyField(verifier, VT_NEWFLAGATTR) && VerifyField(verifier, VT_PREVFLAGATTR) && - VerifyField(verifier, VT_NEWROOMPASSWORDSLOTMASK) && VerifyField(verifier, VT_PREVROOMPASSWORDSLOTMASK) && VerifyOffset(verifier, VT_NEWROOMGROUP) && verifier.VerifyVector(newRoomGroup()) && - verifier.VerifyVectorOfTables(newRoomGroup()) && VerifyOffset(verifier, VT_NEWROOMBINATTRINTERNAL) && verifier.VerifyVector(newRoomBinAttrInternal()) && - verifier.VerifyVectorOfTables(newRoomBinAttrInternal()) && verifier.EndTable(); } }; @@ -2865,22 +2829,16 @@ struct RoomDataInternalUpdateInfoBuilder { void add_newRoomDataInternal(flatbuffers::Offset newRoomDataInternal) { fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMDATAINTERNAL, newRoomDataInternal); } - void add_newFlagAttr(uint32_t newFlagAttr) { - fbb_.AddElement(RoomDataInternalUpdateInfo::VT_NEWFLAGATTR, newFlagAttr, 0); - } void add_prevFlagAttr(uint32_t prevFlagAttr) { fbb_.AddElement(RoomDataInternalUpdateInfo::VT_PREVFLAGATTR, prevFlagAttr, 0); } - void add_newRoomPasswordSlotMask(uint64_t newRoomPasswordSlotMask) { - fbb_.AddElement(RoomDataInternalUpdateInfo::VT_NEWROOMPASSWORDSLOTMASK, newRoomPasswordSlotMask, 0); - } void add_prevRoomPasswordSlotMask(uint64_t prevRoomPasswordSlotMask) { fbb_.AddElement(RoomDataInternalUpdateInfo::VT_PREVROOMPASSWORDSLOTMASK, prevRoomPasswordSlotMask, 0); } - void add_newRoomGroup(flatbuffers::Offset>> newRoomGroup) { + void add_newRoomGroup(flatbuffers::Offset> newRoomGroup) { fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMGROUP, newRoomGroup); } - void add_newRoomBinAttrInternal(flatbuffers::Offset>> newRoomBinAttrInternal) { + void add_newRoomBinAttrInternal(flatbuffers::Offset> newRoomBinAttrInternal) { fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMBINATTRINTERNAL, newRoomBinAttrInternal); } explicit RoomDataInternalUpdateInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb) @@ -2897,19 +2855,15 @@ struct RoomDataInternalUpdateInfoBuilder { inline flatbuffers::Offset CreateRoomDataInternalUpdateInfo( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset newRoomDataInternal = 0, - uint32_t newFlagAttr = 0, uint32_t prevFlagAttr = 0, - uint64_t newRoomPasswordSlotMask = 0, uint64_t prevRoomPasswordSlotMask = 0, - flatbuffers::Offset>> newRoomGroup = 0, - flatbuffers::Offset>> newRoomBinAttrInternal = 0) { + flatbuffers::Offset> newRoomGroup = 0, + flatbuffers::Offset> newRoomBinAttrInternal = 0) { RoomDataInternalUpdateInfoBuilder builder_(_fbb); builder_.add_prevRoomPasswordSlotMask(prevRoomPasswordSlotMask); - builder_.add_newRoomPasswordSlotMask(newRoomPasswordSlotMask); builder_.add_newRoomBinAttrInternal(newRoomBinAttrInternal); builder_.add_newRoomGroup(newRoomGroup); builder_.add_prevFlagAttr(prevFlagAttr); - builder_.add_newFlagAttr(newFlagAttr); builder_.add_newRoomDataInternal(newRoomDataInternal); return builder_.Finish(); } @@ -2917,20 +2871,16 @@ inline flatbuffers::Offset CreateRoomDataInternalUpd inline flatbuffers::Offset CreateRoomDataInternalUpdateInfoDirect( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset newRoomDataInternal = 0, - uint32_t newFlagAttr = 0, uint32_t prevFlagAttr = 0, - uint64_t newRoomPasswordSlotMask = 0, uint64_t prevRoomPasswordSlotMask = 0, - const std::vector> *newRoomGroup = nullptr, - const std::vector> *newRoomBinAttrInternal = nullptr) { - auto newRoomGroup__ = newRoomGroup ? _fbb.CreateVector>(*newRoomGroup) : 0; - auto newRoomBinAttrInternal__ = newRoomBinAttrInternal ? _fbb.CreateVector>(*newRoomBinAttrInternal) : 0; + const std::vector *newRoomGroup = nullptr, + const std::vector *newRoomBinAttrInternal = nullptr) { + auto newRoomGroup__ = newRoomGroup ? _fbb.CreateVector(*newRoomGroup) : 0; + auto newRoomBinAttrInternal__ = newRoomBinAttrInternal ? _fbb.CreateVector(*newRoomBinAttrInternal) : 0; return CreateRoomDataInternalUpdateInfo( _fbb, newRoomDataInternal, - newFlagAttr, prevFlagAttr, - newRoomPasswordSlotMask, prevRoomPasswordSlotMask, newRoomGroup__, newRoomBinAttrInternal__); @@ -2940,36 +2890,30 @@ struct RoomMemberDataInternalUpdateInfo FLATBUFFERS_FINAL_CLASS : private flatbu typedef RoomMemberDataInternalUpdateInfoBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NEWROOMMEMBERDATAINTERNAL = 4, - VT_NEWFLAGATTR = 6, - VT_PREVFLAGATTR = 8, - VT_NEWTEAMID = 10, - VT_NEWROOMMEMBERBINATTRINTERNAL = 12 + VT_PREVFLAGATTR = 6, + VT_PREVTEAMID = 8, + VT_NEWROOMMEMBERBINATTRINTERNAL = 10 }; const RoomMemberDataInternal *newRoomMemberDataInternal() const { return GetPointer(VT_NEWROOMMEMBERDATAINTERNAL); } - uint32_t newFlagAttr() const { - return GetField(VT_NEWFLAGATTR, 0); - } uint32_t prevFlagAttr() const { return GetField(VT_PREVFLAGATTR, 0); } - uint8_t newTeamId() const { - return GetField(VT_NEWTEAMID, 0); + uint8_t prevTeamId() const { + return GetField(VT_PREVTEAMID, 0); } - const flatbuffers::Vector> *newRoomMemberBinAttrInternal() const { - return GetPointer> *>(VT_NEWROOMMEMBERBINATTRINTERNAL); + const flatbuffers::Vector *newRoomMemberBinAttrInternal() const { + return GetPointer *>(VT_NEWROOMMEMBERBINATTRINTERNAL); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NEWROOMMEMBERDATAINTERNAL) && verifier.VerifyTable(newRoomMemberDataInternal()) && - VerifyField(verifier, VT_NEWFLAGATTR) && VerifyField(verifier, VT_PREVFLAGATTR) && - VerifyField(verifier, VT_NEWTEAMID) && + VerifyField(verifier, VT_PREVTEAMID) && VerifyOffset(verifier, VT_NEWROOMMEMBERBINATTRINTERNAL) && verifier.VerifyVector(newRoomMemberBinAttrInternal()) && - verifier.VerifyVectorOfTables(newRoomMemberBinAttrInternal()) && verifier.EndTable(); } }; @@ -2981,16 +2925,13 @@ struct RoomMemberDataInternalUpdateInfoBuilder { void add_newRoomMemberDataInternal(flatbuffers::Offset newRoomMemberDataInternal) { fbb_.AddOffset(RoomMemberDataInternalUpdateInfo::VT_NEWROOMMEMBERDATAINTERNAL, newRoomMemberDataInternal); } - void add_newFlagAttr(uint32_t newFlagAttr) { - fbb_.AddElement(RoomMemberDataInternalUpdateInfo::VT_NEWFLAGATTR, newFlagAttr, 0); - } void add_prevFlagAttr(uint32_t prevFlagAttr) { fbb_.AddElement(RoomMemberDataInternalUpdateInfo::VT_PREVFLAGATTR, prevFlagAttr, 0); } - void add_newTeamId(uint8_t newTeamId) { - fbb_.AddElement(RoomMemberDataInternalUpdateInfo::VT_NEWTEAMID, newTeamId, 0); + void add_prevTeamId(uint8_t prevTeamId) { + fbb_.AddElement(RoomMemberDataInternalUpdateInfo::VT_PREVTEAMID, prevTeamId, 0); } - void add_newRoomMemberBinAttrInternal(flatbuffers::Offset>> newRoomMemberBinAttrInternal) { + void add_newRoomMemberBinAttrInternal(flatbuffers::Offset> newRoomMemberBinAttrInternal) { fbb_.AddOffset(RoomMemberDataInternalUpdateInfo::VT_NEWROOMMEMBERBINATTRINTERNAL, newRoomMemberBinAttrInternal); } explicit RoomMemberDataInternalUpdateInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb) @@ -3007,33 +2948,29 @@ struct RoomMemberDataInternalUpdateInfoBuilder { inline flatbuffers::Offset CreateRoomMemberDataInternalUpdateInfo( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset newRoomMemberDataInternal = 0, - uint32_t newFlagAttr = 0, uint32_t prevFlagAttr = 0, - uint8_t newTeamId = 0, - flatbuffers::Offset>> newRoomMemberBinAttrInternal = 0) { + uint8_t prevTeamId = 0, + flatbuffers::Offset> newRoomMemberBinAttrInternal = 0) { RoomMemberDataInternalUpdateInfoBuilder builder_(_fbb); builder_.add_newRoomMemberBinAttrInternal(newRoomMemberBinAttrInternal); builder_.add_prevFlagAttr(prevFlagAttr); - builder_.add_newFlagAttr(newFlagAttr); builder_.add_newRoomMemberDataInternal(newRoomMemberDataInternal); - builder_.add_newTeamId(newTeamId); + builder_.add_prevTeamId(prevTeamId); return builder_.Finish(); } inline flatbuffers::Offset CreateRoomMemberDataInternalUpdateInfoDirect( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset newRoomMemberDataInternal = 0, - uint32_t newFlagAttr = 0, uint32_t prevFlagAttr = 0, - uint8_t newTeamId = 0, - const std::vector> *newRoomMemberBinAttrInternal = nullptr) { - auto newRoomMemberBinAttrInternal__ = newRoomMemberBinAttrInternal ? _fbb.CreateVector>(*newRoomMemberBinAttrInternal) : 0; + uint8_t prevTeamId = 0, + const std::vector *newRoomMemberBinAttrInternal = nullptr) { + auto newRoomMemberBinAttrInternal__ = newRoomMemberBinAttrInternal ? _fbb.CreateVector(*newRoomMemberBinAttrInternal) : 0; return CreateRoomMemberDataInternalUpdateInfo( _fbb, newRoomMemberDataInternal, - newFlagAttr, prevFlagAttr, - newTeamId, + prevTeamId, newRoomMemberBinAttrInternal__); } diff --git a/rpcs3/Emu/NP/rpcn_client.cpp b/rpcs3/Emu/NP/rpcn_client.cpp index 759c3aa044..e52ea4a884 100644 --- a/rpcs3/Emu/NP/rpcn_client.cpp +++ b/rpcs3/Emu/NP/rpcn_client.cpp @@ -1490,7 +1490,7 @@ namespace rpcn final_binattrinternal_vec = builder.CreateVector(davec); } - auto req_finished = CreateSetRoomMemberDataInternalRequest(builder, req->roomId, req->memberId, req->teamId, req->flagFilter, req->flagAttr, final_binattrinternal_vec); + auto req_finished = CreateSetRoomMemberDataInternalRequest(builder, req->roomId, req->memberId, req->teamId, final_binattrinternal_vec); builder.Finish(req_finished); u8* buf = builder.GetBufferPointer(); @@ -1667,6 +1667,7 @@ namespace rpcn case CreationBannedEmailProvider: rpcn_log.error("Error creating an account: banned email provider!"); break; case CreationExistingEmail: rpcn_log.error("Error creating an account: an account with that email already exist!"); break; case AlreadyJoined: rpcn_log.error("User has already joined!"); break; + case Unauthorized: rpcn_log.error("User attempted an unauthorized operation!"); case DbFail: rpcn_log.error("A db query failed on the server!"); break; case EmailFail: rpcn_log.error("An email action failed on the server!"); break; case NotFound: rpcn_log.error("A request replied not found!"); break; diff --git a/rpcs3/Emu/NP/rpcn_client.h b/rpcs3/Emu/NP/rpcn_client.h index 6c5c3bfa03..70b210a572 100644 --- a/rpcs3/Emu/NP/rpcn_client.h +++ b/rpcs3/Emu/NP/rpcn_client.h @@ -190,6 +190,7 @@ namespace rpcn CreationBannedEmailProvider, // Specific to Account Creation: the email provider is banned CreationExistingEmail, // Specific to Account Creation: that email is already registered to an account AlreadyJoined, // User tried to join a room he's already part of + Unauthorized, // User attempted an unauthorized operation DbFail, // Generic failure on db side EmailFail, // Generic failure related to email NotFound, // Object of the query was not found(room, user, etc)