From c8a7c79563a526805b81ab6df52d22b6db80aca2 Mon Sep 17 00:00:00 2001 From: MinaciousGrace Date: Tue, 27 Dec 2016 11:09:33 -0500 Subject: [PATCH] calc updates --- extern/MinaCalc/MinaCalc.lib | Bin 146268 -> 146740 bytes src/MinaCalc.h | 34 ++++++++++++++++++++-------------- src/Profile.cpp | 4 ++-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/extern/MinaCalc/MinaCalc.lib b/extern/MinaCalc/MinaCalc.lib index 911a7c4becea1065fd2cfee39c287cb5b0fa8e04..d83b362a9838d1154df00df8c37bb9dd02a05e67 100644 GIT binary patch delta 20971 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 delta 20900 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 StamAdjust(float x); + vector StamAdjust(float x, vector diff); /* For a given player skill level x, invokes the function used by wife scoring to assert the average of the distribution of point gain for each interval and then tallies up the result to produce an average total number of points achieved by this hand. */ - float CalcInternal(float x, bool stam); + float CalcInternal(float x, bool stam, bool nps); vector ohjumpscale; vector rollscale; + vector hsscale; + vector jumpscale; vector v_itvpoints; // Point allotment for each interval private: - const bool SmoothDifficulty = false; // Do we moving average the difficulty intervals? - vector v_itvdiff; // Calculated difficulty for each interval + const bool SmoothDifficulty = true; // Do we moving average the difficulty intervals? + vector v_itvNPSdiff; // Calculated difficulty for each interval + vector v_itvMSdiff; // Calculated difficulty for each interval float timingscale; // Timingscale for use in the point proportion function - float finalscaler = 2.564f; // multiplier to standardize baselines + float finalscaler = 2.564f*1.05f * 1.07f * 1.03f; // multiplier to standardize baselines - // Stamina Model params - const float ceil = 1.15f; // stamina multiplier max - const float mag = 225.f; // multiplier generation scaler - const float fscale = 2000; // how fast the floor rises (it's lava) - const float prop = 0.8f; // proportion of player difficulty at which stamina tax begins + // Stamina Model params + const float ceil = 1.1f; // stamina multiplier max + const float mag = 200.f; // multiplier generation scaler + const float fscale = 1800.f; // how fast the floor rises (it's lava) + const float prop = 0.80f; // proportion of player difficulty at which stamina tax begins }; class Calc { @@ -126,16 +130,17 @@ class Calc { until the percentage obtained is greater than or equal to the scoregoal variable. The output accuracy resolution can be set by either reducing the initial increment or by increasing the starting iteration. */ - float Chisel(float pskill, float res, int iter, bool stam, bool jack); + float Chisel(float pskill, float res, int iter, bool stam, bool jack, bool nps); vector OHJumpDownscaler(NoteData & nd, int t1, int t2); + vector HSDownscaler(NoteData & nd); + vector JumpDownscaler(NoteData & nd); vector RollDownscaler(Finger f1, Finger f2); private: vector> nervIntervals; // Const calc params - const bool SmoothPatterns = false; // Do we moving average the pattern modifier intervals? - + const bool SmoothPatterns = true; // Do we moving average the pattern modifier intervals? const float IntervalSpan = 0.5f; // Intervals of time we slice the chart at Hand* left = new Hand; @@ -148,4 +153,5 @@ class Calc { }; MINACALC_API vector MinaSDCalc(NoteData& nd, vector& etaner, float musicrate, float goal, float timingscale, bool negbpms); -MINACALC_API MinaSD MinaSDCalc(NoteData& nd, vector& etaner, float goal, float timingscale, bool negbpms); \ No newline at end of file +MINACALC_API MinaSD MinaSDCalc(NoteData& nd, vector& etaner, float goal, float timingscale, bool negbpms); +MINACALC_API float GetCalcVersion(); \ No newline at end of file diff --git a/src/Profile.cpp b/src/Profile.cpp index 3b66fdd221..ea654a74d3 100644 --- a/src/Profile.cpp +++ b/src/Profile.cpp @@ -2118,7 +2118,7 @@ void Profile::ResetSSRs(bool OnlyOld) { HighScoresForASteps& zz = j->second; vector& hsv = zz.hsl.vHighScores; for (size_t i = 0; i < hsv.size(); i++) { - if (OnlyOld && hsv[i].GetSSRCalcVersion() == 1.1f) + if (OnlyOld && hsv[i].GetSSRCalcVersion() == GetCalcVersion()) continue; hsv[i].SetSSR(0.f); @@ -2148,7 +2148,7 @@ void Profile::RecalculateSSRs(bool OnlyOld) { if (wifescore == 0.f || hsv[i].GetGrade() == Grade_Failed) hsv[i].SetSSR(0.f); else { - if (OnlyOld && hsv[i].GetSSRCalcVersion() == 1.1f) + if (OnlyOld && hsv[i].GetSSRCalcVersion() == GetCalcVersion()) continue; Song* psong = id.ToSong();