1
0
mirror of synced 2024-12-01 02:27:21 +01:00

[Song Select] Add support for Branch Chart icons & text, + and - display for decimal difficulties (10.3 can be displayed as 10-)

This commit is contained in:
0auBSQ 2023-05-01 08:17:21 +09:00
parent c4f4a1b13a
commit 22654cc157
45 changed files with 714 additions and 686 deletions

View File

@ -471,6 +471,10 @@ namespace FDK
{ {
this.t2D描画(device, x - (rc.Width / 2 * this.vc拡大縮小倍率.X), y, 1f, rc); this.t2D描画(device, x - (rc.Width / 2 * this.vc拡大縮小倍率.X), y, 1f, rc);
} }
public void t2D_DisplayImage_AnchorUpRight(Device device, int x, int y, RectangleF rc)
{
this.t2D描画(device, x - (rc.Width * this.vc拡大縮小倍率.X), y, 1f, rc);
}
public void t2D拡大率考慮上中央基準描画(Device device, int x, int y) public void t2D拡大率考慮上中央基準描画(Device device, int x, int y)
{ {
this.t2D描画(device, x - (rc全画像.Width / 2 * this.vc拡大縮小倍率.X), y, 1f, rc全画像); this.t2D描画(device, x - (rc全画像.Width / 2 * this.vc拡大縮小倍率.X), y, 1f, rc全画像);

View File

@ -2405,6 +2405,22 @@ namespace TJAPlayer3
SongSelect_Difficulty_Bar_X[i] = int.Parse(strSplit[i]); SongSelect_Difficulty_Bar_X[i] = int.Parse(strSplit[i]);
} }
} }
else if (strCommand == "SongSelect_Branch_Text_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_Branch_Text_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Branch_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_Branch_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_Difficulty_Bar_Y") else if (strCommand == "SongSelect_Difficulty_Bar_Y")
{ {
string[] strSplit = strParam.Split(','); string[] strSplit = strParam.Split(',');
@ -8124,6 +8140,8 @@ namespace TJAPlayer3
public int[] SongSelect_Difficulty_Bar_X = new int[] { 255, 341, 426, 569, 712, 855, 855 }; 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 }; public int[] SongSelect_Difficulty_Bar_Y = new int[] { 270, 270, 270, 270, 270, 270, 270 };
public int[] SongSelect_Branch_Text_Offset = new int[] { 276, 6 };
public int[] SongSelect_Branch_Offset = new int[] { 6, 6 };
public int[][] SongSelect_Difficulty_Bar_Rect = new int[][] { public int[][] SongSelect_Difficulty_Bar_Rect = new int[][] {
new int[] { 0, 0, 86, 236 }, new int[] { 0, 0, 86, 236 },

View File

@ -90,10 +90,17 @@ namespace TJAPlayer3
" Tower ", " Tower ",
" Dan " " Dan "
}; };
string[] diffArrIcon =
{
"-",
"",
"+"
};
int level = TJAPlayer3.stage選曲.r確定された曲.nLevel[diff]; int level = TJAPlayer3.stage選曲.r確定された曲.nLevel[diff];
CDTX.ELevelIcon levelIcon = TJAPlayer3.stage選曲.r確定された曲.nLevelIcon[diff];
return (diffArr[Math.Min(diff, 6)] + "Lv." + level); return (diffArr[Math.Min(diff, 6)] + "Lv." + level + diffArrIcon[(int)levelIcon]);
} }

View File

