diff --git a/TJAPlayer3/Songs/C曲リストノード.cs b/TJAPlayer3/Songs/C曲リストノード.cs index a838177b..28d88573 100644 --- a/TJAPlayer3/Songs/C曲リストノード.cs +++ b/TJAPlayer3/Songs/C曲リストノード.cs @@ -59,7 +59,9 @@ namespace TJAPlayer3 public int nPerfect範囲ms = -1; public int nPoor範囲ms = -1; public int nスコア数; + public C曲リストノード r親ノード; + public int Openindex; public Stack stackランダム演奏番号 = new Stack(); public string strジャンル = ""; @@ -92,7 +94,7 @@ namespace TJAPlayer3 } public C曲リストノード Clone() - { + { return (C曲リストノード)MemberwiseClone(); } diff --git a/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs b/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs index 4344b90e..b2f9c494 100644 --- a/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs +++ b/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs @@ -1884,7 +1884,7 @@ namespace TJAPlayer3 int xOffset = (diff - 5) * 244; TJAPlayer3.Tx.SongSelect_Frame_Score[1].t2D下中央基準描画(TJAPlayer3.app.Device, 494 - - 31, TJAPlayer3.Skin.SongSelect_Overall_Y + 465, new Rectangle(122 * xOffset, 0, 122, 360)); + - 31, TJAPlayer3.Skin.SongSelect_Overall_Y + 465, new Rectangle(xOffset, 0, 122, 360)); if (avaliable) t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[diff] < 10 ? 497 diff --git a/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs b/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs index 9f2b73ea..1fcf3fa8 100644 --- a/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs +++ b/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs @@ -313,7 +313,7 @@ namespace TJAPlayer3 if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower) { - #region [ 通常時リザルト ] + #region [ Ensou result contents ] int AnimeCount = 3000 + GaugeFactor * 59; int ScoreApparitionTimeStamp = AnimeCount + 420 * 4 + 840; @@ -440,6 +440,9 @@ namespace TJAPlayer3 this.t小文字表示(TJAPlayer3.Skin.nResultNumberP1X + totalShift, TJAPlayer3.Skin.nResultNumberY + TJAPlayer3.Skin.nResultNumberYPadding * k, string.Format("{0,4:###0}", scoresArr[k])); + TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = 1f; + TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y = 1f; + if (!this.b音声再生[1 + k]) { TJAPlayer3.Skin.soundPon.t再生する(); @@ -846,7 +849,7 @@ namespace TJAPlayer3 private readonly ST文字位置[] st大文字位置; private ST文字位置[] stScoreFont; - private void t小文字表示(int x, int y, string str) + public void t小文字表示(int x, int y, string str) { foreach (char ch in str) { diff --git a/TJAPlayer3/Stages/08.Result/CStage結果.cs b/TJAPlayer3/Stages/08.Result/CStage結果.cs index 9ab5afcc..aa83c1b1 100644 --- a/TJAPlayer3/Stages/08.Result/CStage結果.cs +++ b/TJAPlayer3/Stages/08.Result/CStage結果.cs @@ -704,6 +704,30 @@ namespace TJAPlayer3 this.ttkRemaningLifes = new TitleTextureKey(CFloorManagement.CurrentNumberOfLives.ToString() + " / " + CFloorManagement.MaxNumberOfLives.ToString(), pfTowerText, Color.Black, Color.Transparent, 700); this.ttkScoreCount = new TitleTextureKey(TJAPlayer3.stage結果.st演奏記録.Drums.nスコア.ToString(), pfTowerText, Color.Black, Color.Transparent, 700); } + else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { + if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName)) + { + this.pfDanTitles = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 24); + } + else + { + this.pfDanTitles = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 16); + } + + this.ttkDanTitles = new TitleTextureKey[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count]; + + for (int i = 0; i < TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count; i++) + { + this.ttkDanTitles[i] = new TitleTextureKey(TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].bTitleShow + ? "???" + : TJAPlayer3.stage選曲.r確定された曲.DanSongs[i].Title, + pfDanTitles, + Color.White, + Color.Black, + 700); + } + } base.OnManagedリソースの作成(); } @@ -725,7 +749,11 @@ namespace TJAPlayer3 TJAPlayer3.t安全にDisposeする(ref pfTowerText48); TJAPlayer3.t安全にDisposeする(ref pfTowerText72); } - + else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { + TJAPlayer3.t安全にDisposeする(ref pfDanTitles); + } + base.OnManagedリソースの解放(); } } @@ -1048,6 +1076,11 @@ namespace TJAPlayer3 Dan_Plate?.t2D中心基準描画(TJAPlayer3.app.Device, 138, 220); + CActSelect段位リスト.tDisplayDanPlate(Dan_Plate, + TJAPlayer3.stage段位選択.段位リスト.stバー情報[TJAPlayer3.stage段位選択.段位リスト.n現在の選択行], + 138, + 220); + #endregion #region [Charts Individual Results] @@ -1055,11 +1088,8 @@ namespace TJAPlayer3 for (int i = 0; i < TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count; i++) { // To alter in order to shift the whole tab - int baseX = 255; - int baseY = 100 + 183 * i; - - TJAPlayer3.Tx.DanResult_SongPanel_Main.t2D描画(TJAPlayer3.app.Device, baseX, baseY, new Rectangle(0, 1 + 170 * Math.Min(i, 2), 960, 170)); + ftDanDisplaySongInfo(i); } #endregion @@ -1311,8 +1341,45 @@ namespace TJAPlayer3 } } return 0; - } + } + + + #region [Dan result individual song information] + private void ftDanDisplaySongInfo(int i) + { + int baseX = 255; + + int baseY = 100 + 183 * i; + + var song = TJAPlayer3.stage選曲.r確定された曲.DanSongs[i]; + + // TJAPlayer3.Tx.Dani_Difficulty_Cymbol.t2D中心基準描画(TJAPlayer3.app.Device, scroll + 377, 180 + i * 73, new Rectangle(song.Difficulty * 53, 0, 53, 53)); + + TJAPlayer3.Tx.DanResult_SongPanel_Main.t2D描画(TJAPlayer3.app.Device, baseX, baseY, new Rectangle(0, 1 + 170 * Math.Min(i, 2), 960, 170)); + + TJAPlayer3.Tx.Dani_Difficulty_Cymbol.t2D中心基準描画(TJAPlayer3.app.Device, baseX + 122, baseY + 46, new Rectangle(song.Difficulty * 53, 0, 53, 53)); + + TJAPlayer3.stage段位選択.段位リスト.tLevelNumberDraw(baseX + 128, baseY + 73, song.Level.ToString()); + + string[] scoresArr = + { + TJAPlayer3.stage演奏ドラム画面.n良[i].ToString(), + TJAPlayer3.stage演奏ドラム画面.n可[i].ToString(), + TJAPlayer3.stage演奏ドラム画面.n不可[i].ToString(), + TJAPlayer3.stage演奏ドラム画面.n連打[i].ToString() + }; + + for (int j = 0; j < 4; j++) + this.actParameterPanel.t小文字表示(baseX + 200 + 211 * j, baseY + 104, string.Format("{0,4:###0}", scoresArr[j])); + + TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkDanTitles[i]).t2D描画(TJAPlayer3.app.Device, baseX + 146, baseY + 39); + + } + + #endregion + + public void t後処理() { @@ -1402,30 +1469,6 @@ namespace TJAPlayer3 int tmpClear = GetTowerScoreRank(); - /* - double progress = CFloorManagement.LastRegisteredFloor / (double)TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTotalFloor; - - // Clear badges : 10% (E), 25% (D), 50% (C), 75% (B), Clear (A), FC (S), DFC (X) - bool[] conditions = - { - progress >= 0.1, - progress >= 0.25, - progress >= 0.5, - progress >= 0.75, - progress == 1 && CFloorManagement.CurrentNumberOfLives > 0, - this.st演奏記録.Drums.nMiss数 == 0, - this.st演奏記録.Drums.nGreat数 == 0 - }; - - for (int i = 0; i < conditions.Length; i++) - { - if (conditions[i] == true) - tmpClear++; - else - break; - } - */ - if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay) { cスコア.GPInfo[actualPlayer].nClear[0] = Math.Max(cスコア.GPInfo[actualPlayer].nClear[0], tmpClear); @@ -1548,6 +1591,8 @@ namespace TJAPlayer3 // Dan informations private CTexture Dan_Plate; + private TitleTextureKey[] ttkDanTitles; + private CPrivateFastFont pfDanTitles; // Tower informations private CCounter ctTower_Animation;