diff --git a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs index c61ddc47..90336b2e 100644 --- a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs +++ b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs @@ -395,6 +395,8 @@ namespace TJAPlayer3 if(TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) { n良 = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; + nCombo = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; + nHighestCombo = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; n可 = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; n不可 = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; n連打 = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; @@ -642,6 +644,8 @@ namespace TJAPlayer3 public STDGBVALUE nヒット数_Auto含まない; public STDGBVALUE nヒット数_Auto含む; public int[] n良; + public int[] nHighestCombo; + public int[] nCombo; public int[] n可; public int[] n不可; public int[] n連打; @@ -787,6 +791,8 @@ namespace TJAPlayer3 } } + + internal E判定 e指定時刻からChipのJUDGEを返す(long nTime, CDTX.CChip pChip, int player = 0) { var e判定 = e指定時刻からChipのJUDGEを返すImpl(nTime, pChip, player); @@ -842,6 +848,13 @@ namespace TJAPlayer3 return _timingzonesAreEasy; } + private void tIncreaseComboDan(int danSong) + { + this.nCombo[danSong]++; + if (this.nCombo[danSong] > this.nHighestCombo[danSong]) + this.nHighestCombo[danSong] = this.nCombo[danSong]; + } + private E判定 e指定時刻からChipのJUDGEを返すImpl( long nTime, CDTX.CChip pChip, int player = 0 ) { @@ -1685,7 +1698,11 @@ namespace TJAPlayer3 this.actCombo.n現在のコンボ数[nPlayer]++; if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { this.n良[actDan.NowShowingNumber]++; + this.tIncreaseComboDan(actDan.NowShowingNumber); + } + if (this.actCombo.ctコンボ加算[nPlayer].b終了値に達してない) { @@ -1715,8 +1732,13 @@ namespace TJAPlayer3 this.actCombo.n現在のコンボ数[ nPlayer ]++; if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { this.n可[actDan.NowShowingNumber]++; - + this.tIncreaseComboDan(actDan.NowShowingNumber); + } + + + if (this.actCombo.ctコンボ加算[nPlayer].b終了値に達してない) { this.actCombo.ctコンボ加算[nPlayer].n現在の値 = 1; @@ -1757,6 +1779,8 @@ namespace TJAPlayer3 } this.actCombo.n現在のコンボ数[ nPlayer ] = 0; + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + this.nCombo[actDan.NowShowingNumber] = 0; this.actComboVoice.tReset(nPlayer); this.bIsMiss[nPlayer] = true; @@ -1779,7 +1803,10 @@ namespace TJAPlayer3 break; if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { this.n良[actDan.NowShowingNumber]++; + this.tIncreaseComboDan(actDan.NowShowingNumber); + } this.CBranchScore[nPlayer].nGreat++; this.CChartScore[nPlayer].nGreat++; @@ -1813,7 +1840,10 @@ namespace TJAPlayer3 if (!NotesManager.IsGenericRoll(pChip)) { if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { this.n可[actDan.NowShowingNumber]++; + this.tIncreaseComboDan(actDan.NowShowingNumber); + } this.CBranchScore[nPlayer].nGood++; this.CChartScore[nPlayer].nGood++; @@ -1855,6 +1885,7 @@ namespace TJAPlayer3 { if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) this.n不可[actDan.NowShowingNumber]++; + this.CBranchScore[nPlayer].nMiss++; this.CChartScore[nPlayer].nMiss++; @@ -1862,6 +1893,8 @@ namespace TJAPlayer3 } this.actCombo.n現在のコンボ数[ nPlayer ] = 0; + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + this.nCombo[actDan.NowShowingNumber] = 0; this.actComboVoice.tReset(nPlayer); diff --git a/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs b/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs index 7cd0b5fc..d66a458b 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs @@ -166,10 +166,12 @@ namespace TJAPlayer3 int totalGoods = (int)TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Perfect + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect; int totalOks = (int)TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Great + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great; int totalBads = (int)TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss; + int totalCombo = (int)TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0]; int individualGoods = TJAPlayer3.stage演奏ドラム画面.n良[NowShowingNumber]; int individualOks = TJAPlayer3.stage演奏ドラム画面.n可[NowShowingNumber]; int individualBads = TJAPlayer3.stage演奏ドラム画面.n不可[NowShowingNumber]; + int individualCombo = TJAPlayer3.stage演奏ドラム画面.nHighestCombo[NowShowingNumber]; int totalADLIBs = TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nADLIB; int totalMines = TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine; @@ -210,7 +212,7 @@ namespace TJAPlayer3 isChangedAmount = Challenge[i].Update(ExamChange[i] ? TJAPlayer3.stage演奏ドラム画面.n良[NowShowingNumber] + TJAPlayer3.stage演奏ドラム画面.n可[NowShowingNumber] + TJAPlayer3.stage演奏ドラム画面.n連打[NowShowingNumber] : (int)(TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Perfect + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Great + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great + TJAPlayer3.stage演奏ドラム画面.GetRoll(0))); break; case Exam.Type.Combo: - isChangedAmount = Challenge[i].Update((int)TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0]); + isChangedAmount = Challenge[i].Update(ExamChange[i] ? individualCombo : totalCombo); break; case Exam.Type.Accuracy: isChangedAmount = Challenge[i].Update(ExamChange[i] ? (int)individualAccuracy : (int)accuracy); diff --git a/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs b/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs index 1b8df52b..af274915 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs @@ -22,20 +22,20 @@ namespace TJAPlayer3 ["2"] = 2, // Small Ka (Taiko) | Yellow (left) hit (Konga) ["3"] = 3, // Big Don (Taiko) | Pink note (Konga) ["4"] = 4, // Big Ka (Taiko) | Clap (Konga) - ["5"] = 5, // Small roll start - ["6"] = 6, // Big roll start + ["5"] = 5, // Small roll start | Konga red roll + ["6"] = 6, // Big roll start | Konga pink roll ["7"] = 7, // Balloon ["8"] = 8, // Roll/Balloon end - ["9"] = 7, // Kusudama (Currently treated as balloon) + ["9"] = 7, // Kusudama (Coming soon) ["A"] = 10, // Joint Big Don (2P) ["B"] = 11, // Joint Big Ka (2P) - ["C"] = 12, // Mine (Coming soon) - ["D"] = 0, // Unused - ["E"] = 5, // Unused + ["C"] = 12, // Mine + ["D"] = 7, // ProjectOutfox's Fuse roll (Coming soon) + ["E"] = 0, // Unused ["F"] = 15, // ADLib - ["G"] = 0xF1, // Green (Purple) double hit note (Coming soon) - ["H"] = 16, // Konga clap roll (Coming soon) - ["I"] = 17, // Konga yellow roll (Coming soon) + ["G"] = 0xF1, // Green (Purple) double hit note + ["H"] = 16, // Konga clap roll | Taiko big roll + ["I"] = 17, // Konga yellow roll | Taiko small roll }; public static bool FastFlankedParsing(string s) diff --git a/Test/Songs/08 OpenTaiko Original/Chasing the wind/Chasing the Wind.tja b/Test/Songs/08 OpenTaiko Original/Chasing the wind/Chasing the Wind.tja index b9cdfa8c..f0a836ac 100644 --- a/Test/Songs/08 OpenTaiko Original/Chasing the wind/Chasing the Wind.tja +++ b/Test/Songs/08 OpenTaiko Original/Chasing the wind/Chasing the Wind.tja @@ -2,6 +2,7 @@ TITLE: Chasing the Wind SUBTITLE:--DashyDesu BPM:168 WAVE:Chasing the Wind.ogg +PREIMAGE:preimage.jpg OFFSET:-0.894 DEMOSTART:35.715 SCOREMODE:2 diff --git a/Test/Songs/08 OpenTaiko Original/Chasing the wind/preimage.jpg b/Test/Songs/08 OpenTaiko Original/Chasing the wind/preimage.jpg new file mode 100644 index 00000000..70bbb409 Binary files /dev/null and b/Test/Songs/08 OpenTaiko Original/Chasing the wind/preimage.jpg differ diff --git a/Test/dll/lua54.dll b/Test/dll/lua54.dll index 175e0def..e38d2972 100644 Binary files a/Test/dll/lua54.dll and b/Test/dll/lua54.dll differ