1
0
mirror of synced 2024-11-28 01:10:53 +01:00

演奏画面と結果画面のDanIconに対応 (#436)

This commit is contained in:
Takkkom 2023-02-25 16:00:44 +09:00 committed by GitHub
parent a21d3fe192
commit da0e1dc03a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 82 additions and 6 deletions

View File

@ -5272,6 +5272,14 @@ namespace TJAPlayer3
{
Game_DanC_Dan_Plate = strParam.Split(',').Select(int.Parse).ToArray();
}
else if (strCommand == nameof(Game_DanC_DanIcon_Offset))
{
Game_DanC_DanIcon_Offset = strParam.Split(',').Select(int.Parse).ToArray();
}
else if (strCommand == nameof(Game_DanC_DanIcon_Offset_Mini))
{
Game_DanC_DanIcon_Offset_Mini = strParam.Split(',').Select(int.Parse).ToArray();
}
else if (strCommand == nameof(Game_DanC_Title_X))
{
Game_DanC_Title_X = strParam.Split(',').Select(int.Parse).ToArray();
@ -6881,6 +6889,22 @@ namespace TJAPlayer3
DanResult_DanTitles_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "DanResult_DanIcon_X")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 3; i++)
{
DanResult_DanIcon_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "DanResult_DanIcon_Y")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 3; i++)
{
DanResult_DanIcon_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "DanResult_Rank")
{
string[] strSplit = strParam.Split(',');
@ -8669,12 +8693,16 @@ namespace TJAPlayer3
public int[] Game_DanC_SmallBase_Offset_X = new int[] { 745, 410 };
public int[] Game_DanC_SmallBase_Offset_Y = new int[] { 119, 119 };
public int[] Game_DanC_Number_XY = new int[] { 214, 67 };
public int[] Game_DanC_Dan_Plate = new int[] { 149, 416 };
public int[] Game_DanC_Dan_Plate = new int[] { 149, 416 };
public int[] Game_DanC_DanIcon_Offset = new int[] { 44, 57 };
public int[] Game_DanC_DanIcon_Offset_Mini = new int[] { -19, 11 };
public int[] Game_DanC_Title_X = new int[] { 806, 806 };
public int[] Game_DanC_Title_Y = new int[] { 257, 237 };
public int[] Game_DanC_SubTitle = new int[] { 806, 277 };
public int Game_DanC_Title_Size = 30;
public int Game_DanC_SubTitle_Size = 22;
public int Game_DanC_ExamFont_Size = 14;
@ -9015,6 +9043,9 @@ namespace TJAPlayer3
public int[] DanResult_DanTitles_X = new int[] { 401, 401, 401 };
public int[] DanResult_DanTitles_Y = new int[] { 139, 322, 505 };
public int[] DanResult_DanIcon_X = new int[] { 315, 315, 315 };
public int[] DanResult_DanIcon_Y = new int[] { 158, 342, 526 };
public int[] DanResult_Rank = new int[] { 130, 380 };
public int DanResult_Font_DanTitles_Size = 24;

View File

@ -339,6 +339,7 @@ namespace TJAPlayer3
Dani_DanPlates = TxC(DANISELECT + "DanPlates.png");
Dani_DanIcon = TxC(DANISELECT + "DanIcon.png");
Dani_DanIcon_Fade = TxC(DANISELECT + "DanIcon_Fade.png");
Dani_DanSides = TxC(DANISELECT + "DanSides.png");
for (int i = 0; i < Dani_Bloc.Length; i++)
@ -1967,6 +1968,7 @@ namespace TJAPlayer3
public CTexture Dani_DanPlates;
public CTexture Dani_DanIcon;
public CTexture Dani_DanIcon_Fade;
public CTexture Dani_DanSides;
public CTexture[] Dani_Bloc = new CTexture[4];

View File

@ -338,7 +338,7 @@ namespace TJAPlayer3
}
}
public static void tDisplayDanIcon(int count, float x, float y, int opacity)
public static void tDisplayDanIcon(int count, float x, float y, int opacity, float scale, bool showFade = false)
{
if (pfDanIconTitle == null)
pfDanIconTitle = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.DaniSelect_DanIconTitle_Size);
@ -359,13 +359,24 @@ namespace TJAPlayer3
TitleTextureKey ttkTmp = new TitleTextureKey(count.ToString() + ex, pfDanIconTitle, Color.White, Color.Black, 1000);
if (showFade)
{
TJAPlayer3.Tx.Dani_DanIcon_Fade.vc拡大縮小倍率 = new SharpDX.Vector3(scale, scale, 1.0f);
TJAPlayer3.Tx.Dani_DanIcon_Fade.Opacity = opacity;
TJAPlayer3.Tx.Dani_DanIcon_Fade.color4 = C変換.ColorToColor4(TJAPlayer3.Skin.DaniSelect_DanIcon_Color[Math.Min(count - 1, TJAPlayer3.Skin.DaniSelect_DanIcon_Color.Length - 1)]);
TJAPlayer3.Tx.Dani_DanIcon_Fade.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Left, x - ((TJAPlayer3.Tx.Dani_DanIcon.szテクスチャサイズ.Width / 2) * scale), y);
TJAPlayer3.Tx.Dani_DanIcon_Fade.Opacity = 255;
}
TJAPlayer3.Tx.Dani_DanIcon.vc拡大縮小倍率 = new SharpDX.Vector3(scale, scale, 1.0f);
TJAPlayer3.Tx.Dani_DanIcon.Opacity = opacity;
TJAPlayer3.Tx.Dani_DanIcon.color4 = C変換.ColorToColor4(TJAPlayer3.Skin.DaniSelect_DanIcon_Color[Math.Min(count - 1, TJAPlayer3.Skin.DaniSelect_DanIcon_Color.Length - 1)]);
TJAPlayer3.Tx.Dani_DanIcon.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x, y);
TJAPlayer3.Tx.Dani_DanIcon.Opacity = 255;
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTmp).vc拡大縮小倍率 = new SharpDX.Vector3(scale, scale, 1.0f);
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTmp).Opacity = opacity;
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTmp).t2D中心基準描画(TJAPlayer3.app.Device, x + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[0], y + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[1]);
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTmp).t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[0], y + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[1]);
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTmp).Opacity = 255;
}
@ -485,7 +496,7 @@ namespace TJAPlayer3
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).t2D描画(TJAPlayer3.app.Device, scroll + Anime + TJAPlayer3.Skin.DaniSelect_Title_X[pos], TJAPlayer3.Skin.DaniSelect_Title_Y[pos]);
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).Opacity = 255;
tDisplayDanIcon(i + 1, scroll + Anime + TJAPlayer3.Skin.DaniSelect_DanIcon_X[pos], TJAPlayer3.Skin.DaniSelect_DanIcon_Y[pos], opacity);
tDisplayDanIcon(i + 1, scroll + Anime + TJAPlayer3.Skin.DaniSelect_DanIcon_X[pos], TJAPlayer3.Skin.DaniSelect_DanIcon_Y[pos], opacity, 1.0f);
}
for (int i = 0; i < stバー情報[currentSong].n曲難易度.Length; i++)

