From 49003a4d89b91562d3bb10e610f9156f3fff9765 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 13 Jul 2025 09:05:22 -0400 Subject: [PATCH] Add FreeCompanyInfo IPC opcode --- resources/opcodes.json | 5 +++++ src/ipc/zone/mod.rs | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/resources/opcodes.json b/resources/opcodes.json index 6445209..2a263b9 100644 --- a/resources/opcodes.json +++ b/resources/opcodes.json @@ -274,6 +274,11 @@ "name": "UpdateSearchInfo", "opcode": 415, "size": 216 + }, + { + "name": "FreeCompanyInfo", + "opcode": 892, + "size": 80 } ], "ClientZoneIpcType": [ diff --git a/src/ipc/zone/mod.rs b/src/ipc/zone/mod.rs index 34733d0..d94150e 100644 --- a/src/ipc/zone/mod.rs +++ b/src/ipc/zone/mod.rs @@ -457,6 +457,8 @@ pub enum ServerZoneIpcData { #[bw(map = write_string)] message: String, }, + #[br(pre_assert(*magic == ServerZoneIpcType::FreeCompanyInfo))] + FreeCompanyInfo { unk: [u8; 80] }, Unknown { #[br(count = size - 32)] unk: Vec, @@ -904,6 +906,20 @@ mod tests { data: [0; 15], }, ), + ( + ServerZoneIpcType::UpdateSearchInfo, + ServerZoneIpcData::UpdateSearchInfo { + online_status_flags: 0, + unk1: 0, + unk2: 0, + region: 0, + message: String::default(), + }, + ), + ( + ServerZoneIpcType::FreeCompanyInfo, + ServerZoneIpcData::FreeCompanyInfo { unk: [0; 80] }, + ), ]; for (opcode, data) in &ipc_types {