diff --git a/src/character/character.rs b/src/character/character.rs index 7fd4ca3..c5454f9 100644 --- a/src/character/character.rs +++ b/src/character/character.rs @@ -152,3 +152,108 @@ impl SelectScreenCharacter { } } } + +pub struct InventoryItem { + pub equipped: u16, + pub tech: u16, + pub flags: u32, + pub data1: [u8; 12], + pub item_id: u32, + pub data2: [u8; 4], +} + +pub struct BankItem { + pub data1: [u8; 12], + pub item_id: u32, + pub data2: [u8; 4], + pub amount: u16, + pub flags: u16, +} + +pub struct Inventory { + pub item_count: u8, + pub hp_mats_used: u8, + pub tp_mats_used: u8, + pub language: u8, + pub items: [InventoryItem; 30], +} + +pub struct Bank { + pub item_count: u32, + pub meseta: u32, + pub items: [BankItem; 200], +} + +pub struct KeyTeamConfig { + pub _unknown: [u8; 0x114], + pub key_config: [u8; 0x16C], + pub joystick_config: [u8; 0x38], + pub guildcard: u32, + pub team_id: u32, + pub team_info: [u32; 2], + pub team_priv: u16, + pub _reserved: u16, + pub team_name: [u16; 16], + pub team_flag: [u8; 2048], + pub team_rewards: [u32; 2], +} + +pub struct Player { + pub inventory: Inventory, + pub character: Character, + pub c_rank: [u8; 0x174], + pub info_board: [u16; 172], + pub blacklist: [u32; 30], + pub autoreply: [u16; 172], +} + +pub struct FullChar { + pub inventory: Inventory, + pub character: Character, + pub _unknown1: [u8; 16], + pub option_flags: u32, + pub quest_data1: [u8; 520], + pub bank: Bank, + pub guildcard: u32, + pub name: [u16; 24], + pub team_name: [u16; 16], + pub guildcard_desc: [u16; 88], + pub _reserved1: u8, + pub _reserved2: u8, + pub section_id: u8, + pub char_class: u8, + pub _unknown2: u32, + pub symbol_chats: [u8; 1248], + pub shortcuts: [u8; 2624], + pub autoreply: [u16; 172], + pub info_board: [u16; 172], + pub _unknown3: [u8; 28], + pub challenge_data: [u8; 320], + pub tech_menu: [u8; 40], + pub _unknown4: [u8; 44], + pub quest_data2: [u8; 88], + pub key_team_config: KeyTeamConfig, +} + +pub struct DBChar { + pub inventory: Inventory, + pub character: Character, + pub quest_data1: [u8; 520], + pub bank: Bank, + pub guildcard_desc: [u16; 88], + pub autoreply: [u16; 172], + pub info_board: [u16; 172], + pub challenge_data: [u8; 320], + pub tech_menu: [u8; 40], + pub quest_data2: [u8; 88], +} + +pub struct DBOpts { + pub blocked: [u32; 30], + pub key_config: [u8; 0x16C], + pub joystick_config: [u8; 0x38], + pub option_flags: u32, + pub shortcuts: [u8; 0xA40], + pub symbol_chats: [u8; 0x4E0], + pub team_name: [u16; 16]; +} \ No newline at end of file