From 547faacc09da073d3406998e2f9a8c83245eb1ec Mon Sep 17 00:00:00 2001 From: Takkkom <76614532+Takkkom@users.noreply.github.com> Date: Sun, 15 Oct 2023 19:43:43 +0900 Subject: [PATCH] =?UTF-8?q?=E7=B5=90=E6=9E=9C=E7=94=BB=E9=9D=A2=E3=81=AE?= =?UTF-8?q?=E6=95=B0=E5=80=A4=E3=81=AE=E3=82=B9=E3=82=B1=E3=83=BC=E3=83=AA?= =?UTF-8?q?=E3=83=B3=E3=82=B0=E3=81=AB=E5=AF=BE=E5=BF=9C=20(#510)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenTaiko/src/Common/CSkin.cs | 23 ++++++++++ .../08.Result/CActResultParameterPanel.cs | 45 +++++++++++++------ OpenTaiko/src/Stages/08.Result/CStage結果.cs | 16 +++---- 3 files changed, 62 insertions(+), 22 deletions(-) diff --git a/OpenTaiko/src/Common/CSkin.cs b/OpenTaiko/src/Common/CSkin.cs index e4a43271..993406ec 100644 --- a/OpenTaiko/src/Common/CSkin.cs +++ b/OpenTaiko/src/Common/CSkin.cs @@ -6333,6 +6333,14 @@ namespace TJAPlayer3 Result_Number_Interval[i] = int.Parse(strSplit[i]); } } + else if (strCommand == "Result_Number_Scale_4P") + { + Result_Number_Scale_4P = float.Parse(strParam); + } + else if (strCommand == "Result_Number_Scale_5P") + { + Result_Number_Scale_5P = float.Parse(strParam); + } else if (strCommand == "Result_Soul_Fire_X") { string[] strSplit = strParam.Split(','); @@ -6509,6 +6517,14 @@ namespace TJAPlayer3 Result_Score_Number_Interval[i] = int.Parse(strSplit[i]); } } + else if (strCommand == "Result_Score_Scale_4P") + { + Result_Score_Scale_4P = float.Parse(strParam); + } + else if (strCommand == "Result_Score_Scale_5P") + { + Result_Score_Scale_5P = float.Parse(strParam); + } else if (strCommand == "Result_ScoreRankEffect_X") { string[] strSplit = strParam.Split(','); @@ -9588,6 +9604,10 @@ namespace TJAPlayer3 public int[] Result_Number_Interval = new int[] { 22, 0 }; + public float Result_Number_Scale_4P = 1.0f; + + public float Result_Number_Scale_5P = 1.0f; + public int[] Result_Soul_Fire_X = new int[] { 576, 1211 }; public int[] Result_Soul_Fire_Y = new int[] { 160, 160 }; @@ -9621,6 +9641,9 @@ namespace TJAPlayer3 public int[] Result_Score_Y = new int[] { 212, 212 }; public int[] Result_Score_Number_Interval = new int[] { 33, 0 }; + public float Result_Score_Scale_4P = 1.0f; + public float Result_Score_Scale_5P = 1.0f; + public int[] Result_ScoreRankEffect_X = new int[] { 135, 770 }; public int[] Result_ScoreRankEffect_Y = new int[] { 339, 339 }; diff --git a/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs b/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs index b6cd761f..cb2bb362 100644 --- a/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs +++ b/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs @@ -601,12 +601,22 @@ namespace TJAPlayer3 { if (ct全体進行.CurrentValue >= AnimeCount + (Interval * k)) { + float numScale = 1.0f; + + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + numScale = TJAPlayer3.Skin.Result_Number_Scale_5P; + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 3 || TJAPlayer3.ConfigIni.nPlayerCount == 4) + { + numScale = TJAPlayer3.Skin.Result_Number_Scale_4P; + } TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = ct全体進行.CurrentValue <= AnimeCount + (Interval * k) + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.CurrentValue - (AnimeCount + (Interval * k))) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f; TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y = ct全体進行.CurrentValue <= AnimeCount + (Interval * k) + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.CurrentValue - (AnimeCount + (Interval * k))) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f; if ((k != 5 || TJAPlayer3.Skin.Result_ADLib_Show) && (k != 6 || TJAPlayer3.Skin.Result_Bomb_Show)) { - this.t小文字表示(num_x[k][pos] + uioffset_x, num_y[k][pos], scoresArr[k]); + this.t小文字表示(num_x[k][pos] + uioffset_x, num_y[k][pos], scoresArr[k], numScale); } TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = 1f; @@ -631,15 +641,18 @@ namespace TJAPlayer3 if (ct全体進行.CurrentValue >= AnimeCount + Interval * 4 + 840) { + float numScale = 1.0f; int score_x; int score_y; if (TJAPlayer3.ConfigIni.nPlayerCount == 5) { + numScale = TJAPlayer3.Skin.Result_Score_Scale_5P; score_x = TJAPlayer3.Skin.Result_Score_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos]; score_y = TJAPlayer3.Skin.Result_Score_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[pos]; } else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) { + numScale = TJAPlayer3.Skin.Result_Score_Scale_4P; score_x = TJAPlayer3.Skin.Result_Score_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[pos]; score_y = TJAPlayer3.Skin.Result_Score_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[pos]; } @@ -656,7 +669,7 @@ namespace TJAPlayer3 TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.Y = ct全体進行.CurrentValue <= AnimeCount1 + 270 ? 1.0f + (float)Math.Sin((ct全体進行.CurrentValue - AnimeCount1) / 1.5f * (Math.PI / 180)) * 0.65f : ct全体進行.CurrentValue <= AnimeCount1 + 360 ? 1.0f - (float)Math.Sin((ct全体進行.CurrentValue - AnimeCount1 - 270) * (Math.PI / 180)) * 0.1f : 1.0f; - this.tスコア文字表示(score_x, score_y, (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, i));// TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nScore.ToString())); + this.tスコア文字表示(score_x, score_y, (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, i), numScale);// TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nScore.ToString())); if (!b音声再生[8]) { @@ -1347,20 +1360,22 @@ namespace TJAPlayer3 } } - public void t小文字表示(int x, int y, int num) + public void t小文字表示(int x, int y, int num, float scale) { + TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X *= scale; + TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y *= scale; int[] nums = CConversion.SeparateDigits(num); for (int j = 0; j < nums.Length; j++) { float offset = j; - float width = TJAPlayer3.Tx.Result_Number.sz画像サイズ.Width / 11.0f; - float height = TJAPlayer3.Tx.Result_Number.sz画像サイズ.Height / 2.0f; + float width = (TJAPlayer3.Tx.Result_Number.sz画像サイズ.Width / 11.0f); + float height = (TJAPlayer3.Tx.Result_Number.sz画像サイズ.Height / 2.0f); - float _x = x - (TJAPlayer3.Skin.Result_Number_Interval[0] * offset) + (width * 2); - float _y = y - (TJAPlayer3.Skin.Result_Number_Interval[1] * offset); + float _x = x - ((TJAPlayer3.Skin.Result_Number_Interval[0] * scale) * offset) + (width * 2); + float _y = y - ((TJAPlayer3.Skin.Result_Number_Interval[1] * scale) * offset); - TJAPlayer3.Tx.Result_Number.t2D拡大率考慮中央基準描画(_x + (width / 2), _y + (height / 2), + TJAPlayer3.Tx.Result_Number.t2D拡大率考慮中央基準描画(_x + (width * scale / 2), _y + (height * scale / 2), new RectangleF(width * nums[j], 0, width, height)); } } @@ -1393,19 +1408,21 @@ namespace TJAPlayer3 } } - public void tスコア文字表示(int x, int y, int num) + public void tスコア文字表示(int x, int y, int num, float scale) { + TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.X *= scale; + TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.Y *= scale; int[] nums = CConversion.SeparateDigits(num); for (int j = 0; j < nums.Length; j++) { float offset = j; - float _x = x - (TJAPlayer3.Skin.Result_Score_Number_Interval[0] * offset); - float _y = y - (TJAPlayer3.Skin.Result_Score_Number_Interval[1] * offset); + float _x = x - (TJAPlayer3.Skin.Result_Score_Number_Interval[0] * scale * offset); + float _y = y - (TJAPlayer3.Skin.Result_Score_Number_Interval[1] * scale * offset); - float width = TJAPlayer3.Tx.Result_Score_Number.sz画像サイズ.Width / 10.0f; - float height = TJAPlayer3.Tx.Result_Score_Number.sz画像サイズ.Height; + float width = (TJAPlayer3.Tx.Result_Score_Number.sz画像サイズ.Width / 10.0f); + float height = (TJAPlayer3.Tx.Result_Score_Number.sz画像サイズ.Height); - TJAPlayer3.Tx.Result_Score_Number.t2D拡大率考慮中央基準描画(_x, _y + (height / 2), new RectangleF(width * nums[j], 0, width, height)); + TJAPlayer3.Tx.Result_Score_Number.t2D拡大率考慮中央基準描画(_x, _y + (height * scale / 2), new RectangleF(width * nums[j], 0, width, height)); } } //----------------- diff --git a/OpenTaiko/src/Stages/08.Result/CStage結果.cs b/OpenTaiko/src/Stages/08.Result/CStage結果.cs index f6a93a7d..7a63f434 100644 --- a/OpenTaiko/src/Stages/08.Result/CStage結果.cs +++ b/OpenTaiko/src/Stages/08.Result/CStage結果.cs @@ -1800,25 +1800,25 @@ namespace TJAPlayer3 // Small digits this.actParameterPanel.t小文字表示(TJAPlayer3.Skin.DanResult_Perfect[0] + offset, TJAPlayer3.Skin.DanResult_Perfect[1], - TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGreat); + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGreat, 1.0f); this.actParameterPanel.t小文字表示(TJAPlayer3.Skin.DanResult_Good[0] + offset, TJAPlayer3.Skin.DanResult_Good[1], - TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood); + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood, 1.0f); this.actParameterPanel.t小文字表示(TJAPlayer3.Skin.DanResult_Miss[0] + offset, TJAPlayer3.Skin.DanResult_Miss[1], - TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss); + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss, 1.0f); this.actParameterPanel.t小文字表示(TJAPlayer3.Skin.DanResult_Roll[0] + offset, TJAPlayer3.Skin.DanResult_Roll[1], - TJAPlayer3.stage演奏ドラム画面.GetRoll(0)); + TJAPlayer3.stage演奏ドラム画面.GetRoll(0), 1.0f); this.actParameterPanel.t小文字表示(TJAPlayer3.Skin.DanResult_MaxCombo[0] + offset, TJAPlayer3.Skin.DanResult_MaxCombo[1], - TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0]); + TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0], 1.0f); this.actParameterPanel.t小文字表示(TJAPlayer3.Skin.DanResult_TotalHit[0] + offset, TJAPlayer3.Skin.DanResult_TotalHit[1], - totalHit); + totalHit, 1.0f); // Large digits - this.actParameterPanel.tスコア文字表示(TJAPlayer3.Skin.DanResult_Score[0] + offset, TJAPlayer3.Skin.DanResult_Score[1], (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, 0)); + this.actParameterPanel.tスコア文字表示(TJAPlayer3.Skin.DanResult_Score[0] + offset, TJAPlayer3.Skin.DanResult_Score[1], (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, 0), 1.0f); #endregion @@ -1901,7 +1901,7 @@ namespace TJAPlayer3 TJAPlayer3.Tx.Result_Number.Opacity = opacity; for (int j = 0; j < 4; j++) - this.actParameterPanel.t小文字表示(num_x[j] + offset, num_y[j], scoresArr[j]); + this.actParameterPanel.t小文字表示(num_x[j] + offset, num_y[j], scoresArr[j], 1.0f); TJAPlayer3.Tx.Result_Number.Opacity = 255; TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkDanTitles[i]).Opacity = opacity;