mirror of
https://github.com/jugeeya/UltimateTrainingModpack.git
synced 2024-11-24 10:54:16 +00:00
Input Recording in Button Config (#562)
* Fix standby on Ryujinx; fix playback when no slot is selected * Add notifications to input recording * Move to button config
This commit is contained in:
parent
dc6a1f8915
commit
c2f5bd5bb1
2 changed files with 46 additions and 9 deletions
|
@ -40,6 +40,14 @@ static mut BUTTON_COMBO_CONFIG: BtnComboConfig = BtnComboConfig {
|
|||
hold: vec![],
|
||||
press: vec![],
|
||||
},
|
||||
input_record: BtnList {
|
||||
hold: vec![],
|
||||
press: vec![],
|
||||
},
|
||||
input_playback: BtnList {
|
||||
hold: vec![],
|
||||
press: vec![],
|
||||
},
|
||||
};
|
||||
|
||||
#[derive(Debug, EnumIter, PartialEq)]
|
||||
|
@ -47,6 +55,8 @@ pub enum ButtonCombo {
|
|||
OpenMenu,
|
||||
SaveState,
|
||||
LoadState,
|
||||
InputRecord,
|
||||
InputPlayback,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Default)]
|
||||
|
@ -60,6 +70,8 @@ struct BtnComboConfig {
|
|||
open_menu: BtnList,
|
||||
save_state: BtnList,
|
||||
load_state: BtnList,
|
||||
input_record: BtnList,
|
||||
input_playback: BtnList,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
|
@ -106,6 +118,14 @@ fn save_all_btn_config_from_defaults() {
|
|||
hold: vec!["SHIELD".to_string()],
|
||||
press: vec!["UPTAUNT".to_string()],
|
||||
},
|
||||
input_record: BtnList {
|
||||
hold: vec!["ATTACK".to_string()],
|
||||
press: vec!["LEFTTAUNT".to_string()],
|
||||
},
|
||||
input_playback: BtnList {
|
||||
hold: vec!["ATTACK".to_string()],
|
||||
press: vec!["RIGHTTAUNT".to_string()],
|
||||
},
|
||||
},
|
||||
};
|
||||
unsafe {
|
||||
|
@ -170,6 +190,14 @@ unsafe fn get_combo_keys(combo: ButtonCombo) -> (&'static Vec<String>, &'static
|
|||
&BUTTON_COMBO_CONFIG.load_state.hold,
|
||||
&BUTTON_COMBO_CONFIG.load_state.press,
|
||||
),
|
||||
ButtonCombo::InputRecord => (
|
||||
&BUTTON_COMBO_CONFIG.input_record.hold,
|
||||
&BUTTON_COMBO_CONFIG.input_record.press,
|
||||
),
|
||||
ButtonCombo::InputPlayback => (
|
||||
&BUTTON_COMBO_CONFIG.input_playback.hold,
|
||||
&BUTTON_COMBO_CONFIG.input_playback.press,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -234,4 +262,12 @@ press=["DOWNTAUNT",]
|
|||
[button_config.load_state]
|
||||
hold=["SHIELD",]
|
||||
press=["UPTAUNT",]
|
||||
|
||||
[button_config.input_record]
|
||||
hold=["ATTACK",]
|
||||
press=["LEFTTAUNT",]
|
||||
|
||||
[button_config.input_playback]
|
||||
hold=["ATTACK",]
|
||||
press=["RIGHTTAUNT",]
|
||||
"#;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
use crate::common::consts::{FighterId, HitstunPlayback, RecordTrigger};
|
||||
use crate::common::button_config;
|
||||
use crate::common::consts::{FighterId, HitstunPlayback};
|
||||
use crate::common::{get_module_accessor, is_in_hitstun, is_in_shieldstun, MENU};
|
||||
use crate::training::input_recording::structures::*;
|
||||
use crate::training::mash;
|
||||
|
@ -177,19 +178,19 @@ pub unsafe fn get_command_flag_cat(module_accessor: &mut BattleObjectModuleAcces
|
|||
CURRENT_RECORD_SLOT = MENU.recording_slot.into_idx();
|
||||
|
||||
if entry_id_int == 0 && !fighter_is_nana {
|
||||
// Attack + Dpad Right: Playback
|
||||
if ControlModule::check_button_on(module_accessor, *CONTROL_PAD_BUTTON_ATTACK)
|
||||
&& ControlModule::check_button_trigger(module_accessor, *CONTROL_PAD_BUTTON_APPEAL_S_R)
|
||||
{
|
||||
if button_config::combo_passes_exclusive(
|
||||
module_accessor,
|
||||
button_config::ButtonCombo::InputPlayback,
|
||||
) {
|
||||
//crate::common::raygun_printer::print_string(&mut *module_accessor, "PLAYBACK");
|
||||
playback();
|
||||
println!("Playback Command Received!"); //debug
|
||||
}
|
||||
// Attack + Dpad Left: Record
|
||||
else if ControlModule::check_button_on(module_accessor, *CONTROL_PAD_BUTTON_ATTACK)
|
||||
&& ControlModule::check_button_trigger(module_accessor, *CONTROL_PAD_BUTTON_APPEAL_S_L)
|
||||
&& MENU.record_trigger == RecordTrigger::Command
|
||||
{
|
||||
else if button_config::combo_passes_exclusive(
|
||||
module_accessor,
|
||||
button_config::ButtonCombo::InputRecord,
|
||||
) {
|
||||
//crate::common::raygun_printer::print_string(&mut *module_accessor, "RECORDING");
|
||||
lockout_record();
|
||||
println!("Record Command Received!"); //debug
|
||||
|
|
Loading…
Reference in a new issue