diff --git a/editions.yaml b/editions.yaml index 47d4867..8f6ffb5 100644 --- a/editions.yaml +++ b/editions.yaml @@ -3,7 +3,7 @@ minecraft-wiiu: features: - prudpv1 - third-notif-param - - v3-8-15 + - v3-10-22 settings: AUTH_REPORT_VERSION: "branch:origin/release/ngs/3.10.x.200x build:3_10_22_2006_0" RNEX_VIRTUAL_PORT_INSECURE: "1:10" diff --git a/rnex-core/Cargo.toml b/rnex-core/Cargo.toml index b48999f..f30c47c 100644 --- a/rnex-core/Cargo.toml +++ b/rnex-core/Cargo.toml @@ -49,6 +49,7 @@ third-notif-param = [] v3-4-0 = ["v3-3-2", "third-notif-param", "rmc_struct_header"] v3-5-0 = ["v3-4-0"] v3-8-15 = ["v3-5-0"] +v3-10-22 = ["v3-8-15"] v4-3-11 = ["v3-8-15"] nx = ["big_pid"] splatoon = [] diff --git a/rnex-core/src/rmc/structures/matchmake.rs b/rnex-core/src/rmc/structures/matchmake.rs index 7753f03..aeb26ff 100644 --- a/rnex-core/src/rmc/structures/matchmake.rs +++ b/rnex-core/src/rmc/structures/matchmake.rs @@ -121,20 +121,40 @@ pub struct MatchmakeBlockListParam { option_flag: u32, } -#[derive(RmcSerialize, Debug, Clone)] -#[rmc_struct(0)] -pub struct JoinMatchmakeSessionParam { - pub gid: u32, - pub additional_participants: Vec, - pub gid_for_participation_check: u32, - pub join_matchmake_session_open: u32, - pub join_matchmake_session_behavior: u8, - pub user_password: String, - pub system_password: String, - pub join_message: String, - pub participation_count: u16, - //pub extra_participant: u16, - //pub block_list_param: MatchmakeBlockListParam +cfg_if! { + if #[cfg(feature = "v3-10-22")] { + #[derive(RmcSerialize, Debug, Clone)] + #[rmc_struct(1)] + pub struct JoinMatchmakeSessionParam { + pub gid: u32, + pub additional_participants: Vec, + pub gid_for_participation_check: u32, + pub join_matchmake_session_open: u32, + pub join_matchmake_session_behavior: u8, + pub user_password: String, + pub system_password: String, + pub join_message: String, + pub participation_count: u16, + pub extra_participant: u16, + //pub block_list_param: MatchmakeBlockListParam + } + } else { + #[derive(RmcSerialize, Debug, Clone)] + #[rmc_struct(0)] + pub struct JoinMatchmakeSessionParam { + pub gid: u32, + pub additional_participants: Vec, + pub gid_for_participation_check: u32, + pub join_matchmake_session_open: u32, + pub join_matchmake_session_behavior: u8, + pub user_password: String, + pub system_password: String, + pub join_message: String, + pub participation_count: u16, + //pub extra_participant: u16, + //pub block_list_param: MatchmakeBlockListParam + } + } } pub mod gathering_flags {