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 580 by kairera0467, Fri Jan 17 15:52:38 2020 UTC revision 581 by kairera0467, Sun May 24 05:50:14 2020 UTC
# Line 308  namespace DTXMania Line 308  namespace DTXMania
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アーティスト名 );
310                  this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );                  this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );
311                  if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )      //            if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )
312                              {                           //   {
313                              //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );      //                      //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );
314                      this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );      //                this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );
315                                      this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] );                                  //    this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] );
316                                  }                                  //}
317                  txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];      //            this.txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];
318                          }                          }
319                  }                  }
320                  public void t次に移動()                  public void t次に移動()
# Line 646  namespace DTXMania Line 646  namespace DTXMania
646              int nKeys = this.dicThumbnail.Count;              int nKeys = this.dicThumbnail.Count;
647              string[] keys = new string[ nKeys ];              string[] keys = new string[ nKeys ];
648              this.dicThumbnail.Keys.CopyTo( keys, 0 );              this.dicThumbnail.Keys.CopyTo( keys, 0 );
649              foreach (var key in keys)              //foreach (var key in keys)
650                  this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別  );;              //    this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別  );
651    
652              //ここは最初に表示される画像の復元に必要。          //    //ここは最初に表示される画像の復元に必要。
653              for (int i = 0; i < 15; i++)          //    for (int i = 0; i < 15; i++)
654              {          //    {
655                  //this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色);          //        //this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色);
656                  this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 );          //        this.tアーティスト名テクスチャの生成( i, this.stバー情報[ i ].strアーティスト名 );
657                  //this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );          //        //this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );
658                  //this.tパスを指定してサムネイル画像を生成する(i, this.stバー情報[i].strDTXフォルダのパス, this.stバー情報[i].eバー種別);          //        //this.tパスを指定してサムネイル画像を生成する(i, this.stバー情報[i].strDTXフォルダのパス, this.stバー情報[i].eバー種別);
659                  if( this.stバー情報[ i ].strPreimageのパス != null )          //        if( this.stバー情報[ i ].strPreimageのパス != null )
660                  {          //        {
661                      if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )          //            if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )
662                                  {                               //   {
663                                      //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );                                  //    //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );
664                          this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );          //                this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );
665                                          this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] );                                      //    this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] );
666                                      }                                      //}
667                      txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];          //            //txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];
668                  }          //            txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];
669              }          //        }
670            //    }
671              #endregion              #endregion
672    
673    
# Line 742  namespace DTXMania Line 743  namespace DTXMania
743                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 );                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 );
744                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタム曲名テクスチャ );                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタム曲名テクスチャ );
745                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタムアーティスト名テクスチャ );                  CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txカスタムアーティスト名テクスチャ );
746    
747                    CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] );
748              }              }
749    
750              CDTXMania.tテクスチャの解放( ref this.tx選択されている曲の曲名 );              CDTXMania.tテクスチャの解放( ref this.tx選択されている曲の曲名 );
# Line 912  namespace DTXMania Line 915  namespace DTXMania
915                          this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 );                          this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 );
916                          this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 );                          this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 );
917    
918                            //Trace.TraceInformation( "パネルを1行上にシフト" );
919                          if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) )                          if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) )
920                                          {                                          {
921                                                  //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );                              //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );
922                              this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別  );                              //this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別  );
923                                                  this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] );                                      this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス,
924                                    this.tパスを指定してサムネイル画像を生成して返す(index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別) );
925                                                    //this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] );
926                                          }                                          }
927                          txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ];                          //else if( this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]?.texture == null )
928                            //{
929                            //    Trace.TraceWarning( string.Format( "予期しない解放が発生していたため再生成を行いました。 ({0})", this.stバー情報[ index ].strPreimageのパス ) );
930                            //    this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ]?.Dispose();
931                            //    this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ] = CDTXMania.tテクスチャの生成( this.stバー情報[ index ].strPreimageのパス );
932                            //}
933                            //txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ];
934    
935    
936                                                  // stバー情報[] の内容を1行ずつずらす。                                                  // stバー情報[] の内容を1行ずつずらす。
# Line 981  namespace DTXMania Line 993  namespace DTXMania
993                          this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 );                          this.tアーティスト名テクスチャの生成( index, this.stバー情報[ index ].strアーティスト名 );
994                          this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 );                          this.tパネルの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].strアーティスト名, this.stバー情報[ index ].col文字色 );
995    
996                            //Trace.TraceInformation( "パネルを1行下にシフト" );
997                          if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) )                          if( !this.dicThumbnail.ContainsKey( this.stバー情報[ index ].strPreimageのパス ) )
998                                          {                                          {
999                                                  //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );                                                  //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );
1000                              this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別  );                              //this.tパスを指定してサムネイル画像を生成する( index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別  );
1001                                                  this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] );                                      this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス,
1002                                    this.tパスを指定してサムネイル画像を生成して返す(index, this.stバー情報[ index ].strPreimageのパス, this.stバー情報[ index ].eバー種別) );
1003                                                    //this.dicThumbnail.Add( this.stバー情報[ index ].strPreimageのパス, this.txTumbnail[ index ] );
1004                                          }                                          }
1005                          txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ];                          //txTumbnail[ index ] = this.dicThumbnail[ this.stバー情報[ index ].strPreimageのパス ];
1006    
1007    
1008                                                  // stバー情報[] の内容を1行ずつずらす。                                                  // stバー情報[] の内容を1行ずつずらす。
# Line 1032  namespace DTXMania Line 1047  namespace DTXMania
1047                                  #endregion                                  #endregion
1048                          }                          }
1049    
1050                //if( this.txTumbnail != null )
1051                //{
1052                //    this.txTumbnail[0]?.t2D描画( CDTXMania.app.Device, 0, 0 );
1053                //}
1054                if( this.stバー情報 != null )
1055                {
1056                    this.stバー情報[0].txパネル?.t2D描画(CDTXMania.app.Device, 0, 0);
1057                }
1058    
1059                          // 描画。                          // 描画。
1060    
# Line 1403  namespace DTXMania Line 1426  namespace DTXMania
1426                              matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ );                              matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ );
1427                              this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );                              this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );
1428                          }                          }
1429                          if (this.txTumbnail[ nパネル番号 ] != null)                          if( this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ] != null )
1430                          {                          {
1431                              float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;                              float f拡大率X = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Width;
1432                              float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;                              float f拡大率Y = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Height;
1433    
1434                              matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );  
1435                                matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率X * CTexture.f画面比率 - 0.084f, f拡大率Y * CTexture.f画面比率 + 0.05f, 1.0f );
1436                              matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f );                              matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f );
1437                              matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ );                              matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ );
1438    
1439                              this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] );                              this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].t3D描画(CDTXMania.app.Device, matJacket[ i ] );
1440                          }                          }
1441                            //if (this.txTumbnail[ nパネル番号 ] != null)
1442                            //{
1443                            //    float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;
1444                            //    float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;
1445    
1446                            //    matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );
1447                            //    matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( fR, 0.0f, 0.0f );
1448                            //    matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ );
1449    
1450                            //    this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] );
1451                            //}
1452                          //-----------------                          //-----------------
1453                          #endregion                          #endregion
1454                      }                      }
# Line 1431  namespace DTXMania Line 1466  namespace DTXMania
1466                              matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ );                              matSongPanel[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y, fZ );
1467                              this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );                              this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );
1468                          }                          }
1469                          if( this.txTumbnail[ nパネル番号 ] != null )                          if( this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ] != null )
1470                          {                          {
1471                              float f拡大率 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width ;                              float f拡大率X = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Width;
1472                              float f拡大率2 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Height;                              float f拡大率Y = (float) 172.0 / this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].szテクスチャサイズ.Height;
1473    
1474                              matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );  
1475                                matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率X * CTexture.f画面比率 - 0.084f, f拡大率Y * CTexture.f画面比率 + 0.05f, 1.0f );
1476                              matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );                              matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );
1477                              matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ );                              matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ );
1478    
1479                              this.txTumbnail[ nパネル番号 ].t3D描画( CDTXMania.app.Device, matJacket[ i ] );                              this.dicThumbnail[ this.stバー情報[ nパネル番号 ].strPreimageのパス ].t3D描画(CDTXMania.app.Device, matJacket[ i ] );
1480                          }                          }
1481                            //if( this.txTumbnail[ nパネル番号 ] != null )
1482                            //{
1483                            //    float f拡大率 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width ;
1484                            //    float f拡大率2 = (float)172.0 / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Height;
1485    
1486                            //    matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );
1487                            //    matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( );
1488                            //    matJacket[ i ] *= SlimDX.Matrix.Translation( fX, st3D座標[ i ].y - 1.5f, fZ );
1489    
1490                            //    this.txTumbnail[ nパネル番号 ].t3D描画( CDTXMania.app.Device, matJacket[ i ] );
1491                            //}
1492                          //-----------------                          //-----------------
1493                          #endregion                          #endregion
1494                      }                      }
# Line 1468  namespace DTXMania Line 1515  namespace DTXMania
1515                  }                  }
1516                  #endregion                  #endregion
1517                  #region[ ジャケット画像 ]                  #region[ ジャケット画像 ]
1518                  if ( this.txTumbnail[ n選択曲のパネル番号 ] != null )                  if( this.dicThumbnail[ this.stバー情報[ n選択曲のパネル番号 ].strPreimageのパス ] != null )
1519                  {                  {
1520                      float f拡大率 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Width;                      float f拡大率X = (float) 218.0 / this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].szテクスチャサイズ.Width;
1521                      float f拡大率2 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Height;                      float f拡大率Y = (float) 218.0 / this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].szテクスチャサイズ.Height;
1522                      this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f );  
1523                      this.txTumbnail[ n選択曲のパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 );                      this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].vc拡大縮小倍率 = new Vector3( f拡大率X, f拡大率Y, 1.0f );
1524                      this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f );                      this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].t2D描画(CDTXMania.app.Device, 537, 249 );
1525                        this.dicThumbnail[ this.stバー情報[n選択曲のパネル番号].strPreimageのパス ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f );
1526                  }                  }
1527                    //if ( this.txTumbnail[ n選択曲のパネル番号 ] != null )
1528                    //{
1529                    //    float f拡大率 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Width;
1530                    //    float f拡大率2 = (float)218.0 / this.txTumbnail[ n選択曲のパネル番号 ].szテクスチャサイズ.Height;
1531                    //    this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( f拡大率, f拡大率2, 1.0f );
1532                    //    this.txTumbnail[ n選択曲のパネル番号 ].t2D描画(CDTXMania.app.Device, 537, 249 );
1533                    //    this.txTumbnail[ n選択曲のパネル番号 ].vc拡大縮小倍率 = new Vector3( 1.0f, 1.0f, 1.0f );
1534                    //}
1535                  #endregion                  #endregion
1536                  #region[ タイトル・アーティスト名 ]                  #region[ タイトル・アーティスト名 ]
1537                  //曲名テクスチャ 生成                  //曲名テクスチャ 生成
# Line 1831  namespace DTXMania Line 1887  namespace DTXMania
1887                          if( song == null )                          if( song == null )
1888                                  return;                                  return;
1889    
1890                //Trace.TraceInformation("バーの初期化処理開始");
1891    
1892                          for( int i = 0; i < 7; i++ )                          for( int i = 0; i < 7; i++ )
1893                                  song = this.r前の曲( song );                                  song = this.r前の曲( song );
1894    
# Line 1855  namespace DTXMania Line 1913  namespace DTXMania
1913    
1914                  // 2019.4.26 kairera0467 バーの初期化は複数回行われる場合があるので、再構築する時には一度解放してから構築するほうが解放漏れは少なくなるはず。                  // 2019.4.26 kairera0467 バーの初期化は複数回行われる場合があるので、再構築する時には一度解放してから構築するほうが解放漏れは少なくなるはず。
1915                  CDTXMania.tテクスチャの解放( ref this.stバー情報[ i ].txパネル );                  CDTXMania.tテクスチャの解放( ref this.stバー情報[ i ].txパネル );
1916                  CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] );                  // CDTXMania.tテクスチャの解放( ref this.txTumbnail[ i ] );
1917    
1918                  this.tパネルの生成( i, song.strタイトル, this.stバー情報[ i ].strアーティスト名, song.col文字色 );                  this.tパネルの生成( i, song.strタイトル, this.stバー情報[ i ].strアーティスト名, song.col文字色 );
1919                  if( this.stバー情報[ i ].strPreimageのパス != null )                  if( this.stバー情報[ i ].strPreimageのパス != null )
# Line 1863  namespace DTXMania Line 1921  namespace DTXMania
1921                      if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )                      if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )
1922                                      {                                      {
1923                                      //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );                                      //txTumbnail = this.tサムネイルテクスチャを作成する( Path.GetDirectoryName( song.ScoreFile ) );
1924                          this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );                          //this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );
1925                                  this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] );                          
1926                                    this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス,
1927                                this.tパスを指定してサムネイル画像を生成して返す(i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別) );
1928                                      }                                      }
1929                      txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];                      //else if( this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ]?.texture == null )
1930                        //{
1931                        //    // キーは存在するがテクスチャがnullの場合は再生成のみ行う
1932                        //    Trace.TraceInformation(string.Format("キーがあるけどnullになってるCTextureのテクスチャ再生成 {0}", this.stバー情報[ i ].strPreimageのパス));
1933                        //    this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ] = CDTXMania.tテクスチャの生成( this.stバー情報[ i ].strPreimageのパス );
1934                        //}
1935                        //txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];
1936                  }                  }
1937    
1938                                  for( int j = 0; j < 3; j++ )                                  for( int j = 0; j < 3; j++ )
# Line 1875  namespace DTXMania Line 1941  namespace DTXMania
1941                                  song = this.r次の曲( song );                                  song = this.r次の曲( song );
1942                          }                          }
1943    
1944                //Trace.TraceInformation("バーの初期化処理終了");
1945    
1946                          this.n現在の選択行 = 7;                          this.n現在の選択行 = 7;
1947                  }                  }
1948          private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType )          private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType )
# Line 1924  namespace DTXMania Line 1992  namespace DTXMania
1992          private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType )          private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType )
1993          {          {
1994              if (nバー番号 < 0 || nバー番号 > 15)              if (nバー番号 < 0 || nバー番号 > 15)
1995                  return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false);                  return CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false);
1996    
1997                // 2020.5.23 kairera0467 memo
1998                // ここではtxTumbnailに生成結果を格納すると同時に、returnしたCTextureをdicTumbnailに格納している...
1999                // はずだが、nバー番号が0で固定されているため、本当は無駄が発生しているかもしれない。
2000    
2001              //try              //try
2002                          {                          {
2003                  //if (eType == Eバー種別.Score || eType == Eバー種別.Box)                  //if (eType == Eバー種別.Score || eType == Eバー種別.Box)
2004                  {                  {
2005                        // 一度txTumbnailへの格納をやめてみる。
2006                      if (!File.Exists(strDTXPath))                      if (!File.Exists(strDTXPath))
2007                      {                      {
2008                          return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), false);                          return CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), "FILE NOT EXISTS:" + strDTXPath);
2009                      }                      }
2010                      else                      else
2011                      {                      {
2012                          return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(strDTXPath);                          return CDTXMania.tテクスチャの生成(strDTXPath, "PRE:" + strDTXPath);
2013                      }                      }
2014    
2015                        //if (!File.Exists(strDTXPath))
2016                        //{
2017                        //    return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_preimage default.png"), "FILE NOT EXISTS:" + strDTXPath);
2018                        //}
2019                        //else
2020                        //{
2021                        //    return this.txTumbnail[nバー番号] = CDTXMania.tテクスチャの生成(strDTXPath, "PRE:" + strDTXPath);
2022                        //}
2023                  }                  }
2024                  //else if (eType == Eバー種別.Random)                  //else if (eType == Eバー種別.Random)
2025                  {                  {
# Line 1964  namespace DTXMania Line 2046  namespace DTXMania
2046                          }                          }
2047                   */                   */
2048          }          }
2049            public void tTumbDictionaryClear()
2050            {
2051                // デバッグ用
2052                // dicThumbnailに登録されたものを全部消去
2053                this.dicThumbnail.Clear();
2054            }
2055          private CTexture t指定された文字テクスチャを生成する( string str文字, Color color )          private CTexture t指定された文字テクスチャを生成する( string str文字, Color color )
2056          {          {
2057              //2013.09.05.kairera0467 中央にしか使用することはないので、色は黒固定。              //2013.09.05.kairera0467 中央にしか使用することはないので、色は黒固定。

Legend:
Removed from v.580  
changed lines
  Added in v.581

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