View File

@ -677,6 +677,8 @@ namespace TJAPlayer3
TJAPlayer3.Tx.DanC_Gauge[drawGaugeTypetwo].Opacity = 255;
int miniIconOpacity = 255;
#endregion
// Currently showing song parameters
@ -694,6 +696,8 @@ namespace TJAPlayer3
TJAPlayer3.Tx.DanC_Gauge[drawGaugeTypetwo].Opacity = counter800;
miniIconOpacity = counter800;
#endregion
}
else if (Counter_In != null || (Counter_Wait != null && Counter_Wait.n現在の値 < 800))
@ -708,12 +712,14 @@ namespace TJAPlayer3
TJAPlayer3.Tx.DanC_Gauge[drawGaugeTypetwo].Opacity = 0;
miniIconOpacity = 0;
#endregion
}
}
// Bars starting from the song N
if (NowShowingNumber >= j)
if (NowShowingNumber >= j && (j - NowShowingNumber) > -2)
{
// Determine bars width
TJAPlayer3.Tx.DanC_SmallBase.vc拡大縮小倍率.X = isSmallGauge ? 0.34f : 1f;
@ -722,7 +728,7 @@ namespace TJAPlayer3
int miniBarPositionX = barXOffset + (isSmallGauge ? TJAPlayer3.Skin.Game_DanC_SmallBase_Offset_X[1] : TJAPlayer3.Skin.Game_DanC_SmallBase_Offset_X[0]);
// 613 + (j - 1) * 33 : Small base (barYoffset for 3rd exam : 494 + 119 + Local song offset (j - 1) * 33)
int miniBarPositionY = (barYOffset + (isSmallGauge ? TJAPlayer3.Skin.Game_DanC_SmallBase_Offset_Y[1] : TJAPlayer3.Skin.Game_DanC_SmallBase_Offset_Y[0])) + (j - 1) * 33 - (TJAPlayer3.Skin.Game_DanC_Size[1] + (TJAPlayer3.Skin.Game_DanC_Padding));
int miniBarPositionY = (barYOffset + (isSmallGauge ? TJAPlayer3.Skin.Game_DanC_SmallBase_Offset_Y[1] : TJAPlayer3.Skin.Game_DanC_SmallBase_Offset_Y[0])) + ((j - 1) % 2) * 33 - (TJAPlayer3.Skin.Game_DanC_Size[1] + (TJAPlayer3.Skin.Game_DanC_Padding));
// Display bars
#region [Displayables]
@ -752,6 +758,8 @@ namespace TJAPlayer3
// Usually +23 for gold and +17 for white, to test
DrawMiniNumber(TJAPlayer3.stage選曲.r確定された曲.DanSongs[j - 1].Dan_C[i].GetAmount(), miniBarPositionX + 11, miniBarPositionY + 20, 14, TJAPlayer3.stage選曲.r確定された曲.DanSongs[j - 1].Dan_C[i]);
CActSelect段位リスト.tDisplayDanIcon(j, miniBarPositionX + TJAPlayer3.Skin.Game_DanC_DanIcon_Offset_Mini[0], miniBarPositionY + TJAPlayer3.Skin.Game_DanC_DanIcon_Offset_Mini[1], miniIconOpacity, 0.5f, false);
#endregion
}
}
@ -837,6 +845,8 @@ namespace TJAPlayer3
#endregion
int iconOpacity = 255;
if (ExamChange[i] && NowShowingNumber != 0 && Counter_Wait != null)
{
if (Counter_Wait.n現在の値 >= 800)
@ -851,6 +861,8 @@ namespace TJAPlayer3
TJAPlayer3.Tx.DanC_ExamRange.Opacity = counter800;
TJAPlayer3.Tx.DanC_Small_Number.Opacity = counter800;
iconOpacity = counter800;
#endregion
}
else if (Counter_Wait.n現在の値 >= 800 - 255)
@ -865,6 +877,8 @@ namespace TJAPlayer3
TJAPlayer3.Tx.DanC_ExamRange.Opacity = counter255M255;
TJAPlayer3.Tx.DanC_Small_Number.Opacity = counter255M255;
iconOpacity = counter255M255;
#endregion
}
}
@ -949,6 +963,12 @@ namespace TJAPlayer3
#endregion
if (ExamChange[i])
{
CActSelect段位リスト.tDisplayDanIcon(NowShowingNumber + 1, barXOffset + TJAPlayer3.Skin.Game_DanC_DanIcon_Offset[0], barYOffset + TJAPlayer3.Skin.Game_DanC_DanIcon_Offset[1], iconOpacity, 0.6f, true);
}
#region [Dan conditions display]
int offset = TJAPlayer3.Skin.Game_DanC_Exam_Offset[0];

View File

@ -1823,6 +1823,8 @@ namespace TJAPlayer3
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkDanTitles[i]).Opacity = opacity;
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkDanTitles[i]).t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.DanResult_DanTitles_X[drawPos] + offset, TJAPlayer3.Skin.DanResult_DanTitles_Y[drawPos]);
CActSelect段位リスト.tDisplayDanIcon(i + 1, TJAPlayer3.Skin.DanResult_DanIcon_X[drawPos] + offset, TJAPlayer3.Skin.DanResult_DanIcon_Y[drawPos], opacity, 1.0f);
}
#endregion

View File

@ -63,6 +63,11 @@ DanResult_DanTitles_X=401,401,401
DanResult_DanTitles_Y=139,322,505
DanResult_DanIcon_X=315,315,315
DanResult_DanIcon_Y=158,342,526
DanResult_Rank=130,380

View File

@ -462,6 +462,11 @@ Game_DanC_Title_Y=257,237
Game_DanC_SubTitle=806,277
Game_DanC_DanIcon_Offset=44,57
Game_DanC_DanIcon_Offset_Mini=-19,11
Game_DanC_Title_Size=30
Game_DanC_SubTitle_Size=22

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB