1
0
mirror of synced 2025-01-18 17:14:07 +01:00

Display difficulty for the Tower/Dan charts within the Ensou song select screen

This commit is contained in:
0aubsq 2021-12-26 22:08:00 +01:00
parent 12a3d1917b
commit 42c592faea
2 changed files with 84 additions and 27 deletions

View File

@ -190,7 +190,10 @@ namespace TJAPlayer3
SongSelect_Branch = TxC(SONGSELECT + @"Branch.png");
SongSelect_Branch_Text = TxC(SONGSELECT + @"Branch_Text.png");
SongSelect_Bar_Center = TxC(SONGSELECT + @"Bar_Center.png");
SongSelect_Frame_Score = TxC(SONGSELECT + @"Frame_Score.png");
SongSelect_Frame_Score[0] = TxC(SONGSELECT + @"Frame_Score.png");
SongSelect_Frame_Score[1] = TxC(SONGSELECT + @"Frame_Score_Tower.png");
SongSelect_Frame_Box = TxC(SONGSELECT + @"Frame_Box.png");
SongSelect_Frame_BackBox = TxC(SONGSELECT + @"Frame_BackBox.png");
SongSelect_Frame_Random = TxC(SONGSELECT + @"Frame_Random.png");
@ -1328,7 +1331,7 @@ namespace TJAPlayer3
SongSelect_Level,
SongSelect_Branch,
SongSelect_Branch_Text,
SongSelect_Frame_Score,
SongSelect_Frame_Box,
SongSelect_Frame_BackBox,
SongSelect_Frame_Random,
@ -1354,6 +1357,7 @@ namespace TJAPlayer3
SongSelect_Bar_Genre,
SongSelect_Box_Chara,
SongSelect_ScoreWindow = new CTexture[(int)Difficulty.Total],
SongSelect_Frame_Score = new CTexture[2],
SongSelect_Donchan_Select = new CTexture[47],
SongSelect_Donchan_Normal = new CTexture[49],
SongSelect_Donchan_Jump = new CTexture[18],

View File

@ -1761,9 +1761,9 @@ namespace TJAPlayer3
bool avaliable = TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[i] >= 0;
if (avaliable)
TJAPlayer3.Tx.SongSelect_Frame_Score.color4 = new Color4(1f, 1f, 1f);
TJAPlayer3.Tx.SongSelect_Frame_Score[0].color4 = new Color4(1f, 1f, 1f);
else
TJAPlayer3.Tx.SongSelect_Frame_Score.color4 = new Color4(0.5f, 0.5f, 0.5f);
TJAPlayer3.Tx.SongSelect_Frame_Score[0].color4 = new Color4(0.5f, 0.5f, 0.5f);
#endregion
@ -1788,14 +1788,14 @@ namespace TJAPlayer3
if (!TJAPlayer3.stage選曲.act難易度選択画面.bIsDifficltSelect || ctDifficultyIn.n現在の値 < 1000)
{
TJAPlayer3.Tx.SongSelect_Frame_Score.Opacity = difSelectOpacity;
TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity = difSelectOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difSelectOpacity;
}
else if (ctDifficultyIn.n現在の値 >= 1000)
{
int difInOpacity = (int)((float)((int)255.0f - (ctDifficultyIn.n現在の値 - 1000)) * ((i == (int)Difficulty.Edit && omoteExists) ? (float)difSelectOpacity / 255f : 1f));
TJAPlayer3.Tx.SongSelect_Frame_Score.Opacity = difInOpacity;
TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity = difInOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difInOpacity;
}
@ -1806,7 +1806,7 @@ namespace TJAPlayer3
int displayingDiff = Math.Min(i, (int)Difficulty.Oni);
int positionalOffset = displayingDiff * 122;
TJAPlayer3.Tx.SongSelect_Frame_Score.t2D下中央基準描画(TJAPlayer3.app.Device, 494
TJAPlayer3.Tx.SongSelect_Frame_Score[0].t2D下中央基準描画(TJAPlayer3.app.Device, 494
+ positionalOffset - 31, TJAPlayer3.Skin.SongSelect_Overall_Y + 465, new Rectangle(122 * i, 0, 122, 360));
if (avaliable)
@ -1822,26 +1822,79 @@ namespace TJAPlayer3
#endregion
}
/*
else
{
// To replace (Generate a display bug for tower mapc)
if (TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[TJAPlayer3.stage選曲.n現在選択中の曲の難易度] >= 0)
{
// 譜面がありますね
TJAPlayer3.Tx.SongSelect_Frame_Score.color4 = new Color4(1f, 1f, 1f);
TJAPlayer3.Tx.SongSelect_Frame_Score.t2D下中央基準描画(TJAPlayer3.app.Device, 494 + (3 * 122) - 31, TJAPlayer3.Skin.SongSelect_Overall_Y + 465, new Rectangle(0, 360 + (360 * (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 - (int)Difficulty.Tower)), TJAPlayer3.Tx.SongSelect_Frame_Score.szテクスチャサイズ.Width, 360));
}
else
{
// ないですね
TJAPlayer3.Tx.SongSelect_Frame_Score.color4 = new Color4(0.5f, 0.5f, 0.5f);
TJAPlayer3.Tx.SongSelect_Frame_Score.t2D下中央基準描画(TJAPlayer3.app.Device, 494 + (3 * 122) - 31, TJAPlayer3.Skin.SongSelect_Overall_Y + 465, new Rectangle(0, 360 + (360 * (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 - (int)Difficulty.Tower)), TJAPlayer3.Tx.SongSelect_Frame_Score.szテクスチャサイズ.Width, 360));
}
}
*/
else
{
// diff : int (5 : Tower, 6 : Dan)
#region [Check if Dan or Tower]
int diff = 5;
if (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 == (int)Difficulty.Dan)
diff = 6;
#endregion
// avaliable : bool (Chart exists)
#region [Gray box if stage isn't avaliable]
bool avaliable = TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[diff] >= 0;
if (avaliable)
TJAPlayer3.Tx.SongSelect_Frame_Score[1].color4 = new Color4(1f, 1f, 1f);
else
TJAPlayer3.Tx.SongSelect_Frame_Score[1].color4 = new Color4(0.5f, 0.5f, 0.5f);
#endregion
// opacity : int (Box and scores opacity)
#region [Opacity management]
int opacity = 0;
if (avaliable && BarAnimeCount == 62)
{
if (ctScoreFrameAnime.n現在の値 <= 3000)
opacity = Math.Max(0, ctScoreFrameAnime.n現在の値 - 2745);
else
opacity = Math.Min(255, 255 - (ctScoreFrameAnime.n現在の値 - 5745));
}
#endregion
#region [Display box parameters]
int difSelectOpacity = (int)(BarAnimeCount * 4.25f);
if (!TJAPlayer3.stage選曲.act難易度選択画面.bIsDifficltSelect || ctDifficultyIn.n現在の値 < 1000)
{
TJAPlayer3.Tx.SongSelect_Frame_Score[1].Opacity = difSelectOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difSelectOpacity;
}
else if (ctDifficultyIn.n現在の値 >= 1000)
{
int difInOpacity = (int)255.0f - (ctDifficultyIn.n現在の値 - 1000);
TJAPlayer3.Tx.SongSelect_Frame_Score[1].Opacity = difInOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difInOpacity;
}
#endregion
#region [Displayables]
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));
if (avaliable)
t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[diff] < 10 ? 497
- 5 : 492 - 5, TJAPlayer3.Skin.SongSelect_Overall_Y + 277,
TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[diff].ToString());
#endregion
}
}
}
break;