@ -1137,6 +1137,13 @@ namespace TJAPlayer3
eExpert, eExpert,
eMaster eMaster
} }
public enum ELevelIcon
{
eMinus,
eNone,
ePlus
}
public class CLine public class CLine
{ {
public int n小節番号; public int n小節番号;
@ -1197,6 +1204,7 @@ namespace TJAPlayer3
public STDGBVALUE<int> LEVEL; public STDGBVALUE<int> LEVEL;
public bool bLyrics; public bool bLyrics;
public int[] LEVELtaiko = new int[(int)Difficulty.Total] { -1, -1, -1, -1, -1, -1, -1 }; public int[] LEVELtaiko = new int[(int)Difficulty.Total] { -1, -1, -1, -1, -1, -1, -1 };
public ELevelIcon[] LEVELtaikoIcon = new ELevelIcon[(int)Difficulty.Total] { ELevelIcon.eNone, ELevelIcon.eNone, ELevelIcon.eNone, ELevelIcon.eNone, ELevelIcon.eNone, ELevelIcon.eNone, ELevelIcon.eNone };
public CSongUniqueID uniqueID; public CSongUniqueID uniqueID;
// Tower lifes // Tower lifes
@ -5090,10 +5098,16 @@ namespace TJAPlayer3
} }
else if (strCommandName.Equals("LEVEL")) else if (strCommandName.Equals("LEVEL"))
{ {
var level = (int)Convert.ToDouble(strCommandParam); var level_dec = Convert.ToDouble(strCommandParam);
this.LEVEL.Drums = level; var level = (int)level_dec;
this.LEVEL.Taiko = level; if (strCommandParam != level.ToString())
this.LEVELtaiko[this.n参照中の難易度] = level; {
int frac_part = Int32.Parse(level_dec.ToString("0.0", CultureInfo.InvariantCulture).Split('.')[1]);
this.LEVELtaikoIcon[this.n参照中の難易度] = (frac_part > 5) ? ELevelIcon.ePlus : ELevelIcon.eMinus;
}
this.LEVEL.Drums = (int)level;
this.LEVEL.Taiko = (int)level;
this.LEVELtaiko[this.n参照中の難易度] = (int)level;
} }
else if (strCommandName.Equals("LIFE")) else if (strCommandName.Equals("LIFE"))
{ {

View File

@ -230,9 +230,10 @@ namespace TJAPlayer3
c曲リストード.strSelectBGPath = $@"{fileinfo.FullName}\..\{dtx.SELECTBG}"; c曲リストード.strSelectBGPath = $@"{fileinfo.FullName}\..\{dtx.SELECTBG}";
if (!File.Exists(c曲リストード.strSelectBGPath)) c曲リストード.strSelectBGPath = null; if (!File.Exists(c曲リストード.strSelectBGPath)) c曲リストード.strSelectBGPath = null;
c曲リストード.nLevel = dtx.LEVELtaiko; c曲リストード.nLevel = dtx.LEVELtaiko;
c曲リストード.nLevelIcon = dtx.LEVELtaikoIcon;
// LIFE here // LIFE here
c曲リストード.nLife = dtx.LIFE; c曲リストード.nLife = dtx.LIFE;
c曲リストード.nTowerType = dtx.TOWERTYPE; c曲リストード.nTowerType = dtx.TOWERTYPE;
@ -461,8 +462,9 @@ namespace TJAPlayer3
} }
c曲リストード.nLevel = dtx.LEVELtaiko; c曲リストード.nLevel = dtx.LEVELtaiko;
c曲リストード.uniqueId = dtx.uniqueID; c曲リストード.nLevelIcon = dtx.LEVELtaikoIcon;
c曲リストード.uniqueId = dtx.uniqueID;
CSongDict.tAddSongNode(c曲リストード.uniqueId, c曲リストード); CSongDict.tAddSongNode(c曲リストード.uniqueId, c曲リストード);
@ -912,24 +914,16 @@ namespace TJAPlayer3
c曲リストード.arスコア[ i ]..SongVol = cdtx.SongVol; c曲リストード.arスコア[ i ]..SongVol = cdtx.SongVol;
c曲リストード.arスコア[ i ]..SongLoudnessMetadata = cdtx.SongLoudnessMetadata; c曲リストード.arスコア[ i ]..SongLoudnessMetadata = cdtx.SongLoudnessMetadata;
c曲リストード.arスコア[ i ]..nデモBGMオフセット = cdtx.nデモBGMオフセット; c曲リストード.arスコア[ i ]..nデモBGMオフセット = cdtx.nデモBGMオフセット;
c曲リストード.arスコア[ i ]..b譜面分岐[0] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[ 0 ];
c曲リストード.arスコア[ i ]..b譜面分岐[1] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[ 1 ];
c曲リストード.arスコア[ i ]..b譜面分岐[2] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[ 2 ];
c曲リストード.arスコア[ i ]..b譜面分岐[3] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[ 3 ];
c曲リストード.arスコア[i]..b譜面分岐[4] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[4];
c曲リストード.arスコア[i]..b譜面分岐[5] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[5];
c曲リストード.arスコア[i]..b譜面分岐[6] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[6];
c曲リストード.arスコア[ i ]..strサブタイトル = cdtx.SUBTITLE; c曲リストード.arスコア[ i ]..strサブタイトル = cdtx.SUBTITLE;
c曲リストード.arスコア[ i ]..nレベル[0] = cdtx.LEVELtaiko[0]; for (int k = 0; k < (int)Difficulty.Total; k++)
c曲リストード.arスコア[ i ]..nレベル[1] = cdtx.LEVELtaiko[1]; {
c曲リストード.arスコア[ i ]..nレベル[2] = cdtx.LEVELtaiko[2]; c曲リストード.arスコア[i]..b譜面分岐[k] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[k];
c曲リストード.arスコア[ i ]..nレベル[3] = cdtx.LEVELtaiko[3]; c曲リストード.arスコア[i]..nレベル[k] = cdtx.LEVELtaiko[k];
c曲リストード.arスコア[ i ]..nレベル[4] = cdtx.LEVELtaiko[4]; c曲リストード.arスコア[i]..nLevelIcon[k] = cdtx.LEVELtaikoIcon[k];
c曲リストード.arスコア[i]..nレベル[5] = cdtx.LEVELtaiko[5]; }
c曲リストード.arスコア[i]..nレベル[6] = cdtx.LEVELtaiko[6];
// Tower Lives
// Tower Lives c曲リストード.arスコア[i]..nLife = cdtx.LIFE;
c曲リストード.arスコア[i]..nLife = cdtx.LIFE;
c曲リストード.arスコア[i]..nTowerType = cdtx.TOWERTYPE; c曲リストード.arスコア[i]..nTowerType = cdtx.TOWERTYPE;
@ -1445,264 +1439,13 @@ namespace TJAPlayer3
var comparer = new ComparerChain<C曲リストード>( var comparer = new ComparerChain<C曲リストード>(
new C曲リストードComparerード種別(), new C曲リストードComparerード種別(),
new C曲リストードComparerLevel(order), new C曲リストードComparerLevel(order),
new C曲リストードComparerLevelIcon(order),
new C曲リストードComparerタイトル(order), new C曲リストードComparerタイトル(order),
new C曲リストードComparerSubtitle(order), new C曲リストードComparerSubtitle(order),
new C曲リストードComparer絶対パス(order)); new C曲リストードComparer絶対パス(order));
.Sort(comparer); .Sort(comparer);
} }
/// <summary>
///
/// </summary>
/// <param name="ノードリスト"></param>
/// <param name="part"></param>
/// <param name="order">1=Ascend -1=Descend</param>
public static void t曲リストのソート3_演奏回数の多い順( List<C曲リストード> , E楽器パート part, int order, params object[] p )
{
order = -order;
int nL12345 = (int) p[ 0 ];
if ( part != E楽器パート.UNKNOWN )
{
.Sort( delegate( C曲リストード n1, C曲リストード n2 )
{
#region [ ]
if( ( n1.eード種別 == C曲リストード.Eード種別.BOX ) && ( n2.eード種別 == C曲リストード.Eード種別.BOX ) )
{
return order * n1.arスコア[ 0 ]...CompareTo( n2.arスコア[ 0 ].. );
}
#endregion
int nSumPlayCountN1 = 0, nSumPlayCountN2 = 0;
// for( int i = 0; i <(int)Difficulty.Total; i++ )
// {
if( n1.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 += n1.arスコア[ nL12345 ]..[ (int) part ];
}
if( n2.arスコア[ nL12345 ] != null )
{
nSumPlayCountN2 += n2.arスコア[ nL12345 ]..[ (int) part ];
}
// }
var num = nSumPlayCountN2 - nSumPlayCountN1;
if( num != 0 )
{
return order * num;
}
return order * n1.strタイトル.CompareTo( n2.strタイトル );
} );
foreach ( C曲リストード c曲リストード in )
{
int nSumPlayCountN1 = 0;
// for ( int i = 0; i < 5; i++ )
// {
if ( c曲リストード.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 += c曲リストード.arスコア[ nL12345 ]..[ (int) part ];
}
// }
// Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストード.strタイトル );
}
}
}
public static void t曲リストのソート4_LEVEL順( List<C曲リストード> , E楽器パート part, int order, params object[] p )
{
order = -order;
int nL12345 = (int)p[ 0 ];
if ( part != E楽器パート.UNKNOWN )
{
.Sort( delegate( C曲リストード n1, C曲リストード n2 )
{
#region [ ]
if ( ( n1.eード種別 == C曲リストード.Eード種別.BOX ) && ( n2.eード種別 == C曲リストード.Eード種別.BOX ) )
{
return order * n1.arスコア[ 0 ]...CompareTo( n2.arスコア[ 0 ].. );
}
#endregion
int nSumPlayCountN1 = 0, nSumPlayCountN2 = 0;
if ( n1.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = n1.nLevel[ nL12345 ];
}
if ( n2.arスコア[ nL12345 ] != null )
{
nSumPlayCountN2 = n2.nLevel[ nL12345 ];
}
var num = nSumPlayCountN2 - nSumPlayCountN1;
if ( num != 0 )
{
return order * num;
}
return order * n1.strタイトル.CompareTo( n2.strタイトル );
} );
foreach ( C曲リストード c曲リストード in )
{
int nSumPlayCountN1 = 0;
if ( c曲リストード.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = c曲リストード.nLevel[ nL12345 ];
}
// Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストード.strタイトル );
}
}
}
public static void t曲リストのソート5_BestRank順( List<C曲リストード> , E楽器パート part, int order, params object[] p )
{
order = -order;
int nL12345 = (int) p[ 0 ];
if ( part != E楽器パート.UNKNOWN )
{
.Sort( delegate( C曲リストード n1, C曲リストード n2 )
{
#region [ ]
if ( ( n1.eード種別 == C曲リストード.Eード種別.BOX ) && ( n2.eード種別 == C曲リストード.Eード種別.BOX ) )
{
return order * n1.arスコア[ 0 ]...CompareTo( n2.arスコア[ 0 ].. );
}
#endregion
int nSumPlayCountN1 = 0, nSumPlayCountN2 = 0;
bool isFullCombo1 = false, isFullCombo2 = false;
if ( n1.arスコア[ nL12345 ] != null )
{
isFullCombo1 = n1.arスコア[ nL12345 ]..[ (int) part ];
nSumPlayCountN1 = n1.arスコア[ nL12345 ]..[ (int) part ];
}
if ( n2.arスコア[ nL12345 ] != null )
{
isFullCombo2 = n2.arスコア[ nL12345 ]..[ (int) part ];
nSumPlayCountN2 = n2.arスコア[ nL12345 ]..[ (int) part ];
}
if ( isFullCombo1 ^ isFullCombo2 )
{
if ( isFullCombo1 ) return order; else return -order;
}
var num = nSumPlayCountN2 - nSumPlayCountN1;
if ( num != 0 )
{
return order * num;
}
return order * n1.strタイトル.CompareTo( n2.strタイトル );
} );
foreach ( C曲リストード c曲リストード in )
{
int nSumPlayCountN1 = 0;
if ( c曲リストード.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = c曲リストード.arスコア[ nL12345 ]..[ (int) part ];
}
// Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストード.strタイトル );
}
}
}
public static void t曲リストのソート6_SkillPoint順( List<C曲リストード> , E楽器パート part, int order, params object[] p )
{
order = -order;
int nL12345 = (int) p[ 0 ];
if ( part != E楽器パート.UNKNOWN )
{
.Sort( delegate( C曲リストード n1, C曲リストード n2 )
{
#region [ ]
if ( ( n1.eード種別 == C曲リストード.Eード種別.BOX ) && ( n2.eード種別 == C曲リストード.Eード種別.BOX ) )
{
return order * n1.arスコア[ 0 ]...CompareTo( n2.arスコア[ 0 ].. );
}
#endregion
double nSumPlayCountN1 = 0, nSumPlayCountN2 = 0;
if ( n1.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = n1.arスコア[ nL12345 ]..[ (int) part ];
}
if ( n2.arスコア[ nL12345 ] != null )
{
nSumPlayCountN2 = n2.arスコア[ nL12345 ]..[ (int) part ];
}
double d = nSumPlayCountN2 - nSumPlayCountN1;
if ( d != 0 )
{
return order * System.Math.Sign(d);
}
return order * n1.strタイトル.CompareTo( n2.strタイトル );
} );
foreach ( C曲リストード c曲リストード in )
{
double nSumPlayCountN1 = 0;
if ( c曲リストード.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = c曲リストード.arスコア[ nL12345 ]..[ (int) part ];
}
// Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストード.strタイトル );
}
}
}
public static void t曲リストのソート7_更新日時順( List<C曲リストード> , E楽器パート part, int order, params object[] p )
{
int nL12345 = (int) p[ 0 ];
if ( part != E楽器パート.UNKNOWN )
{
.Sort( delegate( C曲リストード n1, C曲リストード n2 )
{
#region [ ]
if ( ( n1.eード種別 == C曲リストード.Eード種別.BOX ) && ( n2.eード種別 == C曲リストード.Eード種別.BOX ) )
{
return order * n1.arスコア[ 0 ]...CompareTo( n2.arスコア[ 0 ].. );
}
#endregion
DateTime nSumPlayCountN1 = DateTime.Parse("0001/01/01 12:00:01.000");
DateTime nSumPlayCountN2 = DateTime.Parse("0001/01/01 12:00:01.000");
if ( n1.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = n1.arスコア[ nL12345 ]..;
}
if ( n2.arスコア[ nL12345 ] != null )
{
nSumPlayCountN2 = n2.arスコア[ nL12345 ]..;
}
int d = nSumPlayCountN1.CompareTo(nSumPlayCountN2);
if ( d != 0 )
{
return order * System.Math.Sign( d );
}
return order * n1.strタイトル.CompareTo( n2.strタイトル );
} );
foreach ( C曲リストード c曲リストード in )
{
DateTime nSumPlayCountN1 = DateTime.Parse( "0001/01/01 12:00:01.000" );
if ( c曲リストード.arスコア[ nL12345 ] != null )
{
nSumPlayCountN1 = c曲リストード.arスコア[ nL12345 ]..;
}
// Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストード.strタイトル );
}
}
}
public static void t曲リストのソート8_アーティスト名順( List<C曲リストード> , E楽器パート part, int order, params object[] p )
{
int nL12345 = (int) p[ 0 ];
.Sort( delegate( C曲リストード n1, C曲リストード n2 )
{
string strAuthorN1 = "";
string strAuthorN2 = "";
if (n1.arスコア[ nL12345 ] != null ) {
strAuthorN1 = n1.arスコア[ nL12345 ]..;
}
if ( n2.arスコア[ nL12345 ] != null )
{
strAuthorN2 = n2.arスコア[ nL12345 ]..;
}
return order * strAuthorN1.CompareTo( strAuthorN2 );
} );
foreach ( C曲リストード c曲リストード in )
{
string s = "";
if ( c曲リストード.arスコア[ nL12345 ] != null )
{
s = c曲リストード.arスコア[ nL12345 ]..;
}
Debug.WriteLine( s + ":" + c曲リストード.strタイトル );
}
}
public static void t曲リストのソート9_ジャンル順(List<C曲リストード> , E楽器パート part, int order, params object[] p) public static void t曲リストのソート9_ジャンル順(List<C曲リストード> , E楽器パート part, int order, params object[] p)
{ {

View File

@ -97,6 +97,7 @@ namespace TJAPlayer3
public int[] nレベル; public int[] nレベル;
public int[] nクリア; //0:未クリア 1:クリア 2:フルコンボ 3:ドンダフルコンボ public int[] nクリア; //0:未クリア 1:クリア 2:フルコンボ 3:ドンダフルコンボ
public int[] nスコアランク; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極 public int[] nスコアランク; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
public CDTX.ELevelIcon[] nLevelIcon;
// Tower lifes // Tower lifes
public int nLife; public int nLife;
@ -336,8 +337,9 @@ namespace TJAPlayer3
this.. = 0; this.. = 0;
this..nハイスコア = new int[(int)Difficulty.Total]; this..nハイスコア = new int[(int)Difficulty.Total];
this..strサブタイトル = ""; this..strサブタイトル = "";
this..nレベル = new int[(int)Difficulty.Total] { -1, -1, -1, -1, -1, -1, -1}; this..nレベル = new int[(int)Difficulty.Total] { -1, -1, -1, -1, -1, -1, -1};
this..nクリア = new int[5]; this..nLevelIcon = new CDTX.ELevelIcon[(int)Difficulty.Total] { CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone };
this..nクリア = new int[5];
this..nスコアランク = new int[5]; this..nスコアランク = new int[5];
for (int i = 0; i < 5; i++) for (int i = 0; i < 5; i++)

View File

@ -76,6 +76,7 @@ namespace TJAPlayer3
public string strSkinPath = ""; // #28195 2012.5.4 yyagi; box.defでのスキン切り替え対応 public string strSkinPath = ""; // #28195 2012.5.4 yyagi; box.defでのスキン切り替え対応
public bool bBranch = false; public bool bBranch = false;
public int[] nLevel = new int[(int)Difficulty.Total]{ 0, 0, 0, 0, 0, 0, 0 }; public int[] nLevel = new int[(int)Difficulty.Total]{ 0, 0, 0, 0, 0, 0, 0 };
public CDTX.ELevelIcon[] nLevelIcon = new CDTX.ELevelIcon[(int)Difficulty.Total] {CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone };
// Tower Lives // Tower Lives
public int nLife = 5; public int nLife = 5;

View File

@ -0,0 +1,32 @@
using System.Collections.Generic;
namespace TJAPlayer3.C曲リストードComparers
{
internal sealed class C曲リストードComparerLevelIcon : IComparer<C曲リストード>
{
private readonly int _order;
public C曲リストードComparerLevelIcon(int order)
{
this._order = order;
}
public int Compare(C曲リストード n1, C曲リストード n2)
{
int _n1s = (n1.eード種別 != C曲リストード.Eード種別.SCORE) ? 0 : 1;
int _n2s = (n2.eード種別 != C曲リストード.Eード種別.SCORE) ? 0 : 1;
if (_n1s == 0 || _n2s == 0)
{
return 0;
}
return _order * _diffOf(n1).CompareTo(_diffOf(n2));
}
private int _diffOf(C曲リストード n1)
{
return (int)n1.nLevelIcon[TJAPlayer3.stage選曲.act曲リスト.tFetchDifficulty(n1)];
}
}
}

View File

@ -227,6 +227,10 @@ namespace TJAPlayer3
SongSelect_Bar_Select = TxC(SONGSELECT + @"Bar_Select.png"); SongSelect_Bar_Select = TxC(SONGSELECT + @"Bar_Select.png");
SongSelect_Level_Number = TxC(SONGSELECT + @"Level_Number.png"); SongSelect_Level_Number = TxC(SONGSELECT + @"Level_Number.png");
SongSelect_Level_Number_Big = TxC(SONGSELECT + @"Level_Number_Big.png"); SongSelect_Level_Number_Big = TxC(SONGSELECT + @"Level_Number_Big.png");
SongSelect_Level_Number_Big_Colored = TxC(SONGSELECT + @"Level_Number_Big_Colored.png");
SongSelect_Level_Number_Colored = TxC(SONGSELECT + @"Level_Number_Colored.png");
SongSelect_Level_Number_Big_Icon = TxC(SONGSELECT + @"Level_Number_Big_Icon.png");
SongSelect_Level_Number_Icon = TxC(SONGSELECT + @"Level_Number_Icon.png");
SongSelect_Bpm_Number = TxC(SONGSELECT + @"Bpm_Number.png"); SongSelect_Bpm_Number = TxC(SONGSELECT + @"Bpm_Number.png");
SongSelect_Credit = TxC(SONGSELECT + @"Credit.png"); SongSelect_Credit = TxC(SONGSELECT + @"Credit.png");
SongSelect_Timer = TxC(SONGSELECT + @"Timer.png"); SongSelect_Timer = TxC(SONGSELECT + @"Timer.png");
@ -298,6 +302,8 @@ namespace TJAPlayer3
#region [ ] #region [ ]
Difficulty_Bar = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Bar.png"); Difficulty_Bar = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Bar.png");
Difficulty_Number = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Number.png"); Difficulty_Number = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Number.png");
Difficulty_Number_Colored = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Number_Colored.png");
Difficulty_Number_Icon = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Number_Icon.png");
Difficulty_Star = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Star.png"); Difficulty_Star = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Star.png");
Difficulty_Crown = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Crown.png"); Difficulty_Crown = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Crown.png");
Difficulty_Option = TxC($"{SONGSELECT}Difficulty_Select/Difficulty_Option.png"); Difficulty_Option = TxC($"{SONGSELECT}Difficulty_Select/Difficulty_Option.png");
@ -1879,7 +1885,11 @@ namespace TJAPlayer3
SongSelect_Bar_Genre_Random, SongSelect_Bar_Genre_Random,
SongSelect_Bar_Genre_RecentryPlaySong, SongSelect_Bar_Genre_RecentryPlaySong,
SongSelect_Level_Number, SongSelect_Level_Number,
SongSelect_Level_Number_Colored,
SongSelect_Level_Number_Icon,
SongSelect_Level_Number_Big, SongSelect_Level_Number_Big,
SongSelect_Level_Number_Big_Colored,
SongSelect_Level_Number_Big_Icon,
SongSelect_Bpm_Number, SongSelect_Bpm_Number,
SongSelect_Bar_Select, SongSelect_Bar_Select,
SongSelect_Bar_Genre_Overlay, SongSelect_Bar_Genre_Overlay,
@ -1913,6 +1923,8 @@ namespace TJAPlayer3
#region [ ] #region [ ]
public CTexture Difficulty_Bar; public CTexture Difficulty_Bar;
public CTexture Difficulty_Number; public CTexture Difficulty_Number;
public CTexture Difficulty_Number_Colored;
public CTexture Difficulty_Number_Icon;
public CTexture Difficulty_Star; public CTexture Difficulty_Star;
public CTexture Difficulty_Crown; public CTexture Difficulty_Crown;
public CTexture Difficulty_Option; public CTexture Difficulty_Option;

