| 303 |
public void t現在選択中の曲を元に曲バーを再構成する() |
public void t現在選択中の曲を元に曲バーを再構成する() |
| 304 |
{ |
{ |
| 305 |
this.tバーの初期化(); |
this.tバーの初期化(); |
| 306 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 307 |
{ |
{ |
| 308 |
this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 ); |
this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 ); |
| 309 |
this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 ); |
this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 ); |
| 355 |
for( int i = 0; i < 5; i++ ) |
for( int i = 0; i < 5; i++ ) |
| 356 |
song = this.r前の曲( song ); |
song = this.r前の曲( song ); |
| 357 |
|
|
| 358 |
for( int i = this.n現在の選択行 - 5; i < ( ( this.n現在の選択行 - 5 ) + 13 ); i++ ) |
for( int i = this.n現在の選択行 - 7; i < ( ( this.n現在の選択行 - 7 ) + 15 ); i++ ) |
| 359 |
{ |
{ |
| 360 |
int index = ( i + 13 ) % 13; |
int index = ( i + 15 ) % 15; |
| 361 |
for( int m = 0; m < 3; m++ ) |
for( int m = 0; m < 3; m++ ) |
| 362 |
{ |
{ |
| 363 |
this.stバー情報[ index ].nスキル値[ m ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.最大スキル[ m ]; |
this.stバー情報[ index ].nスキル値[ m ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.最大スキル[ m ]; |
| 594 |
if( this.prvFont != null ) |
if( this.prvFont != null ) |
| 595 |
this.prvFont.Dispose(); |
this.prvFont.Dispose(); |
| 596 |
|
|
| 597 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 598 |
this.ct登場アニメ用[ i ] = null; |
this.ct登場アニメ用[ i ] = null; |
| 599 |
|
|
| 600 |
base.On非活性化(); |
base.On非活性化(); |
| 624 |
this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別 );; |
this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別 );; |
| 625 |
|
|
| 626 |
//ここは最初に表示される画像の復元に必要。 |
//ここは最初に表示される画像の復元に必要。 |
| 627 |
for (int i = 0; i < 13; i++) |
for (int i = 0; i < 15; i++) |
| 628 |
{ |
{ |
| 629 |
this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色); |
this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色); |
| 630 |
this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 ); |
this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 ); |
| 709 |
|
|
| 710 |
CDTXMania.t安全にDisposeする( ref this.txアイテム数数字 ); |
CDTXMania.t安全にDisposeする( ref this.txアイテム数数字 ); |
| 711 |
|
|
| 712 |
for ( int i = 0; i < 13; i++ ) |
for ( int i = 0; i < 15; i++ ) |
| 713 |
{ |
{ |
| 714 |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txタイトル名 ); |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txタイトル名 ); |
| 715 |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 ); |
CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 ); |
| 759 |
//----------------- |
//----------------- |
| 760 |
if( this.b初めての進行描画 ) |
if( this.b初めての進行描画 ) |
| 761 |
{ |
{ |
| 762 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 763 |
this.ct登場アニメ用[ i ] = new CCounter( -i * 10, 100, 3, CDTXMania.Timer ); |
this.ct登場アニメ用[ i ] = new CCounter( -i * 10, 100, 3, CDTXMania.Timer ); |
| 764 |
|
|
| 765 |
this.nスクロールタイマ = CSound管理.rc演奏用タイマ.n現在時刻; |
this.nスクロールタイマ = CSound管理.rc演奏用タイマ.n現在時刻; |
| 787 |
{ |
{ |
| 788 |
#region [ (1) 登場アニメフェーズの進行。] |
#region [ (1) 登場アニメフェーズの進行。] |
| 789 |
//----------------- |
//----------------- |
| 790 |
for( int i = 0; i < 13; i++ ) // パネルは全13枚。 |
for( int i = 0; i < 15; i++ ) // パネルは全13枚。 |
| 791 |
{ |
{ |
| 792 |
this.ct登場アニメ用[ i ].t進行(); |
this.ct登場アニメ用[ i ].t進行(); |
| 793 |
|
|
| 798 |
// 全部の進行が終わったら、this.b登場アニメ全部完了 を true にする。 |
// 全部の進行が終わったら、this.b登場アニメ全部完了 を true にする。 |
| 799 |
|
|
| 800 |
this.b登場アニメ全部完了 = true; |
this.b登場アニメ全部完了 = true; |
| 801 |
for( int i = 0; i < 13; i++ ) // パネルは全13枚。 |
for( int i = 0; i < 15; i++ ) // パネルは全13枚。 |
| 802 |
{ |
{ |
| 803 |
if( this.ct登場アニメ用[ i ].b進行中 ) |
if( this.ct登場アニメ用[ i ].b進行中 ) |
| 804 |
{ |
{ |
| 873 |
// 選択曲と選択行を1つ下の行に移動。 |
// 選択曲と選択行を1つ下の行に移動。 |
| 874 |
|
|
| 875 |
this.r現在選択中の曲 = this.r次の曲( this.r現在選択中の曲 ); |
this.r現在選択中の曲 = this.r次の曲( this.r現在選択中の曲 ); |
| 876 |
this.n現在の選択行 = ( this.n現在の選択行 + 1 ) % 13; |
this.n現在の選択行 = ( this.n現在の選択行 + 1 ) % 15; |
| 877 |
|
|
| 878 |
// 選択曲から7つ下のパネル(=新しく最下部に表示されるパネル。消えてしまう一番上のパネルを再利用する)に、新しい曲の情報を記載する。 |
// 選択曲から7つ下のパネル(=新しく最下部に表示されるパネル。消えてしまう一番上のパネルを再利用する)に、新しい曲の情報を記載する。 |
| 879 |
|
|
| 881 |
for( int i = 0; i < 7; i++ ) |
for( int i = 0; i < 7; i++ ) |
| 882 |
song = this.r次の曲( song ); |
song = this.r次の曲( song ); |
| 883 |
|
|
| 884 |
int index = ( this.n現在の選択行 + 7 ) % 13; // 新しく最下部に表示されるパネルのインデックス(0~12)。 |
int index = ( this.n現在の選択行 + 7 ) % 15; // 新しく最下部に表示されるパネルのインデックス(0~12)。 |
| 885 |
this.stバー情報[ index ].strタイトル文字列 = song.strタイトル; |
this.stバー情報[ index ].strタイトル文字列 = song.strタイトル; |
| 886 |
this.stバー情報[ index ].strアーティスト名 = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.アーティスト名; |
this.stバー情報[ index ].strアーティスト名 = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.アーティスト名; |
| 887 |
this.stバー情報[ index ].col文字色 = song.col文字色; |
this.stバー情報[ index ].col文字色 = song.col文字色; |
| 903 |
// stバー情報[] の内容を1行ずつずらす。 |
// stバー情報[] の内容を1行ずつずらす。 |
| 904 |
|
|
| 905 |
C曲リストノード song2 = this.r現在選択中の曲; |
C曲リストノード song2 = this.r現在選択中の曲; |
| 906 |
for( int i = 0; i < 5; i++ ) |
for( int i = 0; i < 7; i++ ) |
| 907 |
song2 = this.r前の曲( song2 ); |
song2 = this.r前の曲( song2 ); |
| 908 |
|
|
| 909 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 910 |
{ |
{ |
| 911 |
int n = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; |
int n = ( ( ( this.n現在の選択行 - 7 ) + i ) + 15 ) % 15; |
| 912 |
this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 ); |
this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 ); |
| 913 |
song2 = this.r次の曲( song2 ); |
song2 = this.r次の曲( song2 ); |
| 914 |
} |
} |
| 950 |
// 選択曲と選択行を1つ上の行に移動。 |
// 選択曲と選択行を1つ上の行に移動。 |
| 951 |
|
|
| 952 |
this.r現在選択中の曲 = this.r前の曲( this.r現在選択中の曲 ); |
this.r現在選択中の曲 = this.r前の曲( this.r現在選択中の曲 ); |
| 953 |
this.n現在の選択行 = ( ( this.n現在の選択行 - 1 ) + 13 ) % 13; |
this.n現在の選択行 = ( ( this.n現在の選択行 - 1 ) + 15 ) % 15; |
| 954 |
|
|
| 955 |
// 選択曲から5つ上のパネル(=新しく最上部に表示されるパネル。消えてしまう一番下のパネルを再利用する)に、新しい曲の情報を記載する。 |
// 選択曲から5つ上のパネル(=新しく最上部に表示されるパネル。消えてしまう一番下のパネルを再利用する)に、新しい曲の情報を記載する。 |
| 956 |
|
|
| 957 |
C曲リストノード song = this.r現在選択中の曲; |
C曲リストノード song = this.r現在選択中の曲; |
| 958 |
for( int i = 0; i < 5; i++ ) |
for( int i = 0; i < 7; i++ ) |
| 959 |
song = this.r前の曲( song ); |
song = this.r前の曲( song ); |
| 960 |
|
|
| 961 |
int index = ( ( this.n現在の選択行 - 5 ) + 13 ) % 13; // 新しく最上部に表示されるパネルのインデックス(0~12)。 |
int index = ( ( this.n現在の選択行 - 7 ) + 15 ) % 15; // 新しく最上部に表示されるパネルのインデックス(0~12)。 |
| 962 |
this.stバー情報[ index ].strタイトル文字列 = song.strタイトル; |
this.stバー情報[ index ].strタイトル文字列 = song.strタイトル; |
| 963 |
this.stバー情報[ index ].strアーティスト名 = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song) ].譜面情報.アーティスト名; |
this.stバー情報[ index ].strアーティスト名 = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song) ].譜面情報.アーティスト名; |
| 964 |
this.stバー情報[ index ].col文字色 = song.col文字色; |
this.stバー情報[ index ].col文字色 = song.col文字色; |
| 980 |
// stバー情報[] の内容を1行ずつずらす。 |
// stバー情報[] の内容を1行ずつずらす。 |
| 981 |
|
|
| 982 |
C曲リストノード song2 = this.r現在選択中の曲; |
C曲リストノード song2 = this.r現在選択中の曲; |
| 983 |
for( int i = 0; i < 5; i++ ) |
for( int i = 0; i < 7; i++ ) |
| 984 |
song2 = this.r前の曲( song2 ); |
song2 = this.r前の曲( song2 ); |
| 985 |
|
|
| 986 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 987 |
{ |
{ |
| 988 |
int n = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; |
int n = ( ( ( this.n現在の選択行 - 7 ) + i ) + 15 ) % 15; |
| 989 |
this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 ); |
this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 ); |
| 990 |
song2 = this.r次の曲( song2 ); |
song2 = this.r次の曲( song2 ); |
| 991 |
} |
} |
| 1148 |
#region[ ジャケット画像のMatrix配列 ] |
#region[ ジャケット画像のMatrix配列 ] |
| 1149 |
//パネル1枚1枚にMatrixを割り当ててみる。 |
//パネル1枚1枚にMatrixを割り当ててみる。 |
| 1150 |
//とりあえず構造の最適化無しで地味に作ってみる。 |
//とりあえず構造の最適化無しで地味に作ってみる。 |
| 1151 |
Matrix[] matSongPanel = new SlimDX.Matrix[ 13 ]; |
Matrix[] matSongPanel = new SlimDX.Matrix[ 15 ]; |
| 1152 |
Matrix[] matJacket = new SlimDX.Matrix[ 13 ]; |
Matrix[] matJacket = new SlimDX.Matrix[ 15 ]; |
| 1153 |
ST中心点[] st3D座標 = new ST中心点[] { |
ST中心点[] st3D座標 = new ST中心点[] { |
| 1154 |
#region [ 計算なんてしていない。 ] |
#region [ 計算なんてしていない。 ] |
| 1155 |
//----------------- |
//----------------- |
| 1156 |
|
//new ST中心点() { x = -1100.0000f, y = 8f, z = 400.0f, rotY = 0.410f }, |
| 1157 |
|
new ST中心点() { x = -2000.0000f, y = 8f, z = 400.0f, rotY = 0.410f }, |
| 1158 |
|
new ST中心点() { x = -990.0000f, y = 8f, z = 344.0f, rotY = 0.410f }, |
| 1159 |
new ST中心点() { x = -820.0000f, y = 8f, z = 264f, rotY = 0.410f }, |
new ST中心点() { x = -820.0000f, y = 8f, z = 264f, rotY = 0.410f }, |
| 1160 |
new ST中心点() { x = -666.0000f, y = 8f, z = 198f, rotY = 0.410f }, |
new ST中心点() { x = -666.0000f, y = 8f, z = 198f, rotY = 0.410f }, |
| 1161 |
new ST中心点() { x = -506.0000f, y = 8f, z = 127f, rotY = 0.410f }, |
new ST中心点() { x = -506.0000f, y = 8f, z = 127f, rotY = 0.410f }, |
| 1162 |
new ST中心点() { x = -350.0000f, y = 8f, z = 60f, rotY = 0.410f }, |
new ST中心点() { x = -350.0000f, y = 8f, z = 60f, rotY = 0.410f }, |
| 1163 |
new ST中心点() { x = -194.0000f, y = 8f, z = -6f, rotY = 0.410f }, |
new ST中心点() { x = -194.0000f, y = 8f, z = -6f, rotY = 0.410f }, |
| 1164 |
new ST中心点() { x = 6.00002622683f, y = 8f, z = 0f, rotY = 0.0f }, |
new ST中心点() { x = 6.00002622683f, y = 8f, z = 0f, rotY = 0.0f }, //7 |
| 1165 |
new ST中心点() { x = 208.0000f, y = 8f, z = 0f, rotY = -0.410f }, |
new ST中心点() { x = 208.0000f, y = 8f, z = 0f, rotY = -0.410f }, |
| 1166 |
new ST中心点() { x = 362.0000f, y = 8f, z = 66f, rotY = -0.410f }, |
new ST中心点() { x = 362.0000f, y = 8f, z = 66f, rotY = -0.410f }, |
| 1167 |
new ST中心点() { x = 518.0000f, y = 8f, z = 132f, rotY = -0.410f }, |
new ST中心点() { x = 518.0000f, y = 8f, z = 132f, rotY = -0.410f }, |
| 1168 |
new ST中心点() { x = 676.0000f, y = 8f, z = 200.0f, rotY = -0.410f }, |
new ST中心点() { x = 676.0000f, y = 8f, z = 200.0f, rotY = -0.410f }, |
| 1169 |
new ST中心点() { x = 837.0000f, y = 8f, z = 270.0f, rotY = -0.410f }, |
new ST中心点() { x = 837.0000f, y = 8f, z = 270.0f, rotY = -0.410f }, |
| 1170 |
new ST中心点() { x = 1100.0000f, y = 8f, z = 340.0f, rotY = -0.410f }, |
new ST中心点() { x = 1010.0000f, y = 8f, z = 350.0f, rotY = -0.410f }, |
| 1171 |
new ST中心点() { x = 1500.0000f, y = 8f, z = 450.0f, rotY = -0.410f }, |
new ST中心点() { x = 2000.0000f, y = 8f, z = 450.0f, rotY = -0.410f } |
| 1172 |
new ST中心点() { x = 1500.0000f, y = 8f, z = 340.0f, rotY = -0.410f }, |
//new ST中心点() { x = 1190.0000f, y = 8f, z = 450.0f, rotY = -0.410f } |
| 1173 |
|
|
| 1174 |
//----------------- |
//----------------- |
| 1175 |
#endregion |
#endregion |
| 1176 |
}; |
}; |
| 1177 |
|
|
| 1178 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 1179 |
{ |
{ |
| 1180 |
matSongPanel[ i ] = Matrix.Identity; |
matSongPanel[ i ] = Matrix.Identity; |
| 1181 |
matSongPanel[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp ); |
matSongPanel[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp ); |
| 1192 |
} |
} |
| 1193 |
#endregion |
#endregion |
| 1194 |
|
|
|
|
|
|
|
|
| 1195 |
if( !this.b登場アニメ全部完了 ) |
if( !this.b登場アニメ全部完了 ) |
| 1196 |
{ |
{ |
| 1197 |
#region [ (1) 登場アニメフェーズの描画。] |
#region [ (1) 登場アニメフェーズの描画。] |
| 1198 |
//----------------- |
//----------------- |
| 1199 |
for( int i = 0; i < 13; i++ ) // パネルは全13枚。 |
for( int i = 0; i < 15; i++ ) // パネルは全13枚。 |
| 1200 |
{ |
{ |
| 1201 |
if( this.ct登場アニメ用[ i ].n現在の値 >= 0 ) |
if( this.ct登場アニメ用[ i ].n現在の値 >= 0 ) |
| 1202 |
{ |
{ |
| 1203 |
int nパネル番号 = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; |
int nパネル番号 = ( ( ( this.n現在の選択行 - 7 ) + i ) + 15 ) % 15; |
| 1204 |
|
|
| 1205 |
if( i == 6 ) |
if( i == 8 ) |
| 1206 |
{ |
{ |
| 1207 |
#region [ ジャケット画像の描画 ] |
#region [ ジャケット画像の描画 ] |
| 1208 |
//----------------- |
//----------------- |
| 1214 |
} |
} |
| 1215 |
if( this.txTumbnail[nパネル番号] != null ) |
if( this.txTumbnail[nパネル番号] != null ) |
| 1216 |
{ |
{ |
| 1217 |
float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
float f拡大率 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width; |
| 1218 |
float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
float f拡大率2 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Height; |
| 1219 |
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f); |
|
|
//mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
|
|
//mat *= SlimDX.Matrix.Translation( |
|
|
// (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率 - 1f, |
|
|
// (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
|
//this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat); |
|
|
|
|
| 1220 |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1221 |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
| 1222 |
matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y - 1.5f, st3D座標[ i ].z ); |
matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y - 1.5f, st3D座標[ i ].z ); |
| 1229 |
//----------------- |
//----------------- |
| 1230 |
if( this.stバー情報[nパネル番号].txタイトル名 != null ) |
if( this.stバー情報[nパネル番号].txタイトル名 != null ) |
| 1231 |
{ |
{ |
|
//this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( CDTXMania.app.Device, x + 0x58, y + 8 ); |
|
| 1232 |
var mat = SlimDX.Matrix.Identity; |
var mat = SlimDX.Matrix.Identity; |
| 1233 |
mat *= SlimDX.Matrix.Scaling( 0.35f, 0.45f, 1.0f ); |
mat *= SlimDX.Matrix.Scaling( 0.35f, 0.45f, 1.0f ); |
| 1234 |
mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[ i ].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[ i ].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
| 1236 |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
| 1237 |
(this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
| 1238 |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
//this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat); |
|
| 1239 |
} |
} |
| 1240 |
if (this.stバー情報[nパネル番号].txアーティスト名 != null) |
if (this.stバー情報[nパネル番号].txアーティスト名 != null) |
| 1241 |
{ |
{ |
| 1246 |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
| 1247 |
(this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
| 1248 |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
//this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat); |
|
| 1249 |
} |
} |
| 1250 |
//----------------- |
//----------------- |
| 1251 |
#endregion |
#endregion |
| 1252 |
if( this.tx選曲パネル != null ) |
if( this.tx選曲パネル != null ) |
| 1253 |
this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 761, 233, new Rectangle( 304, 70, 59, 242 ) ); |
this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 761, 233, new Rectangle( 304, 70, 59, 242 ) ); |
| 1254 |
} |
} |
| 1255 |
else if( i == 5 ) |
else if( i == 7 ) |
| 1256 |
{ |
{ |
|
// (A) 選択曲パネルを描画。 |
|
|
if( this.tx選曲パネル != null ) |
|
|
this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 531, 243, new Rectangle( 74, 80, 230, 230 ) ); //真ん中の部分は別々に描画。 |
|
|
if( this.txパネル帯 != null ) |
|
|
{ |
|
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 0 ], new Rectangle( 2, 110, 1000, 20 ) ); |
|
|
} |
|
|
#region [ バーテクスチャを描画。] |
|
|
//----------------- |
|
|
if( this.txパネル != null ) |
|
|
{ |
|
|
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(0.8f, 0.8f, 1.0f); |
|
|
//mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
|
|
//mat *= SlimDX.Matrix.Translation( |
|
|
// (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
|
//this.txパネル.t3D描画(CDTXMania.app.Device, mat); |
|
|
} |
|
|
if( this.tx選曲パネル != null ) |
|
|
this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 457, 163, new Rectangle( 0, 0, 363, 368 ) ); |
|
|
//----------------- |
|
|
#endregion |
|
|
#region [ ジャケット画像の描画 ] |
|
|
//----------------- |
|
|
for( int la = 0; la < 5 ; la++ ) |
|
|
{ |
|
|
if( this.txクリアランプ != null && CDTXMania.stage選曲.r現在選択中の曲.ar難易度ラベル[ la ] != null && CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ] != null ) |
|
|
this.txクリアランプ.t2D描画(CDTXMania.app.Device, 506, 292 - la * 13, new Rectangle((CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.最大スキル.Drums != 0 ? 11 + la * 11 : 0), ( CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.フルコンボ.Drums ? 10 : 0), 11, 10)); |
|
|
} |
|
|
if( this.txTumbnail[ nパネル番号 ] != null ) |
|
|
{ |
|
|
float f拡大率 = (float)218.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
|
|
float f拡大率2 = (float)218.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
|
|
this.txTumbnail[ nパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f ); |
|
|
this.txTumbnail[ nパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 ); |
|
|
this.txTumbnail[ nパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f ); |
|
|
} |
|
|
//----------------- |
|
|
#endregion |
|
|
#region [ タイトル名テクスチャを描画。] |
|
|
//----------------- |
|
|
if( File.Exists( this.stバー情報[ nパネル番号 ].strDTXフォルダのパス + "TitleTexture.png" ) && this.tx選択されている曲の曲名 == null ) |
|
|
{ |
|
|
this.tx選択されている曲の曲名 = this.tカスタム曲名の生成( nパネル番号 ); |
|
|
} |
|
|
else |
|
|
{ |
|
|
if( this.stバー情報[ nパネル番号 ].strタイトル文字列 != "" && this.stバー情報[ nパネル番号 ].strタイトル文字列 != null && this.tx選択されている曲の曲名 == null ) |
|
|
this.tx選択されている曲の曲名 = this.t指定された文字テクスチャを生成する( this.stバー情報[ nパネル番号 ].strタイトル文字列 ); |
|
|
} |
|
|
if( File.Exists( this.stバー情報[ nパネル番号 ].strDTXフォルダのパス + "ArtistTexture.png" ) && this.tx選択されている曲のアーティスト名 == null ) |
|
|
{ |
|
|
this.tx選択されている曲のアーティスト名 = this.tカスタムアーティスト名テクスチャの生成( nパネル番号 ); |
|
|
|
|
|
this.tx選択されている曲のアーティスト名.t2D描画(CDTXMania.app.Device, 552, 470); |
|
|
} |
|
|
else |
|
|
{ |
|
|
if( this.stバー情報[ nパネル番号 ].strアーティスト名 != "" && this.stバー情報[ nパネル番号 ].strアーティスト名 != null && this.tx選択されている曲のアーティスト名 == null ) |
|
|
this.tx選択されている曲のアーティスト名 = this.t指定された文字テクスチャを生成する( this.stバー情報[ nパネル番号 ].strアーティスト名 ); |
|
|
|
|
|
if( this.tx選択されている曲のアーティスト名 != null ) |
|
|
this.tx選択されている曲のアーティスト名.t2D描画( CDTXMania.app.Device, 770 - this.stバー情報[ nパネル番号 ].nアーティスト名テクスチャの長さdot, 470); |
|
|
} |
|
|
|
|
|
if( this.tx選択されている曲の曲名 != null ) |
|
|
this.tx選択されている曲の曲名.t2D描画( CDTXMania.app.Device, 552, 210 ); |
|
|
|
|
|
//if( this.stバー情報[ nパネル番号 ].txタイトル名 != null ) |
|
|
// this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( CDTXMania.app.Device, 556, 210 ); |
|
|
//if (this.stバー情報[ nパネル番号 ].txアーティスト名 != null) |
|
|
// this.stバー情報[ nパネル番号 ].txアーティスト名.t2D描画(CDTXMania.app.Device, 560 - 770 - this.stバー情報[ nパネル番号 ].nアーティスト名テクスチャの長さdot, 402); |
|
|
//----------------- |
|
|
#endregion |
|
| 1257 |
} |
} |
| 1258 |
else |
else |
| 1259 |
{ |
{ |
| 1260 |
// (B) その他のパネルの描画。 |
// (B) その他のパネルの描画。 |
|
if( this.txパネル帯 != null ) |
|
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 1 ], new Rectangle( 2, 110, 1000, 20 ) ); |
|
|
|
|
| 1261 |
#region [ ジャケット画像の描画 ] |
#region [ ジャケット画像の描画 ] |
| 1262 |
//----------------- |
//----------------- |
| 1263 |
if( this.stバー情報[ nパネル番号 ].txパネル != null ) |
if( this.stバー情報[ nパネル番号 ].txパネル != null ) |
| 1274 |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1275 |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
| 1276 |
matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y - 1.5f, st3D座標[ i ].z ); |
matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y - 1.5f, st3D座標[ i ].z ); |
|
//matJacket[ i ] *= SlimDX.Matrix.Translation( fX, fY - 1.5f, fZ ); |
|
| 1277 |
|
|
| 1278 |
this.txTumbnail[nパネル番号].t3D描画( CDTXMania.app.Device, matJacket[ i ] ); |
this.txTumbnail[nパネル番号].t3D描画( CDTXMania.app.Device, matJacket[ i ] ); |
| 1279 |
} |
} |
| 1280 |
//----------------- |
//----------------- |
| 1281 |
#endregion |
#endregion |
|
#region [ タイトル名テクスチャを描画。] |
|
|
//----------------- |
|
|
if( this.tx選曲パネル != null ) |
|
|
this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 761, 233, new Rectangle( 304, 70, 59, 242 ) ); |
|
|
if (this.stバー情報[ nパネル番号 ].txタイトル名 != null) |
|
|
{ |
|
|
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f); |
|
|
//mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
|
|
//mat *= SlimDX.Matrix.Translation( |
|
|
// (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
|
//this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat); |
|
|
} |
|
|
if (this.stバー情報[nパネル番号].txアーティスト名 != null) |
|
|
{ |
|
|
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f); |
|
|
//mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
|
|
//mat *= SlimDX.Matrix.Translation( |
|
|
// (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
|
//this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat); |
|
|
} |
|
|
//----------------- |
|
|
#endregion |
|
| 1282 |
} |
} |
| 1283 |
} |
} |
| 1284 |
} |
} |
| 1285 |
|
|
| 1286 |
|
int n選択曲のパネル番号 = ( ( ( this.n現在の選択行 - 7 ) + 7 ) + 15 ) % 15; |
| 1287 |
|
#region[ ランプ帯 ] |
| 1288 |
|
if( this.txパネル帯 != null ) |
| 1289 |
|
{ |
| 1290 |
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 0 ], new Rectangle( 2, 110, 1000, 20 ) ); |
| 1291 |
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 1 ], new Rectangle( 2, 110, 1000, 20 ) ); |
| 1292 |
|
} |
| 1293 |
|
#endregion |
| 1294 |
|
#region[ 中央パネル ] |
| 1295 |
|
if( this.tx選曲パネル != null ) |
| 1296 |
|
this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 457, 163, new Rectangle( 0, 0, 363, 368 ) ); |
| 1297 |
|
#endregion |
| 1298 |
|
#region[ クリアランプ ] |
| 1299 |
|
for( int la = 0; la < 5 ; la++ ) |
| 1300 |
|
{ |
| 1301 |
|
if( this.txクリアランプ != null && CDTXMania.stage選曲.r現在選択中の曲.ar難易度ラベル[ la ] != null && CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ] != null ) |
| 1302 |
|
this.txクリアランプ.t2D描画( CDTXMania.app.Device, 506, 292 - la * 13, new Rectangle(( CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ].譜面情報.最大スキル.Drums != 0 ? 11 + la * 11 : 0), ( CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ].譜面情報.フルコンボ.Drums ? 10 : 0 ), 11, 10 )); |
| 1303 |
|
} |
| 1304 |
|
#endregion |
| 1305 |
|
#region[ ジャケット画像 ] |
| 1306 |
|
if ( this.txTumbnail[ n選択曲のパネル番号 ] != null ) |
| 1307 |
|
{ |
| 1308 |
|
float f拡大率 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Width; |
| 1309 |
|
float f拡大率2 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Height; |
| 1310 |
|
this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f ); |
| 1311 |
|
this.txTumbnail[ n選択曲のパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 ); |
| 1312 |
|
this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f ); |
| 1313 |
|
} |
| 1314 |
|
#endregion |
| 1315 |
|
#region[ タイトル・アーティスト名 ] |
| 1316 |
|
if( File.Exists( this.stバー情報[ n選択曲のパネル番号 ].strDTXフォルダのパス + "TitleTexture.png" ) && this.tx選択されている曲の曲名 == null ) |
| 1317 |
|
{ |
| 1318 |
|
this.tx選択されている曲の曲名 = this.tカスタム曲名の生成( n選択曲のパネル番号 ); |
| 1319 |
|
} |
| 1320 |
|
else |
| 1321 |
|
{ |
| 1322 |
|
if( this.stバー情報[ n選択曲のパネル番号 ].strタイトル文字列 != "" && this.stバー情報[ n選択曲のパネル番号 ].strタイトル文字列 != null && this.tx選択されている曲の曲名 == null ) |
| 1323 |
|
this.tx選択されている曲の曲名 = this.t指定された文字テクスチャを生成する( this.stバー情報[ n選択曲のパネル番号 ].strタイトル文字列 ); |
| 1324 |
|
} |
| 1325 |
|
if( File.Exists( this.stバー情報[ n選択曲のパネル番号 ].strDTXフォルダのパス + "ArtistTexture.png" ) && this.tx選択されている曲のアーティスト名 == null ) |
| 1326 |
|
{ |
| 1327 |
|
this.tx選択されている曲のアーティスト名 = this.tカスタムアーティスト名テクスチャの生成( n選択曲のパネル番号 ); |
| 1328 |
|
if (this.tx選択されている曲のアーティスト名 != null) |
| 1329 |
|
this.tx選択されている曲のアーティスト名.t2D描画(CDTXMania.app.Device, 552, 470); |
| 1330 |
|
} |
| 1331 |
|
else |
| 1332 |
|
{ |
| 1333 |
|
if( this.stバー情報[ n選択曲のパネル番号 ].strアーティスト名 != "" && this.stバー情報[ n選択曲のパネル番号 ].strアーティスト名 != null && this.tx選択されている曲のアーティスト名 == null ) |
| 1334 |
|
this.tx選択されている曲のアーティスト名 = this.t指定された文字テクスチャを生成する( this.stバー情報[ n選択曲のパネル番号 ].strアーティスト名 ); |
| 1335 |
|
} |
| 1336 |
|
|
| 1337 |
|
if( this.tx選択されている曲の曲名 != null ) |
| 1338 |
|
this.tx選択されている曲の曲名.t2D描画( CDTXMania.app.Device, 552, 210 ); |
| 1339 |
|
if( this.tx選択されている曲のアーティスト名 != null ) |
| 1340 |
|
this.tx選択されている曲のアーティスト名.t2D描画( CDTXMania.app.Device, 770 - this.stバー情報[ n選択曲のパネル番号 ].nアーティスト名テクスチャの長さdot, 470 ); |
| 1341 |
|
#endregion |
| 1342 |
//----------------- |
//----------------- |
| 1343 |
#endregion |
#endregion |
| 1344 |
|
|
| 1348 |
//CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, this.n現在のスクロールカウンタ.ToString() ); |
//CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, this.n現在のスクロールカウンタ.ToString() ); |
| 1349 |
#region [ (2) 通常フェーズの描画。] |
#region [ (2) 通常フェーズの描画。] |
| 1350 |
//----------------- |
//----------------- |
| 1351 |
for( int i = 0; i < 13; i++ ) // パネルは全13枚。 |
for( int i = 0; i < 15; i++ ) // パネルは全13枚。 |
| 1352 |
{ |
{ |
| 1353 |
int nパネル番号 = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; |
int nパネル番号 = ( ( ( this.n現在の選択行 - 7 ) + i ) + 15 ) % 15; |
| 1354 |
int n見た目の行番号 = i; |
int n見た目の行番号 = i; |
| 1355 |
int n次のパネル番号 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( i + 1 ) % 13 ) : ( ( ( i - 1 ) + 13 ) % 13 ); |
int n次のパネル番号 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( i + 1 ) % 15 ) : ( ( ( i - 1 ) + 15 ) % 15 ); |
| 1356 |
int x = this.ptバーの基本座標[ n見た目の行番号 ].X + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].X - this.ptバーの基本座標[ n見た目の行番号 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); |
int x = this.ptバーの基本座標[ n見た目の行番号 ].X + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].X - this.ptバーの基本座標[ n見た目の行番号 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); |
| 1357 |
int y = this.ptバーの基本座標[ n見た目の行番号 ].Y + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].Y - this.ptバーの基本座標[ n見た目の行番号 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); |
int y = this.ptバーの基本座標[ n見た目の行番号 ].Y + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].Y - this.ptバーの基本座標[ n見た目の行番号 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); |
|
//float fX = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].x + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].x - this.stマトリックス座標[ n見た目の行番号 ].x ) * ( ( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
|
|
// this.stマトリックス座標[ n見た目の行番号 ].x + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].x + this.stマトリックス座標[ n見た目の行番号 ].x ) * ( ( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
|
|
|
|
|
//float fY = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].y + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].y - this.stマトリックス座標[ n見た目の行番号 ].y ) * ( ( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
|
|
// this.stマトリックス座標[ n見た目の行番号 ].y + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].y - this.stマトリックス座標[ n見た目の行番号 ].y ) * ( ( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
|
|
|
|
|
//float fZ = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].z + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].z - this.stマトリックス座標[ n見た目の行番号 ].z ) * ( ( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
|
|
// this.stマトリックス座標[ n見た目の行番号 ].z + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].z + this.stマトリックス座標[ n見た目の行番号 ].z ) * ( ( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
|
|
|
|
| 1358 |
float fX = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].x + ( ( ( st3D座標[ n次のパネル番号 ].x - st3D座標[ n見た目の行番号 ].x ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
float fX = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].x + ( ( ( st3D座標[ n次のパネル番号 ].x - st3D座標[ n見た目の行番号 ].x ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
| 1359 |
st3D座標[ n見た目の行番号 ].x + ( ( ( st3D座標[ n次のパネル番号 ].x - st3D座標[ n見た目の行番号 ].x ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
st3D座標[ n見た目の行番号 ].x + ( ( ( st3D座標[ n次のパネル番号 ].x - st3D座標[ n見た目の行番号 ].x ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
| 1360 |
|
|
| 1367 |
float fR = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].rotY + ( ( ( st3D座標[ n次のパネル番号 ].rotY - st3D座標[ n見た目の行番号 ].rotY ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
float fR = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].rotY + ( ( ( st3D座標[ n次のパネル番号 ].rotY - st3D座標[ n見た目の行番号 ].rotY ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ) : |
| 1368 |
st3D座標[ n見た目の行番号 ].rotY + ( ( ( st3D座標[ n次のパネル番号 ].rotY - st3D座標[ n見た目の行番号 ].rotY ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
st3D座標[ n見た目の行番号 ].rotY + ( ( ( st3D座標[ n次のパネル番号 ].rotY - st3D座標[ n見た目の行番号 ].rotY ) * ( Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0f ) ); |
| 1369 |
|
|
| 1370 |
|
//デバッグ用 |
| 1371 |
|
//if( i == 7 ){ |
| 1372 |
|
// CDTXMania.act文字コンソール.tPrint( 0, 16 * i, C文字コンソール.Eフォント種別.赤, i.ToString() + " " + this.stバー情報[ nパネル番号 ].strタイトル文字列.ToString() ); |
| 1373 |
|
//}else{ |
| 1374 |
|
// CDTXMania.act文字コンソール.tPrint( 0, 16 * i, C文字コンソール.Eフォント種別.白, i.ToString() + " " + this.stバー情報[ nパネル番号 ].strタイトル文字列.ToString() ); |
| 1375 |
|
//} |
| 1376 |
|
|
| 1377 |
|
|
| 1378 |
|
|
| 1379 |
if (i == 6) |
if( i == 8 ) |
| 1380 |
{ |
{ |
| 1381 |
#region [ ジャケット画像の描画 ] |
#region [ ジャケット画像の描画 ] |
| 1382 |
//----------------- |
//----------------- |
| 1383 |
if( this.stバー情報[ nパネル番号 ].txパネル != null ) |
if( this.stバー情報[ nパネル番号 ].txパネル != null ) |
| 1384 |
{ |
{ |
|
//matSongPanel[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
|
| 1385 |
matSongPanel[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
matSongPanel[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
| 1386 |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
| 1387 |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
| 1390 |
{ |
{ |
| 1391 |
float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
| 1392 |
float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
|
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f); |
|
| 1393 |
|
|
| 1394 |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
|
//matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
|
| 1395 |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f ); |
|
//matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z ); |
|
| 1396 |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
| 1397 |
|
|
| 1398 |
this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] ); |
this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] ); |
| 1403 |
//----------------- |
//----------------- |
| 1404 |
if (this.stバー情報[nパネル番号].txタイトル名 != null) |
if (this.stバー情報[nパネル番号].txタイトル名 != null) |
| 1405 |
{ |
{ |
|
//this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( CDTXMania.app.Device, x + 0x58, y + 8 ); |
|
| 1406 |
var mat = SlimDX.Matrix.Identity; |
var mat = SlimDX.Matrix.Identity; |
| 1407 |
mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f); |
mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f); |
| 1408 |
mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
| 1410 |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
| 1411 |
(this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
| 1412 |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
//this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat); |
|
| 1413 |
} |
} |
| 1414 |
if (this.stバー情報[nパネル番号].txアーティスト名 != null) |
if (this.stバー情報[nパネル番号].txアーティスト名 != null) |
| 1415 |
{ |
{ |
| 1420 |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
| 1421 |
(this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
(this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
| 1422 |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
(this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
//this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat); |
|
| 1423 |
} |
} |
| 1424 |
//----------------- |
//----------------- |
| 1425 |
#endregion |
#endregion |
| 1426 |
} |
} |
| 1427 |
else if( ( i == 5 ) ) |
else if( i == 7 || i == 0 || i == 14) |
| 1428 |
{ |
{ |
| 1429 |
|
//選択曲、画面外の曲のジャケット画像は表示しない。 |
|
if( this.txパネル帯 != null ) |
|
|
{ |
|
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 0 ], new Rectangle( 2, 110, 1000, 20 ) ); |
|
|
} |
|
|
//for (int la = 0; la < 5; la++) |
|
|
{ |
|
|
//if( this.stバー情報[ 6 ].ar難易度ラベル[ la ] != null ) |
|
|
{ |
|
|
//var lamp = SlimDX.Matrix.Identity; |
|
|
//lamp *= SlimDX.Matrix.Translation( |
|
|
//( this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x ) )) * CTexture.f画面比率, |
|
|
//( this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y ) ) ) * CTexture.f画面比率 - 1f - la * 13f, |
|
|
//( this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z ) ) ) * CTexture.f画面比率); |
|
|
|
|
|
//this.txクリアランプ.t3D描画( CDTXMania.app.Device, lamp, new Rectangle((CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.最大スキル.Drums != 0 ? 11 + la * 11 : 0), (CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.フルコンボ.Drums ? 10 : 0), 11, 10)); |
|
|
} |
|
|
} |
|
|
//if( this.tx選曲パネル != null ) |
|
|
// this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 531, 243, new Rectangle(74, 80, 230, 230)); //真ん中の部分は別々に描画。 |
|
|
// (A) スクロールが停止しているときの選択曲バーの描画。 |
|
|
#region [ ジャケット画像の描画 ] |
|
|
//----------------- |
|
|
//if( this.tx選曲パネル != null ) |
|
|
// this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 457, 163, new Rectangle(0, 0, 363, 368)); |
|
|
|
|
|
//for( int la = 0; la < 5 ; la++ ) |
|
|
//{ |
|
|
// if( this.txクリアランプ != null && CDTXMania.stage選曲.r現在選択中の曲.ar難易度ラベル[ la ] != null && CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ] != null ) |
|
|
// this.txクリアランプ.t2D描画(CDTXMania.app.Device, 506, 292 - la * 13, new Rectangle((CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.最大スキル.Drums != 0 ? 11 + la * 11 : 0), ( CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.フルコンボ.Drums ? 10 : 0), 11, 10)); |
|
|
//} |
|
|
//if( this.txTumbnail[ nパネル番号 ] != null ) |
|
|
//{ |
|
|
// float f拡大率 = (float)218.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width; |
|
|
// float f拡大率2 = (float)218.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
|
|
// this.txTumbnail[ nパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f ); |
|
|
// this.txTumbnail[ nパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 ); |
|
|
// this.txTumbnail[ nパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f ); |
|
|
//} |
|
|
//----------------- |
|
|
#endregion |
|
|
#region [ タイトル名テクスチャを描画。] |
|
|
//----------------- |
|
|
|
|
|
//if( File.Exists( this.stバー情報[ nパネル番号 ].strDTXフォルダのパス + "TitleTexture.png" ) && this.tx選択されている曲の曲名 == null ) |
|
|
//{ |
|
|
// this.tx選択されている曲の曲名 = this.tカスタム曲名の生成( nパネル番号 ); |
|
|
//} |
|
|
//else |
|
|
//{ |
|
|
// if( this.stバー情報[ nパネル番号 ].strタイトル文字列 != "" && this.stバー情報[ nパネル番号 ].strタイトル文字列 != null && this.tx選択されている曲の曲名 == null ) |
|
|
// this.tx選択されている曲の曲名 = this.t指定された文字テクスチャを生成する( this.stバー情報[ nパネル番号 ].strタイトル文字列 ); |
|
|
//} |
|
|
//if( File.Exists( this.stバー情報[ nパネル番号 ].strDTXフォルダのパス + "ArtistTexture.png" ) && this.tx選択されている曲のアーティスト名 == null ) |
|
|
//{ |
|
|
// this.tx選択されている曲のアーティスト名 = this.tカスタムアーティスト名テクスチャの生成( nパネル番号 ); |
|
|
|
|
|
// if (this.tx選択されている曲のアーティスト名 != null) |
|
|
// this.tx選択されている曲のアーティスト名.t2D描画(CDTXMania.app.Device, 552, 470); |
|
|
//} |
|
|
//else |
|
|
//{ |
|
|
// if( this.stバー情報[ nパネル番号 ].strアーティスト名 != "" && this.stバー情報[ nパネル番号 ].strアーティスト名 != null && this.tx選択されている曲のアーティスト名 == null ) |
|
|
// this.tx選択されている曲のアーティスト名 = this.t指定された文字テクスチャを生成する( this.stバー情報[ nパネル番号 ].strアーティスト名 ); |
|
|
|
|
|
|
|
|
//} |
|
|
|
|
|
//if( this.tx選択されている曲の曲名 != null ) |
|
|
// this.tx選択されている曲の曲名.t2D描画( CDTXMania.app.Device, 552, 210 ); |
|
|
//if( this.tx選択されている曲のアーティスト名 != null ) |
|
|
// this.tx選択されている曲のアーティスト名.t2D描画( CDTXMania.app.Device, 770 - this.stバー情報[ nパネル番号 ].nアーティスト名テクスチャの長さdot, 470 ); |
|
|
|
|
|
//if( this.stバー情報[ nパネル番号 ].txタイトル名 != null ) |
|
|
// this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( CDTXMania.app.Device, 556, 210 ); |
|
|
//if (this.stバー情報[ nパネル番号 ].txアーティスト名 != null) |
|
|
// this.stバー情報[ nパネル番号 ].txアーティスト名.t2D描画(CDTXMania.app.Device, 560 - 770 - this.stバー情報[ nパネル番号 ].nアーティスト名テクスチャの長さdot, 402); |
|
|
//----------------- |
|
|
#endregion |
|
| 1430 |
} |
} |
|
else if (i > 10) |
|
|
{ |
|
|
} |
|
| 1431 |
else |
else |
| 1432 |
{ |
{ |
|
// (B) スクロール中の選択曲バー、またはその他のバーの描画。 |
|
|
if( this.txパネル帯 != null ) |
|
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 1 ], new Rectangle( 2, 110, 1000, 20 ) ); |
|
|
//this.txランプ用帯.t3D描画( CDTXMania.app.Device, bar ); //右の帯。 |
|
|
if( this.tx選曲パネル != null ) |
|
|
this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 761, 233, new Rectangle(304, 70, 59, 242)); |
|
|
|
|
| 1433 |
#region [ ジャケット画像の描画 ] |
#region [ ジャケット画像の描画 ] |
| 1434 |
//----------------- |
//----------------- |
| 1435 |
if( this.stバー情報[ nパネル番号 ].txパネル != null ) |
if( this.stバー情報[ nパネル番号 ].txパネル != null ) |
| 1436 |
{ |
{ |
|
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f); |
|
|
//mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
|
|
//mat *= SlimDX.Matrix.Translation( |
|
|
// (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
|
//this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat); |
|
| 1437 |
matSongPanel[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
matSongPanel[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
| 1438 |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ ); |
| 1439 |
this.stバー情報[nパネル番号].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] ); |
| 1440 |
} |
} |
| 1441 |
if( this.txTumbnail[nパネル番号] != null ) |
if( this.txTumbnail[ nパネル番号 ] != null ) |
| 1442 |
{ |
{ |
| 1443 |
float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width ; |
float f拡大率 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width ; |
| 1444 |
float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height; |
float f拡大率2 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Height; |
|
//var mat = SlimDX.Matrix.Identity; |
|
|
//mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f); |
|
|
//mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY)); |
|
|
//mat *= SlimDX.Matrix.Translation( |
|
|
// (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率, |
|
|
// (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率); |
|
|
//this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat); |
|
| 1445 |
|
|
| 1446 |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f ); |
| 1447 |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); |
|
//matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z ); |
|
| 1448 |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ ); |
| 1449 |
|
|
| 1450 |
this.txTumbnail[nパネル番号].t3D描画( CDTXMania.app.Device, matJacket[ i ] ); |
this.txTumbnail[ nパネル番号 ].t3D描画( CDTXMania.app.Device, matJacket[ i ] ); |
| 1451 |
} |
} |
| 1452 |
//----------------- |
//----------------- |
| 1453 |
#endregion |
#endregion |
| 1455 |
} |
} |
| 1456 |
|
|
| 1457 |
//選択中の曲 |
//選択中の曲 |
| 1458 |
int n選択曲のパネル番号 = ( ( ( this.n現在の選択行 - 5 ) + 5 ) + 13 ) % 13; |
int n選択曲のパネル番号 = ( ( ( this.n現在の選択行 - 7 ) + 7 ) + 15 ) % 15; |
| 1459 |
|
#region[ ランプ帯 ] |
| 1460 |
|
if( this.txパネル帯 != null ) |
| 1461 |
|
{ |
| 1462 |
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 0 ], new Rectangle( 2, 110, 1000, 20 ) ); |
| 1463 |
|
this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 1 ], new Rectangle( 2, 110, 1000, 20 ) ); |
| 1464 |
|
} |
| 1465 |
|
#endregion |
| 1466 |
#region[ 中央パネル ] |
#region[ 中央パネル ] |
| 1467 |
if( this.tx選曲パネル != null ) |
if( this.tx選曲パネル != null ) |
| 1468 |
this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 457, 163, new Rectangle(0, 0, 363, 368)); |
this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 457, 163, new Rectangle( 0, 0, 363, 368 ) ); |
| 1469 |
#endregion |
#endregion |
| 1470 |
#region[ クリアランプ ] |
#region[ クリアランプ ] |
| 1471 |
for( int la = 0; la < 5 ; la++ ) |
for( int la = 0; la < 5 ; la++ ) |
| 1472 |
{ |
{ |
| 1473 |
if( this.txクリアランプ != null && CDTXMania.stage選曲.r現在選択中の曲.ar難易度ラベル[ la ] != null && CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ] != null ) |
if( this.txクリアランプ != null && CDTXMania.stage選曲.r現在選択中の曲.ar難易度ラベル[ la ] != null && CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ] != null ) |
| 1474 |
this.txクリアランプ.t2D描画(CDTXMania.app.Device, 506, 292 - la * 13, new Rectangle((CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.最大スキル.Drums != 0 ? 11 + la * 11 : 0), ( CDTXMania.stage選曲.r現在選択中の曲.arスコア[la].譜面情報.フルコンボ.Drums ? 10 : 0), 11, 10)); |
this.txクリアランプ.t2D描画( CDTXMania.app.Device, 506, 292 - la * 13, new Rectangle(( CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ].譜面情報.最大スキル.Drums != 0 ? 11 + la * 11 : 0), ( CDTXMania.stage選曲.r現在選択中の曲.arスコア[ la ].譜面情報.フルコンボ.Drums ? 10 : 0 ), 11, 10 )); |
| 1475 |
} |
} |
| 1476 |
#endregion |
#endregion |
| 1477 |
#region[ ジャケット画像 ] |
#region[ ジャケット画像 ] |
| 1741 |
|
|
| 1742 |
public bool b登場アニメ全部完了; |
public bool b登場アニメ全部完了; |
| 1743 |
private Color color文字影 = Color.FromArgb( 0x40, 10, 10, 10 ); |
private Color color文字影 = Color.FromArgb( 0x40, 10, 10, 10 ); |
| 1744 |
public CCounter[] ct登場アニメ用 = new CCounter[ 13 ]; |
public CCounter[] ct登場アニメ用 = new CCounter[ 15 ]; |
| 1745 |
private Font ft曲リスト用フォント; |
private Font ft曲リスト用フォント; |
| 1746 |
private long nスクロールタイマ; |
private long nスクロールタイマ; |
| 1747 |
private int n現在のスクロールカウンタ; |
private int n現在のスクロールカウンタ; |
| 1748 |
private int n現在の選択行; |
private int n現在の選択行; |
| 1749 |
private int n目標のスクロールカウンタ; |
private int n目標のスクロールカウンタ; |
| 1750 |
private readonly Point[] ptバーの基本座標 = new Point[] { new Point(0x2c4, 30), new Point(0x272, 0x51), new Point(0x242, 0x84), new Point(0x222, 0xb7), new Point(0x210, 0xea), new Point(0x1d0, 0x127), new Point(0x224, 0x183), new Point(0x242, 0x1b6), new Point(0x270, 0x1e9), new Point(0x2ae, 540), new Point(0x314, 0x24f), new Point(0x3e4, 0x282), new Point(0x500, 0x2b5) }; |
private readonly Point[] ptバーの基本座標 = new Point[] { new Point(0x2c4, 30), new Point(0x272, 0x51), new Point(0x242, 0x84), new Point(0x222, 0xb7), new Point(0x210, 0xea), new Point(0x1d0, 0x127), new Point(0x224, 0x183), new Point(0x242, 0x1b6), new Point(0x270, 0x1e9), new Point(0x2ae, 540), new Point(0x314, 0x24f), new Point(0x3e4, 0x282), new Point(0x500, 0x2b5), new Point(0x3e4, 0x282), new Point(0x500, 0x2b5) }; |
| 1751 |
private STバー情報[] stバー情報 = new STバー情報[ 13 ]; |
private STバー情報[] stバー情報 = new STバー情報[ 15 ]; |
| 1752 |
private CTexture txSongNotFound, txEnumeratingSongs; |
private CTexture txSongNotFound, txEnumeratingSongs; |
| 1753 |
private CTexture txアイテム数数字; |
private CTexture txアイテム数数字; |
| 1754 |
private CTexture[] txTumbnail = new CTexture[13]; |
private CTexture[] txTumbnail = new CTexture[15]; |
| 1755 |
private CTexture tx選曲パネル; |
private CTexture tx選曲パネル; |
| 1756 |
private CTexture txパネル; |
private CTexture txパネル; |
| 1757 |
private CTexture txパネル帯; |
private CTexture txパネル帯; |
| 1829 |
if( song == null ) |
if( song == null ) |
| 1830 |
return; |
return; |
| 1831 |
|
|
| 1832 |
for( int i = 0; i < 5; i++ ) |
for( int i = 0; i < 7; i++ ) |
| 1833 |
song = this.r前の曲( song ); |
song = this.r前の曲( song ); |
| 1834 |
|
|
| 1835 |
for( int i = 0; i < 13; i++ ) |
for( int i = 0; i < 15; i++ ) |
| 1836 |
{ |
{ |
| 1837 |
this.stバー情報[ i ].strタイトル文字列 = song.strタイトル; |
this.stバー情報[ i ].strタイトル文字列 = song.strタイトル; |
| 1838 |
this.stバー情報[ i ].strアーティスト名 = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.アーティスト名; |
this.stバー情報[ i ].strアーティスト名 = song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.アーティスト名; |
| 1868 |
song = this.r次の曲( song ); |
song = this.r次の曲( song ); |
| 1869 |
} |
} |
| 1870 |
|
|
| 1871 |
this.n現在の選択行 = 5; |
this.n現在の選択行 = 7; |
| 1872 |
} |
} |
| 1873 |
private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType ) |
private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType ) |
| 1874 |
{ |
{ |
| 1875 |
if( nバー番号 < 0 || nバー番号 > 12 ) |
if( nバー番号 < 0 || nバー番号 > 15 ) |
| 1876 |
return; |
return; |
| 1877 |
|
|
| 1878 |
//try |
//try |
| 1915 |
} |
} |
| 1916 |
private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType ) |
private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType ) |
| 1917 |
{ |
{ |
| 1918 |
if (nバー番号 < 0 || nバー番号 > 12) |
if (nバー番号 < 0 || nバー番号 > 15) |
| 1919 |
return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false); |
return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false); |
| 1920 |
|
|
| 1921 |
//try |
//try |
| 2004 |
//t3D描画の仕様上左詰や右詰が面倒になってしまうので、 |
//t3D描画の仕様上左詰や右詰が面倒になってしまうので、 |
| 2005 |
//パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。 |
//パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。 |
| 2006 |
|
|
| 2007 |
if( nバー番号 < 0 || nバー番号 > 12 ) |
if( nバー番号 < 0 || nバー番号 > 15 ) |
| 2008 |
return; |
return; |
| 2009 |
try |
try |
| 2010 |
{ |
{ |
| 2215 |
} |
} |
| 2216 |
private void t曲名バーの生成( int nバー番号, string str曲名, Color color ) |
private void t曲名バーの生成( int nバー番号, string str曲名, Color color ) |
| 2217 |
{ |
{ |
| 2218 |
if( nバー番号 < 0 || nバー番号 > 12 ) |
if( nバー番号 < 0 || nバー番号 > 15 ) |
| 2219 |
return; |
return; |
| 2220 |
|
|
| 2221 |
try |
try |
| 2264 |
} |
} |
| 2265 |
private void tアーティスト名テクスチャの生成( int nバー番号, string strアーティスト名 ) |
private void tアーティスト名テクスチャの生成( int nバー番号, string strアーティスト名 ) |
| 2266 |
{ |
{ |
| 2267 |
if( nバー番号 < 0 || nバー番号 > 12 ) |
if( nバー番号 < 0 || nバー番号 > 15 ) |
| 2268 |
return; |
return; |
| 2269 |
|
|
| 2270 |
try |
try |