1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-04-27 08:57:45 +00:00

Use LobbyCharacterActionKind in CharacterCreated Lobby IPC

Instead of the magic unknown number, replace at least one byte of it with
something that's known!
This commit is contained in:
Joshua Goins 2025-03-22 17:38:34 -04:00
parent 107a00aa92
commit 55d0b81ae4
2 changed files with 16 additions and 5 deletions

View file

@ -381,7 +381,9 @@ impl LobbyConnection {
timestamp: 0,
data: ServerLobbyIpcData::CharacterCreated {
sequence: character_action.sequence + 1,
unk: 0x00010101,
unk1: 0x1,
unk2: 0x1,
action: LobbyCharacterActionKind::ReserveName,
details: CharacterDetails {
character_name: character_action.name.clone(),
origin_server_name: self.world_name.clone(),
@ -468,7 +470,9 @@ impl LobbyConnection {
timestamp: 0,
data: ServerLobbyIpcData::CharacterCreated {
sequence: character_action.sequence + 1,
unk: 0x00020101,
unk1: 0x1,
unk2: 0x1,
action: LobbyCharacterActionKind::Create,
details: CharacterDetails {
actor_id: our_actor_id,
content_id: our_content_id,
@ -518,7 +522,9 @@ impl LobbyConnection {
timestamp: 0,
data: ServerLobbyIpcData::CharacterCreated {
sequence: character_action.sequence + 1,
unk: 0x00040101, // TODO: probably LobbyCharacterAction actually, see create character packet too
unk1: 0x1,
unk2: 0x1,
action: LobbyCharacterActionKind::Delete,
details: CharacterDetails {
actor_id: 0, // TODO: fill maybe?
content_id: character_action.content_id,

View file

@ -192,7 +192,10 @@ pub enum ServerLobbyIpcData {
},
CharacterCreated {
sequence: u64,
unk: u32,
unk1: u8,
unk2: u8,
#[brw(pad_after = 1)] // empty
action: LobbyCharacterActionKind,
#[brw(pad_before = 36)] // empty
#[brw(pad_after = 1336)] // empty and garbage
details: CharacterDetails,
@ -252,7 +255,9 @@ mod tests {
ServerLobbyIpcType::CharacterCreated,
ServerLobbyIpcData::CharacterCreated {
sequence: 0,
unk: 0,
unk1: 0,
unk2: 0,
action: LobbyCharacterActionKind::ReserveName,
details: CharacterDetails::default(),
},
),