View File

@ -170,6 +170,7 @@ namespace TJAPlayer3
strPreviewFilename = cスコア.. + cスコア..strBGMファイル名; strPreviewFilename = cスコア.. + cスコア..strBGMファイル名;
if(TJAPlayer3.ConfigIni.bBGM音を発声する) if(TJAPlayer3.ConfigIni.bBGM音を発声する)
this.sound = TJAPlayer3.Sound管理.tサウンドを生成する( strPreviewFilename, ESoundGroup.SongPreview ); this.sound = TJAPlayer3.Sound管理.tサウンドを生成する( strPreviewFilename, ESoundGroup.SongPreview );
if (this.sound == null) return;
// 2018-08-27 twopointzero - DO attempt to load (or queue scanning) loudness metadata here. // 2018-08-27 twopointzero - DO attempt to load (or queue scanning) loudness metadata here.
// Initialization, song enumeration, and/or interactions may have // Initialization, song enumeration, and/or interactions may have

View File

@ -16,6 +16,7 @@ using Rectangle = System.Drawing.Rectangle;
using Point = System.Drawing.Point; using Point = System.Drawing.Point;
using Color = System.Drawing.Color; using Color = System.Drawing.Color;
using RectangleF = System.Drawing.RectangleF; using RectangleF = System.Drawing.RectangleF;
namespace TJAPlayer3 namespace TJAPlayer3
{ {
internal class CActSelect曲リスト : CActivity internal class CActSelect曲リスト : CActivity
@ -499,7 +500,9 @@ namespace TJAPlayer3
this.stバー情報[index].strジャンル = song.strジャンル; this.stバー情報[index].strジャンル = song.strジャンル;
this.stバー情報[index].strサブタイトル = song.strサブタイトル; this.stバー情報[index].strサブタイトル = song.strサブタイトル;
this.stバー情報[index].ar難易度 = song.nLevel; this.stバー情報[index].ar難易度 = song.nLevel;
for (int f = 0; f < (int)Difficulty.Total; f++) this.stバー情報[index].nLevelIcon = song.nLevelIcon;
for (int f = 0; f < (int)Difficulty.Total; f++)
{ {
if (song.arスコア[f] != null) if (song.arスコア[f] != null)
this.stバー情報[index].b分岐 = song.arスコア[f]..b譜面分岐; this.stバー情報[index].b分岐 = song.arスコア[f]..b譜面分岐;
@ -637,7 +640,8 @@ namespace TJAPlayer3
this.stバー情報[index].strサブタイトル = song.strサブタイトル; this.stバー情報[index].strサブタイトル = song.strサブタイトル;
this.stバー情報[index].strジャンル = song.strジャンル; this.stバー情報[index].strジャンル = song.strジャンル;
this.stバー情報[index].ar難易度 = song.nLevel; this.stバー情報[index].ar難易度 = song.nLevel;
for (int f = 0; f < (int)Difficulty.Total; f++) this.stバー情報[index].nLevelIcon = song.nLevelIcon;
for (int f = 0; f < (int)Difficulty.Total; f++)
{ {
if (song.arスコア[f] != null) if (song.arスコア[f] != null)
this.stバー情報[index].b分岐 = song.arスコア[f]..b譜面分岐; this.stバー情報[index].b分岐 = song.arスコア[f]..b譜面分岐;
@ -1811,7 +1815,9 @@ namespace TJAPlayer3
{ {
TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity = difSelectOpacity; TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity = difSelectOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difSelectOpacity; TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difSelectOpacity;
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difSelectOpacity; TJAPlayer3.Tx.SongSelect_Level_Number_Icon?.tUpdateOpacity(difSelectOpacity);
TJAPlayer3.Tx.SongSelect_Level_Number_Colored?.tUpdateOpacity(difSelectOpacity);
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difSelectOpacity;
} }
else if (ctDifficultyIn.n現在の値 >= 1000) else if (ctDifficultyIn.n現在の値 >= 1000)
{ {
@ -1819,7 +1825,9 @@ namespace TJAPlayer3
TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity = difInOpacity; TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity = difInOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difInOpacity; TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difInOpacity;
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difInOpacity; TJAPlayer3.Tx.SongSelect_Level_Number_Icon?.tUpdateOpacity(difInOpacity);
TJAPlayer3.Tx.SongSelect_Level_Number_Colored?.tUpdateOpacity(difInOpacity);
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difInOpacity;
} }
#endregion #endregion
@ -1837,7 +1845,10 @@ namespace TJAPlayer3
if (avaliable) if (avaliable)
{ {
t小文字表示(TJAPlayer3.Skin.SongSelect_Level_Number_X[displayingDiff], TJAPlayer3.Skin.SongSelect_Level_Number_Y[displayingDiff], t小文字表示(TJAPlayer3.Skin.SongSelect_Level_Number_X[displayingDiff], TJAPlayer3.Skin.SongSelect_Level_Number_Y[displayingDiff],
TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[i]); TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[i],
i,
TJAPlayer3.stage選曲.r現在選択中のスコア..nLevelIcon[i]
);
if (TJAPlayer3.Tx.SongSelect_Level != null) if (TJAPlayer3.Tx.SongSelect_Level != null)
{ {
@ -1852,7 +1863,18 @@ namespace TJAPlayer3
new RectangleF(level_width * i, 0, level_width, level_height)); new RectangleF(level_width * i, 0, level_width, level_height));
} }
} }
}
if (TJAPlayer3.stage選曲.r現在選択中のスコア..b譜面分岐[i])
{
TJAPlayer3.Tx.SongSelect_Branch?.tUpdateOpacity(TJAPlayer3.Tx.SongSelect_Frame_Score[0].Opacity);
TJAPlayer3.Tx.SongSelect_Branch?.t2D描画(
TJAPlayer3.app.Device,
TJAPlayer3.Skin.SongSelect_Frame_Score_X[displayingDiff] + TJAPlayer3.Skin.SongSelect_Branch_Offset[0],
TJAPlayer3.Skin.SongSelect_Frame_Score_Y[displayingDiff] + TJAPlayer3.Skin.SongSelect_Branch_Offset[1]
);
}
}
#endregion #endregion
@ -1908,7 +1930,9 @@ namespace TJAPlayer3
{ {
TJAPlayer3.Tx.SongSelect_Frame_Score[1].Opacity = difSelectOpacity; TJAPlayer3.Tx.SongSelect_Frame_Score[1].Opacity = difSelectOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difSelectOpacity; TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difSelectOpacity;
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difSelectOpacity; TJAPlayer3.Tx.SongSelect_Level_Number_Icon?.tUpdateOpacity(difSelectOpacity);
TJAPlayer3.Tx.SongSelect_Level_Number_Colored?.tUpdateOpacity(difSelectOpacity);
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difSelectOpacity;
} }
else if (ctDifficultyIn.n現在の値 >= 1000) else if (ctDifficultyIn.n現在の値 >= 1000)
{ {
@ -1916,7 +1940,9 @@ namespace TJAPlayer3
TJAPlayer3.Tx.SongSelect_Frame_Score[1].Opacity = difInOpacity; TJAPlayer3.Tx.SongSelect_Frame_Score[1].Opacity = difInOpacity;
TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difInOpacity; TJAPlayer3.Tx.SongSelect_Level_Number.Opacity = difInOpacity;
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difInOpacity; TJAPlayer3.Tx.SongSelect_Level_Number_Icon?.tUpdateOpacity(difInOpacity);
TJAPlayer3.Tx.SongSelect_Level_Number_Colored?.tUpdateOpacity(difInOpacity);
if (TJAPlayer3.Tx.SongSelect_Level != null) TJAPlayer3.Tx.SongSelect_Level.Opacity = difInOpacity;
} }
#endregion #endregion
@ -1931,7 +1957,10 @@ namespace TJAPlayer3
if (avaliable) if (avaliable)
{ {
t小文字表示(TJAPlayer3.Skin.SongSelect_Level_Number_X[(diff - 5)], TJAPlayer3.Skin.SongSelect_Level_Number_Y[(diff - 5)], t小文字表示(TJAPlayer3.Skin.SongSelect_Level_Number_X[(diff - 5)], TJAPlayer3.Skin.SongSelect_Level_Number_Y[(diff - 5)],
TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[diff]); TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[diff],
diff,
TJAPlayer3.stage選曲.r現在選択中のスコア..nLevelIcon[diff]
);
if (TJAPlayer3.Tx.SongSelect_Level != null) if (TJAPlayer3.Tx.SongSelect_Level != null)
{ {
@ -2451,6 +2480,7 @@ namespace TJAPlayer3
public bool BoxCharaChanged; public bool BoxCharaChanged;
public int[] ar難易度; public int[] ar難易度;
public CDTX.ELevelIcon[] nLevelIcon;
public bool[] b分岐; public bool[] b分岐;
public string strジャンル; public string strジャンル;
public string strサブタイトル; public string strサブタイトル;
@ -2723,74 +2753,8 @@ namespace TJAPlayer3
overlay.vc拡大縮小倍率.Y = 1.0f; overlay.vc拡大縮小倍率.Y = 1.0f;
overlay.t2D描画(TJAPlayer3.app.Device, x - (texture_xoffset / 2) - moveX_xoffset + moveX + (width * 2), y + (height * 2) + move, new Rectangle(width * 2, height * 2, width, height)); overlay.t2D描画(TJAPlayer3.app.Device, x - (texture_xoffset / 2) - moveX_xoffset + moveX + (width * 2), y + (height * 2) + move, new Rectangle(width * 2, height * 2, width, height));
/*
if (fullScaleOverlay)
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D描画(TJAPlayer3.app.Device, x - overlay_xoffset - moveX, y - move, new Rectangle(0, 0, width, height));
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.Y = 1.0f + ((move / (float)height) * 2.0f);
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D描画(TJAPlayer3.app.Device, x - overlay_xoffset - moveX, y + height - move, new Rectangle(0, height, width, height));
}
else
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D描画(TJAPlayer3.app.Device, x - overlay_xoffset - moveX, y, new Rectangle(0, 0, width, height));
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.Y = 1.0f + (move / (float)height);
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D描画(TJAPlayer3.app.Device, x - overlay_xoffset - moveX, y + height, new Rectangle(0, height, width, height));
}
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.Y = 1.0f;
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D描画(TJAPlayer3.app.Device, x - overlay_xoffset - moveX, y + (height * 2) + move, new Rectangle(0, height * 2, width, height));
*/
} }
/*
if (ctBoxOpen.n現在の値 >= 1300 && ctBoxOpen.n現在の値 <= 1940)
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.X = 1.0f - (float)Math.Sin(((ctBoxOpen.n現在の値 - 1300) * 0.28125f) * (Math.PI / 180)) * 1.0f;
texture.vc拡大縮小倍率.X = 1.0f - (float)Math.Sin(((ctBoxOpen.n現在の値 - 1300) * 0.28125f) * (Math.PI / 180)) * 1.0f;
}
else
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.X = 1.0f;
texture.vc拡大縮小倍率.X = 1.0f;
}
texture.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 326 - BarAnimeCount, new Rectangle(0, 0, 632, 21));
texture.vc拡大縮小倍率.Y = BarAnimeCount == 0 ? 1.0f : 1.0f + (float)(BarAnimeCount) / 23.6f;
texture.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 360, new Rectangle(0, 21, 632, 48));
texture.vc拡大縮小倍率.Y = 1.0f;
texture.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 394 + BarAnimeCount, new Rectangle(0, 69, 632, 23));
if (drawOverlay)
{
if (BarAnimeCount != 0)
{
if (fullScaleOverlay)
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 326 - BarAnimeCount, new Rectangle(0, 0, 632, 21));
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.Y = BarAnimeCount == 0 ? 1.0f : 1.0f + (float)(BarAnimeCount) / 24.5f;
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 359, new Rectangle(0, 21, 632, 48));
}
else
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 326, new Rectangle(0, 0, 632, 21));
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.Y = BarAnimeCount == 0 ? 1.0f : 1.0f + (float)(BarAnimeCount) / 50;
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, 640, 336, new Rectangle(0, 21, 632, 48));
}
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.vc拡大縮小倍率.Y = 1.0f;
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 394 + BarAnimeCount, new Rectangle(0, 69, 632, 23));
}
else
{
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 360, new Rectangle(0, 0, 632, 92));
}
}*/
} }
private Eバー種別 e曲のバー種別を返す( C曲リストード song ) private Eバー種別 e曲のバー種別を返す( C曲リストード song )
@ -2883,9 +2847,10 @@ namespace TJAPlayer3
this.stバー情報[ i ].eバー種別 = this.e曲のバー種別を返す( song ); this.stバー情報[ i ].eバー種別 = this.e曲のバー種別を返す( song );
this.stバー情報[ i ].strサブタイトル = song.strサブタイトル; this.stバー情報[ i ].strサブタイトル = song.strサブタイトル;
this.stバー情報[ i ].ar難易度 = song.nLevel; this.stバー情報[ i ].ar難易度 = song.nLevel;
this.stバー情報[i].nLevelIcon = song.nLevelIcon;
for( int f = 0; f < (int)Difficulty.Total; f++ )
for ( int f = 0; f < (int)Difficulty.Total; f++ )
{ {
if( song.arスコア[ f ] != null ) if( song.arスコア[ f ] != null )
this.stバー情報[ i ].b分岐 = song.arスコア[ f ]..b譜面分岐; this.stバー情報[ i ].b分岐 = song.arスコア[ f ]..b譜面分岐;
@ -2965,7 +2930,9 @@ namespace TJAPlayer3
TJAPlayer3.Tx.TowerResult_ScoreRankEffect.Opacity = opct; TJAPlayer3.Tx.TowerResult_ScoreRankEffect.Opacity = opct;
TJAPlayer3.Tx.DanResult_Rank.Opacity = opct; TJAPlayer3.Tx.DanResult_Rank.Opacity = opct;
TJAPlayer3.Tx.SongSelect_Level_Number_Big?.tUpdateOpacity(opct); TJAPlayer3.Tx.SongSelect_Level_Number_Big?.tUpdateOpacity(opct);
for (int i = 0; i < TJAPlayer3.Tx.SongSelect_Song_Panel.Length; i++) TJAPlayer3.Tx.SongSelect_Level_Number_Big_Colored?.tUpdateOpacity(opct);
TJAPlayer3.Tx.SongSelect_Level_Number_Big_Icon?.tUpdateOpacity(opct);
for (int i = 0; i < TJAPlayer3.Tx.SongSelect_Song_Panel.Length; i++)
{ {
TJAPlayer3.Tx.SongSelect_Song_Panel[i]?.tUpdateOpacity(opct); TJAPlayer3.Tx.SongSelect_Song_Panel[i]?.tUpdateOpacity(opct);
} }
@ -3394,10 +3361,29 @@ namespace TJAPlayer3
public int ptX; public int ptX;
} }
private STレベル数字[] st小文字位置 = new STレベル数字[ 10 ]; private STレベル数字[] st小文字位置 = new STレベル数字[ 10 ];
private void t小文字表示(int x, int y, int num)
public void tDisplayLevelIcon(int x, int y, CDTX.ELevelIcon icon, CTexture iconTex = null)
{
var _tex = (iconTex != null) ? iconTex : TJAPlayer3.Tx.SongSelect_Level_Number_Big_Icon;
if (icon != CDTX.ELevelIcon.eNone &&
_tex != null)
{
var __width = _tex.sz画像サイズ.Width / 3;
var __height = _tex.sz画像サイズ.Height;
_tex.t2D_DisplayImage_AnchorUpRight(
TJAPlayer3.app.Device,
x,
y,
new Rectangle(__width * (int)icon, 0, __width, __height)
);
}
}
private void t小文字表示(int x, int y, int num, int diff, CDTX.ELevelIcon icon)
{ {
int[] nums = C変換.SeparateDigits(num); int[] nums = C変換.SeparateDigits(num);
for (int j = 0; j < nums.Length; j++) float[] icon_coords = new float[2] { -999, -999 };
for (int j = 0; j < nums.Length; j++)
{ {
float offset = j - (nums.Length / 2.0f); float offset = j - (nums.Length / 2.0f);
float _x = x - (TJAPlayer3.Skin.SongSelect_Level_Number_Interval[0] * offset); float _x = x - (TJAPlayer3.Skin.SongSelect_Level_Number_Interval[0] * offset);
@ -3406,25 +3392,38 @@ namespace TJAPlayer3
float width = TJAPlayer3.Tx.SongSelect_Level_Number.sz画像サイズ.Width / 10.0f; float width = TJAPlayer3.Tx.SongSelect_Level_Number.sz画像サイズ.Width / 10.0f;
float height = TJAPlayer3.Tx.SongSelect_Level_Number.sz画像サイズ.Height; float height = TJAPlayer3.Tx.SongSelect_Level_Number.sz画像サイズ.Height;
TJAPlayer3.Tx.SongSelect_Level_Number.vc拡大縮小倍率.X = 1.0f / (1.0f + (0.25f * (nums.Length - 1))); var _expand_ratio = 1.0f / (1.0f + (0.25f * (nums.Length - 1)));
TJAPlayer3.Tx.SongSelect_Level_Number.vc拡大縮小倍率.X = _expand_ratio;
TJAPlayer3.Tx.SongSelect_Level_Number.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height)); icon_coords[0] = Math.Max(icon_coords[0], _x + width * _expand_ratio);
} icon_coords[1] = _y;
}
TJAPlayer3.Tx.SongSelect_Level_Number.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
if (TJAPlayer3.Tx.SongSelect_Level_Number_Colored != null)
{
TJAPlayer3.Tx.SongSelect_Level_Number_Colored.vc拡大縮小倍率.X = _expand_ratio;
TJAPlayer3.Tx.SongSelect_Level_Number_Colored.color4 = C変換.ColorToColor4(TJAPlayer3.Skin.SongSelect_Difficulty_Colors[diff]);
TJAPlayer3.Tx.SongSelect_Level_Number_Colored.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
}
}
tDisplayLevelIcon((int)icon_coords[0], (int)icon_coords[1], icon, TJAPlayer3.Tx.SongSelect_Level_Number_Icon);
}
public void tPrintLevelNumberBig(int x, int y, C曲リストード song) public void tPrintLevelNumberBig(int x, int y, C曲リストード song)
{ {
if (song == null) return; if (song == null) return;
int difficulty = tFetchDifficulty(song); int difficulty = tFetchDifficulty(song);
int num = song.nLevel[difficulty]; int num = song.nLevel[difficulty];
var icon = song.nLevelIcon[difficulty];
if (TJAPlayer3.Tx.SongSelect_Level_Number_Big == null || num < 0) return; if (TJAPlayer3.Tx.SongSelect_Level_Number_Big == null || num < 0) return;
int[] nums = C変換.SeparateDigits(num); int[] nums = C変換.SeparateDigits(num);
float _ratio = 1f; float _ratio = 1f;
float[] icon_coords = new float[2] { -999, -999 };
if (TJAPlayer3.Tx.SongSelect_Level_Number != null) if (TJAPlayer3.Tx.SongSelect_Level_Number != null)
{ {
_ratio = TJAPlayer3.Tx.SongSelect_Level_Number_Big.szテクスチャサイズ.Width / TJAPlayer3.Tx.SongSelect_Level_Number.szテクスチャサイズ.Width; _ratio = TJAPlayer3.Tx.SongSelect_Level_Number_Big.szテクスチャサイズ.Width / TJAPlayer3.Tx.SongSelect_Level_Number.szテクスチャサイズ.Width;
} }
for (int j = 0; j < nums.Length; j++) for (int j = 0; j < nums.Length; j++)
{ {
@ -3435,11 +3434,23 @@ namespace TJAPlayer3
float width = TJAPlayer3.Tx.SongSelect_Level_Number_Big.sz画像サイズ.Width / 10.0f; float width = TJAPlayer3.Tx.SongSelect_Level_Number_Big.sz画像サイズ.Width / 10.0f;
float height = TJAPlayer3.Tx.SongSelect_Level_Number_Big.sz画像サイズ.Height; 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))); var _expand_ratio = 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.vc拡大縮小倍率.X = _expand_ratio;
TJAPlayer3.Tx.SongSelect_Level_Number_Big.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height)); TJAPlayer3.Tx.SongSelect_Level_Number_Big.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
icon_coords[0] = Math.Max(icon_coords[0], _x + width * _expand_ratio);
icon_coords[1] = _y;
if (TJAPlayer3.Tx.SongSelect_Level_Number_Big_Colored != null)
{
TJAPlayer3.Tx.SongSelect_Level_Number_Big_Colored.vc拡大縮小倍率.X = _expand_ratio;
TJAPlayer3.Tx.SongSelect_Level_Number_Big_Colored.color4 = C変換.ColorToColor4(TJAPlayer3.Skin.SongSelect_Difficulty_Colors[difficulty]);
TJAPlayer3.Tx.SongSelect_Level_Number_Big_Colored.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
}
} }
tDisplayLevelIcon((int)icon_coords[0], (int)icon_coords[1], icon);
} }
public int tFetchDifficulty(C曲リストード song) public int tFetchDifficulty(C曲リストード song)

