diff --git a/rpcs3/Emu/Cell/Modules/sceNp.cpp b/rpcs3/Emu/Cell/Modules/sceNp.cpp index 68c6eff819..f47b3b88f1 100644 --- a/rpcs3/Emu/Cell/Modules/sceNp.cpp +++ b/rpcs3/Emu/Cell/Modules/sceNp.cpp @@ -4468,7 +4468,7 @@ error_code sceNpSignalingGetCtxOpt(u32 ctx_id, s32 optname, vm::ptr optval) error_code sceNpSignalingActivateConnection(u32 ctx_id, vm::ptr npId, vm::ptr conn_id) { - sceNp.warning("sceNpSignalingActivateConnection(ctx_id=%d, npId=*0x%x, conn_id=%d)", ctx_id, npId, conn_id); + sceNp.warning("sceNpSignalingActivateConnection(ctx_id=%d, npId=*0x%x, conn_id=*0x%x)", ctx_id, npId, conn_id); const auto nph = g_fxo->get>(); diff --git a/rpcs3/Emu/NP/signaling_handler.cpp b/rpcs3/Emu/NP/signaling_handler.cpp index d06c088ed0..81b634309e 100644 --- a/rpcs3/Emu/NP/signaling_handler.cpp +++ b/rpcs3/Emu/NP/signaling_handler.cpp @@ -503,7 +503,11 @@ std::shared_ptr signaling_handler::get_signaling_ptr(const signa void signaling_handler::start_sig(u32 conn_id, u32 addr, u16 port) { std::lock_guard lock(data_mutex); + start_sig_nl(conn_id, addr, port); +} +void signaling_handler::start_sig_nl(u32 conn_id, u32 addr, u16 port) +{ auto& sent_packet = sig1_packet; sent_packet.command = signal_connect; @@ -593,7 +597,7 @@ u32 signaling_handler::init_sig_infos(const SceNpId* npid) { sign_log.trace("Activating already peer activated connection"); sig1_peers[conn_id]->ext_status = ext_sign_mutual; - start_sig(conn_id, sig1_peers[conn_id]->addr, sig1_peers[conn_id]->port); + start_sig_nl(conn_id, sig1_peers[conn_id]->addr, sig1_peers[conn_id]->port); signal_sig_callback(conn_id, SCE_NP_SIGNALING_EVENT_ESTABLISHED); signal_ext_sig_callback(conn_id, SCE_NP_SIGNALING_EVENT_EXT_MUTUAL_ACTIVATED); } diff --git a/rpcs3/Emu/NP/signaling_handler.h b/rpcs3/Emu/NP/signaling_handler.h index 0042e2fd38..c6de6adebd 100644 --- a/rpcs3/Emu/NP/signaling_handler.h +++ b/rpcs3/Emu/NP/signaling_handler.h @@ -123,6 +123,9 @@ private: void signal_ext_sig_callback(u32 conn_id, int event); void signal_sig2_callback(u64 room_id, u16 member_id, SceNpMatching2Event event); +private: + void start_sig_nl(u32 conn_id, u32 addr, u16 port); + private: bool validate_signaling_packet(const signaling_packet* sp); void reschedule_packet(std::shared_ptr& si, SignalingCommand cmd, std::chrono::time_point new_timepoint);