From de9184f03c7abfbc39c5d58d4e83885f4abe6b5b Mon Sep 17 00:00:00 2001 From: Cri4Key Date: Fri, 4 Sep 2026 11:53:26 +0200 Subject: [PATCH] Add broadcast socket option keeper --- rpcs3/Emu/Cell/lv2/sys_net/lv2_socket.h | 2 ++ rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2p.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket.h b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket.h index 4cf9d02392..68b995d30d 100644 --- a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket.h +++ b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket.h @@ -138,6 +138,8 @@ protected: // Socket options value keepers // Non-blocking IO option s32 so_nbio = 0; + // Broadcast option + s32 so_broadcast = 0; // Error, only used for connection result for non blocking stream sockets s32 so_error = 0; // Unsupported option diff --git a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2p.cpp b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2p.cpp index d6f98d218a..d037309978 100644 --- a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2p.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2p.cpp @@ -219,6 +219,10 @@ s32 lv2_socket_p2p::setsockopt(s32 level, s32 optname, const std::vector& op { so_nbio = native_int; } + else if (level == SYS_NET_SOL_SOCKET && optname == SYS_NET_SO_BROADCAST) + { + so_broadcast = native_int; + } const u64 key = (static_cast(level) << 32) | static_cast(optname); sockopt_cache cache{};