From 92b8a9c87cdcc194e5b7b152859811a7a8800983 Mon Sep 17 00:00:00 2001 From: Takkkom <76614532+Takkkom@users.noreply.github.com> Date: Thu, 17 Aug 2023 12:38:08 +0900 Subject: [PATCH] =?UTF-8?q?=E8=89=B2=E3=80=85=E6=94=B9=E5=96=848=20(#482)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * いろいろ * 譜面分岐のある段位のスコアの修正 --- TJAPlayer3/Songs/CDTX.cs | 37 ++++++++++++++----- TJAPlayer3/Songs/CScoreIni.cs | 2 +- .../Stages/07.Game/CStage演奏画面共通.cs | 2 + .../07.Game/Taiko/CStage演奏ドラム画面.cs | 22 +++++------ TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs | 2 +- 5 files changed, 41 insertions(+), 24 deletions(-) diff --git a/TJAPlayer3/Songs/CDTX.cs b/TJAPlayer3/Songs/CDTX.cs index 6218f9fa..51334777 100644 --- a/TJAPlayer3/Songs/CDTX.cs +++ b/TJAPlayer3/Songs/CDTX.cs @@ -345,6 +345,7 @@ namespace TJAPlayer3 { public bool bHit; public bool b可視 = true; + public bool bHideBarLine = true; public bool bShow; public bool bShowRoll; public bool bBranch = false; @@ -1289,6 +1290,7 @@ namespace TJAPlayer3 public int[] nノーツ数 = new int[4]; //3:共通 public int[] nDan_NotesCount = new int[1]; + public int[] nDan_BalloonCount = new int[1]; // public int[] nDan_BallonCount = new int[1]; public int[] nノーツ数_Branch = new int[4]; // @@ -4431,12 +4433,10 @@ namespace TJAPlayer3 if (IsEndedBranching) chip.nコース = (ECourse)i; else - chip.nコース = n現在のコース; - - if (this.bBARLINECUE[0] == 1) - { - chip.b可視 = false; - } + chip.nコース = n現在のコース; + + chip.b可視 = true; + chip.bHideBarLine = this.bBARLINECUE[0] == 1; #region [ 作り直し ] if (IsEndedBranching) { @@ -4742,6 +4742,10 @@ namespace TJAPlayer3 else { this.nノーツ数_Branch[(int)chip.nコース]++; + if (this.n参照中の難易度 == (int)Difficulty.Dan && chip.nコース == ECourse.eMaster) + { + this.nDan_NotesCount[DanSongs.Number - 1]++; + } if (!this.b分岐を一回でも開始した) { @@ -4751,13 +4755,25 @@ namespace TJAPlayer3 } } - - #endregion } else if (NotesManager.IsGenericBalloon(chip)) - { - //風船はこのままでも機能しているので何もしない. + { + //風船はこのままでも機能しているので何もしない. + if (IsEndedBranching) + { + if (this.n参照中の難易度 == (int)Difficulty.Dan) + { + this.nDan_BalloonCount[DanSongs.Number - 1]++; + } + } + else + { + if (this.n参照中の難易度 == (int)Difficulty.Dan && chip.nコース == ECourse.eMaster) + { + this.nDan_BalloonCount[DanSongs.Number - 1]++; + } + } if (this.b最初の分岐である == false) { @@ -4771,6 +4787,7 @@ namespace TJAPlayer3 } Array.Resize(ref nDan_NotesCount, nDan_NotesCount.Length + 1); + Array.Resize(ref nDan_BalloonCount, nDan_BalloonCount.Length + 1); // Array.Resize(ref nDan_BallonCount, nDan_BallonCount.Length + 1); if (IsEndedBranching) diff --git a/TJAPlayer3/Songs/CScoreIni.cs b/TJAPlayer3/Songs/CScoreIni.cs index 6c9a8205..120fbf8c 100644 --- a/TJAPlayer3/Songs/CScoreIni.cs +++ b/TJAPlayer3/Songs/CScoreIni.cs @@ -513,7 +513,7 @@ namespace TJAPlayer3 stファイル.Title = ""; stファイル.Name = ""; stファイル.Hash = ""; - stファイル.History = new string[] { "", "", "", "", "" }; + stファイル.History = new string[] { "", "", "", "", "", "", "" }; stファイル.BestRank.Drums = (int)ERANK.UNKNOWN; // #24459 2011.2.24 yyagi stファイル.BestRank.Guitar = (int)ERANK.UNKNOWN; // stファイル.BestRank.Bass = (int)ERANK.UNKNOWN; // diff --git a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs index e3174dc0..55ccdf9f 100644 --- a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs +++ b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs @@ -868,6 +868,7 @@ namespace TJAPlayer3 protected int[] n現在の連打数 = new int[ 5 ]; public int[] Chara_MissCount; protected E連打State eRollState; + protected bool[] ifp = { false, false, false, false, false }; protected int nタイマ番号; protected int n現在の音符の顔番号; @@ -4500,6 +4501,7 @@ namespace TJAPlayer3 this.actPlayInfo.NowMeasure[i] = 0; JPOSCROLLX[i] = 0; JPOSCROLLY[i] = 0; + ifp[i] = false; } TJAPlayer3.stage演奏ドラム画面.On活性化(); for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ ) diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs index 3735d244..7db4d1b7 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs @@ -499,12 +499,6 @@ namespace TJAPlayer3 #endif this.t進行描画_チップ_連打( E楽器パート.DRUMS, i ); - } - - bIsFinishedPlaying = true; - for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) - { - if (!ifp[i]) bIsFinishedPlaying = false; } this.actMtaiko.On進行描画(); @@ -579,10 +573,16 @@ namespace TJAPlayer3 bIsFinishedEndAnime = this.actEnd.On進行描画() == 1 ? true : false; - bIsFinishedFadeout = this.t進行描画_フェードイン_アウト(); + bIsFinishedFadeout = this.t進行描画_フェードイン_アウト(); + + bIsFinishedPlaying = true; + for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) + { + if (!ifp[i]) bIsFinishedPlaying = false; + } //演奏終了→演出表示→フェードアウト - if( bIsFinishedPlaying && base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) + if ( bIsFinishedPlaying && base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) { if (TJAPlayer3.ConfigIni.bTokkunMode) { @@ -648,9 +648,7 @@ namespace TJAPlayer3 public char ch; public Point pt; } - public CAct演奏DrumsチップファイアD actChipFireD; - - private bool[] ifp = { false, false, false, false, false }; + public CAct演奏DrumsチップファイアD actChipFireD; private CAct演奏Drumsグラフ actGraph; // #24074 2011.01.23 add ikanick private CAct演奏Drumsパッド actPad; @@ -2462,7 +2460,7 @@ namespace TJAPlayer3 TJAPlayer3.act文字コンソール.tPrint(x + 8, y - 26, C文字コンソール.Eフォント種別.白, nowMeasure.ToString()); } } - if ( ( pChip.b可視 ) && (TJAPlayer3.Tx.Bar != null ) ) + if ( (pChip.b可視 && !pChip.bHideBarLine) && (TJAPlayer3.Tx.Bar != null ) ) { if( x >= 0 ) { diff --git a/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs b/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs index 8c3a2471..2369d6a9 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs @@ -84,7 +84,7 @@ namespace TJAPlayer3 TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreDiff); - TJAPlayer3.stage演奏ドラム画面.ftDanReSetScoreNiji(TJAPlayer3.DTX.nDan_NotesCount[NowShowingNumber], 0); + TJAPlayer3.stage演奏ドラム画面.ftDanReSetScoreNiji(TJAPlayer3.DTX.nDan_NotesCount[NowShowingNumber], TJAPlayer3.DTX.nDan_BalloonCount[NowShowingNumber]); TJAPlayer3.stage演奏ドラム画面.ftDanReSetBranches(TJAPlayer3.DTX.bHasBranchDan[NowShowingNumber]); IsAnimating = true;