mirror of
https://github.com/redstrate/Kawari.git
synced 2025-04-27 17:07:46 +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:
parent
107a00aa92
commit
55d0b81ae4
2 changed files with 16 additions and 5 deletions
|
@ -381,7 +381,9 @@ impl LobbyConnection {
|
||||||
timestamp: 0,
|
timestamp: 0,
|
||||||
data: ServerLobbyIpcData::CharacterCreated {
|
data: ServerLobbyIpcData::CharacterCreated {
|
||||||
sequence: character_action.sequence + 1,
|
sequence: character_action.sequence + 1,
|
||||||
unk: 0x00010101,
|
unk1: 0x1,
|
||||||
|
unk2: 0x1,
|
||||||
|
action: LobbyCharacterActionKind::ReserveName,
|
||||||
details: CharacterDetails {
|
details: CharacterDetails {
|
||||||
character_name: character_action.name.clone(),
|
character_name: character_action.name.clone(),
|
||||||
origin_server_name: self.world_name.clone(),
|
origin_server_name: self.world_name.clone(),
|
||||||
|
@ -468,7 +470,9 @@ impl LobbyConnection {
|
||||||
timestamp: 0,
|
timestamp: 0,
|
||||||
data: ServerLobbyIpcData::CharacterCreated {
|
data: ServerLobbyIpcData::CharacterCreated {
|
||||||
sequence: character_action.sequence + 1,
|
sequence: character_action.sequence + 1,
|
||||||
unk: 0x00020101,
|
unk1: 0x1,
|
||||||
|
unk2: 0x1,
|
||||||
|
action: LobbyCharacterActionKind::Create,
|
||||||
details: CharacterDetails {
|
details: CharacterDetails {
|
||||||
actor_id: our_actor_id,
|
actor_id: our_actor_id,
|
||||||
content_id: our_content_id,
|
content_id: our_content_id,
|
||||||
|
@ -518,7 +522,9 @@ impl LobbyConnection {
|
||||||
timestamp: 0,
|
timestamp: 0,
|
||||||
data: ServerLobbyIpcData::CharacterCreated {
|
data: ServerLobbyIpcData::CharacterCreated {
|
||||||
sequence: character_action.sequence + 1,
|
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 {
|
details: CharacterDetails {
|
||||||
actor_id: 0, // TODO: fill maybe?
|
actor_id: 0, // TODO: fill maybe?
|
||||||
content_id: character_action.content_id,
|
content_id: character_action.content_id,
|
||||||
|
|
|
@ -192,7 +192,10 @@ pub enum ServerLobbyIpcData {
|
||||||
},
|
},
|
||||||
CharacterCreated {
|
CharacterCreated {
|
||||||
sequence: u64,
|
sequence: u64,
|
||||||
unk: u32,
|
unk1: u8,
|
||||||
|
unk2: u8,
|
||||||
|
#[brw(pad_after = 1)] // empty
|
||||||
|
action: LobbyCharacterActionKind,
|
||||||
#[brw(pad_before = 36)] // empty
|
#[brw(pad_before = 36)] // empty
|
||||||
#[brw(pad_after = 1336)] // empty and garbage
|
#[brw(pad_after = 1336)] // empty and garbage
|
||||||
details: CharacterDetails,
|
details: CharacterDetails,
|
||||||
|
@ -252,7 +255,9 @@ mod tests {
|
||||||
ServerLobbyIpcType::CharacterCreated,
|
ServerLobbyIpcType::CharacterCreated,
|
||||||
ServerLobbyIpcData::CharacterCreated {
|
ServerLobbyIpcData::CharacterCreated {
|
||||||
sequence: 0,
|
sequence: 0,
|
||||||
unk: 0,
|
unk1: 0,
|
||||||
|
unk2: 0,
|
||||||
|
action: LobbyCharacterActionKind::ReserveName,
|
||||||
details: CharacterDetails::default(),
|
details: CharacterDetails::default(),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
Loading…
Add table
Reference in a new issue