Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 497 by kairera0467, Sun Nov 1 06:19:51 2015 UTC revision 510 by kairera0467, Thu Dec 31 03:55:27 2015 UTC
# Line 303  namespace DTXMania Line 303  namespace DTXMania
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アーティスト名 );
# Line 355  namespace DTXMania Line 355  namespace DTXMania
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 ];
# Line 594  namespace DTXMania Line 594  namespace DTXMania
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非活性化();
# Line 624  namespace DTXMania Line 624  namespace DTXMania
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アーティスト名 );
# Line 709  namespace DTXMania Line 709  namespace DTXMania
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アーティスト名 );
# Line 759  namespace DTXMania Line 759  namespace DTXMania
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現在時刻;
# Line 787  namespace DTXMania Line 787  namespace DTXMania
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    
# Line 798  namespace DTXMania Line 798  namespace DTXMania
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                                          {                                          {
# Line 873  namespace DTXMania Line 873  namespace DTXMania
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    
# Line 881  namespace DTXMania Line 881  namespace DTXMania
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文字色;
# Line 903  namespace DTXMania Line 903  namespace DTXMania
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                                                  }                                                  }
# Line 950  namespace DTXMania Line 950  namespace DTXMania
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文字色;
# Line 980  namespace DTXMania Line 980  namespace DTXMania
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                                                  }                                                  }
# Line 1148  namespace DTXMania Line 1148  namespace DTXMania
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 );
# Line 1188  namespace DTXMania Line 1192  namespace DTXMania
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                              //-----------------                              //-----------------
# Line 1212  namespace DTXMania Line 1214  namespace DTXMania
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 );
# Line 1235  namespace DTXMania Line 1229  namespace DTXMania
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));
# Line 1243  namespace DTXMania Line 1236  namespace DTXMania
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                              {                              {
# Line 1254  namespace DTXMania Line 1246  namespace DTXMania
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 )
# Line 1362  namespace DTXMania Line 1274  namespace DTXMania
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    
# Line 1408  namespace DTXMania Line 1348  namespace DTXMania
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    
# Line 1436  namespace DTXMania Line 1367  namespace DTXMania
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 ] );
# Line 1452  namespace DTXMania Line 1390  namespace DTXMania
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 ] );
# Line 1469  namespace DTXMania Line 1403  namespace DTXMania
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));
# Line 1477  namespace DTXMania Line 1410  namespace DTXMania
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                          {                          {
# Line 1488  namespace DTXMania Line 1420  namespace DTXMania
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
# Line 1629  namespace DTXMania Line 1455  namespace DTXMania
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[ ジャケット画像 ]
# Line 1909  namespace DTXMania Line 1741  namespace DTXMania
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パネル帯;
# Line 1997  namespace DTXMania Line 1829  namespace DTXMania
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 ) ].譜面情報.アーティスト名;
# Line 2036  namespace DTXMania Line 1868  namespace DTXMania
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
# Line 2083  namespace DTXMania Line 1915  namespace DTXMania
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
# Line 2172  namespace DTXMania Line 2004  namespace DTXMania
2004              //t3D描画の仕様上左詰や右詰が面倒になってしまうので、              //t3D描画の仕様上左詰や右詰が面倒になってしまうので、
2005              //パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。              //パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。
2006                            
2007              if( nバー番号 < 0 || nバー番号 > 12 )              if( nバー番号 < 0 || nバー番号 > 15 )
2008                                  return;                                  return;
2009              try              try
2010              {              {
# Line 2383  namespace DTXMania Line 2215  namespace DTXMania
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
# Line 2432  namespace DTXMania Line 2264  namespace DTXMania
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

Legend:
Removed from v.497  
changed lines
  Added in v.510

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26