From 8a9c4ceca48476452f97d0df4a85b8246f375083 Mon Sep 17 00:00:00 2001 From: andy Date: Sat, 1 Jan 2022 17:29:39 +0000 Subject: [PATCH] controller -> gamepad for consistency with in-game --- src/character/character.rs | 4 +- src/character/settings.rs | 345 ++++++++++++++----------------------- src/packet/login.rs | 14 +- src/packet/ship.rs | 4 +- 4 files changed, 137 insertions(+), 230 deletions(-) diff --git a/src/character/character.rs b/src/character/character.rs index 7dc6751..1b0f88b 100644 --- a/src/character/character.rs +++ b/src/character/character.rs @@ -273,7 +273,7 @@ impl std::default::Default for Bank { pub struct KeyTeamConfig { pub _unknown: [u8; 0x114], pub keyboard_config: [u8; 0x16C], - pub controller_config: [u8; 0x38], + pub gamepad_config: [u8; 0x38], pub guildcard: u32, pub team_id: u32, pub team_info: [u32; 2], @@ -354,7 +354,7 @@ pub struct DBChar { pub struct DBOpts { pub blocked: [u32; 30], pub keyboard_config: [u8; 0x16C], - pub controller_config: [u8; 0x38], + pub gamepad_config: [u8; 0x38], pub option_flags: u32, pub shortcuts: [u8; 0xA40], pub symbol_chats: [u8; 0x4E0], diff --git a/src/character/settings.rs b/src/character/settings.rs index 881425c..130638f 100644 --- a/src/character/settings.rs +++ b/src/character/settings.rs @@ -1,6 +1,6 @@ // TODO: deblobify all of this -const DEFAULT_KEY_CONFIG: [u8; 0x16C] = [ +pub const DEFAULT_KEYBOARD_CONFIG1: [u8; 0x16C] = [ 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, @@ -39,7 +39,128 @@ const DEFAULT_KEY_CONFIG: [u8; 0x16C] = [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 ]; -const DEFAULT_JOYSTICK_CONFIG: [u8; 0x38] = [ + +pub const DEFAULT_KEYBOARD_CONFIG2: [u8; 364] = [ + 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00 +]; + +pub const DEFAULT_KEYBOARD_CONFIG3: [u8; 364] = [ + 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00 +]; + +pub const DEFAULT_KEYBOARD_CONFIG4: [u8; 364] = [ + 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00 +]; + +pub const DEFAULT_GAMEPAD_CONFIG: [u8; 0x38] = [ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, @@ -260,226 +381,12 @@ pub const DEFAULT_TECH_MENU: [u8; 40] = [ 0x00, 0x00, ]; -pub const DEFAULT_KEYBOARD_CONFIG1: [u8; 364] = [ -0x00,0x00,0x00,0x00,0x26,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x61,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5e,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5d,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5c,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5f,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5d,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5c,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5f,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x56,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5e,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x42,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x43,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x45,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x47,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x49,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x4a,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x4b,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2a,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2b,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2c,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2d,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2e,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2f,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x31,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00, -0x01,0x00,0x00,0x00, -]; - -pub const DEFAULT_KEYBOARD_CONFIG2: [u8; 364] = [ -0x00,0x00,0x00,0x00,0x26,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x61,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5e,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5d,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5c,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x5f,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x1a,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x1b,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x56,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x42,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x43,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x45,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x47,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x49,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x4a,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x4b,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2a,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2b,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2c,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2d,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2e,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x2f,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x31,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00, -0x01,0x00,0x00,0x00, -]; - -pub const DEFAULT_KEYBOARD_CONFIG3: [u8; 364] = [ - 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, -0x01, 0x00, 0x00, 0x00, -]; - -pub const DEFAULT_KEYBOARD_CONFIG4: [u8; 364] = [ - 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, - ]; - -pub const DEFAULT_CONTROLLER_CONFIG: [u8; 56] = [ - 0x00, 0x01, 0xff, 0xff, - 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x04, 0x00, - 0x00, 0x00, 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, - ]; - - #[derive(Copy, Clone)] #[repr(C)] pub struct UserSettings { pub blocked_users: [u32; 0x1E], pub keyboard_config: [u8; 0x16C], - pub controller_config: [u8; 0x38], + pub gamepad_config: [u8; 0x38], pub option_flags: u32, pub shortcuts: [u8; 0xA40], pub symbol_chats: [u8; 0x4E0], @@ -491,8 +398,8 @@ impl Default for UserSettings { fn default() -> UserSettings { UserSettings { blocked_users: [0; 0x1E], - keyboard_config: DEFAULT_KEY_CONFIG, - controller_config: DEFAULT_JOYSTICK_CONFIG, + keyboard_config: DEFAULT_KEYBOARD_CONFIG1, + gamepad_config: DEFAULT_GAMEPAD_CONFIG, option_flags: 0, shortcuts: [0; 0xA40], symbol_chats: DEFAULT_SYMBOLCHATS, diff --git a/src/packet/login.rs b/src/packet/login.rs index 933e2db..fbaf565 100644 --- a/src/packet/login.rs +++ b/src/packet/login.rs @@ -211,7 +211,7 @@ pub struct RequestSettings { pub struct SendKeyAndTeamSettings { unknown: [u8; 0x114], key_config: [u8; 0x16C], - controller_config: [u8; 0x38], + gamepad_config: [u8; 0x38], guildcard: u32, team_id: u32, //team_info: [u32; 2], @@ -226,11 +226,11 @@ pub struct SendKeyAndTeamSettings { } impl SendKeyAndTeamSettings { - pub fn new(key_config: [u8; 0x16C], controller_config: [u8; 0x38], guildcard: u32, team_id: u32) -> SendKeyAndTeamSettings { + pub fn new(key_config: [u8; 0x16C], gamepad_config: [u8; 0x38], guildcard: u32, team_id: u32) -> SendKeyAndTeamSettings { SendKeyAndTeamSettings { unknown: [0; 0x114], key_config: key_config, - controller_config: controller_config, + gamepad_config: gamepad_config, guildcard: guildcard, team_id: team_id, //team_info: [0; 2], @@ -551,16 +551,16 @@ mod tests { let mut rng = rand::thread_rng(); let mut key_config = [0u8; 0x16C]; - let mut controller_config = [0u8; 0x38]; + let mut gamepad_config = [0u8; 0x38]; rng.fill(&mut key_config[..]); - rng.fill(&mut controller_config[..]); - let pkt = super::SendKeyAndTeamSettings::new(key_config, controller_config, 123, 456); + rng.fill(&mut gamepad_config[..]); + let pkt = super::SendKeyAndTeamSettings::new(key_config, gamepad_config, 123, 456); let bytes = pkt.as_bytes(); assert!(bytes[2] == 0xe2); assert!(bytes[8 + 0x114] == key_config[0]); - assert!(bytes[8 + 0x114 + 0x16C] == controller_config[0]); + assert!(bytes[8 + 0x114 + 0x16C] == gamepad_config[0]); } #[test] diff --git a/src/packet/ship.rs b/src/packet/ship.rs index 19da1e7..d65153f 100644 --- a/src/packet/ship.rs +++ b/src/packet/ship.rs @@ -642,6 +642,6 @@ pub struct KeyboardConfig { } #[pso_packet(0x5ED)] -pub struct ControllerConfig { - pub controller_config: [u8; 56], +pub struct GamepadConfig { + pub gamepad_config: [u8; 56], } \ No newline at end of file