(Pre. v0.5.1) Added button borders for Dan song select confirm modal, add upper ticks for the dan song select screen, remove useless legacy assets
This commit is contained in:
parent
7669378c14
commit
a060ad0c1b
@ -137,11 +137,6 @@ namespace TJAPlayer3
|
|||||||
ModeSelect_Bar_Chara[i] = TxC(TITLE + @"ModeSelect_Bar_Chara_" + i.ToString() + ".png");
|
ModeSelect_Bar_Chara[i] = TxC(TITLE + @"ModeSelect_Bar_Chara_" + i.ToString() + ".png");
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i < 6; i++)
|
|
||||||
{
|
|
||||||
ModeSelect_Bar_Text[i] = TxC(TITLE + @"ModeSelect_Bar_Text_" + i.ToString() + ".png");
|
|
||||||
}
|
|
||||||
|
|
||||||
ModeSelect_Bar[6] = TxC(TITLE + @"ModeSelect_Bar_Overlay.png");
|
ModeSelect_Bar[6] = TxC(TITLE + @"ModeSelect_Bar_Overlay.png");
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -267,8 +262,9 @@ namespace TJAPlayer3
|
|||||||
Dani_Soul_Number = TxC(DANISELECT + "SoulNumber.png");
|
Dani_Soul_Number = TxC(DANISELECT + "SoulNumber.png");
|
||||||
Dani_Exam_Number = TxC(DANISELECT + "ExamNumber.png");
|
Dani_Exam_Number = TxC(DANISELECT + "ExamNumber.png");
|
||||||
Dani_Bar_Center = TxC(DANISELECT + "Bar_Center.png");
|
Dani_Bar_Center = TxC(DANISELECT + "Bar_Center.png");
|
||||||
|
Dani_Plate = TxC(DANISELECT + "Plate.png");
|
||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < Challenge_Select.Length; i++)
|
||||||
Challenge_Select[i] = TxC(DANISELECT + "Challenge_Select_" + i.ToString() + ".png");
|
Challenge_Select[i] = TxC(DANISELECT + "Challenge_Select_" + i.ToString() + ".png");
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -922,6 +918,7 @@ namespace TJAPlayer3
|
|||||||
public CTexture[] NamePlate_Effect = new CTexture[5];
|
public CTexture[] NamePlate_Effect = new CTexture[5];
|
||||||
#endregion
|
#endregion
|
||||||
#region 1_タイトル画面
|
#region 1_タイトル画面
|
||||||
|
|
||||||
public CTexture Title_Background,
|
public CTexture Title_Background,
|
||||||
Entry_Bar,
|
Entry_Bar,
|
||||||
Entry_Bar_Text;
|
Entry_Bar_Text;
|
||||||
@ -934,7 +931,7 @@ namespace TJAPlayer3
|
|||||||
public CTexture[] Entry_Donchan_Normal = new CTexture[13];
|
public CTexture[] Entry_Donchan_Normal = new CTexture[13];
|
||||||
public CTexture[] ModeSelect_Bar = new CTexture[7];
|
public CTexture[] ModeSelect_Bar = new CTexture[7];
|
||||||
public CTexture[] ModeSelect_Bar_Chara = new CTexture[6];
|
public CTexture[] ModeSelect_Bar_Chara = new CTexture[6];
|
||||||
public CTexture[] ModeSelect_Bar_Text = new CTexture[6];
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 2_コンフィグ画面
|
#region 2_コンフィグ画面
|
||||||
@ -1005,8 +1002,9 @@ namespace TJAPlayer3
|
|||||||
public CTexture Dani_Soul_Number;
|
public CTexture Dani_Soul_Number;
|
||||||
public CTexture Dani_Exam_Number;
|
public CTexture Dani_Exam_Number;
|
||||||
public CTexture Dani_Bar_Center;
|
public CTexture Dani_Bar_Center;
|
||||||
|
public CTexture Dani_Plate;
|
||||||
|
|
||||||
public CTexture[] Challenge_Select = new CTexture[2];
|
public CTexture[] Challenge_Select = new CTexture[3];
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -46,6 +46,8 @@ namespace TJAPlayer3
|
|||||||
ctDanAnimeIn = new CCounter();
|
ctDanAnimeIn = new CCounter();
|
||||||
ctDaniIn = new CCounter(0, 3000, 1, TJAPlayer3.Timer);
|
ctDaniIn = new CCounter(0, 3000, 1, TJAPlayer3.Timer);
|
||||||
|
|
||||||
|
ctDanTick = new CCounter(0, 510, 3, TJAPlayer3.Timer);
|
||||||
|
|
||||||
ctExamConditionsAnim = new CCounter(0, 4000, 1, TJAPlayer3.Timer);
|
ctExamConditionsAnim = new CCounter(0, 4000, 1, TJAPlayer3.Timer);
|
||||||
|
|
||||||
stバー情報 = new STバー情報[TJAPlayer3.Songs管理.list曲ルート_Dan.Count];
|
stバー情報 = new STバー情報[TJAPlayer3.Songs管理.list曲ルート_Dan.Count];
|
||||||
@ -82,6 +84,7 @@ namespace TJAPlayer3
|
|||||||
ctDaniMoveAnime.t進行();
|
ctDaniMoveAnime.t進行();
|
||||||
ctDaniIn.t進行();
|
ctDaniIn.t進行();
|
||||||
ctDanAnimeIn.t進行();
|
ctDanAnimeIn.t進行();
|
||||||
|
ctDanTick.t進行Loop();
|
||||||
|
|
||||||
ctExamConditionsAnim.t進行Loop();
|
ctExamConditionsAnim.t進行Loop();
|
||||||
|
|
||||||
@ -92,10 +95,10 @@ namespace TJAPlayer3
|
|||||||
ctDanAnimeIn.t開始(0, 90, 2f, TJAPlayer3.Timer);
|
ctDanAnimeIn.t開始(0, 90, 2f, TJAPlayer3.Timer);
|
||||||
DaniInAnime = true;
|
DaniInAnime = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#region [ バー表示 ]
|
#region [ バー表示 ]
|
||||||
|
|
||||||
if (stバー情報.Length != 0)
|
if (stバー情報.Length != 0)
|
||||||
{
|
{
|
||||||
TJAPlayer3.Tx.DanC_ExamType.vc拡大縮小倍率.X = 0.81f;
|
TJAPlayer3.Tx.DanC_ExamType.vc拡大縮小倍率.X = 0.81f;
|
||||||
@ -131,6 +134,68 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region [Upper plates]
|
||||||
|
|
||||||
|
// stバー情報[n現在の選択行]
|
||||||
|
|
||||||
|
int tickWidth = TJAPlayer3.Tx.Dani_Plate.szテクスチャサイズ.Width / 7;
|
||||||
|
int tickHeight = TJAPlayer3.Tx.Dani_Plate.szテクスチャサイズ.Height;
|
||||||
|
|
||||||
|
for (int idx = -13; idx < 14; idx++)
|
||||||
|
{
|
||||||
|
int currentSong = n現在の選択行 + idx;
|
||||||
|
|
||||||
|
if (currentSong < 0)
|
||||||
|
continue;
|
||||||
|
if (currentSong >= stバー情報.Length)
|
||||||
|
break;
|
||||||
|
|
||||||
|
int xPos = 640 + idx * (tickWidth - 4);
|
||||||
|
int yPos = idx == 0 ? 25 : 10;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#region [Plate background]
|
||||||
|
|
||||||
|
TJAPlayer3.Tx.Dani_Plate.Opacity = 255;
|
||||||
|
TJAPlayer3.Tx.Dani_Plate.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, xPos, yPos, new Rectangle(0, 0, tickWidth, tickHeight));
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region [Dan grade title]
|
||||||
|
|
||||||
|
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTextureTate(stバー情報[currentSong].ttkタイトル[stバー情報[currentSong].ttkタイトル.Length - 1])
|
||||||
|
.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, xPos + 2, yPos + 36);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region [Plate flash]
|
||||||
|
|
||||||
|
if (idx == 0)
|
||||||
|
{
|
||||||
|
TJAPlayer3.Tx.Dani_Plate.Opacity = Math.Abs(255 - ctDanTick.n現在の値);
|
||||||
|
TJAPlayer3.Tx.Dani_Plate.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, xPos, yPos, new Rectangle(tickWidth * 6, 0, tickWidth, tickHeight));
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region [Goukaku plate]
|
||||||
|
|
||||||
|
int currentRank = Math.Min(stバー情報[currentSong].clearGrade, 6) - 1;
|
||||||
|
|
||||||
|
if (currentRank >= 0)
|
||||||
|
{
|
||||||
|
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 0.24f;
|
||||||
|
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 0.24f;
|
||||||
|
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, xPos - 2, yPos - 24, new Rectangle(334 * currentRank, 0, 334, 334));
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,6 +208,8 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
private CCounter ctDanAnimeIn;
|
private CCounter ctDanAnimeIn;
|
||||||
|
|
||||||
|
private CCounter ctDanTick;
|
||||||
|
|
||||||
private CCounter ctDaniMoveAnime;
|
private CCounter ctDaniMoveAnime;
|
||||||
public int n現在の選択行;
|
public int n現在の選択行;
|
||||||
|
|
||||||
@ -205,7 +272,7 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
#region [Song information]
|
#region [Song information]
|
||||||
|
|
||||||
for (int i = 0; i < stバー情報[currentSong].ttkタイトル.Length; i++)
|
for (int i = 0; i < stバー情報[currentSong].ttkタイトル.Length - 1; i++)
|
||||||
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).t2D描画(TJAPlayer3.app.Device, scroll + 401 + Anime, 173 + i * 73);
|
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).t2D描画(TJAPlayer3.app.Device, scroll + 401 + Anime, 173 + i * 73);
|
||||||
for (int i = 0; i < stバー情報[currentSong].n曲難易度.Length; i++)
|
for (int i = 0; i < stバー情報[currentSong].n曲難易度.Length; i++)
|
||||||
TJAPlayer3.Tx.Dani_Difficulty_Cymbol.t2D中心基準描画(TJAPlayer3.app.Device, scroll + 377 + Anime, 180 + i * 73, new Rectangle(stバー情報[currentSong].n曲難易度[i] * 53, 0, 53, 53));
|
TJAPlayer3.Tx.Dani_Difficulty_Cymbol.t2D中心基準描画(TJAPlayer3.app.Device, scroll + 377 + Anime, 180 + i * 73, new Rectangle(stバー情報[currentSong].n曲難易度[i] * 53, 0, 53, 53));
|
||||||
@ -304,7 +371,7 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
var song = TJAPlayer3.Songs管理.list曲ルート_Dan[i];
|
var song = TJAPlayer3.Songs管理.list曲ルート_Dan[i];
|
||||||
|
|
||||||
stバー情報[i].ttkタイトル = new TitleTextureKey[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count];
|
stバー情報[i].ttkタイトル = new TitleTextureKey[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count + 1];
|
||||||
stバー情報[i].n曲難易度 = new int[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count];
|
stバー情報[i].n曲難易度 = new int[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count];
|
||||||
stバー情報[i].n曲レベル = new int[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count];
|
stバー情報[i].n曲レベル = new int[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count];
|
||||||
for (int j = 0; j < TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count; j++)
|
for (int j = 0; j < TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count; j++)
|
||||||
@ -313,7 +380,12 @@ namespace TJAPlayer3
|
|||||||
stバー情報[i].n曲難易度[j] = song.DanSongs[j].Difficulty;
|
stバー情報[i].n曲難易度[j] = song.DanSongs[j].Difficulty;
|
||||||
stバー情報[i].n曲レベル[j] = song.DanSongs[j].Level;
|
stバー情報[i].n曲レベル[j] = song.DanSongs[j].Level;
|
||||||
stバー情報[i].List_DanSongs = song.DanSongs;
|
stバー情報[i].List_DanSongs = song.DanSongs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
string tmp = song.strタイトル.Substring(0, 2);
|
||||||
|
stバー情報[i].ttkタイトル[TJAPlayer3.Songs管理.list曲ルート_Dan[i].DanSongs.Count] = new TitleTextureKey(tmp, pfDanSong, Color.Black, Color.Transparent, 700);
|
||||||
|
|
||||||
stバー情報[i].clearGrade = song.arスコア[6].譜面情報.nクリア[0];
|
stバー情報[i].clearGrade = song.arスコア[6].譜面情報.nクリア[0];
|
||||||
stバー情報[i].txBarCenter = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(song.arスコア[6].ファイル情報.ファイルの絶対パス) + @"\Bar_Center.png");
|
stバー情報[i].txBarCenter = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(song.arスコア[6].ファイル情報.ファイルの絶対パス) + @"\Bar_Center.png");
|
||||||
stバー情報[i].txDanPlate = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(song.arスコア[6].ファイル情報.ファイルの絶対パス) + @"\Dan_Plate.png");
|
stバー情報[i].txDanPlate = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(song.arスコア[6].ファイル情報.ファイルの絶対パス) + @"\Dan_Plate.png");
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@ -34,7 +36,12 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
TJAPlayer3.Tx.Challenge_Select[0].Opacity = TJAPlayer3.stage段位選択.bDifficultyIn ? ctBarIn.n現在の値 : 255 - ctBarOut.n現在の値;
|
TJAPlayer3.Tx.Challenge_Select[0].Opacity = TJAPlayer3.stage段位選択.bDifficultyIn ? ctBarIn.n現在の値 : 255 - ctBarOut.n現在の値;
|
||||||
TJAPlayer3.Tx.Challenge_Select[1].Opacity = TJAPlayer3.stage段位選択.bDifficultyIn ? ctBarIn.n現在の値 : 255 - ctBarOut.n現在の値;
|
TJAPlayer3.Tx.Challenge_Select[1].Opacity = TJAPlayer3.stage段位選択.bDifficultyIn ? ctBarIn.n現在の値 : 255 - ctBarOut.n現在の値;
|
||||||
|
TJAPlayer3.Tx.Challenge_Select[2].Opacity = TJAPlayer3.stage段位選択.bDifficultyIn ? ctBarIn.n現在の値 : 255 - ctBarOut.n現在の値;
|
||||||
|
|
||||||
TJAPlayer3.Tx.Challenge_Select[0].t2D描画(TJAPlayer3.app.Device, 0, 0);
|
TJAPlayer3.Tx.Challenge_Select[0].t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||||
|
|
||||||
|
TJAPlayer3.Tx.Challenge_Select[2].t2D描画(TJAPlayer3.app.Device, 228 + 228 * (2 - n現在の選択行), 0, new Rectangle(228 + 228 * (2 - n現在の選択行), 0, 228, 720));
|
||||||
|
|
||||||
TJAPlayer3.Tx.Challenge_Select[1].t2D描画(TJAPlayer3.app.Device, 0, 0);
|
TJAPlayer3.Tx.Challenge_Select[1].t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||||
|
|
||||||
if (ctBarIn.b終了値に達した && !TJAPlayer3.stage段位選択.b選択した)
|
if (ctBarIn.b終了値に達した && !TJAPlayer3.stage段位選択.b選択した)
|
||||||
|
@ -2356,8 +2356,39 @@ namespace TJAPlayer3
|
|||||||
}
|
}
|
||||||
|
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region [Yes I do code bloating, what will you do ? =)]
|
||||||
|
|
||||||
|
public CTexture ResolveTitleTextureTate(TitleTextureKey titleTextureKey)
|
||||||
|
{
|
||||||
|
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture))
|
||||||
|
{
|
||||||
|
texture = GenerateTitleTextureTate(titleTextureKey);
|
||||||
|
_titledictionary.Add(titleTextureKey, texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
return texture;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static CTexture GenerateTitleTextureTate(TitleTextureKey titleTextureKey)
|
||||||
|
{
|
||||||
|
using (var bmp = new Bitmap(titleTextureKey.cPrivateFastFont.DrawPrivateFont(
|
||||||
|
titleTextureKey.str文字, titleTextureKey.forecolor, titleTextureKey.backcolor, true)))
|
||||||
|
{
|
||||||
|
CTexture tx文字テクスチャ = TJAPlayer3.tテクスチャの生成(bmp, false);
|
||||||
|
if (tx文字テクスチャ.szテクスチャサイズ.Width > titleTextureKey.maxWidth)
|
||||||
|
{
|
||||||
|
tx文字テクスチャ.vc拡大縮小倍率.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Width);
|
||||||
|
tx文字テクスチャ.vc拡大縮小倍率.Y = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Width);
|
||||||
|
}
|
||||||
|
|
||||||
|
return tx文字テクスチャ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
private static CTexture GenerateTitleTexture(TitleTextureKey titleTextureKey)
|
private static CTexture GenerateTitleTexture(TitleTextureKey titleTextureKey)
|
||||||
{
|
{
|
||||||
using (var bmp = new Bitmap(titleTextureKey.cPrivateFastFont.DrawPrivateFont(
|
using (var bmp = new Bitmap(titleTextureKey.cPrivateFastFont.DrawPrivateFont(
|
||||||
|
Loading…
Reference in New Issue
Block a user