1
0
mirror of synced 2025-02-17 19:09:25 +01:00

multiple song select screen additions and improvements

This commit is contained in:
0auBSQ 2022-11-30 22:33:42 +09:00
parent 77202fd346
commit 701b5b9ab8
4 changed files with 243 additions and 72 deletions

View File

@ -1664,6 +1664,26 @@ namespace TJAPlayer3
SongSelect_Bar_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Bar_Anim_X")
{
SongSelect_Bar_Anim_X = new int[SongSelect_Bar_Count];
string[] strSplit = strParam.Split(',');
for (int i = 0; i < SongSelect_Bar_Count; i++)
{
SongSelect_Bar_Anim_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Bar_Anim_Y")
{
SongSelect_Bar_Anim_Y = new int[SongSelect_Bar_Count];
string[] strSplit = strParam.Split(',');
for (int i = 0; i < SongSelect_Bar_Count; i++)
{
SongSelect_Bar_Anim_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Bar_Title_Offset")
{
string[] strSplit = strParam.Split(',');
@ -1752,6 +1772,10 @@ namespace TJAPlayer3
SongSelect_Level_Number_Interval[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Box_Opening_Interval")
{
SongSelect_Box_Opening_Interval = float.Parse(strParam);
}
else if (strCommand == "SongSelect_Difficulty_Select_Title")
{
string[] strSplit = strParam.Split(',');
@ -1980,9 +2004,22 @@ namespace TJAPlayer3
SongSelect_Search_Bar_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Level_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_Level_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Difficulty_Colors")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 7; i++)
{
SongSelect_Difficulty_Colors[i] = ColorTranslator.FromHtml(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Difficulty_Back")
{
string[] strSplit = strParam.Split(',');
@ -4064,6 +4101,8 @@ namespace TJAPlayer3
public int[] SongSelect_Bar_X = new int[] { 214, 239, 263, 291, 324, 358, 386, 411, 436 };
public int[] SongSelect_Bar_Y = new int[] { -127, -36, 55, 145, 314, 485, 574, 665, 756 };
public int[] SongSelect_Bar_Anim_X = new int[] { 0, 600, 500, 400, 0, -400, -500, -600, 0 };
public int[] SongSelect_Bar_Anim_Y = new int[] { 0, 1800, 1500, 1200, 0, -1200, -1500, -1800, 0 };
public int[] SongSelect_Bar_Title_Offset = new int[] { 316, 62 };
public int[] SongSelect_Bar_SubTitle_Offset = new int[] { 316, 90 };
@ -4085,6 +4124,8 @@ namespace TJAPlayer3
public int[] SongSelect_Level_Number_Interval = new int[] { 11, 0 };
public float SongSelect_Box_Opening_Interval = 1f;
public int[] SongSelect_Difficulty_Select_Title = new int[] { 640, 140 };
public int[] SongSelect_Difficulty_Select_SubTitle = new int[] { 640, 180 };
@ -4135,6 +4176,16 @@ namespace TJAPlayer3
public int[] SongSelect_Search_Bar_Y = new int[] { 320, 420, 520, 620 };
public int[] SongSelect_Difficulty_Back = new int[] { 640, 290 };
public int[] SongSelect_Level_Offset = new int[] { 610, 40 };
public Color[] SongSelect_Difficulty_Colors = new Color[] {
ColorTranslator.FromHtml("#88d2fd"),
ColorTranslator.FromHtml("#58de85"),
ColorTranslator.FromHtml("#ffc224"),
ColorTranslator.FromHtml("#d80b2c"),
ColorTranslator.FromHtml("#9065e2"),
ColorTranslator.FromHtml("#e9943b"),
ColorTranslator.FromHtml("#3b55a5")
};
public int[] SongSelect_Difficulty_Bar_X = new int[] { 255, 341, 426, 569, 712, 855, 855 };
public int[] SongSelect_Difficulty_Bar_Y = new int[] { 270, 270, 270, 270, 270, 270, 270 };

View File

@ -220,6 +220,7 @@ namespace TJAPlayer3
SongSelect_Bar_Genre_RecentryPlaySong = TxC(SONGSELECT + @"Bar_Genre_RecentryPlaySong.png");
SongSelect_Bar_Select = TxC(SONGSELECT + @"Bar_Select.png");
SongSelect_Level_Number = TxC(SONGSELECT + @"Level_Number.png");
SongSelect_Level_Number_Big = TxC(SONGSELECT + @"Level_Number_Big.png");
SongSelect_Credit = TxC(SONGSELECT + @"Credit.png");
SongSelect_Timer = TxC(SONGSELECT + @"Timer.png");
SongSelect_Song_Number = TxC(SONGSELECT + @"Song_Number.png");
@ -1724,6 +1725,7 @@ namespace TJAPlayer3
SongSelect_Bar_Genre_Random,
SongSelect_Bar_Genre_RecentryPlaySong,
SongSelect_Level_Number,
SongSelect_Level_Number_Big,
SongSelect_Bar_Select,
SongSelect_Bar_Genre_Overlay,
SongSelect_Credit,

View File

@ -15,12 +15,11 @@ using System.Linq;
using Rectangle = System.Drawing.Rectangle;
using Point = System.Drawing.Point;
using Color = System.Drawing.Color;
using RectangleF = System.Drawing.RectangleF;
using RectangleF = System.Drawing.RectangleF;
namespace TJAPlayer3
{
internal class CActSelect曲リスト : CActivity
{
{
// プロパティ
public bool bIsEnumeratingSongs
@ -420,15 +419,16 @@ namespace TJAPlayer3
this.n現在のアンカ難易度レベル = ( this.n現在のアンカ難易度レベル + 1 ) % (int)Difficulty.Total; // 5以上になったら0に戻る。
if( this.r現在選択中の曲.arスコア[ this.n現在のアンカ難易度レベル ] != null ) // 曲が存在してるならここで終了。存在してないなら次のレベルへGo。
break;
}
// 曲毎に表示しているスキル値を、新しい難易度レベルに合わせて取得し直す。表示されている13曲全部。
for( int i = this.n現在の選択行 - 4; i < ( ( this.n現在の選択行 - 4 ) + 9 ); i++ )
}
// 曲毎に表示しているスキル値を、新しい難易度レベルに合わせて取得し直す。表示されている13曲全部。
int _center = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2;
for ( int i = this.n現在の選択行 - _center; i < ( ( this.n現在の選択行 - _center) + TJAPlayer3.Skin.SongSelect_Bar_Count); i++ )
{
var song = this.rGetSideSong(i);
int index = ( i + 9 ) % 9;
int index = ( i + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count;
for( int m = 0; m < 3; m++ )
{
this.stバー情報[ index ].nスキル値[ m ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ]..[ m ];
@ -446,12 +446,13 @@ namespace TJAPlayer3
public void t難易度レベルをひとつ戻す()
{
if( ( this.r現在選択中の曲 == null ) || ( this.r現在選択中の曲.nスコア数 <= 1 ) )
return; // 曲にスコアが0~1個しかないなら進める意味なし。
// 難易度レベルを+1し、現在選曲中のスコアを変更する。
this.n現在のアンカ難易度レベル = this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( this.r現在選択中の曲 );
return; // 曲にスコアが0~1個しかないなら進める意味なし。
// 難易度レベルを+1し、現在選曲中のスコアを変更する。
this.n現在のアンカ難易度レベル = this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( this.r現在選択中の曲 );
this.n現在のアンカ難易度レベル--;
if( this.n現在のアンカ難易度レベル < 0 ) // 0より下になったら4に戻す。
@ -480,14 +481,15 @@ namespace TJAPlayer3
break;
}
}
}
// 曲毎に表示しているスキル値を、新しい難易度レベルに合わせて取得し直す。表示されている13曲全部。
for( int i = this.n現在の選択行 - 4; i < ( ( this.n現在の選択行 - 4 ) + 9 ); i++ )
}
// 曲毎に表示しているスキル値を、新しい難易度レベルに合わせて取得し直す。表示されている13曲全部。
int _center = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2;
for ( int i = this.n現在の選択行 - _center; i < ( ( this.n現在の選択行 - _center ) + TJAPlayer3.Skin.SongSelect_Bar_Count); i++ )
{
C曲リストード song = this.rGetSideSong(i);
int index = ( i + 9 ) % 9;
int index = ( i + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count;
for( int m = 0; m < 3; m++ )
{
this.stバー情報[ index ].nスキル値[ m ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ]..[ m ];
@ -707,7 +709,7 @@ namespace TJAPlayer3
if( this.b活性化してない )
return;
for( int i = 0; i < 9; i++ )
for( int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++ )
{
this.stバー情報[ i ].ttkタイトル = this.ttk曲名テクスチャを生成する( this.stバー情報[ i ].strタイトル文字列, this.stバー情報[i].ForeColor, this.stバー情報[i].BackColor, stバー情報[i].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
}
@ -778,7 +780,7 @@ namespace TJAPlayer3
if( this.b活性化してない )
return;
for( int i = 0; i < 9; i++ )
for( int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++ )
{
TJAPlayer3.tテクスチャの解放( ref this.stバー情報[ i ].txタイトル名 );
this.stバー情報[ i ].ttkタイトル = null;
@ -991,13 +993,14 @@ namespace TJAPlayer3
}
this.stバー情報[index].csu = song.uniqueId;
this.stバー情報[index].reference = song;
#endregion
#endregion
// stバー情報[] の内容を1行ずつずらす。
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++)
// stバー情報[] の内容を1行ずつずらす。
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++)
{
C曲リストード song2 = this.rGetSideSong(i - barCenterNum);
int n = (((this.n現在の選択行 - barCenterNum) + i) + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count;
@ -1117,12 +1120,13 @@ namespace TJAPlayer3
}
this.stバー情報[index].csu = song.uniqueId;
this.stバー情報[index].reference = song;
#endregion
#endregion
// stバー情報[] の内容を1行ずつずらす。
// stバー情報[] の内容を1行ずつずらす。
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++)
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++)
{
int n = (((this.n現在の選択行 - barCenterNum) + i) + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count;
var song2 = this.rGetSideSong(i - barCenterNum);
@ -1181,11 +1185,11 @@ namespace TJAPlayer3
}
int i選曲バーX座標 = 673; //選曲バーの座標用
int i選択曲バーX座標 = 665; //選択曲バーの座標用
#region [ (2) ]
//-----------------
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++) // パネルは全13枚。
int i選択曲バーX座標 = 665; //選択曲バーの座標用
#region [ (2) ]
//-----------------
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++) // パネルは全13枚。
{
if ((i == 0 && this.n現在のスクロールカウンタ > 0) || // 最上行は、上に移動中なら表示しない。
(i == TJAPlayer3.Skin.SongSelect_Bar_Count - 1 && this.n現在のスクロールカウンタ < 0)) // 最下行は、下に移動中なら表示しない。
@ -1247,10 +1251,50 @@ namespace TJAPlayer3
// (B) スクロール中の選択曲バー、またはその他のバーの描画。
float Box = 0;
#region [ BoxOpenAnime ]
if (ctBoxOpen.n現在の値 <= 560 + 1000)
float Box_X = 0;
float Box_Y = 0;
int _center = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2;
float[] _boxAim = new float[2]
{
TJAPlayer3.Skin.SongSelect_Bar_Anim_X[i],
TJAPlayer3.Skin.SongSelect_Bar_Anim_Y[i]
};
int _movfs = i - 1;
int _maxfs = _center - 1;
int _gap = Math.Max(1, TJAPlayer3.Skin.SongSelect_Bar_Count - 3);
#region [ BoxOpenAnime ]
if (i != _center && i != 0 && i < TJAPlayer3.Skin.SongSelect_Bar_Count - 1)
{
if (ctBoxOpen.n現在の値 >= 1000 && ctBoxOpen.n現在の値 <= 1560)
{
float _curve = 1000 + (150 / _gap) * (_maxfs - _movfs);//Math.Abs(150 / (_center - i));
Box_X = _boxAim[0] - (float)Math.Sin(((ctBoxOpen.n現在の値 - _curve) / 4 + 90) * (Math.PI / 180)) * _boxAim[0];
Box_Y = _boxAim[1] - (float)Math.Sin(((ctBoxOpen.n現在の値 - _curve) / 4 + 90) * (Math.PI / 180)) * _boxAim[1];
}
if (ctBoxOpen.n現在の値 > 1300 && ctBoxOpen.n現在の値 < 1940)
{
ctBoxOpen.t間隔値変更(0.65);
Box_X = _boxAim[0];
Box_Y = _boxAim[1];
}
if (ctBoxOpen.n現在の値 >= 1840 && ctBoxOpen.n現在の値 <= 2300)
{
ctBoxOpen.t間隔値変更(1.3);
float _curve = 1940 - (100 / _gap) * (_maxfs - _movfs);// Math.Abs(100 / (_center - i));
Box_X = _boxAim[0] - (float)Math.Sin(((ctBoxOpen.n現在の値 - _curve) / 4) * (Math.PI / 180)) * _boxAim[0];
Box_Y = _boxAim[1] - (float)Math.Sin(((ctBoxOpen.n現在の値 - _curve) / 4) * (Math.PI / 180)) * _boxAim[1];
}
}
#region [old]
/*
if (ctBoxOpen.n現在の値 <= 560 + 1000)
{
if (i == 1)
{
@ -1359,6 +1403,9 @@ namespace TJAPlayer3
Box = -600.0f;
}
}
*/
#endregion
#endregion
@ -1394,15 +1441,16 @@ namespace TJAPlayer3
// Very disgusting, to improve and unbloat asap
this.tジャンル別選択されていない曲バーの描画(
xAnime - (int)Box,
y - ((int)Box * 3),
xAnime - (int)Box_X,//Box,
y - ((int)Box_Y),//Box * 3),
this.stバー情報[nパネル番号].strジャンル,
stバー情報[nパネル番号].eバー種別,
stバー情報[nパネル番号].nクリア,
stバー情報[nパネル番号].nスコアランク,
boxType,
songType,
stバー情報[nパネル番号].csu);
stバー情報[nパネル番号].csu,
stバー情報[nパネル番号].reference);
}
/*
@ -1422,9 +1470,9 @@ namespace TJAPlayer3
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル).Opacity = 255;
if (n現在のスクロールカウンタ != 0)
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル).t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, xAnime - Box + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[0], y - (Box * 3) + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[1]);
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル).t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, xAnime - Box_X + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[0], y - Box_Y + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[1]);
else if (n見た目の行番号 != barCenterNum)
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル).t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, xAnime - Box + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[0], y - (Box * 3) + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[1]);
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル).t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, xAnime - Box_X + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[0], y - Box_Y + TJAPlayer3.Skin.SongSelect_Bar_Title_Offset[1]);
#endregion
//-----------------
@ -1574,6 +1622,16 @@ namespace TJAPlayer3
displayFavoriteStatus(TJAPlayer3.Skin.SongSelect_Bar_X[barCenterNum] + 90, (int)(TJAPlayer3.Skin.SongSelect_Bar_Y[barCenterNum] + 30 - centerMove / 1.1f), this.r現在選択中の曲.uniqueId, 1f + BarAnimeCount / 620f);
#endregion
#region [Level number big]
tPrintLevelNumberBig(
TJAPlayer3.Skin.SongSelect_Bar_X[barCenterNum] + TJAPlayer3.Skin.SongSelect_Level_Offset[0],
(int)(TJAPlayer3.Skin.SongSelect_Bar_Y[barCenterNum] + TJAPlayer3.Skin.SongSelect_Level_Offset[1] - centerMove / 1.1f),
this.r現在選択中の曲
);
#endregion
#endregion
@ -1755,14 +1813,14 @@ namespace TJAPlayer3
{
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
@ -2267,7 +2325,8 @@ namespace TJAPlayer3
public int[][] nスコアランク;
public CSongUniqueID csu;
}
public C曲リストード reference;
}
public bool bFirstCrownLoad;
@ -2489,7 +2548,7 @@ namespace TJAPlayer3
int barCenterNum = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2;
for ( int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++ )
{
C曲リストード song = this.rGetSideSong(i - 4);
C曲リストード song = this.rGetSideSong(i - barCenterNum);
if (song == null) continue;
this.stバー情報[ i ].strタイトル文字列 = song.strタイトル;
this.stバー情報[ i ].strジャンル = song.strジャンル;
@ -2542,22 +2601,35 @@ namespace TJAPlayer3
}
this.stバー情報[i].csu = song.uniqueId;
this.stバー情報[i].reference = song;
#endregion
#endregion
for ( int j = 0; j < 3; j++ )
for ( int j = 0; j < 3; j++ )
this.stバー情報[ i ].nスキル値[ j ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ]..[ j ];
this.stバー情報[ i ].ttkタイトル = this.ttk曲名テクスチャを生成する( this.stバー情報[ i ].strタイトル文字列, this.stバー情報[i].ForeColor, this.stバー情報[i].BackColor, stバー情報[i].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
}
this.n現在の選択行 = 4;
}
int _center = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2;
this.n現在の選択行 = _center;
}
// Song type : 0 - Ensou, 1 - Dan, 2 - Tower
private void tジャンル別選択されていない曲バーの描画(int x, int y, string strジャンル, Eバー種別 eバー種別, int[][] , int[][] , int boxType, int _songType = 0, CSongUniqueID csu = null)
private void tジャンル別選択されていない曲バーの描画(
int x,
int y,
string strジャンル,
Eバー種別 eバー種別,
int[][] ,
int[][] ,
int boxType,
int _songType = 0,
CSongUniqueID csu = null,
C曲リストード reference = null
)
{
if (x >= SampleFramework.GameWindowSize.Width || y >= SampleFramework.GameWindowSize.Height)
return;
@ -2637,9 +2709,13 @@ namespace TJAPlayer3
}
}
displayFavoriteStatus(x + 90, y + 30, csu, 1f);
}
displayFavoriteStatus(x + 90, y + 30, csu, 1f);
tPrintLevelNumberBig(
x + TJAPlayer3.Skin.SongSelect_Level_Offset[0],
y + TJAPlayer3.Skin.SongSelect_Level_Offset[1],
reference
);
}
}
public void displayTowerStatus(int x, int y, int grade, float _resize)
@ -2984,10 +3060,51 @@ namespace TJAPlayer3
TJAPlayer3.Tx.SongSelect_Level_Number.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
}
}
//-----------------
#endregion
}
}
public void tPrintLevelNumberBig(int x, int y, C曲リストード song)
{
if (song == null) return;
int difficulty = tFetchDifficulty(song);
int num = song.nLevel[difficulty];
if (TJAPlayer3.Tx.SongSelect_Level_Number_Big == null || num < 0) return;
int[] nums = C変換.SeparateDigits(num);
float _ratio = 1f;
if (TJAPlayer3.Tx.SongSelect_Level_Number != null)
{
_ratio = TJAPlayer3.Tx.SongSelect_Level_Number_Big.szテクスチャサイズ.Width / TJAPlayer3.Tx.SongSelect_Level_Number.szテクスチャサイズ.Width;
}
for (int j = 0; j < nums.Length; j++)
{
float offset = j - (nums.Length / 2.0f);
float _x = x - (TJAPlayer3.Skin.SongSelect_Level_Number_Interval[0] * offset * _ratio);
float _y = y - (TJAPlayer3.Skin.SongSelect_Level_Number_Interval[1] * offset);
float width = TJAPlayer3.Tx.SongSelect_Level_Number_Big.sz画像サイズ.Width / 10.0f;
float height = TJAPlayer3.Tx.SongSelect_Level_Number_Big.sz画像サイズ.Height;
TJAPlayer3.Tx.SongSelect_Level_Number_Big.vc拡大縮小倍率.X = 1.0f / (1.0f + (0.25f * (nums.Length - 1)));
TJAPlayer3.Tx.SongSelect_Level_Number_Big.color4 = C変換.ColorToColor4(TJAPlayer3.Skin.SongSelect_Difficulty_Colors[difficulty]);
TJAPlayer3.Tx.SongSelect_Level_Number_Big.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
}
}
private int tFetchDifficulty(C曲リストード song)
{
var closest = this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song);
int defaultTable = Math.Max(0, Math.Min((int)Difficulty.Edit + 1, TJAPlayer3.ConfigIni.nDefaultCourse));
if (song.arスコア[defaultTable] == null)
return closest;
return defaultTable;
}
//-----------------
#endregion
}
public enum eMenuContext
{

View File

@ -646,6 +646,7 @@ namespace TJAPlayer3
}
#endregion
#region [ Inputs ]
@ -869,8 +870,8 @@ namespace TJAPlayer3
TJAPlayer3.Skin.sound決定音.t再生する();
this.act難易度選択画面.bIsDifficltSelect = true;
this.act難易度選択画面.t選択画面初期化();
this.act曲リスト.ctBarFlash.t開始(0, 2700, 1, TJAPlayer3.Timer);
this.act曲リスト.ctDifficultyIn.t開始(0, 3200, 1, TJAPlayer3.Timer);
this.act曲リスト.ctBarFlash.t開始(0, 2700, TJAPlayer3.Skin.SongSelect_Box_Opening_Interval, TJAPlayer3.Timer);
this.act曲リスト.ctDifficultyIn.t開始(0, 3200, TJAPlayer3.Skin.SongSelect_Box_Opening_Interval, TJAPlayer3.Timer);
//this.ctDonchan_Select.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
CMenuCharacter.tMenuResetTimer(CMenuCharacter.ECharacterAnimation.SELECT);
}
@ -902,8 +903,8 @@ namespace TJAPlayer3
CSongSelectSongManager.disable();
TJAPlayer3.Skin.sound決定音.t再生する();
this.act曲リスト.ctBarFlash.t開始(0, 2700, 1, TJAPlayer3.Timer);
this.act曲リスト.ctBoxOpen.t開始(200, 2700, 1.3f, TJAPlayer3.Timer);
this.act曲リスト.ctBarFlash.t開始(0, 2700, TJAPlayer3.Skin.SongSelect_Box_Opening_Interval, TJAPlayer3.Timer);
this.act曲リスト.ctBoxOpen.t開始(200, 2700, TJAPlayer3.Skin.SongSelect_Box_Opening_Interval * 1.3f, TJAPlayer3.Timer);
this.act曲リスト.bBoxOpen = true;
//this.ctDonchan_Select.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
CMenuCharacter.tMenuResetTimer(CMenuCharacter.ECharacterAnimation.SELECT);
@ -915,8 +916,8 @@ namespace TJAPlayer3
CSongSelectSongManager.enable();
TJAPlayer3.Skin.sound取消音.t再生する();
this.act曲リスト.ctBarFlash.t開始(0, 2700, 1, TJAPlayer3.Timer);
this.act曲リスト.ctBoxOpen.t開始(200, 2700, 1.3f, TJAPlayer3.Timer);
this.act曲リスト.ctBarFlash.t開始(0, 2700, TJAPlayer3.Skin.SongSelect_Box_Opening_Interval, TJAPlayer3.Timer);
this.act曲リスト.ctBoxOpen.t開始(200, 2700, TJAPlayer3.Skin.SongSelect_Box_Opening_Interval * 1.3f, TJAPlayer3.Timer);
this.act曲リスト.bBoxClose = true;
//this.ctDonchan_Select.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
CMenuCharacter.tMenuResetTimer(CMenuCharacter.ECharacterAnimation.SELECT);