diff --git a/TJAPlayer3/Songs/CScoreIni.cs b/TJAPlayer3/Songs/CScoreIni.cs index 58c178f8..2f97bc4f 100644 --- a/TJAPlayer3/Songs/CScoreIni.cs +++ b/TJAPlayer3/Songs/CScoreIni.cs @@ -1359,7 +1359,7 @@ namespace TJAPlayer3 { try { - if (stセクション[i].nExamResult[section][part] > -1) + if (stセクション[i].nExamResult[section][part] != -1) writer.WriteLine("ExamResult{0}_{1}={2}", section, part, this.stセクション[i].nExamResult[section][part]); } catch (NullReferenceException) diff --git a/TJAPlayer3/Stages/08.Result/CStage結果.cs b/TJAPlayer3/Stages/08.Result/CStage結果.cs index c958243e..62358fd5 100644 --- a/TJAPlayer3/Stages/08.Result/CStage結果.cs +++ b/TJAPlayer3/Stages/08.Result/CStage結果.cs @@ -340,21 +340,26 @@ namespace TJAPlayer3 #region [ Update Dan Dojo exam results ] for (int i = 0; i < TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count; i++) { - if (ini[0].stセクション[0].nExamResult.Count < TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count) - { - ini[0].stセクション[0].nExamResult.Add(new int[CExamInfo.cMaxExam]); - for (int h = 0; h < ini[0].stセクション[0].nExamResult.Last().Length; h++) - { - ini[0].stセクション[0].nExamResult.Last()[h] = -1; - } - } - for (int j = 0; j < TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Dan_C.Length; j++) { - if (TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Dan_C[j] != null && TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Dan_C[j].GetEnable()) + if (TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Dan_C[j] != null && TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Dan_C[j].GetCleared()[0]) { int amount = TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Dan_C[j].GetAmount(); - int current = ini[0].stセクション[0].nExamResult[i][j]; + int current = -1; + try + { + current = ini[0].stセクション[0].nExamResult[i][j]; + } + catch (ArgumentOutOfRangeException) + { + ini[0].stセクション[0].nExamResult.Insert(i, new int[CExamInfo.cMaxExam]); + for (int part = 0; part < ini[0].stセクション[0].nExamResult[i].Length; part++) + { + // Default all values to -1, will not be saved to ScoreIni if value is not changed. + ini[0].stセクション[0].nExamResult[i][part] = -1; + } + current = ini[0].stセクション[0].nExamResult[i][j]; + } if (ini[0].stセクション[0].nExamResult[i][j] == -1) { @@ -726,7 +731,7 @@ namespace TJAPlayer3 for (int i = 0; i < TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count; i++) { - this.ttkDanTitles[i] = new TitleTextureKey(TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].bTitleShow + this.ttkDanTitles[i] = new TitleTextureKey(TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].bTitleShow ? "???" : TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Title, pfDanTitles,