Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/etternagame/etterna into…
Browse files Browse the repository at this point in the history
… develop
  • Loading branch information
nico-abram committed Jul 20, 2018
2 parents f91cb36 + b292be9 commit 1ca6cfa
Show file tree
Hide file tree
Showing 11 changed files with 56 additions and 98 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
local t = Def.ActorFrame{}

local enabledCustomWindows = playerConfig:get_data(pn_to_profile_slot(PLAYER_1)).CustomEvaluationWindowTimings
PROFILEMAN:SaveProfile(PLAYER_1)

local customWindows = timingWindowConfig:get_data().customWindows

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ local t = Def.ActorFrame{
end,
OnCommand=function(self)
self:bouncebegin(0.2):xy(0,0):diffusealpha(1)
SCREENMAN:GetTopScreen():GetMusicWheel():Move(1)
SCREENMAN:GetTopScreen():GetMusicWheel():Move(-1)
SCREENMAN:GetTopScreen():GetMusicWheel():Move(0)
end,
SetCommand=function(self)
self:finishtweening()
Expand Down
19 changes: 8 additions & 11 deletions src/DownloadManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,7 @@ bool DownloadManager::ShouldUploadScores()
inline void SetCURLPOSTScore(CURL*& curlHandle, curl_httppost*& form, curl_httppost*& lastPtr, HighScore*& hs)
{
SetCURLFormPostField(curlHandle, form, lastPtr, "scorekey", hs->GetScoreKey());
SetCURLFormPostField(curlHandle, form, lastPtr, "ssr_norm", to_string(static_cast<int>(hs->GetSSRNormPercent() * 1000.f)));
SetCURLFormPostField(curlHandle, form, lastPtr, "ssr_norm", hs->GetSSRNormPercent());
SetCURLFormPostField(curlHandle, form, lastPtr, "max_combo", hs->GetMaxCombo());
SetCURLFormPostField(curlHandle, form, lastPtr, "valid", static_cast<int>(hs->GetEtternaValid()));
SetCURLFormPostField(curlHandle, form, lastPtr, "mods", hs->GetModifiers());
Expand All @@ -646,16 +646,16 @@ inline void SetCURLPOSTScore(CURL*& curlHandle, curl_httppost*& form, curl_httpp
SetCURLFormPostField(curlHandle, form, lastPtr, "letgo", hs->GetHoldNoteScore(HNS_LetGo));
SetCURLFormPostField(curlHandle, form, lastPtr, "ng", hs->GetHoldNoteScore(HNS_Missed));
SetCURLFormPostField(curlHandle, form, lastPtr, "chartkey", hs->GetChartKey());
SetCURLFormPostField(curlHandle, form, lastPtr, "rate", to_string(static_cast<int>(hs->GetMusicRate() * 1000.f)));
SetCURLFormPostField(curlHandle, form, lastPtr, "rate", hs->GetMusicRate());
auto chart = SONGMAN->GetStepsByChartkey(hs->GetChartKey());
SetCURLFormPostField(curlHandle, form, lastPtr, "negsolo", chart->GetTimingData()->HasWarps() || chart->m_StepsType != StepsType_dance_single);
SetCURLFormPostField(curlHandle, form, lastPtr, "nocc", static_cast<int>(!hs->GetChordCohesion()));
SetCURLFormPostField(curlHandle, form, lastPtr, "calc_version", hs->GetSSRCalcVersion());
SetCURLFormPostField(curlHandle, form, lastPtr, "topscore", hs->GetTopScore());
SetCURLFormPostField(curlHandle, form, lastPtr, "hash", hs->GetValidationKey(ValidationKey_Brittle));
SetCURLFormPostField(curlHandle, form, lastPtr, "wife", to_string(static_cast<int>(hs->GetWifeScore() * 1000.f)));
SetCURLFormPostField(curlHandle, form, lastPtr, "wifePoints", to_string(static_cast<int>(hs->GetWifePoints() * 1000.f)));
SetCURLFormPostField(curlHandle, form, lastPtr, "judgeScale", to_string(static_cast<int>(hs->GetJudgeScale() * 1000.f)));
SetCURLFormPostField(curlHandle, form, lastPtr, "wife", hs->GetWifeScore());
SetCURLFormPostField(curlHandle, form, lastPtr, "wifePoints", hs->GetWifePoints());
SetCURLFormPostField(curlHandle, form, lastPtr, "judgeScale", hs->GetJudgeScale());
SetCURLFormPostField(curlHandle, form, lastPtr, "machineGuid", hs->GetMachineGuid());
SetCURLFormPostField(curlHandle, form, lastPtr, "grade", hs->GetGrade());
SetCURLFormPostField(curlHandle, form, lastPtr, "wifeGrade", string(GradeToString(hs->GetWifeGrade()).c_str()));
Expand All @@ -682,7 +682,7 @@ void DownloadManager::UploadScore(HighScore* hs)
for (auto error : errors) {
if (error["status"] == 22) {
delay = true;
DLMAN->StartSession(DLMAN->sessionPass, DLMAN->sessionPass, [hs](bool logged) {
DLMAN->StartSession(DLMAN->sessionUser, DLMAN->sessionPass, [hs](bool logged) {
if (logged) {
DLMAN->UploadScore(hs);
}
Expand Down Expand Up @@ -745,7 +745,7 @@ void DownloadManager::UploadScoreWithReplayData(HighScore* hs)
for (auto error : errors) {
if (error["status"] == 22) {
delay = true;
DLMAN->StartSession(DLMAN->sessionPass, DLMAN->sessionPass, [hs](bool logged) {
DLMAN->StartSession(DLMAN->sessionUser, DLMAN->sessionPass, [hs](bool logged) {
if (logged) {
DLMAN->UploadScoreWithReplayData(hs);
}
Expand All @@ -759,10 +759,7 @@ void DownloadManager::UploadScoreWithReplayData(HighScore* hs)
FOREACH_ENUM(Skillset, ss)
if (ss != Skill_Overall)
(DLMAN->sessionRatings)[ss] += diffs.value(SkillsetToString(ss), 0.0);
(DLMAN->sessionRatings)[Skill_Overall] = 0.0f;
for(auto it : DLMAN->sessionRatings)
if(it.second > (DLMAN->sessionRatings)[Skill_Overall])
(DLMAN->sessionRatings)[Skill_Overall] = it.second;
(DLMAN->sessionRatings)[Skill_Overall] += diffs.value("Rating", 0.0);
hs->AddUploadedServer(serverURL.Get());
HTTPRunning = response_code;
}
Expand Down
39 changes: 39 additions & 0 deletions src/HighScore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -838,6 +838,45 @@ bool HighScore::IsEmpty() const
return true;
}

void HighScore::GenerateValidationKeys() {
string key = "";

FOREACH_ENUM(TapNoteScore, tns) {

if (tns == TNS_AvoidMine || tns == TNS_CheckpointHit || tns == TNS_CheckpointMiss || tns == TNS_None) {
continue;
}

key.append(to_string(GetTapNoteScore(tns)));
}

FOREACH_ENUM(HoldNoteScore, hns) {
if (hns == HNS_None) {
continue;
}

key.append(to_string(GetHoldNoteScore(hns)));
}

key.append(GetScoreKey());
key.append(GetChartKey());
key.append(GetModifiers());
key.append(GetMachineGuid());
key.append(to_string(static_cast<int>(GetWifeScore() * 1000.f)));
key.append(to_string(static_cast<int>(GetSSRNormPercent() * 1000.f)));
key.append(to_string(static_cast<int>(GetMusicRate() * 1000.f)));
key.append(to_string(static_cast<int>(GetJudgeScale() * 1000.f)));
key.append(to_string(static_cast<int>(GetWifePoints() * 1000.f)));
key.append(to_string(static_cast<int>(!GetChordCohesion())));
key.append(to_string(static_cast<int>(GetEtternaValid())));
key.append(GradeToString(GetWifeGrade()));

SetValidationKey(ValidationKey_Brittle, BinaryToHex(CryptManager::GetSHA1ForString(key)));

// just testing stuff
//hs.SetValidationKey(ValidationKey_Weak, GenerateWeakValidationKey(m_iTapNoteScores, m_iHoldNoteScores));
}

bool HighScore::Is39import() const { return m_Impl->is39import; }

string HighScore::GetName() const { return m_Impl->sName; }
Expand Down
1 change: 1 addition & 0 deletions src/HighScore.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ struct HighScore
void SetSkillsetSSR(Skillset ss, float ssr);
void SetValidationKey(ValidationKey vk, string k);
void SetTopScore(int i);
void GenerateValidationKeys();
string GetValidationKey(ValidationKey vk) const;
vector<int> GetRescoreJudgeVector(int x);
// Lua
Expand Down
38 changes: 0 additions & 38 deletions src/PlayerStageStats.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -327,44 +327,6 @@ vector<float> PlayerStageStats::CalcSSR(float ssrpercent ) const {
return MinaSDCalc(serializednd, steps->GetNoteData().GetNumTracks(), musicrate, ssrpercent, 1.f, steps->GetTimingData()->HasWarps());
}

void PlayerStageStats::GenerateValidationKeys(HighScore& hs) const {
string key = "";

FOREACH_ENUM(TapNoteScore, tns) {

if(tns == TNS_AvoidMine || tns == TNS_CheckpointHit || tns == TNS_CheckpointMiss || tns == TNS_None) {
continue;
}

key.append(to_string(hs.GetTapNoteScore(tns)));
}

FOREACH_ENUM(HoldNoteScore, hns) {
if (hns == HNS_None) {
continue;
}

key.append(to_string(hs.GetHoldNoteScore(hns)));
}

key.append(hs.GetScoreKey());
key.append(hs.GetChartKey());
key.append(hs.GetModifiers());
key.append(hs.GetMachineGuid());
key.append(to_string(static_cast<int>(hs.GetWifeScore() * 1000.f)));
key.append(to_string(static_cast<int>(hs.GetSSRNormPercent() * 1000.f)));
key.append(to_string(static_cast<int>(hs.GetMusicRate() * 1000.f)));
key.append(to_string(static_cast<int>(hs.GetJudgeScale() * 1000.f)));
key.append(to_string(static_cast<int>(hs.GetWifePoints() * 1000.f)));
key.append(to_string(static_cast<int>(!hs.GetChordCohesion())));
key.append(to_string(static_cast<int>(hs.GetEtternaValid())));
key.append(GradeToString(hs.GetWifeGrade()));

hs.SetValidationKey(ValidationKey_Brittle, BinaryToHex(CryptManager::GetSHA1ForString(key)));

// just testing stuff
//hs.SetValidationKey(ValidationKey_Weak, GenerateWeakValidationKey(m_iTapNoteScores, m_iHoldNoteScores));
}
float PlayerStageStats::GetTimingScale() const {
return m_fTimingScale;
}
Expand Down
1 change: 0 additions & 1 deletion src/Profile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -942,7 +942,6 @@ void Profile::CalculateStatsFromScores(LoadingWindow* ld) {

SCOREMAN->RecalculateSSRs(ld, m_sProfileID);
SCOREMAN->CalcPlayerRating(m_fPlayerRating, m_fPlayerSkillsets, m_sProfileID);
//SCOREMAN->RatingOverTime();
}

void Profile::CalculateStatsFromScores() {
Expand Down
46 changes: 4 additions & 42 deletions src/ScoreManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,48 +113,10 @@ void ScoreManager::PurgeProfileScores(const string& profileID) {
pscores[profileID].clear();
}

void ScoreManager::RatingOverTime(const string& profileID) {
auto compdate = [](HighScore* a, HighScore* b) { return (a->GetDateTime() < b->GetDateTime()); };

auto& scores = AllProfileScores[profileID];

vector<bool> wasvalid;
sort(scores.begin(), scores.end(), compdate);

for (auto& n : scores) {
wasvalid.push_back(n->GetEtternaValid());
n->SetEtternaValid(false);
}

float doot = 10.f;
float doot2[8];
LOG->Warn("wer");
if (scores.empty())
return;

DateTime lastvalidday = AllProfileScores[profileID].front()->GetDateTime();
lastvalidday.StripTime();

CalcPlayerRating(doot, doot2, profileID);
LOG->Warn(lastvalidday.GetString());

DateTime finalvalidday = scores.back()->GetDateTime();
finalvalidday.StripTime();
while (lastvalidday != finalvalidday) {
for (auto& n : scores) {
DateTime date = n->GetDateTime();
date.StripTime();

if (lastvalidday < date) {
lastvalidday = date;
break;
}

n->SetEtternaValid(true);
}
CalcPlayerRating(doot, doot2, profileID);
LOG->Trace("%f", doot);
}
void ScoreManager::RatingOverTime() {
if (false)
for (auto *s : AllScores)
s->GenerateValidationKeys();
}

ScoresForChart::ScoresForChart() {
Expand Down
2 changes: 1 addition & 1 deletion src/ScoreManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ class ScoreManager

bool KeyHasScores(const string& ck, const string& profileID = PROFILEMAN->GetProfile(PLAYER_1)->m_sProfileID) { return pscores[profileID].count(ck) == 1; }
bool HasAnyScores() { return !AllScores.empty(); }
void RatingOverTime(const string& profileID);
void RatingOverTime();

XNode *CreateNode(const string& profileID = PROFILEMAN->GetProfile(PLAYER_1)->m_sProfileID) const;
void LoadFromNode(const XNode* node, const string& profileID = PROFILEMAN->GetProfile(PLAYER_1)->m_sProfileID);
Expand Down
2 changes: 2 additions & 0 deletions src/ScreenSelectMusic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,8 @@ bool ScreenSelectMusic::Input(const InputEventPlus &input)
Profile *pProfile = PROFILEMAN->GetProfile(PLAYER_1);
pProfile->CreateGoal(GAMESTATE->m_pCurSteps[PLAYER_1]->GetChartKey());
Song* asonglol = m_MusicWheel.GetSelectedSong();
if (!asonglol)
return true;
asonglol->SetHasGoal(true);
Message msg("FavoritesUpdated");
MESSAGEMAN->Broadcast(msg);
Expand Down
2 changes: 1 addition & 1 deletion src/StageStats.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ static HighScore FillInHighScore(const PlayerStageStats &pss, const PlayerState
}
}

pss.GenerateValidationKeys(hs);
hs.GenerateValidationKeys();

if (!pss.InputData.empty())
hs.WriteInputData(pss.InputData);
Expand Down

0 comments on commit 1ca6cfa

Please sign in to comment.