mirror of
https://github.com/redstrate/Kawari.git
synced 2025-04-28 01:17:45 +00:00
Add more fields & actions for LobbyCharacterAction
Thanks to TemporalStasis, again.
This commit is contained in:
parent
5bcdadf058
commit
2b5e0a7a48
2 changed files with 20 additions and 20 deletions
|
@ -62,22 +62,9 @@ async fn main() {
|
||||||
|
|
||||||
send_lobby_info(&mut write, &mut state, *sequence).await;
|
send_lobby_info(&mut write, &mut state, *sequence).await;
|
||||||
}
|
}
|
||||||
IPCStructData::LobbyCharacterAction {
|
IPCStructData::LobbyCharacterAction { .. } => tracing::info!(
|
||||||
sequence,
|
"Client is doing a character-related action in the lobby, but we don't support any yet! Ignoring..."
|
||||||
action,
|
),
|
||||||
name,
|
|
||||||
} => match &action {
|
|
||||||
kawari::ipc::LobbyCharacterAction::Delete => {
|
|
||||||
tracing::info!(
|
|
||||||
"Client is requesting character named {name} to be deleted. Ignoring since it's not implemented yet."
|
|
||||||
);
|
|
||||||
}
|
|
||||||
kawari::ipc::LobbyCharacterAction::Request => {
|
|
||||||
tracing::info!(
|
|
||||||
"Client is requesting character data! Ignoring since it's not implemented yet."
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
IPCStructData::RequestEnterWorld {
|
IPCStructData::RequestEnterWorld {
|
||||||
sequence,
|
sequence,
|
||||||
lookup_id,
|
lookup_id,
|
||||||
|
|
21
src/ipc.rs
21
src/ipc.rs
|
@ -112,7 +112,17 @@ pub struct CharacterDetails {
|
||||||
#[brw(repr = u8)]
|
#[brw(repr = u8)]
|
||||||
#[derive(Clone, PartialEq, Debug)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub enum LobbyCharacterAction {
|
pub enum LobbyCharacterAction {
|
||||||
|
ReserveName = 0x1,
|
||||||
|
Create = 0x2,
|
||||||
|
Rename = 0x3,
|
||||||
Delete = 0x4,
|
Delete = 0x4,
|
||||||
|
Move = 0x5,
|
||||||
|
RemakeRetainer = 0x6,
|
||||||
|
RemakeChara = 0x7,
|
||||||
|
SettingsUploadBegin = 0x8,
|
||||||
|
SettingsUpload = 0xC,
|
||||||
|
WorldVisit = 0xE,
|
||||||
|
DataCenterToken = 0xF,
|
||||||
Request = 0x15,
|
Request = 0x15,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,17 +169,20 @@ pub enum IPCStructData {
|
||||||
},
|
},
|
||||||
#[br(pre_assert(*magic == IPCOpCode::LobbyCharacterAction))]
|
#[br(pre_assert(*magic == IPCOpCode::LobbyCharacterAction))]
|
||||||
LobbyCharacterAction {
|
LobbyCharacterAction {
|
||||||
#[brw(pad_before = 16)]
|
request_number: u32,
|
||||||
sequence: u64,
|
unk1: u32,
|
||||||
#[brw(pad_before = 1)]
|
character_id: u64,
|
||||||
|
#[br(pad_before = 8)]
|
||||||
|
character_index: u8,
|
||||||
action: LobbyCharacterAction,
|
action: LobbyCharacterAction,
|
||||||
#[brw(pad_before = 2)]
|
world_id: u16,
|
||||||
#[bw(pad_size_to = 32)]
|
#[bw(pad_size_to = 32)]
|
||||||
#[br(count = 32)]
|
#[br(count = 32)]
|
||||||
#[br(map = read_string)]
|
#[br(map = read_string)]
|
||||||
#[bw(map = write_string)]
|
#[bw(map = write_string)]
|
||||||
name: String,
|
name: String,
|
||||||
// TODO: what else is in here?
|
// TODO: what else is in here?
|
||||||
|
// according to TemporalStatis, chara make data? (probably op specific)
|
||||||
},
|
},
|
||||||
#[br(pre_assert(*magic == IPCOpCode::RequestEnterWorld))]
|
#[br(pre_assert(*magic == IPCOpCode::RequestEnterWorld))]
|
||||||
RequestEnterWorld {
|
RequestEnterWorld {
|
||||||
|
|
Loading…
Add table
Reference in a new issue