From 0551a9ad598b1c9116e5651e22987dba9585fe19 Mon Sep 17 00:00:00 2001 From: Barinade Date: Sun, 3 Sep 2023 14:28:42 -0500 Subject: [PATCH] add genericskillset, reset lazy_jacks, dont scale ms based ss | 510 --- src/Etterna/MinaCalc/MinaCalc.cpp | 8 +++++--- src/Etterna/MinaCalc/SequencedBaseDiffCalc.h | 9 +++++++++ src/Etterna/Models/NoteData/NoteDataStructures.h | 8 ++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/Etterna/MinaCalc/MinaCalc.cpp b/src/Etterna/MinaCalc/MinaCalc.cpp index b76bd7f032..e05c459770 100644 --- a/src/Etterna/MinaCalc/MinaCalc.cpp +++ b/src/Etterna/MinaCalc/MinaCalc.cpp @@ -177,8 +177,10 @@ Calc::CalcMain(const std::vector& NoteInfo, // for other keymodes if (keycount != 4u) { const auto scale = 4.F / static_cast(keycount); - for (auto& v : iteration_skillet_values) { - v *= scale; + for (auto ss = 0; ss < NUM_Skillset; ss++) { + if (ss == Skill_JackSpeed || ss == Skill_Technical) + continue; + iteration_skillet_values[ss] *= scale; } } @@ -947,7 +949,7 @@ MinaSDCalcDebug( #endif } -int mina_calc_version = 509; +int mina_calc_version = 510; auto GetCalcVersion() -> int { diff --git a/src/Etterna/MinaCalc/SequencedBaseDiffCalc.h b/src/Etterna/MinaCalc/SequencedBaseDiffCalc.h index 2486b12b4f..b48b3d711a 100644 --- a/src/Etterna/MinaCalc/SequencedBaseDiffCalc.h +++ b/src/Etterna/MinaCalc/SequencedBaseDiffCalc.h @@ -889,6 +889,12 @@ struct jack_col last_note_sec = s_init; start_note_sec = s_init; } + inline void check_reset(const float& now) { + auto since_last = ms_from(now, last_note_sec); + if (since_last > guaranteed_reset_buffer_ms) { + reset(); + } + } inline void operator()(const float& now) { last_ms = ms_from(now, last_note_sec); @@ -963,6 +969,9 @@ struct oversimplified_jacks void operator()(const int& column, const float& now) { + for (auto& seq : sequencers) { + seq.check_reset(now); + } sequencers.at(column)(now); } diff --git a/src/Etterna/Models/NoteData/NoteDataStructures.h b/src/Etterna/Models/NoteData/NoteDataStructures.h index a2a6bf1991..33ccdca606 100644 --- a/src/Etterna/Models/NoteData/NoteDataStructures.h +++ b/src/Etterna/Models/NoteData/NoteDataStructures.h @@ -23,6 +23,14 @@ enum Skillset Skillset_Invalid, }; +// basically these are name shadows for the JS and HS skillsets +// since JS and HS dont really "work" for things like 7k +enum GenericSkillset +{ + Skill_Chordstream = Skill_Jumpstream, + Skill_Bracketing = Skill_Handstream, +}; + // we do actually want to register these with lua i guess enum CalcPatternMod {