View File

@ -471,8 +471,13 @@ namespace TJAPlayer3
*/ */
} }
if (level > 0) if (level >= 0)
t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[i], TJAPlayer3.Skin.SongSelect_Difficulty_Number_X[i], TJAPlayer3.Skin.SongSelect_Difficulty_Number_Y[i]); t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア..nレベル[i],
TJAPlayer3.Skin.SongSelect_Difficulty_Number_X[i],
TJAPlayer3.Skin.SongSelect_Difficulty_Number_Y[i],
i,
TJAPlayer3.stage選曲.r現在選択中のスコア..nLevelIcon[i]
);
for (int g = 0; g < 10; g++) for (int g = 0; g < 10; g++)
{ {
@ -488,6 +493,13 @@ namespace TJAPlayer3
} }
} }
if (TJAPlayer3.stage選曲.r現在選択中のスコア..b譜面分岐[i])
TJAPlayer3.Tx.SongSelect_Branch_Text?.t2D描画(
TJAPlayer3.app.Device,
TJAPlayer3.Skin.SongSelect_Difficulty_Bar_X[i + 2] + TJAPlayer3.Skin.SongSelect_Branch_Text_Offset[0],
TJAPlayer3.Skin.SongSelect_Difficulty_Bar_Y[i + 2] + TJAPlayer3.Skin.SongSelect_Branch_Text_Offset[1]
);
} }
this.txTitle.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Difficulty_Select_Title[0], TJAPlayer3.Skin.SongSelect_Difficulty_Select_Title[1]); this.txTitle.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Difficulty_Select_Title[0], TJAPlayer3.Skin.SongSelect_Difficulty_Select_Title[1]);
@ -593,9 +605,10 @@ namespace TJAPlayer3
} }
private STレベル数字[] st小文字位置 = new STレベル数字[10]; private STレベル数字[] st小文字位置 = new STレベル数字[10];
private void t小文字表示(int num, float x, float y) private void t小文字表示(int num, float x, float y, int diff, CDTX.ELevelIcon icon)
{ {
int[] nums = C変換.SeparateDigits(num); int[] nums = C変換.SeparateDigits(num);
float[] icon_coords = new float[2] { -999, -999 };
for (int j = 0; j < nums.Length; j++) for (int j = 0; j < nums.Length; j++)
{ {
float offset = j - (nums.Length / 2.0f); float offset = j - (nums.Length / 2.0f);
@ -605,8 +618,18 @@ namespace TJAPlayer3
int width = TJAPlayer3.Tx.Difficulty_Number.sz画像サイズ.Width / 10; int width = TJAPlayer3.Tx.Difficulty_Number.sz画像サイズ.Width / 10;
int height = TJAPlayer3.Tx.Difficulty_Number.sz画像サイズ.Height; int height = TJAPlayer3.Tx.Difficulty_Number.sz画像サイズ.Height;
icon_coords[0] = Math.Max(icon_coords[0], _x + width);
icon_coords[1] = _y;
TJAPlayer3.Tx.Difficulty_Number.t2D描画(TJAPlayer3.app.Device, _x, _y, new Rectangle(width * nums[j], 0, width, height)); TJAPlayer3.Tx.Difficulty_Number.t2D描画(TJAPlayer3.app.Device, _x, _y, new Rectangle(width * nums[j], 0, width, height));
if (TJAPlayer3.Tx.Difficulty_Number_Colored != null)
{
TJAPlayer3.Tx.Difficulty_Number_Colored.color4 = C変換.ColorToColor4(TJAPlayer3.Skin.SongSelect_Difficulty_Colors[diff]);
TJAPlayer3.Tx.Difficulty_Number_Colored.t2D描画(TJAPlayer3.app.Device, _x, _y, new RectangleF(width * nums[j], 0, width, height));
}
} }
TJAPlayer3.stage選曲.act曲リスト.tDisplayLevelIcon((int)icon_coords[0], (int)icon_coords[1], icon, TJAPlayer3.Tx.Difficulty_Number_Icon);
} }
private bool isOnOption() private bool isOnOption()

