diff --git a/README.md b/README.md index ee26018..087c284 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ The timing of the CPU option can be influenced by the following settings: #### Save States -At any time in Training Mode, you can press `Grab + Down Taunt` to save the state of training mode. This will save the position, state, and damage of each fighter, which can then be reverted to at any time with `Grab + Up Taunt`. With the mirroring setting, loading the save state will flip the positions, allowing you to practice your skills facing both directions. Use this instead of the built-in training mode reset! +At any time in Training Mode, you can press `Shield + Down Taunt` to save the state of training mode. This will save the position, state, and damage of each fighter, which can then be reverted to at any time with `Shield + Up Taunt`. With the mirroring setting, loading the save state will flip the positions, allowing you to practice your skills facing both directions. Use this instead of the built-in training mode reset! You can switch Save State slots by using `Grab + Left Taunt` to switch to a previous slot and `Grab + Right Taunt` to switch to the next. There are 5 slots you can save, and they are persisted between loads of the game! @@ -332,6 +332,10 @@ Exact same process as above, but the filepaths are in Ryujinx's mod paths. └── libtraining_modpack.nro ``` +## Button Configuration + +To remap the buttons used for different actions in the modpack such as opening the menu, please open and edit the file `sd:/ultimate/TrainingModpack/training_modpack.toml`. + ## Beta Installation To install a beta version of the modpack, follow the same procedure using the [latest beta release](https://github.com/jugeeya/UltimateTrainingModpack/tree/beta) on Github. Beta releases may have additional features and bugfixes, but are subject to change. diff --git a/src/common/button_config.rs b/src/common/button_config.rs index e88d4aa..c5e7be1 100644 --- a/src/common/button_config.rs +++ b/src/common/button_config.rs @@ -111,19 +111,19 @@ fn save_all_btn_config_from_defaults() { press: vec!["UPTAUNT".to_string()], }, save_state: BtnList { - hold: vec!["GRAB".to_string()], + hold: vec!["SHIELD".to_string()], press: vec!["DOWNTAUNT".to_string()], }, load_state: BtnList { - hold: vec!["GRAB".to_string()], + hold: vec!["SHIELD".to_string()], press: vec!["UPTAUNT".to_string()], }, previous_save_state_slot: BtnList { - hold: vec!["SHIELD".to_string()], + hold: vec!["GRAB".to_string()], press: vec!["LEFTTAUNT".to_string()], }, next_save_state_slot: BtnList { - hold: vec!["SHIELD".to_string()], + hold: vec!["GRAB".to_string()], press: vec!["RIGHTTAUNT".to_string()], }, }, @@ -262,18 +262,18 @@ hold=["SPECIAL",] press=["UPTAUNT",] [button_config.save_state] -hold=["GRAB",] +hold=["SHIELD",] press=["DOWNTAUNT",] [button_config.load_state] -hold=["GRAB",] +hold=["SHIELD",] press=["UPTAUNT",] [button_config.previous_save_state_slot] -hold=["SHIELD",] +hold=["GRAB",] press=["LEFTTAUNT",] [button_config.next_save_state_slot] -hold=["SHIELD",] +hold=["GRAB",] press=["RIGHTTAUNT",] "#; diff --git a/src/lib.rs b/src/lib.rs index bf6d0bd..c47a1e5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -82,10 +82,10 @@ pub fn main() { ); notification( "Save State".to_string(), - "Grab + Downtaunt".to_string(), + "Shield + Downtaunt".to_string(), 120, ); - notification("Load State".to_string(), "Grab + Uptaunt".to_string(), 120); + notification("Load State".to_string(), "Shield + Uptaunt".to_string(), 120); } hitbox_visualizer::hitbox_visualization(); diff --git a/src/training/save_states.rs b/src/training/save_states.rs index e99da9d..92a7bf0 100644 --- a/src/training/save_states.rs +++ b/src/training/save_states.rs @@ -392,7 +392,7 @@ pub unsafe fn save_states(module_accessor: &mut app::BattleObjectModuleAccessor) return; } - // Grab + Dpad up: reset state + // Reset state let autoload_reset = MENU.save_state_autoload == OnOff::On && save_state.state == NoAction && is_dead(module_accessor); @@ -605,7 +605,7 @@ pub unsafe fn save_states(module_accessor: &mut app::BattleObjectModuleAccessor) } } - // Grab + Dpad down: Save state + // Save state if button_config::combo_passes_exclusive(module_accessor, button_config::ButtonCombo::SaveState) { // Don't begin saving state if Nana's delayed input is captured diff --git a/training_mod_consts/src/lib.rs b/training_mod_consts/src/lib.rs index bd6b58e..fa9d576 100644 --- a/training_mod_consts/src/lib.rs +++ b/training_mod_consts/src/lib.rs @@ -525,7 +525,7 @@ pub unsafe fn ui_menu(menu: TrainingModpackMenu) -> UiMenu<'static> { save_state_tab.add_submenu_with_toggles::( "Enable Save States", "save_state_enable", - "Save States: Enable save states! Save a state with Grab+Down Taunt, load it with Grab+Up Taunt.", + "Save States: Enable save states! Save a state with Shield+Down Taunt, load it with Shield+Up Taunt.", true, &(menu.save_state_enable as u32), ); @@ -535,7 +535,7 @@ pub unsafe fn ui_menu(menu: TrainingModpackMenu) -> UiMenu<'static> { "save_state_slot_enable", - "Save State Slots: Enable save state slots. Switch to a different slot with Shield+Left or Right Taunt.", + "Save State Slots: Enable save state slots. Switch to a different slot with Grab+Left or Right Taunt.", true,