diff --git a/src/packet/ship.rs b/src/packet/ship.rs index cd098e8..137c58b 100644 --- a/src/packet/ship.rs +++ b/src/packet/ship.rs @@ -90,6 +90,12 @@ pub struct MenuSelect { pub item: u32, } +#[pso_packet(0x09)] +pub struct MenuDetail { + pub menu: u32, + pub item: u32, +} + #[pso_packet(0x10)] pub struct RoomPasswordReq { pub menu: u32, @@ -219,8 +225,6 @@ pub struct AddToLobby { pub playerinfo: PlayerInfo, } - - #[pso_packet(0xC1)] pub struct CreateRoom { unknown: [u32; 2], @@ -270,14 +274,6 @@ pub struct JoinRoom { pub unknown: u8, } -impl JoinRoom { - /*fn new() -> JoinRoom { - JoinRoom { - - } - }*/ -} - #[pso_packet(0x65, manual_flag)] pub struct AddToRoom { pub flag: u32, @@ -441,7 +437,95 @@ impl LobbyList { pub struct DoneBursting { } +#[pso_packet(0x16F)] +pub struct DoneBursting2 { +} + #[pso_packet(0x98)] pub struct ClientCharacterData { pub data: [u8; 2088], } + +#[pso_packet(0xA2)] +pub struct RequestQuestList { +} + +#[derive(PSOPacketData, Clone, Copy)] +pub struct QuestCategory { + pub menu_id: u32, + pub option_id: u32, + pub name: [u16; 32], + pub description: [u16; 122], +} + +#[pso_packet(0xA2)] +pub struct QuestCategoryList { + pub quest_categories: Vec, +} + + +#[derive(PSOPacketData, Clone, Copy)] +pub struct QuestEntry { + pub menu_id: u32, + pub category_id: u16, + pub quest_id: u16, + pub name: [u16; 32], + pub description: [u16; 122], +} + +#[pso_packet(0xA2)] +pub struct QuestOptionList { + pub quests: Vec, +} + +#[pso_packet(0xA3)] +pub struct QuestDetail { + description: [u16; 288] +} + +#[pso_packet(0x09)] +pub struct QuestDetailRequest { + pub menu: u32, + pub category: u16, + pub quest: u16, +} + +#[pso_packet(0x10)] +pub struct QuestMenuSelect { + pub menu: u32, + pub category: u16, + pub quest: u16, +} + +#[pso_packet(0x44)] +pub struct QuestHeader { + pub unknown1: [u8; 0x24], + pub filename: [u8; 16], + pub length: u32, + pub name: [u8; 16], + pub unknown2: [u8; 8], +} + +#[pso_packet(0x44)] +pub struct QuestFileRequest { + pub filename: [u8; 16], +} + +#[pso_packet(0x13, no_flag)] +pub struct QuestChunk { + pub chunk_num: u32, + pub filename: [u8; 16], + pub blob: [u8; 0x400], + pub blob_length: u32, + pub unknown: u32, +} + +#[pso_packet(0x13, no_flag)] +pub struct QuestChunkAck { + pub chunk_num: u32, + filename: [u8; 16], +} + +#[pso_packet(0xAC)] +pub struct DoneLoadingQuest { +}