View File

@ -2166,7 +2166,7 @@ namespace TJAPlayer3
{ {
if (NotesManager.IsGenericRoll(pChip)) if (NotesManager.IsGenericRoll(pChip))
{ {
if (pChip.nーツ出現時刻ms != 0 && ((long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) < pChip.n発声時刻ms - pChip.nーツ出現時刻ms)) if (pChip.nーツ出現時刻ms != 0 && ((long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (double)(TJAPlayer3.ConfigIni.n演奏速度 / 20.0)) < pChip.n発声時刻ms - pChip.nーツ出現時刻ms))
pChip.bShow = false; pChip.bShow = false;
else if (pChip.nーツ出現時刻ms != 0 && pChip.nーツ移動開始時刻ms != 0) else if (pChip.nーツ出現時刻ms != 0 && pChip.nーツ移動開始時刻ms != 0)
pChip.bShow = true; pChip.bShow = true;
@ -2186,7 +2186,7 @@ namespace TJAPlayer3
} }
if (NotesManager.IsRollEnd(pChip)) if (NotesManager.IsRollEnd(pChip))
{ {
if (pChip.nーツ出現時刻ms != 0 && ((long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) < n先頭発声位置 - pChip.nーツ出現時刻ms)) if (pChip.nーツ出現時刻ms != 0 && ((long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (double)(TJAPlayer3.ConfigIni.n演奏速度 / 20.0)) < n先頭発声位置 - pChip.nーツ出現時刻ms))
pChip.bShow = false; pChip.bShow = false;
else else
pChip.bShow = true; pChip.bShow = true;

View File

@ -150,6 +150,7 @@
<Compile Include="I18N\CLang_jp.cs" /> <Compile Include="I18N\CLang_jp.cs" />
<Compile Include="I18N\CLang_zh.cs" /> <Compile Include="I18N\CLang_zh.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Songs\C曲リストードComparers\C曲リストードComparerLevelIcon.cs" />
<Compile Include="Songs\C曲リストードComparers\C曲リストードComparerLevel.cs" /> <Compile Include="Songs\C曲リストードComparers\C曲リストードComparerLevel.cs" />
<Compile Include="Songs\C曲リストードComparers\C曲リストードComparerSubtitle.cs" /> <Compile Include="Songs\C曲リストードComparers\C曲リストードComparerSubtitle.cs" />
<Compile Include="Songs\VTTParser.cs" /> <Compile Include="Songs\VTTParser.cs" />

View File

@ -9,7 +9,7 @@ SCOREMODE:2
MAKER:bol MAKER:bol
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.3
BALLOON:30 BALLOON:30
SCOREINIT:680 SCOREINIT:680
SCOREDIFF:0 SCOREDIFF:0

View File

@ -8,7 +8,7 @@ DEMOSTART:109.333
SCOREMODE:2 SCOREMODE:2
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.5
BALLOON: BALLOON:
SCOREINIT:790 SCOREINIT:790
SCOREDIFF:0 SCOREDIFF:0

View File

@ -13,7 +13,7 @@ BGMOVIE:MooX - WTF.mp4
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.4
BALLOON: BALLOON:
SCOREINIT:1190 SCOREINIT:1190
SCOREDIFF:0 SCOREDIFF:0
@ -308,4 +308,4 @@ SCOREDIFF:
1211, 1211,
20201011, 20201011,
3, 3,
#END #END

View File

@ -6,7 +6,7 @@ OFFSET:0
DEMOSTART:84.570 DEMOSTART:84.570
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.6
BALLOON: BALLOON:
SCOREINIT:580 SCOREINIT:580
SCOREDIFF:0 SCOREDIFF:0
@ -848,7 +848,7 @@ NOTESDESIGNER1:bol
11, 11,
11, 11,
11, 11,
11, 11,
11, 11,
11, 11,
@ -1036,4 +1036,4 @@ NOTESDESIGNER0:Colin & bol
#SCROLL 999 #SCROLL 999
58, 58,
#END #END

View File

@ -307,7 +307,7 @@ SCOREDIFF:0
#END #END
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.7
BALLOON:30 BALLOON:30
SCOREINIT:740 SCOREINIT:740
SCOREDIFF:0 SCOREDIFF:0
@ -1112,4 +1112,4 @@ SCOREDIFF:0
3, 3,
, ,
, ,
#END #END

View File

@ -8,7 +8,7 @@ SCOREMODE:2
PREIMAGE:BassBol.png PREIMAGE:BassBol.png
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.9
BALLOON:5,75,75,10,1 BALLOON:5,75,75,10,1
SCOREINIT:510 SCOREINIT:510
SCOREDIFF:0 SCOREDIFF:0
@ -1126,4 +1126,4 @@ SCOREDIFF:0
06000000, 06000000,
0800, 0800,
#END #END

View File

@ -6,7 +6,7 @@ OFFSET:-0.236
DEMOSTART:284.408 DEMOSTART:284.408
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.4
BALLOON:10,10,39 BALLOON:10,10,39
#START #START

View File

@ -8,7 +8,7 @@ SCOREMODE:2
PREIMAGE:Halcyon.png PREIMAGE:Halcyon.png
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.7
BALLOON:30,10,2,3 BALLOON:30,10,2,3
SCOREINIT:710 SCOREINIT:710
SCOREDIFF:0 SCOREDIFF:0
@ -676,4 +676,4 @@ SCOREDIFF:0
0000000080000003, 0000000080000003,
#GOGOEND #GOGOEND
, ,
#END #END

View File

@ -8,7 +8,7 @@ DEMOSTART:35.715
SCOREMODE:2 SCOREMODE:2
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.3
BALLOON:20,2 BALLOON:20,2
SCOREINIT:780 SCOREINIT:780
SCOREDIFF:0 SCOREDIFF:0

View File

@ -7,7 +7,7 @@ DEMOSTART:60.564
SCOREMODE:2 SCOREMODE:2
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.8
BALLOON: BALLOON:
SCOREINIT:690 SCOREINIT:690
SCOREDIFF:0 SCOREDIFF:0
@ -151,7 +151,7 @@ SCOREDIFF:0
#END #END
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.5
BALLOON: BALLOON:
SCOREINIT:840 SCOREINIT:840
SCOREDIFF:0 SCOREDIFF:0
@ -706,4 +706,4 @@ SCOREDIFF:0
#GOGOEND #GOGOEND
, ,
#END #END

View File

@ -7,7 +7,7 @@ OFFSET:-0.193
DEMOSTART:87.870 DEMOSTART:87.870
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.6
BALLOON: BALLOON:
SCOREINIT: SCOREINIT:
SCOREDIFF:0 SCOREDIFF:0
@ -277,11 +277,8 @@ SCOREDIFF:0
3, 3,
#END #END
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.5
BALLOON: BALLOON:
#START #START
@ -970,5 +967,3 @@ BALLOON:
22, 22,
3, 3,
#END #END

View File

@ -8,7 +8,7 @@ DEMOSTART:91.76
AUTHOR:Taichenko_oni AUTHOR:Taichenko_oni
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.4
BALLOON:3,3,3,3 BALLOON:3,3,3,3
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF:

View File

@ -9,7 +9,7 @@ PREIMAGE:lostem.png
BGMOVIE:Lost Emotion..mp4 BGMOVIE:Lost Emotion..mp4
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.6
BALLOON:0 BALLOON:0
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF:

View File

@ -8,7 +8,7 @@ SCOREMODE:2
PREIMAGE:br.png PREIMAGE:br.png
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.8
BALLOON: BALLOON:
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF:
@ -168,7 +168,7 @@ SCOREDIFF:
#END #END
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.4
BALLOON:3,3 BALLOON:3,3
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF:

View File

@ -9,7 +9,7 @@ DEMOSTART:43.885
SCOREMODE:2 SCOREMODE:2
COURSE:Edit COURSE:Edit
LEVEL:11 LEVEL:11.3
BALLOON:2,2,2,2 BALLOON:2,2,2,2
SCOREINIT:780 SCOREINIT:780
SCOREDIFF:0 SCOREDIFF:0

View File

@ -9,7 +9,7 @@ GENRE:
MAKER:Makotora MAKER:Makotora
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.5
SCOREINIT:500 SCOREINIT:500
SCOREDIFF:40 SCOREDIFF:40

View File

@ -8,7 +8,7 @@ SCOREMODE:2
PREIMAGE:ReCøllapse.png PREIMAGE:ReCøllapse.png
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.6
BALLOON:3,889 BALLOON:3,889
SCOREINIT:630 SCOREINIT:630
SCOREDIFF:0 SCOREDIFF:0

View File

@ -8,7 +8,7 @@ DEMOSTART:81.45
SCOREMODE:2 SCOREMODE:2
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.2
BALLOON:7 BALLOON:7
SCOREINIT:690 SCOREINIT:690
SCOREDIFF:0 SCOREDIFF:0

View File

@ -6,7 +6,7 @@ OFFSET:-0
DEMOSTART:103.200 DEMOSTART:103.200
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.0
BALLOON:12,12,24 BALLOON:12,12,24
SCOREINIT:690 SCOREINIT:690
SCOREDIFF:0 SCOREDIFF:0

View File

@ -7,7 +7,7 @@ OFFSET:-0.004
DEMOSTART:104.474 DEMOSTART:104.474
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.4
BALLOON: BALLOON:
SCOREINIT:640 SCOREINIT:640
SCOREDIFF:0 SCOREDIFF:0

View File

@ -7,217 +7,383 @@ DEMOSTART:95.529
LYRICS:Forever Fading Away.vtt LYRICS:Forever Fading Away.vtt
PREIMAGE:Forever Fading Away.png PREIMAGE:Forever Fading Away.png
BGMOVIE:Forever Fading Away.mp4 BGMOVIE:Forever Fading Away.mp4
MAKER:DashyDesu & Colin MAKER:DashyDesu, Colin, bol, <20>\µƒRƒ~ & Ryuto Setsujin
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.7
BALLOON: BALLOON:88
SCOREINIT:
SCOREDIFF:
NOTESDESIGNER4:DashyDesu & Colin
#START #START
1022102010202022,
1020101210102122,
1022102010202022,
1020101210102122,
1022102010202022,
1020101210102122,
1022102010202022,
1020101210102122,
1012121122102212,
1012121120121212,
1012101120102120,
1212121120112012,
1012101122102212,
1022121120121022,
1012101120102010,
1112111121121112,
1012121120112212,
1212121120121022,
1012101122102212,
1012121020121012,
1022121120102012,
1122121120121122,
1012101122112212,
1012121020112012,
1021201120112012,
1211221120112122,
1012121120112212,
1012121120112212,
1012121120112012,
1011221120121122,
1012101120102012,
1122121020112012,
1012101020102010,
1012101020102000,
1012101020002000,
1012101020102010,
1012101020002000,
1012101020102000,
1012101020002000,
1012101020102222,
1021201020002122,
1012101020102222,
1012101020002222,
1012101020102022,
1012101020002222,
1012101020102222,
1012101020002222,
1012101020102022,
1012101020002222,
1012101020102222,
1012101020002222,
1012101020102222,
1012101020002222,
1012101020102222,
1012101020002222,
1012101020102012,
1012101020002222,
1012101020102222,
1012101020002222,
1012101020102022,
1011201210002222,
1012101020102222,
1012101020002222,
1012101020112212,
#MEASURE 64/4
#BARLINEOFF
#SCROLL 0.125
200000002000000020000000200000002000000020000000200000002000000020000000000000002000000020000000200000000000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000000000000020000000200000002000000000000000000000000
#SCROLL 1
0101010,
#MEASURE 4/4 #MEASURE 4/4
#GOGOSTART #SCROLL 0.75
2022202202202011,
2020202202202112,
2022202202202011,
2020202202202112,
2022202202202011,
2020202202202112,
2022202202202112,
2022202202202222,
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000200002000010000000000000000000,
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000200002000010000000002000020000,
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000200002000010000000000000000000,
1010101210101012,
#SCROLL 0.76
1
#SCROLL 0.77
1
#SCROLL 0.78
1
#SCROLL 0.79
1
#SCROLL 0.8
1
#SCROLL 0.81
1
#SCROLL 0.82
1
#SCROLL 0.83
1
#SCROLL 0.84
1
#SCROLL 0.86
1
#SCROLL 0.88
1
#SCROLL 0.9
1
#SCROLL 0.92
1
#SCROLL 0.94
1
#SCROLL 0.96
1
#SCROLL 0.98
1,
#SCROLL 1
100000100100100000101010200000100000200000202000,
100000000000000000000000000000100000000000000100000000000000200000000000200000000000100000000000100000000000100000000000200000000000000000000000000000200000000000000200000000000000100000000000000000000000000000200000000020000000000000000000,
100000100100100000101010200000100000200000202000,
10000000001000010000200020001000100010002000000000200002000010000000002000020000,
100000100100100000101010200000100000200000202000,
100000000000000000000000000000100000000000000100000000000000200000000000200000000000100000000000100000000000100000000000200000000000000000000000000000200000000000000200000000000000100000000000000000000000000000200000000020000000000000000000,
100000100100100000101010200000100000200000202000,
10000000001000010000200020001000100010002000000000200002000010000000002000020000,
100000100100100000101010200000100000200000202000,
100000000000000000000000000000100000000000000100000000000000200000000000200000000000100000000000100000000000100000000000200000000000000000000000000000200000000000000200000000000000100000000000000000000000000000200000000020000000000000000000,
100000100100100000101010200000100000200000202000,
10000000001000010000200020001000100010002000000000200002000010000000002000020000,
100000100100100000101010200000100000200000202000,
100000000000000000000000000000100000000000000100000000000000200000000000200000000000100000000000100000000000100000000000200000000000000000000000000000200000000000000200000000000000100000000000000000000000000000200000000020000000000000000000,
100000100100100000101010200000100000200000202000,
10000000001000010000200020001000100010002000000000
#SCROLL 0.950000
20000
#SCROLL 0.900000
20000
#SCROLL 0.850000
1000000000
#SCROLL 0.750000
20000
#SCROLL 0.700000
20000,
#SCROLL 0.650000
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2010,
1002101010211000,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2000,
1002101010201020,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2010,
1002101010211000,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2010,
1002101010202222,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2010,
1002101010211000,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2000,
1002101010201020,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2010,
1002101010211000,
10021010
#SCROLL 1.500000
4000
#SCROLL 0.650000
2010,
100210101020
#SCROLL 0.700000
2
#SCROLL 0.750000
2
#SCROLL 0.800000
2
#SCROLL 0.850000
2,
#SCROLL 0.900000
1022102010201222,
1002101010201222,
1002101010201222,
1002101120211222,
1002101010201222,
1002101010201222,
1002101010201222,
1012101011201222,
1022102010201222,
1002101010201222,
1002101010201222,
1002101120211222,
1002101010201222,
1002101010201222,
1002101010201222,
1012101011201222,
#SCROLL 0.5
1,
#BARLINEOFF
,
1,
,
1,
,
1,
2,
1,
,
1,
,
#BARLINEON #BARLINEON
#SCROLL 1 #MEASURE 1/8
1020102210201120,
12121212,
1020112211201122,
1112112211201020,
1020102210201212,
12121212,
1020102011221122,
1020102010201022,
1020112010201120,
1020112010201120,
1020112010201120,
1020112010201120,
1020112010201120,
1020112211221022,
1020112010201020,
102010101010111
#GOGOEND
1, 1,
#SCROLL 0.516
#GOGOSTART ,
1020102010201120, #SCROLL 0.532
1020102211221020, ,
1122121210201122, #SCROLL 0.548
1122121010201010, ,
1020112010201022, #SCROLL 0.564
1020112210201022, ,
1020112010201122, #SCROLL 0.580
1020102010211020, ,
#SCROLL 0.596
1020112211201020, ,
1122102010201020, #SCROLL 0.612
1020112010201020, ,
1020102211201020, #SCROLL 0.628
12121212, ,
1020102212121020, #SCROLL 0.642
1020112010201020, ,
112011201120111 #SCROLL 0.658
#GOGOEND ,
1, #SCROLL 0.674
,
#GOGOSTART #SCROLL 0.690
#SCROLL 1.1 ,
1111222211112222, #SCROLL 0.706
2222111122221110, ,
#SCROLL 1.2 #SCROLL 0.722
1111222211112212, ,
2211221122112110, #SCROLL 0.738
#SCROLL 1.3 ,
1111211122112210, #SCROLL 0.754
#SCROLL 1.4 7,
1111211222112110, #SCROLL 0.770
#SCROLL 1.5 ,
1111221122112110, #SCROLL 0.786
#SCROLL 1.6 ,
1121221211212212, #SCROLL 0.802
,
#SCROLL 1.7 #SCROLL 0.818
1111222211112211, ,
2222111122221110, #SCROLL 0.834
#SCROLL 1.8 ,
1111222211112212, #SCROLL 0.850
2211221122112110, ,
#SCROLL 1.9 #SCROLL 0.866
1122112211112211, ,
2211221122112110, #SCROLL 0.882
#SCROLL 2 ,
1121121211211212, #SCROLL 0.898
1221121212211211, ,
#SCROLL 0.914
#SCROLL 2.1 ,
1111222211112222, #SCROLL 0.930
2222111122221110, ,
#SCROLL 2.2 #SCROLL 0.946
1111222211112212, ,
2211221122112110, #SCROLL 0.962
#SCROLL 2.3 ,
1111211122112210, #SCROLL 0.978
#SCROLL 2.4 8,
1111211222112110, #SCROLL 0.994
#SCROLL 2.5 ,
1111221122112110, #MEASURE 4/4
#SCROLL 2.6
1121221211212212,
#SCROLL 2.7
1111222211112211,
2222111122221110,
#SCROLL 2.8
1111222211112212,
2211221122112110,
#SCROLL 2.9
1122112211112211,
2211221122112110,
#SCROLL 3
1021212121112212,
#SCROLL 4
1111111111111111,
#GOGOEND
#SCROLL 1 #SCROLL 1
1012121120102211, #GOGOSTART
1011212120112120, 3020102210221020,
1011201120102210, 1020102010222020,
1012121020112212, 1020102010221020,
1011201120102210, 1022102011102000,
1011201120112012, 1011102010221020,
1011201120102122, 1011102010201000,
1012101020112012, 30440303,
0011102011102022,
1011201011102000,
1011201011202000,
11221122,
1110222011102220,
6008,
33,
4141,
3000101010101111,
1020102210221020,
1020102010222020,
1020102010221020,
1022102011102000,
1011102010221020,
1011102010201000,
30440303,
0011102010022020,
1011201011102000,
1011202010222000,
11221122,
1110222011102220,
6008,
1111200011222000,
2222100022111000,
2211100022111122,
1112111211121122,
2211221121112111,
1112111211121122,
2211221121112110,
1012112222111122,
1012112222111122,
1011221222111122,
1122221111222211,
1112111211121122,
2211221121112111,
1112111211121122,
2211221121112110,
1012111211121112,
2221222122112211,
1111221122112211,
2222112211221122,
1112111211121122,
2211221121112111,
1112111211121122,
2211221121112110,
1012112222111122,
1012112222111122,
1011221222111122,
1122221111222211,
1112111211121122,
2211221121112111,
1112111211121122,
2211221121112110,
1012111211121112,
2221222122112211,
1010201210102012,
#SCROLL 0.99
1
#SCROLL 0.98
1
#SCROLL 0.97
1
#SCROLL 0.96
1
#SCROLL 0.95
1
#SCROLL 0.94
1
#SCROLL 0.93
1
#SCROLL 0.92
1
#SCROLL 0.91
1
#SCROLL 0.9
1
#SCROLL 0.89
1
#SCROLL 0.88
1
#SCROLL 0.87
1
#SCROLL 0.86
1
#SCROLL 0.85
1
#SCROLL 0.84
1,
#GOGOEND
#SCROLL 0.83
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000200002000010000000000000000000,
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000200002000010000000002000020000,
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000200002000010000000000000000000,
100000100100100000101010200000100000200000000000,
10000000001000010000200020001000100010002000000000
#SCROLL 0.960000
20000
#SCROLL 1.090000
20000
#SCROLL 1.220000
1000000000
#SCROLL 1.480000
20000
#SCROLL 1.610000
20000,
#END #END
COURSE:Oni COURSE:Oni
LEVEL:9 LEVEL:9
BALLOON: BALLOON:
#START #START
#BPMCHANGE 200.000000
#MEASURE 4/4
2222200200202000, 2222200200202000,
2020200200202000, 2020200200202000,
2222200200202000, 2222200200202000,
@ -393,6 +559,7 @@ BALLOON:
10111010302210 10111010302210
#SCROLL 2 #SCROLL 2
44, 44,
,
#END #END
COURSE:Hard COURSE:Hard
@ -728,11 +895,9 @@ NOTESDESIGNER1:DashyDesu & Colin
#END #END
COURSE:Easy COURSE:Easy
LEVEL:2 LEVEL:3
BALLOON:
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF:
NOTESDESIGNER0:DashyDesu & Colin
#START #START
#BARLINEOFF #BARLINEOFF
@ -769,23 +934,18 @@ NOTESDESIGNER0:DashyDesu & Colin
1, 1,
1, 1,
1, 1,
5, 1,
, 1010,
, 1,
, 1010,
, 1,
, 1010,
, 1,
8, 1010,
5, 1,
, 1010,
, 1,
8, 1010,
5,
,
,
,
8,
1, 1,
1010, 1010,
1, 1,
@ -793,52 +953,57 @@ NOTESDESIGNER0:DashyDesu & Colin
1, 1,
1010, 1010,
1, 1,
1, 2,
1, 1,
1010, 1010,
1, 1,
1, 2,
1, 1,
1010, 1010,
1, 1,
2,
1,
1010,
1,
2,
#MEASURE 64/4 #MEASURE 64/4
2000000020000000200000002000000020000000200000002000002000000000, 2000000020000000200000002000000020000000200000002000002000000000,
#MEASURE 4/4 #MEASURE 4/4
#GOGOSTART #GOGOSTART
1011,
1011,
1010, 1010,
1050, 1011,
, 1011,
8050, 1010,
0008, 1020,
, 1020,
1, 1011,
1, 1010,
1011,
1010, 1010,
1, 1,
1010, 2020,
1010,
5008,
0020,
2020, 2020,
200000000000000 200000000000000
#GOGOEND #GOGOEND
0, 0,
#GOGOSTART #GOGOSTART
1011,
1011,
1010, 1010,
1, 1011,
5, 1011,
8, 1011,
5, 1020,
8010,
1,
2020, 2020,
1011,
1011,
1010, 1010,
1010, 1010,
1, 2,
1, 2020,
5, 1020,
8,
1,
200000002000000 200000002000000
#GOGOEND #GOGOEND
0, 0,
@ -848,8 +1013,6 @@ NOTESDESIGNER0:DashyDesu & Colin
5, 5,
0008, 0008,
5, 5,
,
,
0008, 0008,
5, 5,
0008, 0008,
@ -867,20 +1030,21 @@ NOTESDESIGNER0:DashyDesu & Colin
0008, 0008,
5, 5,
0008, 0008,
5, 1010,
0008, 1011,
5, 1020,
0008, 1011,
5, 1020,
0008, 1011,
5, 1020,
, 1011,
1020,
1011,
#GOGOEND #GOGOEND
8, 1,
1010, 1010,
1, 1,
1010, 1010,
#BPMCHANGE 200
1010, 1010,
1010, 1010,
1010, 1010,

View File

@ -8,7 +8,7 @@ PREIMAGE:Beyond the Cityscape.png
SCOREMODE:2 SCOREMODE:2
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.1
BALLOON: BALLOON:
SCOREINIT:1230 SCOREINIT:1230
SCOREDIFF:0 SCOREDIFF:0
@ -101,7 +101,7 @@ SCOREDIFF:0
1021212210212122, 1021212210212122,
1122112211221122, 1122112211221122,
100020002000100020002000100020002000100020002000100000100000100000100000100010001000100100100100, 100020002000100020002000100020002000100020002000100000100000100000100000100010001000100100100100,
#GOGOEND #GOGOEND
#MEASURE 8/4 #MEASURE 8/4
#SCROLL 2 #SCROLL 2
@ -195,7 +195,7 @@ SCOREDIFF:0
12221222, 12221222,
1110111011101110, 1110111011101110,
1010101011111110, 1010101011111110,
#GOGOEND #GOGOEND
#MEASURE 8/4 #MEASURE 8/4
3, 3,
@ -288,7 +288,7 @@ SCOREDIFF:0
12201220, 12201220,
1111, 1111,
1010101011101000, 1010101011101000,
#GOGOEND #GOGOEND
#MEASURE 8/4 #MEASURE 8/4
3, 3,
@ -381,7 +381,7 @@ SCOREDIFF:0
1212, 1212,
1111, 1111,
1158, 1158,
#GOGOEND #GOGOEND
#MEASURE 8/4 #MEASURE 8/4
3, 3,
@ -474,8 +474,8 @@ SCOREDIFF:0
11, 11,
1110, 1110,
5008, 5008,
#GOGOEND #GOGOEND
#MEASURE 8/4 #MEASURE 8/4
3, 3,
#END #END

View File

@ -8,7 +8,7 @@ DEMOSTART:87.467
SCOREMODE:2 SCOREMODE:2
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.7
BALLOON:2 BALLOON:2
SCOREINIT:980 SCOREINIT:980
SCOREDIFF:0 SCOREDIFF:0

View File

@ -536,7 +536,7 @@ NOTESDESIGNER3:Colin
#END #END
COURSE:Edit COURSE:Edit
LEVEL:10 LEVEL:10.5
BALLOON:30 BALLOON:30
#START #START
@ -1938,4 +1938,4 @@ BALLOON:30
#SCROLL 13.954 #SCROLL 13.954
G, G,
#END #END

View File

@ -13,7 +13,7 @@ SCOREMODE:2
PREIMAGE:Memory.png PREIMAGE:Memory.png
COURSE:Edit COURSE:Edit
LEVEL:11 LEVEL:11.2
BALLOON: BALLOON:
#START #START
@ -213,7 +213,7 @@ BALLOON:
#END #END
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.4
BALLOON:13 BALLOON:13
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF:
@ -831,4 +831,4 @@ BALLOON:22
0, 0,
0, 0,
4, 4,
#END #END

View File

@ -6,7 +6,7 @@ OFFSET:-0
DEMOSTART:42 DEMOSTART:42
COURSE:Edit COURSE:Edit
LEVEL:11 LEVEL:11.7
BALLOON: BALLOON:
SCOREINIT:640 SCOREINIT:640
SCOREDIFF:0 SCOREDIFF:0
@ -900,4 +900,4 @@ SCOREDIFF:0
00002011, 00002011,
1, 1,
#END #END

View File

@ -7,7 +7,7 @@ DEMOSTART:56.888
SCOREMODE:2 SCOREMODE:2
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.0
BALLOON:1 BALLOON:1
SCOREINIT:700 SCOREINIT:700
SCOREDIFF:0 SCOREDIFF:0
@ -677,4 +677,4 @@ SCOREDIFF:0
1011, 1011,
#BARLINEOFF #BARLINEOFF
0000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
#END #END

View File

@ -7,7 +7,7 @@ DEMOSTART:101.462
SCOREMODE:2 SCOREMODE:2
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.6
BALLOON:3,2,1,4,11 BALLOON:3,2,1,4,11
SCOREINIT:610 SCOREINIT:610
SCOREDIFF:0 SCOREDIFF:0
@ -746,4 +746,4 @@ SCOREDIFF:0
, ,
, ,
, ,
#END #END

View File

@ -8,7 +8,7 @@ PREIMAGE:Scarlet Mirage.png
SCOREMODE:2 SCOREMODE:2
COURSE:Oni COURSE:Oni
LEVEL:11 LEVEL:11.3
BALLOON: BALLOON:
SCOREINIT:630 SCOREINIT:630
SCOREDIFF:0 SCOREDIFF:0
@ -1385,4 +1385,4 @@ SCOREDIFF:0
8, 8,
, ,
#END #END

View File

@ -8,7 +8,7 @@ PREIMAGE:Synthsea.png
SCOREMODE:2 SCOREMODE:2
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.5
BALLOON: BALLOON:
SCOREINIT:350 SCOREINIT:350
SCOREDIFF:0 SCOREDIFF:0
@ -1108,7 +1108,7 @@ SCOREDIFF:0
1222, 1222,
12222011, 12222011,
01110101, 01110101,
22202022, 22202022,
02012122, 02012122,
#GOGOSTART #GOGOSTART
@ -1713,4 +1713,4 @@ SCOREDIFF:0
5, 5,
8, 8,
#END #END

View File

@ -8,7 +8,7 @@ WAVE:GRYSCL.ogg
MAKER:Colin & 0AuBSQ MAKER:Colin & 0AuBSQ
COURSE:Edit COURSE:Edit
LEVEL:11 LEVEL:11.0
BALLOON:8,9,10 BALLOON:8,9,10
#START #START
@ -626,7 +626,7 @@ G00000000000100010001000200000000000100000100000200000000000100000000000G0000000
#END #END
COURSE:Oni COURSE:Oni
LEVEL:10 LEVEL:10.2
BALLOON: BALLOON:
SCOREINIT: SCOREINIT:
SCOREDIFF: SCOREDIFF: