OSDN Git Service

作業部屋50727 詳細な条件も詳細な原因も一切不明のまま修正完了
authorkairera0467 <gennsou76573@gmail.com>
Sun, 19 Nov 2017 12:05:04 +0000 (21:05 +0900)
committerkairera0467 <gennsou76573@gmail.com>
Sun, 19 Nov 2017 12:05:04 +0000 (21:05 +0900)
#xxxxx 曲を変えてもArtistCommentが変わっていなかったのを修正
#xxxxx 選曲画面のフォルダ位置バーが動いていなかったので修正
#xxxxx 親クラスと子クラスで無駄に多く書かれていたコードの削除
#xxxxx ゴーストデータ読み込みでエラーが出た場合にはcatchするよう変更

12 files changed:
DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectArtistComment.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル共通.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト共通.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CActSelectステータスパネルGITADORA.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CActSelect曲リストGITADORA.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/XG/CActSelectステータスパネルXG.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/XG/CActSelect曲リストXG.cs
DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/dll/FDK.dll

index 95e24f5..d78b431 100644 (file)
@@ -19,6 +19,9 @@ namespace DTXMania
                public void t選択曲が変更された()
                {
                        Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア;
+            if( CDTXMania.bXGRelease ) cスコア = CDTXMania.stage選曲XG.r現在選択中のスコア;
+            else cスコア = CDTXMania.stage選曲GITADORA.r現在選択中のスコア;
+
                        if( cスコア != null )
                        {
                                Bitmap image = new Bitmap( 1, 1 );
index 3e3dbce..c68ab5f 100644 (file)
@@ -19,59 +19,6 @@ namespace DTXMania
                }
                public virtual void t選択曲が変更された()
                {
-               //      C曲リストノード c曲リストノード = CDTXMania.stage選曲.r現在選択中の曲;
-               //      Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア;
-               //      if( ( c曲リストノード != null ) && ( cスコア != null ) )
-               //      {
-               //              this.n現在選択中の曲の難易度 = CDTXMania.stage選曲.n現在選択中の曲の難易度;
-               //              for( int i = 0; i < 3; i++ )
-               //              {
-  //                  if (CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania)
-  //                      this.n現在選択中の曲の最高ランク[i] = cスコア.譜面情報.最大ランク[i];
-  //                  else if (CDTXMania.ConfigIni.eSkillMode == ESkillType.XG )
-  //                      this.n現在選択中の曲の最高ランク[i] = DTXMania.CScoreIni.tXGランク値を計算して返す( cスコア.譜面情報.最大スキル[i] );
-
-               //                      int nLevel = cスコア.譜面情報.レベル[ i ];
-               //                      if( nLevel < 0 )
-               //                      {
-               //                              nLevel = 0;
-               //                      }
-               //                      if( nLevel > 99 )
-               //                      {
-               //                              nLevel = 99;
-               //                      }
-               //                      this.n現在選択中の曲のレベル[ i ] = nLevel;
-               //                      this.n現在選択中の曲の最高ランク[ i ] = cスコア.譜面情報.最大ランク[ i ];
-               //                      this.b現在選択中の曲がフルコンボ[ i ] = cスコア.譜面情報.フルコンボ[ i ];
-               //                      this.db現在選択中の曲の最高スキル値[ i ] = cスコア.譜面情報.最大スキル[ i ];
-
-  //                  for( int j = 0; j < 5; j++ )
-  //                  {
-  //                      if( c曲リストノード.arスコア[ j ] != null )
-  //                      {
-  //                          this.n現在選択中の曲のレベル難易度毎DGB[j][i] = c曲リストノード.arスコア[j].譜面情報.レベル[i];
-  //                          this.n現在選択中の曲のレベル小数点難易度毎DGB[j][i] = c曲リストノード.arスコア[j].譜面情報.レベルDec[i];
-  //                          //this.n現在選択中の曲の最高ランク難易度毎[j][i] = c曲リストノード.arスコア[j].譜面情報.最大ランク[i];
-  //                          if ( CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania )
-  //                              this.n現在選択中の曲の最高ランク難易度毎[ j ][ i ] = c曲リストノード.arスコア[ j ].譜面情報.最大ランク[ i ];
-  //                          else if ( CDTXMania.ConfigIni.eSkillMode == ESkillType.XG )
-  //                              this.n現在選択中の曲の最高ランク難易度毎[ j ][ i ] = ( DTXMania.CScoreIni.tXGランク値を計算して返す( c曲リストノード.arスコア[ j ].譜面情報.最大スキル[ i ] ) == (int)DTXMania.CScoreIni.ERANK.S && DTXMania.CScoreIni.tXGランク値を計算して返す( c曲リストノード.arスコア[ j ].譜面情報.最大スキル[ i ] ) >= 95 ? DTXMania.CScoreIni.tXGランク値を計算して返す( cスコア.譜面情報.最大スキル[ i ] ) : c曲リストノード.arスコア[ j ].譜面情報.最大ランク[ i ]);
-  //                          this.db現在選択中の曲の最高スキル値難易度毎[ j ][ i ] = c曲リストノード.arスコア[ j ].譜面情報.最大スキル[i];
-  //                          this.b現在選択中の曲がフルコンボ難易度毎[j][i] = c曲リストノード.arスコア[j].譜面情報.フルコンボ[i];
-  //                          this.b現在選択中の曲に譜面がある[j][i] = c曲リストノード.arスコア[j].譜面情報.b譜面がある[i];
-  //                      }
-  //                  }
-               //              }
-               //              for( int i = 0; i < 5; i++ )
-               //              {
-               //                      this.str難易度ラベル[ i ] = c曲リストノード.ar難易度ラベル[ i ];
-               //              }
-               //              if( this.r直前の曲 != c曲リストノード )
-               //              {
-               //                      this.n難易度開始文字位置 = 0;
-               //              }
-               //              this.r直前の曲 = c曲リストノード;
-               //      }
                }
 
 
@@ -79,32 +26,6 @@ namespace DTXMania
 
                public override void On活性化()
                {
-                       this.n現在選択中の曲の難易度 = 0;
-                       for( int i = 0; i < 3; i++ )
-                       {
-                               this.n現在選択中の曲のレベル[ i ] = 0;
-                this.db現在選択中の曲の曲別スキル値難易度毎[ i ] = 0.0;
-                               this.n現在選択中の曲の最高ランク[ i ] = (int)CScoreIni.ERANK.UNKNOWN;
-                               this.b現在選択中の曲がフルコンボ[ i ] = false;
-                               this.db現在選択中の曲の最高スキル値[ i ] = 0.0;
-                for (int j = 0; j < 5; j++)
-                {
-                    this.n現在選択中の曲のレベル難易度毎DGB[j][i] = 0;
-                    this.n現在選択中の曲のレベル小数点難易度毎DGB[j][i] = 0;
-                    this.db現在選択中の曲の最高スキル値難易度毎[j][i] = 0.0;
-                    this.n現在選択中の曲の最高ランク難易度毎[j][i] = (int)CScoreIni.ERANK.UNKNOWN;
-                    this.b現在選択中の曲がフルコンボ難易度毎[j][i] = false;
-                }
-                       }
-                       for( int j = 0; j < 5; j++ )
-                       {
-                               this.str難易度ラベル[ j ] = "";
-                this.n選択中の曲のレベル難易度毎[ j ] = 0;
-
-                this.db現在選択中の曲の曲別スキル値難易度毎[j] = 0.0;
-                       }
-                       this.n難易度開始文字位置 = 0;
-                       this.r直前の曲 = null;
                        base.On活性化();
                }
                public override void On非活性化()
@@ -139,517 +60,7 @@ namespace DTXMania
                }
                public override int On進行描画()
                {
-               //      if( !base.b活性化してない )
-               //      {
-               //              #region [ 初めての進行描画 ]
-               //              //-----------------
-               //              if( base.b初めての進行描画 )
-               //              {
-               //                      this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.Timer );
-               //                      this.ct難易度スクロール用 = new CCounter( 0, 20, 1, CDTXMania.Timer );
-               //                      this.ct難易度矢印用 = new CCounter( 0, 5, 80, CDTXMania.Timer );
-  //                  this.ct難易度変更カウンター = new CCounter( 1, 10, 10, CDTXMania.Timer );
-               //                      base.b初めての進行描画 = false;
-               //              }
-               //              //-----------------
-               //              #endregion
-
-  //              #region [ 本体位置 ]
-  //              for( int i = 0; i < 3; i++ )
-  //              {
-  //                  this.n本体X[ i ] = 0;
-  //                  this.n本体Y[ i ] = 0;
-  //              }
-
-  //              if( CDTXMania.ConfigIni.bDrums有効 )
-  //              {
-  //                  this.n本体X[ 0 ] = 346;
-  //                  this.n本体Y[ 0 ] = 43;
-  //              }
-  //              else if( CDTXMania.ConfigIni.bGuitar有効 )
-  //              {
-  //                  int nSwapflag1P = CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 2 : 1;
-  //                  int nSwapflag2P = CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 2;
-  //                  this.n本体X[ nSwapflag1P ] = 346;
-  //                  this.n本体Y[ nSwapflag1P ] = 43;
-
-  //                  this.n本体X[ nSwapflag2P ] = 218;
-  //                  this.n本体Y[ nSwapflag2P ] = 546;
-  //              }
-  //              #endregion
-
-               //              // 進行
-
-               //              this.ct登場アニメ用.t進行();
-  //              this.ct難易度変更カウンター.t進行();
-
-               //              this.ct難易度スクロール用.t進行();
-               //              if( this.ct難易度スクロール用.b終了値に達した )
-               //              {
-               //                      int num = this.n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す();
-               //                      if( num < 0 )
-               //                      {
-               //                              this.n難易度開始文字位置--;
-               //                      }
-               //                      else if( num > 0 )
-               //                      {
-               //                              this.n難易度開始文字位置++;
-               //                      }
-               //                      this.ct難易度スクロール用.n現在の値 = 0;
-               //              }
-       
-               //              this.ct難易度矢印用.t進行Loop();
-                               
-               //              // 描画
-
-               //              #region [ パネル本体の描画 ]
-               //              //-----------------
-               //              if( this.txパネル本体 != null )
-               //              {
-  //                  {
-  //                      var mat1 = Matrix.Identity;
-  //                      mat1 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
-  //                      mat1 *= Matrix.RotationY(0.0f);
-  //                      mat1 *= Matrix.RotationZ(0.0f);
-  //                      mat1 *= Matrix.Translation(0f, 260f, 0f);
-
-  //                      var mat2 = Matrix.Identity;
-  //                      mat2 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
-  //                      mat2 *= Matrix.RotationY(0.0f);
-  //                      mat2 *= Matrix.RotationZ(0.0f);
-  //                      mat2 *= Matrix.Translation(0f, -240f, 0f);
-
-  //                      if( CDTXMania.ConfigIni.bDrums有効 )
-  //                      {
-  //                          if( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[ 5 ].n現在の値 != 100 )
-  //                              this.txパネル本体.t3D描画( CDTXMania.app.Device, mat1 , new Rectangle( 0, 0, 1280, 200 ) );
-  //                          else
-               //                                  this.txパネル本体.t2D描画( CDTXMania.app.Device, 0, this.n本体Y[ 0 ] - 43, new Rectangle(0, 0, 1280, 200) );
-  //                      }
-  //                      else if ( CDTXMania.ConfigIni.bGuitar有効 )
-  //                      {
-  //                          if( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 != 100 )
-  //                          {
-  //                              if (!CDTXMania.ConfigIni.bIsSwappedGuitarBass)
-  //                              {
-  //                                  this.txパネル本体.t3D描画(CDTXMania.app.Device, mat1, new Rectangle(0, 200, 1280, 200));
-  //                                  this.txパネル本体.t3D描画(CDTXMania.app.Device, mat2, new Rectangle(0, 400, 1280, 200));
-  //                              }
-  //                              else
-  //                              {
-  //                                  this.txパネル本体.t3D描画(CDTXMania.app.Device, mat1, new Rectangle(0, 600, 1280, 200));
-  //                                  this.txパネル本体.t3D描画(CDTXMania.app.Device, mat2, new Rectangle(0, 800, 1280, 200));
-  //                              }
-  //                          }
-  //                          else
-  //                          {
-  //                              if (!CDTXMania.ConfigIni.bIsSwappedGuitarBass)
-  //                              {
-  //                                  this.txパネル本体.t2D描画(CDTXMania.app.Device, 0, this.n本体Y[ 1 ] - 43, new Rectangle(0, 200, 1280, 200));
-  //                                  this.txパネル本体.t2D描画(CDTXMania.app.Device, 0, this.n本体Y[ 2 ] - 43, new Rectangle(0, 400, 1280, 200));
-  //                              }
-  //                              else
-  //                              {
-  //                                  this.txパネル本体.t2D描画(CDTXMania.app.Device, 0, this.n本体Y[ 2 ] - 43, new Rectangle(0, 600, 1280, 200));
-  //                                  this.txパネル本体.t2D描画(CDTXMania.app.Device, 0, this.n本体Y[ 1 ] - 43, new Rectangle(0, 800, 1280, 200));
-  //                              }
-
-  //                          }
-  //                      }
-  //                  }
-               //              }
-               //              //-----------------
-               //              #endregion
-  //              #region[ 難易度パネルの描画 ]
-  //              int[] y差分 = new int[ 5 ];
-  //              int[] x差分 = new int[ 5 ];
-  //              int n難易度ラベル合計値 = 0;
-  //              int n難易度ラベル合計値1P = 0;
-  //              int n難易度ラベル合計値2P = 0;
-  //              if( this.tx難易度パネル != null )
-  //              {
-  //                  for (int i = 0; i < 5; i++)
-  //                  {
-  //                      if (this.n現在選択中の曲の難易度 == i)
-  //                      {
-  //                          y差分[i] += this.ct難易度変更カウンター.n現在の値;
-  //                          x差分[i] += 132;
-  //                      }
-  //                  }
-  //                  if( CDTXMania.ConfigIni.bDrums有効 )
-  //                  {
-  //                      if( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 == 100 )
-  //                      {
-  //                          for( int i = 0; i < 5; i++ )
-  //                          {
-  //                              if( this.str難易度ラベル[ i ] != null || CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-  //                              {
-  //                                  //ランダムの場合は全てのパネルを描画する。
-  //                                  this.tx難易度パネル.t2D描画( CDTXMania.app.Device, 346 + ( 143 * i ), this.n本体Y[ 0 ] - y差分[ i ], new Rectangle( x差分[ i ], 0 + ( 98 * i ), 132, 98 ) );
-  //                                  n難易度ラベル合計値++;
-  //                              }
-  //                          }
-  //                          if( n難易度ラベル合計値 == 0 && CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE ) //難易度ラベルが存在しなかった場合は5に描画する。
-  //                              this.tx難易度パネル.t2D描画( CDTXMania.app.Device, 346 + ( 143 * 4 ), this.n本体Y[ 0 ] - 10, new Rectangle( 132, 0 + ( 98 * 4 ), 132, 98 ) );
-  //                      }
-  //                      else
-  //                      {
-  //                          for( int i = 0; i < 5; i++ )
-  //                          {
-  //                              var mat = Matrix.Identity;
-  //                              mat *= Matrix.RotationX( 1.60f - (float)( (float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[ 5 ].n現在の値 * 0.016f ) );
-  //                              mat *= Matrix.RotationY( 0.0f );
-  //                              mat *= Matrix.RotationZ( 0.0f );
-  //                              mat *= Matrix.Translation(-228f + (i * 143f), 268f + y差分[i], 0f);
-
-  //                              if( this.str難易度ラベル[i] != null )
-  //                                  this.tx難易度パネル.t3D描画(CDTXMania.app.Device, mat, new Rectangle(x差分[i], 98 * i, 132, 98));
-  //                          }
-  //                      }
-  //                  }
-  //                  else if( CDTXMania.ConfigIni.bGuitar有効 )
-  //                  {
-  //                      if( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 == 100 )
-  //                      {
-  //                          for( int i = 0; i < 5; i++ )
-  //                          {
-  //                              for( int j = 0; j < 2; j++ )
-  //                              {
-  //                                  if( this.str難易度ラベル[ i ] != null || CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-  //                                  {
-  //                                      this.tx難易度パネル.t2D描画( CDTXMania.app.Device, this.n本体X[ j + 1 ] + ( 143 * i ), this.n本体Y[ j + 1 ] - y差分[ i ], new Rectangle( x差分[ i ], 0 + ( 98 * i ), 132, 98 ) );
-  //                                      if( j == 0 ) n難易度ラベル合計値1P++;
-  //                                      else n難易度ラベル合計値2P++;
-  //                                  }
-  //                              }
-  //                  //            else if (CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE)
-  //                  //                flag = flag + 1;
-
-  //                  //            if (this.str難易度ラベル[i] != null || CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
-  //                  //                this.tx難易度パネル.t2D描画(CDTXMania.app.Device, this.n本体X[2] + (143 * i), this.n本体Y[2] - y差分[i], new Rectangle(x差分[i], 0 + (98 * i), 132, 98));
-  //                          }
-  //                          for( int i = 0; i < 2; i++ )
-  //                          {
-  //                              if( ( i == 0 ? n難易度ラベル合計値1P == 0 : n難易度ラベル合計値2P == 1 ) && CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE ) //難易度ラベルが存在しなかった場合は5に描画する。
-  //                                  this.tx難易度パネル.t2D描画( CDTXMania.app.Device, 346 + ( 143 * 4 ), this.n本体Y[ i + 1 ] - 10, new Rectangle( 132, 0 + ( 98 * 4 ), 132, 98 ) );
-  //                          }
-  //                  //        if (flag == 5)
-  //                  //        {
-  //                  //            this.tx難易度パネル.t2D描画(CDTXMania.app.Device, this.n本体X[1] + (143 * 4), this.n本体Y[1] - 10, new Rectangle(132, 0 + (98 * 4), 132, 98));
-  //                  //            this.tx難易度パネル.t2D描画(CDTXMania.app.Device, this.n本体X[2] + (143 * 4), this.n本体Y[2] - 10, new Rectangle(132, 0 + (98 * 4), 132, 98));
-  //                  //        }
-  //                  //    }
-  //                  //    else
-  //                  //    {
-  //                  //        for (int i = 0; i < 5; i++)
-  //                  //        {
-  //                  //            var mat1 = Matrix.Identity;
-  //                  //            mat1 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
-  //                  //            mat1 *= Matrix.RotationY(0.0f);
-  //                  //            mat1 *= Matrix.RotationZ(0.0f);
-  //                  //            mat1 *= Matrix.Translation(-228f + (i * 143f), 268f + y差分[i], 0f);
-
-  //                  //            var mat2 = Matrix.Identity;
-  //                  //            mat2 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
-  //                  //            mat2 *= Matrix.RotationY(0.0f);
-  //                  //            mat2 *= Matrix.RotationZ(0.0f);
-  //                  //            mat2 *= Matrix.Translation(-355f + (i * 143f), -235f + y差分[i], 0f);
-
-
-  //                  //            if (this.str難易度ラベル[i] != null)
-  //                  //                this.tx難易度パネル.t3D描画(CDTXMania.app.Device, mat1 , new Rectangle(0 + x差分[i], 0 + (98 * i), 132, 98));
-
-  //                  //            if (this.str難易度ラベル[i] != null)
-  //                  //                this.tx難易度パネル.t3D描画(CDTXMania.app.Device, mat2 , new Rectangle(0 + x差分[i], 0 + (98 * i), 132, 98));
-  //                  //        }
-  //                      }
-  //                  }
-  //              }
-  //              #endregion
 
-               //              Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア;
-
-  //              if( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[ 5 ].b終了値に達した )
-  //              {
-  //                  #region [ 難易度文字列の描画 ]
-  //                  //-----------------
-  //                  for( int i = 0; i < 5; i++ )
-  //                  {
-  //                      if( CDTXMania.r現在のステージ.eフェーズID == CStage.Eフェーズ.共通_通常状態 )
-  //                      {
-  //                          CDTXMania.act文字コンソール.tPrint( 346 + ( i * 142 ), 8, ( this.n現在選択中の曲の難易度 == i ) ? C文字コンソール.Eフォント種別.赤 : C文字コンソール.Eフォント種別.白, this.str難易度ラベル[ i ] );
-  //                          if( CDTXMania.ConfigIni.bGuitar有効 )
-  //                              CDTXMania.act文字コンソール.tPrint( 218 + ( i * 142 ), 670, ( this.n現在選択中の曲の難易度 == i ) ? C文字コンソール.Eフォント種別.赤 : C文字コンソール.Eフォント種別.白, this.str難易度ラベル[ i ] );
-  //                      }
-  //                  }
-  //                  //-----------------
-  //                  #endregion
-  //                  #region [ 選択曲の Lv の描画 ]
-               //                  //-----------------
-  //                           if( ( cスコア != null ) && ( this.tx難易度数字XG != null ) )
-        //                     {
-  //                      if( CDTXMania.r現在のステージ.eフェーズID == CStage.Eフェーズ.共通_通常状態 )
-  //                          this.tx難易度数字XG.n透明度 = (int)( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[ 5 ].n現在の値 * 2.6f );
-  //                      for( int j = 0; j < 3; j++ )
-  //                      {
-  //                          if( this.n本体X[ j ] == 0 ) continue;
-  //                          for( int i = 0; i < 5; i++ )
-  //                          {
-  //                              int[] n難易度整数 = new int[5];
-  //                              int[] n難易度小数 = new int[5];
-  //                              n難易度整数[ i ] = (int)this.n現在選択中の曲のレベル難易度毎DGB[ i ][ j ] / 10;
-  //                              n難易度小数[ i ] = ( this.n現在選択中の曲のレベル難易度毎DGB[ i ][ j ] - (n難易度整数[ i ] * 10 ) ) * 10;
-  //                              n難易度小数[ i ] += this.n現在選択中の曲のレベル小数点難易度毎DGB[ i ][ j ];
-
-  //                              if( this.str難易度ラベル[ i ] != null && this.b現在選択中の曲に譜面がある[ i ][ j ])
-  //                              {
-  //                                  this.t大文字表示(73 + this.n本体X[ j ] + (i * 143), 19 + this.n本体Y[j] - y差分[i], string.Format("{0:0}", n難易度整数[i]));
-  //                                  this.t小文字表示(102 + this.n本体X[ j ] + (i * 143), 37 + this.n本体Y[j] - y差分[i], string.Format("{0,2:00}", n難易度小数[i]));
-  //                                  this.tx難易度数字XG.t2D描画(CDTXMania.app.Device, 94 + this.n本体X[j] + (i * 143), 51 + this.n本体Y[j] - y差分[i], new Rectangle(145, 54, 7, 8));
-  //                              }
-  //                              else if ((this.str難易度ラベル[i] != null && !this.b現在選択中の曲に譜面がある[i][j]) || CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
-  //                              {
-  //                                  this.t大文字表示(73 + this.n本体X[j] + (i * 143), 19 + this.n本体Y[j] - y差分[i], ("-"));
-  //                                  this.t小文字表示(102 + this.n本体X[j] + (i * 143), 37 + this.n本体Y[j] - y差分[i], ("--"));
-  //                                  this.tx難易度数字XG.t2D描画(CDTXMania.app.Device, 94 + this.n本体X[j] + (i * 143), 51 + this.n本体Y[j] - y差分[i], new Rectangle(145, 54, 7, 8));
-  //                              }
-  //                          }
-  //                          if( n難易度ラベル合計値 == 0 )
-  //                          {
-                            
-  //                          }
-  //                      }
-               //              }
-               //              //-----------------
-               //                  #endregion
-  //                  #region [ 選択曲の 曲別スキルの描画 ]
-  //                  //-----------------
-  //                  for( int j = 0; j < 3; j++ )
-  //                  {
-  //                      if( this.n本体X[ j ] != 0 )
-  //                      {
-  //                          int[] n曲別スキル位置 = new int[] { 223, 223, 1144 };
-  //                          if( CDTXMania.ConfigIni.bIsSwappedGuitarBass )
-  //                              n曲別スキル位置 = new int[] { 223, 1144, 223 };
-  //                          double[] db現在の曲のレベルXG = new double[ 5 ];
-  //                          double db曲別スキル = 0;
-
-  //                          for( int i = 0; i < 5; i++ )
-  //                          {
-  //                              if( this.str難易度ラベル[ i ] != null )
-  //                              {
-  //                                  db現在の曲のレベルXG[ i ] = this.n現在選択中の曲のレベル難易度毎DGB[ i ][ j ] / 10.0;
-  //                                  db現在の曲のレベルXG[ i ] += this.n現在選択中の曲のレベル小数点難易度毎DGB[ i ][ j ] / 100.0;
-  //                                  if( ( ( this.db現在選択中の曲の最高スキル値難易度毎[ i ][ j ] / 100.0 ) * db現在の曲のレベルXG[ i ] * 20.0 ) > db曲別スキル )
-  //                                      db曲別スキル = ( this.db現在選択中の曲の最高スキル値難易度毎[ i ][ j ] / 100.0 ) * db現在の曲のレベルXG[ i ] * 20.0;
-  //                              }
-  //                          }
-  //                          if( db曲別スキル != 0 )
-  //                          {
-  //                              this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, n曲別スキル位置[ j ], this.n本体Y[ j ] + 51, new Rectangle( 0, 32, 64, 38 ) );
-  //                              this.t達成率表示( n曲別スキル位置[ j ] + 11, this.n本体Y[ j ] + 69, string.Format( "{0,6:##0.00}", db曲別スキル ) );
-  //                          }
-  //                      }
-  //                  }
-  //                  //-----------------
-  //                  #endregion
-  //                  #region [ 選択曲の 最高スキル値ゲージ+数値の描画 ]
-  //                  //-----------------
-  //                  for (int j = 0; j < 3; j++)
-  //                  {
-  //                      if ( this.n本体X[j] != 0 )
-  //                      {
-  //                          for (int i = 0; i < 5; i++)
-  //                          {
-  //                              if (this.str難易度ラベル[i] != null && this.db現在選択中の曲の最高スキル値難易度毎[i][j] != 0.00)
-  //                              {
-  //                                  this.t達成率表示(76 + this.n本体X[j] + (i * 143), 77 + this.n本体Y[j] - y差分[i], string.Format("{0,6:##0.00}%", this.db現在選択中の曲の最高スキル値難易度毎[i][j]));
-  //                              }
-  //                          }
-  //                          if( j == 0 )
-  //                          {
-  //                              if( n難易度ラベル合計値 == 0 && this.db現在選択中の曲の最高スキル値[j] != 0.00 )
-  //                              {
-  //                                  this.t達成率表示(76 + this.n本体X[j] + (4 * 143), 77 + this.n本体Y[j] - 10, string.Format("{0,6:##0.00}%", this.db現在選択中の曲の最高スキル値[j]));
-  //                              }
-  //                          }
-  //                          else
-  //                          {
-  //                              if( ( j == 1 ? n難易度ラベル合計値1P == 0 : n難易度ラベル合計値2P == 0 ) && this.db現在選択中の曲の最高スキル値[j] != 0.00 )
-  //                              {
-  //                                  this.t達成率表示(76 + this.n本体X[j] + (4 * 143), 77 + this.n本体Y[j] - 10, string.Format("{0,6:##0.00}%", this.db現在選択中の曲の最高スキル値[j]));
-  //                              }
-  //                          }
-  //                      }
-  //                  }
-  //                  //-----------------
-  //                  #endregion
-  //                  #region [ 選択曲の 最高ランクの描画 ]
-  //                  //-----------------
-  //                  for (int j = 0; j < 3; j++)
-  //                  {
-  //                      if (this.n本体X[j] != 0 && this.txゲージ用数字他 != null)
-  //                      {
-  //                          for (int i = 0; i < 5; i++)
-  //                          {
-  //                              if (this.str難易度ラベル[i] != null && this.db現在選択中の曲の最高スキル値難易度毎[i][j] != 0.00)
-  //                              {
-  //                                  int nMaxRank = this.n現在選択中の曲の最高ランク難易度毎[i][j];
-  //                                  if (nMaxRank != 99)
-  //                                  {
-  //                                      if (nMaxRank < 0)
-  //                                          nMaxRank = 0;
-  //                                      if (nMaxRank > 6)
-  //                                          nMaxRank = 6;
-
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, (7 + this.n本体X[j] + (i * 143)), 61 + this.n本体Y[j] - y差分[i], new Rectangle(42 + (nMaxRank * 32), 0, 32, 32));
-  //                                  }
-  //                              }
-  //                          }
-  //                          if( j == 0 )
-  //                          {
-  //                              if( ( n難易度ラベル合計値 == 0 ) && this.db現在選択中の曲の最高スキル値[j] != 0.00)
-  //                              {
-  //                                  int nMaxRank = this.n現在選択中の曲の最高ランク[j];
-
-  //                                  if (nMaxRank != 99)
-  //                                  {
-  //                                      if (nMaxRank < 0)
-  //                                          nMaxRank = 0;
-
-  //                                      if (nMaxRank > 6)
-  //                                          nMaxRank = 6;
-
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, (7 + this.n本体X[j] + (4 * 143)), 61 + this.n本体Y[j] - 10, new Rectangle(42 + (nMaxRank * 32), 0, 32, 32));
-  //                                  }
-  //                              }
-  //                          }
-  //                          else
-  //                          {
-  //                              if( ( j == 1 ? n難易度ラベル合計値1P == 0 : n難易度ラベル合計値2P == 0 ) && this.db現在選択中の曲の最高スキル値[j] != 0.00)
-  //                              {
-  //                                  int nMaxRank = this.n現在選択中の曲の最高ランク[j];
-
-  //                                  if (nMaxRank != 99)
-  //                                  {
-  //                                      if (nMaxRank < 0)
-  //                                          nMaxRank = 0;
-
-  //                                      if (nMaxRank > 6)
-  //                                          nMaxRank = 6;
-
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, (7 + this.n本体X[j] + (4 * 143)), 61 + this.n本体Y[j] - 10, new Rectangle(42 + (nMaxRank * 32), 0, 32, 32));
-  //                                  }
-  //                              }
-  //                          }
-
-  //                      }
-  //                  }
-  //                  //-----------------
-  //                  #endregion
-  //                  #region [ 選択曲の FullCombo Excellent の 描画 ]
-  //                  //-----------------
-  //                  for (int j = 0; j < 3; j++)
-  //                  {
-  //                      if (this.n本体X[j] != 0 && this.txゲージ用数字他 != null)
-  //                      {
-  //                          for (int i = 0; i < 5; i++)
-  //                          {
-  //                              if (this.db現在選択中の曲の最高スキル値難易度毎[i][j] == 100 && this.str難易度ラベル[i] != null)
-  //                                  this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, 40 + this.n本体X[j] + (i * 143), 63 + this.n本体Y[j] - y差分[i], new Rectangle(266, 0, 42, 32));
-  //                              else if (this.b現在選択中の曲がフルコンボ難易度毎[i][j] && this.str難易度ラベル[i] != null)
-  //                                  this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, 40 + this.n本体X[j] + (i * 143), 63 + this.n本体Y[j] - y差分[i], new Rectangle(0, 0, 42, 32));
-  //                          }
-  //                          if( j == 0 )
-  //                          {
-  //                              if( n難易度ラベル合計値 == 0 )
-  //                              {
-  //                                  if (this.db現在選択中の曲の最高スキル値[j] == 100)
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, 40 + this.n本体X[j] + (4 * 143), 63 + this.n本体Y[j] - 10, new Rectangle(266, 0, 42, 32));
-  //                                  else if (this.b現在選択中の曲がフルコンボ[j])
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, 40 + this.n本体X[j] + (4 * 143), 63 + this.n本体Y[j] - 10, new Rectangle(0, 0, 42, 32));
-  //                              }
-  //                          }
-  //                          else
-  //                          {
-  //                              if( j == 1 ? n難易度ラベル合計値1P == 0 : n難易度ラベル合計値2P == 0 )
-  //                              {
-  //                                  if (this.db現在選択中の曲の最高スキル値[j] == 100)
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, 40 + this.n本体X[j] + (4 * 143), 63 + this.n本体Y[j] - 10, new Rectangle(266, 0, 42, 32));
-  //                                  else if (this.b現在選択中の曲がフルコンボ[j])
-  //                                      this.txゲージ用数字他.t2D描画(CDTXMania.app.Device, 40 + this.n本体X[j] + (4 * 143), 63 + this.n本体Y[j] - 10, new Rectangle(0, 0, 42, 32));
-  //                              }
-  //                          }
-  //                      }
-  //                  }
-  //                  //-----------------
-  //                  #endregion
-
-  //                  if( CDTXMania.r現在のステージ.eフェーズID == CStage.Eフェーズ.選曲_決定演出 || CDTXMania.r現在のステージ.eフェーズID == CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト )
-  //                  {
-  //                      this.n本体Y[ 0 ] = 43 - ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 <= 250 && CDTXMania.stage選曲.ct決定演出待機.n現在の値 >= 0 ? (int)( 70 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) : 0 );
-  //                      this.n本体Y[ 1 ] = 43 - ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 <= 250 && CDTXMania.stage選曲.ct決定演出待機.n現在の値 >= 0 ? (int)( 70 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) : 0 );
-  //                      this.n本体Y[ 2 ] = 546 + ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 <= 250 && CDTXMania.stage選曲.ct決定演出待機.n現在の値 >= 0 ? (int)( 70 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) : 0 );
-  //                      this.txパネル本体.n透明度 = (int)( 255 - ( 255 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) );
-  //                      this.txゲージ用数字他.n透明度 = (int)( 255 - ( 255 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) );
-  //                      this.tx難易度パネル.n透明度 = (int)( 255 - ( 255 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) );
-  //                      this.tx難易度数字XG.n透明度 = (int)( 255 - ( 255 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 ) / 250.0 ) ) );
-  //                      if( CDTXMania.stage選曲.ct決定演出待機.n現在の値 > 250 )
-  //                      {
-  //                          this.txパネル本体.n透明度 = 0;
-  //                          this.txゲージ用数字他.n透明度 = 0;
-  //                          this.tx難易度数字XG.n透明度 = 0;
-  //                      }
-  //                      if( this.tx決定後_難易度パネル1P == null )
-  //                          this.t決定アニメ_難易度パネルを生成する();
-  //                      if( this.tx決定後_難易度パネル1P != null && ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.stage選曲.r確定されたスコア.譜面情報.b譜面がある.Guitar ) )
-  //                      {
-  //                          //挙動が謎のためY軸回転は保留。
-
-  //                          if( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 400 )
-  //                          {
-  //                              int nX = (int)( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 200 ? 100 * ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 / 200.0 ) : 100 - 100 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 - 200.0 ) / 200.0 ) );
-  //                              this.tx決定後_難易度パネル1P.t2D描画( CDTXMania.app.Device, 254 - nX, 162 );
-  //                              //CDTXMania.act文字コンソール.tPrint( 0, 64, C文字コンソール.Eフォント種別.白, nX.ToString() );
-  //                          }
-  //                          else
-  //                          {
-  //                              this.tx決定後_難易度パネル1P.t2D描画( CDTXMania.app.Device, 254, 162 );
-  //                          }
-  //                      }
-  //                      else if( this.tx決定後_難易度パネル1P != null && CDTXMania.stage選曲.r確定されたスコア.譜面情報.b譜面がある.Drums )
-  //                      {
-  //                          //挙動が謎のためY軸回転は保留。
-
-  //                          if( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 400 )
-  //                          {
-  //                              int nX = (int)( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 200 ? 100 * ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 / 200.0 ) : 100 - 100 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 - 200.0 ) / 200.0 ) );
-  //                              this.tx決定後_難易度パネル1P.t2D描画( CDTXMania.app.Device, 254 - nX, 162 );
-  //                              //CDTXMania.act文字コンソール.tPrint( 0, 64, C文字コンソール.Eフォント種別.白, nX.ToString() );
-  //                          }
-  //                          else
-  //                          {
-  //                              this.tx決定後_難易度パネル1P.t2D描画( CDTXMania.app.Device, 254, 162 );
-  //                          }
-  //                      }
-  //                      /*
-  //                      if( this.tx決定後_難易度パネル2P == null && CDTXMania.ConfigIni.bGuitar有効 )
-  //                          this.t決定アニメ_難易度パネルを生成する();
-  //                      if( this.tx決定後_難易度パネル2P != null && CDTXMania.stage選曲.r確定されたスコア.譜面情報.b譜面がある.Bass )
-  //                      {
-  //                          if( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 400 )
-  //                          {
-  //                              int nX = (int)( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 200 ? 100 * ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 / 200.0 ) : 100 - 100 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 - 200.0 ) / 200.0 ) );
-  //                              this.tx決定後_難易度パネル2P.t2D描画( CDTXMania.app.Device, 870 + nX, 162 );
-  //                          }
-  //                          else
-  //                          {
-  //                              this.tx決定後_難易度パネル2P.t2D描画( CDTXMania.app.Device, 870, 162 );
-  //                          }
-  //                      }*/
-  //                  }
-  //              }
-               //      }
                        return 0;
                }
 
@@ -670,7 +81,7 @@ namespace DTXMania
                        }
                }
 
-               private STDGBVALUE<bool> b現在選択中の曲がフルコンボ;
+               STDGBVALUE<bool> b現在選択中の曲がフルコンボ;
                private STDGBVALUE<double> db現在選択中の曲の最高スキル値;
                private STDGBVALUE<int> n現在選択中の曲のレベル;
                private STDGBVALUE<int> n現在選択中の曲の最高ランク;
@@ -688,7 +99,6 @@ namespace DTXMania
                protected int n現在選択中の曲の難易度;
                private int n難易度開始文字位置;
                private const int n難易度表示可能文字数 = 0x24;
-               private C曲リストノード r直前の曲;
                private string[] str難易度ラベル = new string[] { "", "", "", "", "" };
                private CTexture txゲージ用数字他;
                public CTexture txパネル本体;
@@ -766,7 +176,7 @@ namespace DTXMania
             new ST達成率数字( '.', new Rectangle( 79, 62, 3, 16 ) )
         };
 
-               private int n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す()
+               protected int n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す()
                {
                        int num = 0;
                        int length = 0;
@@ -876,227 +286,8 @@ namespace DTXMania
                     x += 8;
             }
         }
-        private void t決定アニメ_難易度パネルを生成する()
-        {
-            //ギター・ベースの場合、1枚の画像を2回読み込むことになるので回避。
-            Image imgPanel;
-            imgPanel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_base info panel.png" ) );
-            int[] arPanelRectX = new int[] { 164, 326, 650, 488 }; //Drums(使用しない), Guitar, Bass, GuitarF, BassF
-
-            #region[ ドラム ]
-            if( CDTXMania.ConfigIni.bDrums有効 && imgPanel != null )
-            {
-                Bitmap bPanel = new Bitmap( 155, 362 );
-                Graphics graphics = Graphics.FromImage( bPanel );
-
-                Image imgLabel;
-                Image imgLevelNum;
-
-                graphics.PageUnit = GraphicsUnit.Pixel;
-                graphics.DrawImage( imgPanel, new Rectangle( 0, 0, 155, 362 ), new Rectangle( 2, 2, 155, 362 ), GraphicsUnit.Pixel );
-
-                imgLabel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\6_difficulty panel.png" ) );
-                graphics.DrawImage( imgLabel, new Rectangle( 14, 31, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
-
-                imgLevelNum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
-
-                //XG譜面
-                if( !CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Drums )
-                {
-                    #region[ XG譜面 ]
-                    int n難易度整数;
-                    int n難易度小数;
-                    string str難易度;
-                    n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] / 10;
-                    n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] - ( n難易度整数 * 10 ) ) * 10;
-                    n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ];
-                    str難易度 = n難易度整数.ToString() + string.Format( "{0,2:00}", n難易度小数 );
-
-                    if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                    {
-                        for( int j = 0; j < this.st大文字位置.Length; j++ )
-                        {
-                            if( this.st大文字位置[ j ].ch == str難易度[ 0 ] )
-                            {
-                                Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ j ].pt.X, this.st大文字位置[ j ].pt.Y, 22, 40 );
-                                graphics.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                break;
-                            }
-                        }
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                        for( int k = 0; k < 2; k++ )
-                        {
-                            for( int j = 0; j < this.st小文字位置.Length; j++ )
-                            {
-                                if( this.st小文字位置[ j ].ch == str難易度[ k + 1 ] )
-                                {
-                                    Rectangle rc画像内の描画領域 = new Rectangle( this.st小文字位置[ j ].pt.X, this.st小文字位置[ j ].pt.Y, 12, 22 );
-                                    graphics.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                    break;
-                                }
-                            }
-                        }
-                    }
-                    else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                    {
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                        for( int k = 0; k < 2; k++ )
-                        {
-                            graphics.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), new Rectangle( 0, 40, 12, 22 ), GraphicsUnit.Pixel );
-                        }
-                    }
-                    #endregion
-                }
-                else
-                {
-                    #region[ CLASSIC譜面 ]
-                    string str難易度;
-                    str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] );
 
-                    if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                    {
-                        for( int j = 0; j < 2; j++ )
-                        {
-                            for( int k = 0; k < this.st大文字位置.Length; k++ )
-                            {
-                                if( this.st大文字位置[ k ].ch == str難易度[ j ] )
-                                {
-                                    Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ k ].pt.X, this.st大文字位置[ k ].pt.Y, 22, 40 );
-                                    graphics.DrawImage( imgLevelNum, new Rectangle( 94 + ( 22 * j ), 56, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                    break;
-                                }
-                            }
-                        }
-                    }
-                    else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                    {
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 94, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 116, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                    }
-                    #endregion
-                }
-
-                this.tx決定後_難易度パネル1P = new CTexture( CDTXMania.app.Device, bPanel, CDTXMania.TextureFormat, false );
-
-                CDTXMania.t安全にDisposeする( ref bPanel );
-                CDTXMania.t安全にDisposeする( ref graphics );
-                CDTXMania.t安全にDisposeする( ref imgPanel );
-                CDTXMania.t安全にDisposeする( ref imgLabel );
-                CDTXMania.t安全にDisposeする( ref imgLevelNum );
-            }
-            #endregion
-            #region[ ギター・ベース ]
-            else if( CDTXMania.ConfigIni.bGuitar有効 && imgPanel != null )
-            {
-                for( int i = 1; i <= 2; i++ )
-                {
-                    Bitmap bPanel = new Bitmap( 155, 362 );
-                    Graphics gPanel = Graphics.FromImage( bPanel );
-
-                    Image imgLabel;
-                    Image imgLevelNum;
-
-                    gPanel.PageUnit = GraphicsUnit.Pixel;
-                    gPanel.DrawImage( imgPanel, new Rectangle( 0, 0, 155, 362 ), new Rectangle( arPanelRectX[ i + ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : -1 ) ], 2, 155, 362 ), GraphicsUnit.Pixel );
-
-                    imgLabel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\6_difficulty panel.png" ) );
-                    gPanel.DrawImage( imgLabel, new Rectangle( 14, 32, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
-
-                    imgLevelNum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
-
-                    //XG譜面
-                    if( !CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である[ i ] )
-                    {
-                        #region[ XG譜面 ]
-                        int n難易度整数;
-                        int n難易度小数;
-                        string str難易度;
-                        n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] / 10;
-                        n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] - ( n難易度整数 * 10 ) ) * 10;
-                        n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ];
-                        str難易度 = n難易度整数.ToString() + string.Format( "{0,2:00}", n難易度小数 );
-
-                        if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                        {
-                            for( int j = 0; j < this.st大文字位置.Length; j++ )
-                            {
-                                if( this.st大文字位置[ j ].ch == str難易度[ 0 ] )
-                                {
-                                    Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ j ].pt.X, this.st大文字位置[ j ].pt.Y, 22, 40 );
-                                    gPanel.DrawImage( imgLevelNum, new Rectangle( 84, 56, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                    break;
-                                }
-                            }
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                            for( int k = 0; k < 2; k++ )
-                            {
-                                for( int j = 0; j < this.st小文字位置.Length; j++ )
-                                {
-                                    if( this.st小文字位置[ j ].ch == str難易度[ k + 1 ] )
-                                    {
-                                        Rectangle rc画像内の描画領域 = new Rectangle( this.st小文字位置[ j ].pt.X, this.st小文字位置[ j ].pt.Y, 12, 22 );
-                                        gPanel.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-                        else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                        {
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                            for( int k = 0; k < 2; k++ )
-                            {
-                                gPanel.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), new Rectangle( 0, 40, 12, 22 ), GraphicsUnit.Pixel );
-                            }
-                        }
-                        #endregion
-                    }
-                    else
-                    {
-                        #region[ CLASSIC譜面 ]
-                        string str難易度;
-                        str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] );
-
-                        if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                        {
-                            for( int j = 0; j < 2; j++ )
-                            {
-                                for( int k = 0; k < this.st大文字位置.Length; k++ )
-                                {
-                                    if( this.st大文字位置[ k ].ch == str難易度[ j ] )
-                                    {
-                                        Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ k ].pt.X, this.st大文字位置[ k ].pt.Y, 22, 40 );
-                                        gPanel.DrawImage( imgLevelNum, new Rectangle( 94 + ( 22 * j ), 56, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-                        else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                        {
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 94, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 116, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                        }
-                        #endregion
-                    }
-
-                    if( i == 1 )
-                        this.tx決定後_難易度パネル1P = new CTexture( CDTXMania.app.Device, bPanel, CDTXMania.TextureFormat, false );
-                    else if( i == 2 )
-                        this.tx決定後_難易度パネル2P = new CTexture( CDTXMania.app.Device, bPanel, CDTXMania.TextureFormat, false );
-
-                    CDTXMania.t安全にDisposeする( ref bPanel );
-                    CDTXMania.t安全にDisposeする( ref gPanel );
-                    CDTXMania.t安全にDisposeする( ref imgLabel );
-                    CDTXMania.t安全にDisposeする( ref imgLevelNum );
-                }
-            }
-            #endregion
-            CDTXMania.t安全にDisposeする( ref imgPanel );
-        }
-        private Rectangle t指定したラベル名から難易度パネル画像の座標を取得する( string strラベル名 )
+        protected Rectangle t指定したラベル名から難易度パネル画像の座標を取得する( string strラベル名 )
         {
             string strRawScriptFile;
 
index a82f91b..dcb6a5d 100644 (file)
@@ -486,7 +486,8 @@ namespace DTXMania
                /// </summary>
                public void t選択曲が変更された( bool bForce ) // #27648
                {
-                       C曲リストノード song = CDTXMania.stage選曲.r現在選択中の曲;
+            C曲リストノード song = this.r現在選択中の曲;
+            
                        if ( song == null )
                                return;
                        if ( song == song_last && bForce == false )
@@ -542,8 +543,8 @@ namespace DTXMania
                                regular,
                                GraphicsUnit.Pixel
                        );
-            FontStyle fStyle = CDTXMania.ConfigIni.b選曲リストフォントを太字にする ? FontStyle.Bold : FontStyle.Regular;
-            this.prvPanelFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18, fStyle );
+            //FontStyle fStyle = CDTXMania.ConfigIni.b選曲リストフォントを太字にする ? FontStyle.Bold : FontStyle.Regular;
+            //this.prvPanelFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18, fStyle );
 
                        // 現在選択中の曲がない(=はじめての活性化)なら、現在選択中の曲をルートの先頭ノードに設定する。
 
@@ -576,38 +577,6 @@ namespace DTXMania
                        if( this.b活性化してない )
                                return;
             
-            this.tx選曲パネル = null;
-            if( CDTXMania.ConfigIni.bDrums有効 )
-                this.tx選曲パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_image_panel.png" ) );
-            else
-                this.tx選曲パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_image_panel_guitar.png" ) );
-
-            this.txパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_music panel.png") );
-            this.txパネル帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_Backbar.png" ) );
-            this.txクリアランプ = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_Clearlamp.png") );
-            #region[ テクスチャの復元 ]
-            int nKeys = this.dicThumbnail.Count;
-            string[] keys = new string[ nKeys ];
-            this.dicThumbnail.Keys.CopyTo( keys, 0 );
-            foreach (var key in keys)
-                this.dicThumbnail[ key ] = this.tパスを指定してサムネイル画像を生成して返す( 0, key, this.stバー情報[ 0 ].eバー種別  );;
-
-            //ここは最初に表示される画像の復元に必要。
-            for( int i = 0; i < 15; i++ )
-            {
-                this.tパネルの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].strアーティスト名, this.stバー情報[ i ].col文字色 );
-                if( this.stバー情報[ i ].strPreimageのパス != null )
-                {
-                    if( !this.dicThumbnail.ContainsKey( this.stバー情報[ i ].strPreimageのパス ) )
-                    {
-                        this.tパスを指定してサムネイル画像を生成する( i, this.stバー情報[ i ].strPreimageのパス, this.stバー情報[ i ].eバー種別  );
-                        this.dicThumbnail.Add( this.stバー情報[ i ].strPreimageのパス, this.txTumbnail[ i ] );
-                    }
-                    this.txTumbnail[ i ] = this.dicThumbnail[ this.stバー情報[ i ].strPreimageのパス ];
-                }
-            }
-            #endregion
-
                        int c = ( CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja" ) ? 0 : 1;
                        #region [ Songs not found画像 ]
                        try
@@ -666,34 +635,10 @@ namespace DTXMania
                {
                        if( this.b活性化してない )
                                return;
-
-            for ( int i = 0; i < 15; i++ )
-            {
-                CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txタイトル名 );
-                CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txアーティスト名 );
-                CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txパネル );
-            }
-            #region[ ジャケット画像の解放 ]
-            int nKeys = this.dicThumbnail.Count;
-            string[] keys = new string[ nKeys ];
-            this.dicThumbnail.Keys.CopyTo( keys, 0 );
-            foreach( var key in keys )
-            {
-                C共通.tDisposeする( this.dicThumbnail[ key ] );
-                this.dicThumbnail[ key ] = null;
-            }
-            #endregion
-
-            CDTXMania.t安全にDisposeする( ref this.tx選択されている曲の曲名 );
-            CDTXMania.t安全にDisposeする( ref this.tx選択されている曲のアーティスト名 );
-            CDTXMania.t安全にDisposeする( ref this.tx選択されている曲のジャケット画像 );
-
+            
                        CDTXMania.t安全にDisposeする( ref this.txEnumeratingSongs );
                        CDTXMania.t安全にDisposeする( ref this.txSongNotFound );
             CDTXMania.t安全にDisposeする( ref this.tx選曲パネル );
-            CDTXMania.t安全にDisposeする( ref this.txパネル );
-            CDTXMania.t安全にDisposeする( ref this.txクリアランプ );
-            CDTXMania.t安全にDisposeする( ref this.txパネル帯 );
             CDTXMania.t安全にDisposeする( ref this.txベース曲パネル );
             CDTXMania.t安全にDisposeする( ref this.prvPanelFont );
 
@@ -701,25 +646,6 @@ namespace DTXMania
                }
                public override int On進行描画()
                {
-            #region [ スクロール地点の計算(描画はCActSelectShowCurrentPositionにて行う) #27648 ]
-            int py;
-                       double d = 0;
-                       if ( nNumOfItems > 1 )
-                       {
-                               d = ( 336 - 8 ) / (double) ( nNumOfItems - 1 );
-                               py = (int) ( d * ( nCurrentPosition - 1 ) );
-                       }
-                       else
-                       {
-                               d = 0;
-                               py = 0;
-                       }
-                       int delta = (int) ( d * this.n現在のスクロールカウンタ / 100 );
-                       if ( py + delta <= 336 - 8 )
-                       {
-                               this.nスクロールバー相対y座標 = py + delta;
-                       }
-                       #endregion
                        return 0;
                }
                
@@ -884,26 +810,6 @@ namespace DTXMania
         /// <para>正直この方法は好ましくないような気がする。</para>
                /// </summary>
                protected Dictionary<string, CTexture> dicThumbnail = new Dictionary<string, CTexture>();
-        protected ST中心点[] stマトリックス座標 = new ST中心点[] {
-                       #region [ 実は円弧配置になってない。射影行列間違ってるよスターレインボウ見せる気かよ… ]
-                       //-----------------        
-            new ST中心点() { x = -940.0000f, y = 4f, z = 320f, rotY = 0.4150f },
-                       new ST中心点() { x = -740.0000f, y = 4f, z = 230f, rotY = 0.4150f },
-            new ST中心点() { x = -550.0000f, y = 4f, z = 150f, rotY = 0.4150f },
-                       new ST中心点() { x = -370.0000f, y = 4f, z = 70f, rotY = 0.4150f },
-                       new ST中心点() { x = -194.0000f,     y = 4f, z = -6f, rotY = 0.4150f },
-                       new ST中心点() { x = 6.00002622683f, y = 2f, z = 0f, rotY = 0f }, 
-                       new ST中心点() { x = 204.0000f, y = 4f, z = 0f, rotY = -0.4150f },
-            new ST中心点() { x = 362.0000f, y = 4f, z = 70f, rotY = -0.4150f },
-            new ST中心点() { x = 528.0000f, y = 4f, z = 146f, rotY = -0.4150f },
-            new ST中心点() { x = 686.0000f, y = 4f, z = 212f, rotY = -0.4150f },
-            new ST中心点() { x = 848.0000f, y = 4f, z = 282f, rotY = -0.4150f },
-            new ST中心点() { x = 1200.0000f, y = 4f, z = 450f, rotY = -0.4150f },
-            new ST中心点() { x = 1500.0000f, y = 4f, z = -289.5575f, rotY = -0.9279888f },
-            new ST中心点() { x = 1500.0000f, y = 4f, z = -289.5575f, rotY = -0.9279888f },
-                       //-----------------
-                       #endregion
-               };
 
                public bool b登場アニメ全部完了;
                public Color color文字影 = Color.FromArgb( 0x40, 10, 10, 10 );
@@ -915,7 +821,7 @@ namespace DTXMania
            public int n現在の選択行;
                public int n目標のスクロールカウンタ;
                private CTexture txSongNotFound, txEnumeratingSongs;
-        private CTexture[] txTumbnail = new CTexture[ 15 ];
+        protected CTexture[] txTumbnail = new CTexture[ 15 ];
         private CTexture txクリアランプ;
         private CTexture tx選曲パネル;
         private CTexture tx選択されている曲の曲名;
@@ -924,7 +830,6 @@ namespace DTXMania
         private CTexture txパネル;
         private CTexture txパネル帯;
         private CPrivateFastFont prvPanelFont;
-               public STバー tx曲名バー;
                public STバー情報[] stバー情報 = new STバー情報[ 15 ];
                public ST選曲バー tx選曲バー;
                public int nCurrentPosition = 0;
@@ -996,439 +901,6 @@ namespace DTXMania
         {
 
         }
-
-        private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType )
-        {
-            if( nバー番号 < 0 || nバー番号 > 15 )
-                return;
-
-            //if( true )
-            //    return;
-
-            if( !File.Exists( strDTXPath ) )
-            {
-                this.txTumbnail[ nバー番号 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_preimage default.png" ) );
-            }
-            else
-            {
-                this.txTumbnail[ nバー番号 ] = CDTXMania.tテクスチャの生成( strDTXPath );
-            }
-        }
-        /// <summary>
-        /// 正直このメソッド消したい。
-        /// </summary>
-        /// <param name="nバー番号">バー番号</param>
-        /// <param name="strDTXPath">preimageのパス</param>
-        /// <param name="eType">バーの種類(未使用)</param>
-        /// <returns>サムネイル画像</returns>
-        private CTexture tパスを指定してサムネイル画像を生成して返す( int nバー番号, string strDTXPath, Eバー種別 eType )
-        {
-            //if( true )
-            //    return null;
-
-            if( nバー番号 < 0 || nバー番号 > 15 )
-                return this.txTumbnail[ nバー番号 ] = null; //2016.03.12 kairera0467 僅かながら高速化
-
-            if( !File.Exists( strDTXPath ) )
-            {
-                return this.txTumbnail[ nバー番号 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_preimage default.png" ) );
-            }
-            else
-            {
-                return this.txTumbnail[ nバー番号 ] = CDTXMania.tテクスチャの生成( strDTXPath );
-            }
-        }
-        private CTexture t指定された文字テクスチャを生成する( string str文字 )
-        {
-            //2013.09.05.kairera0467 中央にしか使用することはないので、色は黒固定。
-            //現在は機能しない(面倒なので実装してない)が、そのうち使用する予定。
-            //PrivateFontの試験運転も兼ねて。
-            //CPrivateFastFont
-            CPrivateFastFont prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 14, FontStyle.Regular );
-            Bitmap bmp;
-            
-            bmp = prvFont.DrawPrivateFont( str文字, Color.Black, Color.Transparent );
-
-            CTexture tx文字テクスチャ = CDTXMania.tテクスチャの生成( bmp, false );
-
-            if( tx文字テクスチャ != null )
-                tx文字テクスチャ.vc拡大縮小倍率 = new Vector3( 0.75f, 1f, 1f );
-
-            int n最大幅 = 290;
-            if( tx文字テクスチャ.szテクスチャサイズ.Width > n最大幅 )
-            {
-                tx文字テクスチャ.vc拡大縮小倍率 = new Vector3( ( n最大幅 / ( tx文字テクスチャ.szテクスチャサイズ.Width / 0.75f ) ), 1f, 1f );
-            }
-
-            CDTXMania.t安全にDisposeする( ref bmp );
-            CDTXMania.t安全にDisposeする( ref prvFont );
-
-            return tx文字テクスチャ;
-        }
-        private void tパネルの生成( int nバー番号, string str曲名, string strアーティスト名, Color color )
-        {
-            //t3D描画の仕様上左詰や右詰が面倒になってしまうので、
-            //パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。
-
-            //2016.02.21 kairera0467 ここの最適化が足りないかも。
-            
-            if( nバー番号 < 0 || nバー番号 > 15 )
-                               return;
-
-            if( !File.Exists( CSkin.Path( @"Graphics\5_music panel.png" ) ) )
-            {
-                Trace.TraceError( "5_music panel.png が存在しないため、パネルの生成を中止しました。" );
-                return;
-            }
-
-            try
-            {
-                CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txパネル ); //2016.3.12 kairera0467 パネル生成時に既にあるパネルを解放するようにした。
-
-                Bitmap bSongPanel = new Bitmap( 223, 279 );
-                Graphics graphics = Graphics.FromImage( bSongPanel );
-
-                Image imgSongPanel;
-                Image imgSongJacket;
-                Image imgCustomSongNameTexture;
-                Image imgCuttomArtistNameTexture;
-                bool bFoundTitleTexture = false;
-                bool bFoundArtistTexture = false;
-
-                graphics.PageUnit = GraphicsUnit.Pixel;
-
-                imgSongPanel = Image.FromFile( CSkin.Path( @"Graphics\5_music panel.png" ) );
-                graphics.DrawImage( imgSongPanel, 0, 0, 223, 279 );
-
-                string strPassBefore = "";
-                string strPassAfter = "";
-                try
-                {
-                    strPassBefore = this.stバー情報[ nバー番号 ].strDTXフォルダのパス;
-                    strPassAfter = strPassBefore.Replace( this.stバー情報[ nバー番号 ].ar譜面情報.Preimage, "" );
-                }
-                catch
-                {
-                    //Replaceでエラーが出たらここで適切な処理ができるようにしたい。
-                    strPassBefore = "";
-                    strPassAfter = "";
-                }
-
-                #region[ 曲名とアーティスト名 ]
-                string strPath = ( strPassAfter + "TitleTexture.png" );
-                if( File.Exists( ( strPath ) ) )
-                {
-                    imgCustomSongNameTexture = Image.FromFile( strPath );
-                    graphics.DrawImage( imgCustomSongNameTexture, 4, -1, 223, 33 );
-                    CDTXMania.t安全にDisposeする( ref imgCustomSongNameTexture );
-                    bFoundTitleTexture = true;
-                }
-                if( File.Exists( ( strPassAfter + "ArtistTexture.png" ) ) )
-                {
-                    imgCuttomArtistNameTexture = Image.FromFile( strPassAfter + "ArtistTexture.png" );
-                    graphics.DrawImage(imgCuttomArtistNameTexture, 0, 252, 223, 26);
-                    CDTXMania.t安全にDisposeする( ref imgCuttomArtistNameTexture );
-                    bFoundArtistTexture = true;
-                }
-
-                if( bFoundTitleTexture == false || bFoundArtistTexture == false )
-                {
-                    //FontStyle fStyle = CDTXMania.ConfigIni.b選曲リストフォントを太字にする ? FontStyle.Bold : FontStyle.Regular;
-                    //CPrivateFastFont prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18, fStyle );
-                    Bitmap bmpSongName = new Bitmap( 1, 1 );
-                    if( bFoundTitleTexture == false )
-                    {
-                        bmpSongName = this.prvPanelFont.DrawPrivateFont( str曲名, Color.White );
-                        if( ( bmpSongName.Size.Width / 1.25f ) > 240 )
-                        {
-                            graphics.DrawImage( bmpSongName, 4f, 2f, ( ( bmpSongName.Size.Width / 1.25f ) ), bmpSongName.Size.Height );
-                        }
-                        else
-                        {
-                            graphics.DrawImage( bmpSongName, 4f, 2f, ( bmpSongName.Size.Width / 1.25f ),bmpSongName.Size.Height );
-                        }
-                    }
-                    if( bFoundArtistTexture == false )
-                    {
-                        bmpSongName = this.prvPanelFont.DrawPrivateFont( strアーティスト名, Color.White );
-                        if( ( bmpSongName.Size.Width / 1.25f ) > 240 )
-                        {
-                            graphics.DrawImage( bmpSongName, 220f - ( ( bmpSongName.Size.Width / 1.25f ) ), 252f, ( ( bmpSongName.Size.Width / 1.25f ) ), bmpSongName.Size.Height );
-                        }
-                        else
-                        {
-                            graphics.DrawImage( bmpSongName, 220f - ( bmpSongName.Size.Width / 1.25f ), 252f, ( bmpSongName.Size.Width / 1.25f ), bmpSongName.Size.Height );
-                        }
-                    }
-                    CDTXMania.t安全にDisposeする( ref bmpSongName );
-                }
-                #endregion
-                #region[ ジャケット画像 ]
-                //2016.02.22 kairera0467 残念ながらバグがあるため封印。
-
-                //if( File.Exists( this.stバー情報[ nバー番号 ].strDTXフォルダのパス + this.stバー情報[ nバー番号 ].ar譜面情報.Preimage ) )
-                //{
-                //    imgSongJacket = Image.FromFile( this.stバー情報[ nバー番号 ].strDTXフォルダのパス + this.stバー情報[ nバー番号 ].ar譜面情報.Preimage );
-                //    graphics.DrawImage( imgSongJacket, 3, 35, 218, 218 );
-                    
-                //    CDTXMania.t安全にDisposeする( ref imgSongJacket );
-                //}
-                //else if( File.Exists( CSkin.Path( @"Graphics\5_preimage default.png" ) ) )
-                //{
-                //    imgSongJacket = Image.FromFile( CSkin.Path( @"Graphics\5_preimage default.png" ) );
-                //    graphics.DrawImage( imgSongJacket, 3, 35, 218, 218 );
-                    
-                //    CDTXMania.t安全にDisposeする( ref imgSongJacket );
-                //}
-                #endregion
-
-                CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txパネル );
-                this.stバー情報[ nバー番号 ].txパネル = new CTexture( CDTXMania.app.Device, bSongPanel, CDTXMania.TextureFormat, false );
-
-                CDTXMania.t安全にDisposeする( ref bSongPanel );
-                CDTXMania.t安全にDisposeする( ref imgSongPanel );
-                CDTXMania.t安全にDisposeする( ref graphics );
-            }
-            catch( CTextureCreateFailedException )
-                       {
-                               Trace.TraceError( "曲名テクスチャの作成に失敗しました。[{0}]", str曲名 );
-                               this.stバー情報[ nバー番号 ].txパネル = null;
-                       }
-            
-        }
-        private void t決定時パネルの生成()
-        {
-            try
-            {
-                Bitmap bSongPanel = new Bitmap( 290, 360 );
-                Graphics graphics = Graphics.FromImage( bSongPanel );
-
-                Image imgSongPanel;
-                Image imgSongJacket;
-                Image imgCustomSongNameTexture;
-                Image imgCuttomArtistNameTexture;
-                bool bFoundTitleTexture = false;
-                bool bFoundArtistTexture = false;
-
-                graphics.PageUnit = GraphicsUnit.Pixel;
-                //graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
-
-                imgSongPanel = Image.FromFile( CSkin.Path( @"Graphics\6_base music panel.png" ) );
-                graphics.DrawImage( imgSongPanel, 0, 0, 290, 360 );
-
-                string strFolderPath = CDTXMania.stage選曲.r確定されたスコア.ファイル情報.フォルダの絶対パス;
-                string str曲名 = CDTXMania.stage選曲.r確定された曲.strタイトル;
-                string strアーティスト名 = CDTXMania.stage選曲.r確定されたスコア.譜面情報.アーティスト名;
-
-                #region[ 曲名とアーティスト名 ]
-                string strPath = ( strFolderPath + "TitleTexture.png" );
-                if( File.Exists( ( strPath ) ) )
-                {
-                    imgCustomSongNameTexture = Image.FromFile( strPath );
-                    graphics.DrawImage( imgCustomSongNameTexture, 0, 0, 290, 40 );
-                    CDTXMania.t安全にDisposeする( ref imgCustomSongNameTexture );
-                    bFoundTitleTexture = true;
-                }
-                if( File.Exists( ( strFolderPath + "ArtistTexture.png" ) ) )
-                {
-                    imgCuttomArtistNameTexture = Image.FromFile( strFolderPath + "ArtistTexture.png" );
-                    graphics.DrawImage( imgCuttomArtistNameTexture, 0, 327, 290, 34 );
-                    CDTXMania.t安全にDisposeする( ref imgCuttomArtistNameTexture );
-                    bFoundArtistTexture = true;
-                }
-
-                if( bFoundTitleTexture == false || bFoundArtistTexture == false )
-                {
-                    FontStyle fStyle = CDTXMania.ConfigIni.b選曲リストフォントを太字にする ? FontStyle.Bold : FontStyle.Regular;
-                    CPrivateFastFont prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 19, fStyle );
-                    Bitmap bmpSongName = new Bitmap( 1, 1 );
-                    if( bFoundTitleTexture == false )
-                    {
-                        bmpSongName = prvFont.DrawPrivateFont( str曲名, Color.White );
-                        //bmpSongName.Save( "test.png" );
-                        if( ( bmpSongName.Size.Width / 1.25f ) > 290 )
-                        {
-                            graphics.DrawImage( bmpSongName, 3f, 8f, ( ( bmpSongName.Size.Width / 1.25f ) * ( 285.0f / ( bmpSongName.Size.Width / 1.25f ) ) ), bmpSongName.Size.Height );
-                        }
-                        else
-                        {
-                            graphics.DrawImage( bmpSongName, 3f, 8f, ( bmpSongName.Size.Width / 1.25f ), bmpSongName.Size.Height );
-                        }
-                    }
-                    if( bFoundArtistTexture == false )
-                    {
-                        bmpSongName = prvFont.DrawPrivateFont( strアーティスト名, Color.White );
-                        if( ( bmpSongName.Size.Width / 1.25f ) > 290 )
-                        {
-                            graphics.DrawImage( bmpSongName, 290f - ( ( bmpSongName.Size.Width / 1.25f ) ), 328f, ( ( bmpSongName.Size.Width / 1.25f ) * ( 285.0f / ( bmpSongName.Size.Width / 1.25f ) ) ), bmpSongName.Size.Height );
-                        }
-                        else
-                        {
-                            graphics.DrawImage( bmpSongName, 290f - ( bmpSongName.Size.Width / 1.25f ), 328f, ( bmpSongName.Size.Width / 1.25f ), bmpSongName.Size.Height );
-                        }
-                    }
-                    CDTXMania.t安全にDisposeする( ref bmpSongName );
-                    //CDTXMania.t安全にDisposeする( ref prvFont );
-                }
-                #endregion
-                #region[ ジャケット画像 ]
-                if( File.Exists( strFolderPath + CDTXMania.stage選曲.r確定されたスコア.譜面情報.Preimage ) )
-                {
-                    imgSongJacket = Image.FromFile( strFolderPath + CDTXMania.stage選曲.r確定されたスコア.譜面情報.Preimage );
-                    graphics.DrawImage( imgSongJacket, 4, 45, 280, 280 );
-                    CDTXMania.t安全にDisposeする( ref imgSongJacket );
-                }
-                else if( File.Exists( CSkin.Path( @"Graphics\5_preimage default.png" ) ) )
-                {
-                    imgSongJacket = Image.FromFile( CSkin.Path( @"Graphics\5_preimage default.png" ) );
-                    graphics.DrawImage( imgSongJacket, 4, 45, 280, 280 );
-                    CDTXMania.t安全にDisposeする( ref imgSongJacket );
-                }
-                #endregion
-
-                this.txベース曲パネル = new CTexture( CDTXMania.app.Device, bSongPanel, CDTXMania.TextureFormat, false );
-
-                CDTXMania.t安全にDisposeする( ref bSongPanel );
-                CDTXMania.t安全にDisposeする( ref imgSongPanel );
-                CDTXMania.t安全にDisposeする( ref graphics );
-            }
-            catch( CTextureCreateFailedException )
-                       {
-                               Trace.TraceError( "曲名テクスチャの作成に失敗しました。" );
-                               this.txベース曲パネル = null;
-                       }
-            
-        }
-        
-        private CTexture tカスタム曲名の生成( int nバー番号 )
-        {
-            //t3D描画の仕様上左詰や右詰が面倒になってしまうので、
-            //パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。
-
-            Bitmap bCustomSongNameTexture;
-            Image imgCustomSongNameTexture;
-
-            Graphics graphics = Graphics.FromImage( new Bitmap( 1, 1 ) );
-
-            graphics.PageUnit = GraphicsUnit.Pixel;
-            bCustomSongNameTexture = new Bitmap( 240, 40 );
-
-            graphics = Graphics.FromImage( bCustomSongNameTexture );
-            graphics.DrawImage( bCustomSongNameTexture, 0, 0, 180, 25 );
-
-
-            string strPassAfter = "";
-            try
-            {
-                strPassAfter = this.stバー情報[ nバー番号 ].strDTXフォルダのパス;
-            }
-            catch
-            {
-                strPassAfter = "";
-            }
-
-            string strPath = ( strPassAfter + "TitleTexture.png" );
-            if( File.Exists( ( strPath ) ) )
-            {
-                imgCustomSongNameTexture = Image.FromFile( strPath );
-                imgCustomSongNameTexture = this.CreateNegativeImage( imgCustomSongNameTexture );
-                graphics.DrawImage( imgCustomSongNameTexture, 6, 1, 180, 25 );
-                imgCustomSongNameTexture.Dispose();
-            }
-            
-                       //CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txカスタム曲名テクスチャ );
-                       //CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txカスタムアーティスト名テクスチャ );
-            CTexture txTex = new CTexture( CDTXMania.app.Device, bCustomSongNameTexture, CDTXMania.TextureFormat, false );
-
-            graphics.Dispose();
-            bCustomSongNameTexture.Dispose();
-
-            return txTex;
-        }
-        private CTexture tカスタムアーティスト名テクスチャの生成( int nバー番号 )
-        {
-            //t3D描画の仕様上左詰や右詰が面倒になってしまうので、
-            //パネルにあらかじめ曲名とアーティスト名を埋め込んでおく。
-
-            Bitmap bCustomArtistNameTexture;
-            Image imgCustomArtistNameTexture;
-
-            Graphics graphics = Graphics.FromImage( new Bitmap( 1, 1 ) );
-
-            graphics.PageUnit = GraphicsUnit.Pixel;
-            bCustomArtistNameTexture = new Bitmap( 210, 27 );
-
-            graphics = Graphics.FromImage( bCustomArtistNameTexture );
-            graphics.DrawImage( bCustomArtistNameTexture, 0, 0, 196, 27 );
-
-
-            string strPassAfter = "";
-            try
-            {
-                strPassAfter = this.stバー情報[ nバー番号 ].strDTXフォルダのパス;
-            }
-            catch
-            {
-                strPassAfter = "";
-            }
-
-            string strPath = (strPassAfter + "ArtistTexture.png");
-            if (File.Exists((strPath)))
-            {
-                imgCustomArtistNameTexture = Image.FromFile(strPath);
-                imgCustomArtistNameTexture = this.CreateNegativeImage( imgCustomArtistNameTexture );
-                graphics.DrawImage(imgCustomArtistNameTexture, 16, 2, 196, 27);
-            }
-
-                       //CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txカスタム曲名テクスチャ );
-                       //CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txカスタムアーティスト名テクスチャ );
-            this.stバー情報[nバー番号].nアーティスト名テクスチャの長さdot = 210;
-            CTexture txTex = new CTexture( CDTXMania.app.Device, bCustomArtistNameTexture, CDTXMania.TextureFormat, false );
-
-            CDTXMania.t安全にDisposeする( ref graphics );
-            return txTex;
-        }
-
-        //DOBON.NETから拝借。
-        //http://dobon.net/vb/dotnet/graphics/drawnegativeimage.html
-        /// <summary>
-        /// 指定された画像からネガティブイメージを作成する
-        /// </summary>
-        /// <param name="img">基の画像</param>
-        /// <returns>作成されたネガティブイメージ</returns>
-        public Image CreateNegativeImage( Image img )
-        {
-            //ネガティブイメージの描画先となるImageオブジェクトを作成
-            Bitmap negaImg = new Bitmap( img.Width, img.Height );
-            //negaImgのGraphicsオブジェクトを取得
-            Graphics g = Graphics.FromImage( negaImg );
-
-            //ColorMatrixオブジェクトの作成
-            System.Drawing.Imaging.ColorMatrix cm =
-                new System.Drawing.Imaging.ColorMatrix();
-            //ColorMatrixの行列の値を変更して、色が反転されるようにする
-            cm.Matrix00 = -1;
-            cm.Matrix11 = -1;
-            cm.Matrix22 = -1;
-            cm.Matrix33 = 1;
-            cm.Matrix40 = cm.Matrix41 = cm.Matrix42 = cm.Matrix44 = 1;
-
-            //ImageAttributesオブジェクトの作成
-            System.Drawing.Imaging.ImageAttributes ia =
-                new System.Drawing.Imaging.ImageAttributes();
-            //ColorMatrixを設定する
-            ia.SetColorMatrix(cm);
-
-            //ImageAttributesを使用して色が反転した画像を描画
-            g.DrawImage( img,
-                new Rectangle( 0, 0, img.Width, img.Height ),
-                0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia );
-
-            //リソースを解放する
-            g.Dispose();
-
-            return negaImg;
-        }
                //-----------------
                #endregion
        }
index 9241aa0..c2e8162 100644 (file)
@@ -140,7 +140,8 @@ namespace DTXMania
                                        {
                                                setDef = new CSetDef( c曲リストノード.pathSetDefの絶対パス );
                                                nブロック番号inSetDef = c曲リストノード.SetDefのブロック番号;
-                                               n曲番号inブロック = CDTXMania.stage選曲.act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( c曲リストノード );
+                        if( CDTXMania.bXGRelease ) n曲番号inブロック = CDTXMania.stage選曲XG.act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( c曲リストノード );
+                        else n曲番号inブロック = CDTXMania.stage選曲GITADORA.act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( c曲リストノード );
                                        }
 
                                        foreach( CDTXMania.STPlugin stPlugin in CDTXMania.app.listプラグイン )
index 7e18c2b..711e5f7 100644 (file)
@@ -308,44 +308,7 @@ namespace DTXMania
             new ST達成率数字( '%', new Rectangle( 70, 62, 9, 16 ) ),
             new ST達成率数字( '.', new Rectangle( 79, 62, 3, 16 ) )
         };
-
-               private int n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す()
-               {
-                       int num = 0;
-                       int length = 0;
-                       for( int i = 0; i < 5; i++ )
-                       {
-                               if( ( this.str難易度ラベル[ i ] != null ) && ( this.str難易度ラベル[ i ].Length > 0 ) )
-                               {
-                                       length = this.str難易度ラベル[ i ].Length;
-                               }
-                               if( this.n現在選択中の曲の難易度 == i )
-                               {
-                                       break;
-                               }
-                               if( ( this.str難易度ラベル[ i ] != null ) && ( this.str難易度ラベル.Length > 0 ) )
-                               {
-                                       num += length + 2;
-                               }
-                       }
-                       if( num >= ( this.n難易度開始文字位置 + 55 ) ) // 0x24 -> 55
-                       {
-                               return 1;
-                       }
-                       if( ( num + length ) <= this.n難易度開始文字位置 )
-                       {
-                               return -1;
-                       }
-                       if( ( ( num + length ) - 1 ) >= ( this.n難易度開始文字位置 + 55 ) )    // 0x24 -> 55
-                       {
-                               return 1;
-                       }
-                       if( num < this.n難易度開始文字位置 )
-                       {
-                               return -1;
-                       }
-                       return 0;
-               }
+        
         private void t小文字表示(int x, int y, string str)
         {
             foreach (char ch in str)
@@ -419,285 +382,6 @@ namespace DTXMania
                     x += 8;
             }
         }
-        private void t決定アニメ_難易度パネルを生成する()
-        {
-            //ギター・ベースの場合、1枚の画像を2回読み込むことになるので回避。
-            Image imgPanel;
-            imgPanel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_base info panel.png" ) );
-            int[] arPanelRectX = new int[] { 164, 326, 650, 488 }; //Drums(使用しない), Guitar, Bass, GuitarF, BassF
-
-            #region[ ドラム ]
-            if( CDTXMania.ConfigIni.bDrums有効 && imgPanel != null )
-            {
-                Bitmap bPanel = new Bitmap( 155, 362 );
-                Graphics graphics = Graphics.FromImage( bPanel );
-
-                Image imgLabel;
-                Image imgLevelNum;
-
-                graphics.PageUnit = GraphicsUnit.Pixel;
-                graphics.DrawImage( imgPanel, new Rectangle( 0, 0, 155, 362 ), new Rectangle( 2, 2, 155, 362 ), GraphicsUnit.Pixel );
-
-                imgLabel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\6_difficulty panel.png" ) );
-                graphics.DrawImage( imgLabel, new Rectangle( 14, 31, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
-
-                imgLevelNum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
-
-                //XG譜面
-                if( !CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Drums )
-                {
-                    #region[ XG譜面 ]
-                    int n難易度整数;
-                    int n難易度小数;
-                    string str難易度;
-                    n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] / 10;
-                    n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] - ( n難易度整数 * 10 ) ) * 10;
-                    n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ];
-                    str難易度 = n難易度整数.ToString() + string.Format( "{0,2:00}", n難易度小数 );
-
-                    if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                    {
-                        for( int j = 0; j < this.st大文字位置.Length; j++ )
-                        {
-                            if( this.st大文字位置[ j ].ch == str難易度[ 0 ] )
-                            {
-                                Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ j ].pt.X, this.st大文字位置[ j ].pt.Y, 22, 40 );
-                                graphics.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                break;
-                            }
-                        }
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                        for( int k = 0; k < 2; k++ )
-                        {
-                            for( int j = 0; j < this.st小文字位置.Length; j++ )
-                            {
-                                if( this.st小文字位置[ j ].ch == str難易度[ k + 1 ] )
-                                {
-                                    Rectangle rc画像内の描画領域 = new Rectangle( this.st小文字位置[ j ].pt.X, this.st小文字位置[ j ].pt.Y, 12, 22 );
-                                    graphics.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                    break;
-                                }
-                            }
-                        }
-                    }
-                    else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                    {
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                        for( int k = 0; k < 2; k++ )
-                        {
-                            graphics.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), new Rectangle( 0, 40, 12, 22 ), GraphicsUnit.Pixel );
-                        }
-                    }
-                    #endregion
-                }
-                else
-                {
-                    #region[ CLASSIC譜面 ]
-                    string str難易度;
-                    str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] );
-
-                    if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                    {
-                        for( int j = 0; j < 2; j++ )
-                        {
-                            for( int k = 0; k < this.st大文字位置.Length; k++ )
-                            {
-                                if( this.st大文字位置[ k ].ch == str難易度[ j ] )
-                                {
-                                    Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ k ].pt.X, this.st大文字位置[ k ].pt.Y, 22, 40 );
-                                    graphics.DrawImage( imgLevelNum, new Rectangle( 94 + ( 22 * j ), 56, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                    break;
-                                }
-                            }
-                        }
-                    }
-                    else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                    {
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 94, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                        graphics.DrawImage( imgLevelNum, new Rectangle( 116, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                    }
-                    #endregion
-                }
-
-                this.tx決定後_難易度パネル1P = new CTexture( CDTXMania.app.Device, bPanel, CDTXMania.TextureFormat, false );
-
-                CDTXMania.t安全にDisposeする( ref bPanel );
-                CDTXMania.t安全にDisposeする( ref graphics );
-                CDTXMania.t安全にDisposeする( ref imgPanel );
-                CDTXMania.t安全にDisposeする( ref imgLabel );
-                CDTXMania.t安全にDisposeする( ref imgLevelNum );
-            }
-            #endregion
-            #region[ ギター・ベース ]
-            else if( CDTXMania.ConfigIni.bGuitar有効 && imgPanel != null )
-            {
-                for( int i = 1; i <= 2; i++ )
-                {
-                    Bitmap bPanel = new Bitmap( 155, 362 );
-                    Graphics gPanel = Graphics.FromImage( bPanel );
-
-                    Image imgLabel;
-                    Image imgLevelNum;
-
-                    gPanel.PageUnit = GraphicsUnit.Pixel;
-                    gPanel.DrawImage( imgPanel, new Rectangle( 0, 0, 155, 362 ), new Rectangle( arPanelRectX[ i + ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : -1 ) ], 2, 155, 362 ), GraphicsUnit.Pixel );
-
-                    imgLabel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\6_difficulty panel.png" ) );
-                    gPanel.DrawImage( imgLabel, new Rectangle( 14, 32, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
-
-                    imgLevelNum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
-
-                    //XG譜面
-                    if( !CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である[ i ] )
-                    {
-                        #region[ XG譜面 ]
-                        int n難易度整数;
-                        int n難易度小数;
-                        string str難易度;
-                        n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] / 10;
-                        n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] - ( n難易度整数 * 10 ) ) * 10;
-                        n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ];
-                        str難易度 = n難易度整数.ToString() + string.Format( "{0,2:00}", n難易度小数 );
-
-                        if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                        {
-                            for( int j = 0; j < this.st大文字位置.Length; j++ )
-                            {
-                                if( this.st大文字位置[ j ].ch == str難易度[ 0 ] )
-                                {
-                                    Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ j ].pt.X, this.st大文字位置[ j ].pt.Y, 22, 40 );
-                                    gPanel.DrawImage( imgLevelNum, new Rectangle( 84, 56, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                    break;
-                                }
-                            }
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                            for( int k = 0; k < 2; k++ )
-                            {
-                                for( int j = 0; j < this.st小文字位置.Length; j++ )
-                                {
-                                    if( this.st小文字位置[ j ].ch == str難易度[ k + 1 ] )
-                                    {
-                                        Rectangle rc画像内の描画領域 = new Rectangle( this.st小文字位置[ j ].pt.X, this.st小文字位置[ j ].pt.Y, 12, 22 );
-                                        gPanel.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-                        else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                        {
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
-                            for( int k = 0; k < 2; k++ )
-                            {
-                                gPanel.DrawImage( imgLevelNum, new Rectangle( 113 + ( 12 * k ), 74, 12, 22 ), new Rectangle( 0, 40, 12, 22 ), GraphicsUnit.Pixel );
-                            }
-                        }
-                        #endregion
-                    }
-                    else
-                    {
-                        #region[ CLASSIC譜面 ]
-                        string str難易度;
-                        str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] );
-
-                        if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
-                        {
-                            for( int j = 0; j < 2; j++ )
-                            {
-                                for( int k = 0; k < this.st大文字位置.Length; k++ )
-                                {
-                                    if( this.st大文字位置[ k ].ch == str難易度[ j ] )
-                                    {
-                                        Rectangle rc画像内の描画領域 = new Rectangle( this.st大文字位置[ k ].pt.X, this.st大文字位置[ k ].pt.Y, 22, 40 );
-                                        gPanel.DrawImage( imgLevelNum, new Rectangle( 94 + ( 22 * j ), 56, 22, 40 ), rc画像内の描画領域, GraphicsUnit.Pixel );
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-                        else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
-                        {
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 94, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                            gPanel.DrawImage( imgLevelNum, new Rectangle( 116, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
-                        }
-                        #endregion
-                    }
-
-                    if( i == 1 )
-                        this.tx決定後_難易度パネル1P = new CTexture( CDTXMania.app.Device, bPanel, CDTXMania.TextureFormat, false );
-                    else if( i == 2 )
-                        this.tx決定後_難易度パネル2P = new CTexture( CDTXMania.app.Device, bPanel, CDTXMania.TextureFormat, false );
-
-                    CDTXMania.t安全にDisposeする( ref bPanel );
-                    CDTXMania.t安全にDisposeする( ref gPanel );
-                    CDTXMania.t安全にDisposeする( ref imgLabel );
-                    CDTXMania.t安全にDisposeする( ref imgLevelNum );
-                }
-            }
-            #endregion
-            CDTXMania.t安全にDisposeする( ref imgPanel );
-        }
-        private Rectangle t指定したラベル名から難易度パネル画像の座標を取得する( string strラベル名 )
-        {
-            string strRawScriptFile;
-
-            Rectangle rect = new Rectangle( 0, 0, 130, 72 );
-
-            //ファイルの存在チェック
-            if( File.Exists( CSkin.Path( @"Script\difficult.dtxs" ) ) )
-            {
-                //スクリプトを開く
-                StreamReader reader = new StreamReader( CSkin.Path( @"Script\difficult.dtxs" ), Encoding.GetEncoding( "Shift_JIS" ) );
-                strRawScriptFile = reader.ReadToEnd();
-
-                strRawScriptFile = strRawScriptFile.Replace( Environment.NewLine, "\n" );
-                string[] delimiter = { "\n" };
-                string[] strSingleLine = strRawScriptFile.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );
-
-                for( int i = 0; i < strSingleLine.Length; i++ )
-                {
-                    if( strSingleLine[ i ].StartsWith( "//" ) )
-                        continue; //コメント行の場合は無視
-
-                    //まずSplit
-                    string[] arScriptLine = strSingleLine[ i ].Split( ',' );
-
-                    if( ( arScriptLine.Length >= 4 && arScriptLine.Length <= 5 ) == false )
-                        continue; //引数が4つか5つじゃなければ無視。
-
-                    if( arScriptLine[ 0 ] != "6" )
-                        continue; //使用するシーンが違うなら無視。
-
-                    if( arScriptLine.Length == 4 )
-                    {
-                        if( String.Compare( arScriptLine[ 1 ], strラベル名, true ) != 0 )
-                            continue; //ラベル名が違うなら無視。大文字小文字区別しない
-                    }
-                    else if( arScriptLine.Length == 5 )
-                    {
-                        if( arScriptLine[ 4 ] == "1" )
-                        {
-                            if( arScriptLine[ 1 ] != strラベル名 )
-                                continue; //ラベル名が違うなら無視。
-                        }
-                        else
-                        {
-                            if( String.Compare( arScriptLine[ 1 ], strラベル名, true ) != 0 )
-                                continue; //ラベル名が違うなら無視。大文字小文字区別しない
-                        }
-                    }
-                    rect.X = Convert.ToInt32( arScriptLine[ 2 ] );
-                    rect.Y = Convert.ToInt32( arScriptLine[ 3 ] );
-
-                    reader.Close();
-                    break;
-                }
-            }
-
-            return rect;
-        }
         private void t難易度カーソル描画( int x, int current )
         {
             if( this.tx難易度カーソル != null )
index 6561c37..c4fcbd7 100644 (file)
@@ -190,7 +190,7 @@ namespace DTXMania
                                        this.ct登場アニメ用[ i ] = new CCounter( -i * 10, 100, 3, CDTXMania.Timer );
 
                                this.nスクロールタイマ = CSound管理.rc演奏用タイマ.n現在時刻;
-                               CDTXMania.stage選曲.t選択曲変更通知();
+                               CDTXMania.stage選曲GITADORA.t選択曲変更通知();
                                
                                base.b初めての進行描画 = false;
                        }
@@ -798,6 +798,26 @@ namespace DTXMania
                 //this.tPuzzleFIFOTest();
             }
 
+            #region [ スクロール地点の計算(描画はCActSelectShowCurrentPositionにて行う) #27648 ]
+            int py;
+                       double d = 0;
+                       if ( nNumOfItems > 1 )
+                       {
+                               d = ( 336 - 8 ) / (double) ( nNumOfItems - 1 );
+                               py = (int) ( d * ( nCurrentPosition - 1 ) );
+                       }
+                       else
+                       {
+                               d = 0;
+                               py = 0;
+                       }
+                       int delta = (int) ( d * this.n現在のスクロールカウンタ / 100 );
+                       if ( py + delta <= 336 - 8 )
+                       {
+                               this.nスクロールバー相対y座標 = py + delta;
+                       }
+                       #endregion
+
             return 0;
         }
 
@@ -816,7 +836,7 @@ namespace DTXMania
         private CTexture txバー選択中枠;
         public STバー tx曲名バー;
         public ST選曲バー tx選曲バー;
-        private CTexture[] txTumbnail = new CTexture[ 15 ];
+        //private CTexture[] txTumbnail = new CTexture[ 15 ];
         private CTexture[] txMusicName = new CTexture[ 15 ];
         //private readonly Point[] ptバーの基本座標 = new Point[] {
         //    new Point(0x2c4, 5), new Point(0x272, 56),
index c47fac5..1bea1e6 100644 (file)
@@ -40,7 +40,6 @@ namespace DTXMania
                                        {
                                                nLevel = 99;
                                        }
-                                       this.n現在選択中の曲のレベル[ i ] = nLevel;
                                        this.n現在選択中の曲の最高ランク[ i ] = cスコア.譜面情報.最大ランク[ i ];
                                        this.b現在選択中の曲がフルコンボ[ i ] = cスコア.譜面情報.フルコンボ[ i ];
                                        this.db現在選択中の曲の最高スキル値[ i ] = cスコア.譜面情報.最大スキル[ i ];
@@ -79,32 +78,6 @@ namespace DTXMania
 
                public override void On活性化()
                {
-                       this.n現在選択中の曲の難易度 = 0;
-                       for( int i = 0; i < 3; i++ )
-                       {
-                               this.n現在選択中の曲のレベル[ i ] = 0;
-                this.db現在選択中の曲の曲別スキル値難易度毎[ i ] = 0.0;
-                               this.n現在選択中の曲の最高ランク[ i ] = (int)CScoreIni.ERANK.UNKNOWN;
-                               this.b現在選択中の曲がフルコンボ[ i ] = false;
-                               this.db現在選択中の曲の最高スキル値[ i ] = 0.0;
-                for (int j = 0; j < 5; j++)
-                {
-                    this.n現在選択中の曲のレベル難易度毎DGB[j][i] = 0;
-                    this.n現在選択中の曲のレベル小数点難易度毎DGB[j][i] = 0;
-                    this.db現在選択中の曲の最高スキル値難易度毎[j][i] = 0.0;
-                    this.n現在選択中の曲の最高ランク難易度毎[j][i] = (int)CScoreIni.ERANK.UNKNOWN;
-                    this.b現在選択中の曲がフルコンボ難易度毎[j][i] = false;
-                }
-                       }
-                       for( int j = 0; j < 5; j++ )
-                       {
-                               this.str難易度ラベル[ j ] = "";
-                this.n選択中の曲のレベル難易度毎[ j ] = 0;
-
-                this.db現在選択中の曲の曲別スキル値難易度毎[j] = 0.0;
-                       }
-                       this.n難易度開始文字位置 = 0;
-                       this.r直前の曲 = null;
                        base.On活性化();
                }
                public override void On非活性化()
@@ -312,7 +285,7 @@ namespace DTXMania
                     }
                     else if( CDTXMania.ConfigIni.bGuitar有効 )
                     {
-                        if( CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 == 100 )
+                        if( CDTXMania.stage選曲XG.act曲リスト.ct登場アニメ用[5].n現在の値 == 100 )
                         {
                             for( int i = 0; i < 5; i++ )
                             {
@@ -325,10 +298,10 @@ namespace DTXMania
                                         else n難易度ラベル合計値2P++;
                                     }
                                 }
-                    //            else if (CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE)
+                    //            else if (CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE)
                     //                flag = flag + 1;
 
-                    //            if (this.str難易度ラベル[i] != null || CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
+                    //            if (this.str難易度ラベル[i] != null || CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
                     //                this.tx難易度パネル.t2D描画(CDTXMania.app.Device, this.n本体X[2] + (143 * i), this.n本体Y[2] - y差分[i], new Rectangle(x差分[i], 0 + (98 * i), 132, 98));
                             }
                             for( int i = 0; i < 2; i++ )
@@ -347,13 +320,13 @@ namespace DTXMania
                     //        for (int i = 0; i < 5; i++)
                     //        {
                     //            var mat1 = Matrix.Identity;
-                    //            mat1 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
+                    //            mat1 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲XG.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
                     //            mat1 *= Matrix.RotationY(0.0f);
                     //            mat1 *= Matrix.RotationZ(0.0f);
                     //            mat1 *= Matrix.Translation(-228f + (i * 143f), 268f + y差分[i], 0f);
 
                     //            var mat2 = Matrix.Identity;
-                    //            mat2 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
+                    //            mat2 *= Matrix.RotationX(1.60f - (float)((float)CDTXMania.stage選曲XG.act曲リスト.ct登場アニメ用[5].n現在の値 * 0.016f));
                     //            mat2 *= Matrix.RotationY(0.0f);
                     //            mat2 *= Matrix.RotationZ(0.0f);
                     //            mat2 *= Matrix.Translation(-355f + (i * 143f), -235f + y差分[i], 0f);
@@ -412,7 +385,7 @@ namespace DTXMania
                                         this.t小文字表示(102 + this.n本体X[ j ] + (i * 143), 37 + this.n本体Y[j] - y差分[i], string.Format("{0,2:00}", n難易度小数[i]));
                                         this.tx難易度数字XG.t2D描画(CDTXMania.app.Device, 94 + this.n本体X[j] + (i * 143), 51 + this.n本体Y[j] - y差分[i], new Rectangle(145, 54, 7, 8));
                                     }
-                                    else if ((this.str難易度ラベル[i] != null && !this.b現在選択中の曲に譜面がある[i][j]) || CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
+                                    else if ((this.str難易度ラベル[i] != null && !this.b現在選択中の曲に譜面がある[i][j]) || CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
                                     {
                                         this.t大文字表示(73 + this.n本体X[j] + (i * 143), 19 + this.n本体Y[j] - y差分[i], ("-"));
                                         this.t小文字表示(102 + this.n本体X[j] + (i * 143), 37 + this.n本体Y[j] - y差分[i], ("--"));
@@ -641,11 +614,11 @@ namespace DTXMania
                             /*
                             if( this.tx決定後_難易度パネル2P == null && CDTXMania.ConfigIni.bGuitar有効 )
                                 this.t決定アニメ_難易度パネルを生成する();
-                            if( this.tx決定後_難易度パネル2P != null && CDTXMania.stage選曲.r確定されたスコア.譜面情報.b譜面がある.Bass )
+                            if( this.tx決定後_難易度パネル2P != null && CDTXMania.stage選曲XG.r確定されたスコア.譜面情報.b譜面がある.Bass )
                             {
-                                if( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 400 )
+                                if( CDTXMania.stage選曲XG.ct決定演出待機.n現在の値 < 400 )
                                 {
-                                    int nX = (int)( CDTXMania.stage選曲.ct決定演出待機.n現在の値 < 200 ? 100 * ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 / 200.0 ) : 100 - 100 * ( ( CDTXMania.stage選曲.ct決定演出待機.n現在の値 - 200.0 ) / 200.0 ) );
+                                    int nX = (int)( CDTXMania.stage選曲XG.ct決定演出待機.n現在の値 < 200 ? 100 * ( CDTXMania.stage選曲XG.ct決定演出待機.n現在の値 / 200.0 ) : 100 - 100 * ( ( CDTXMania.stage選曲XG.ct決定演出待機.n現在の値 - 200.0 ) / 200.0 ) );
                                     this.tx決定後_難易度パネル2P.t2D描画( CDTXMania.app.Device, 870 + nX, 162 );
                                 }
                                 else
@@ -767,43 +740,6 @@ namespace DTXMania
             new ST達成率数字( '.', new Rectangle( 79, 62, 3, 16 ) )
         };
 
-               private int n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す()
-               {
-                       int num = 0;
-                       int length = 0;
-                       for( int i = 0; i < 5; i++ )
-                       {
-                               if( ( this.str難易度ラベル[ i ] != null ) && ( this.str難易度ラベル[ i ].Length > 0 ) )
-                               {
-                                       length = this.str難易度ラベル[ i ].Length;
-                               }
-                               if( this.n現在選択中の曲の難易度 == i )
-                               {
-                                       break;
-                               }
-                               if( ( this.str難易度ラベル[ i ] != null ) && ( this.str難易度ラベル.Length > 0 ) )
-                               {
-                                       num += length + 2;
-                               }
-                       }
-                       if( num >= ( this.n難易度開始文字位置 + 55 ) ) // 0x24 -> 55
-                       {
-                               return 1;
-                       }
-                       if( ( num + length ) <= this.n難易度開始文字位置 )
-                       {
-                               return -1;
-                       }
-                       if( ( ( num + length ) - 1 ) >= ( this.n難易度開始文字位置 + 55 ) )    // 0x24 -> 55
-                       {
-                               return 1;
-                       }
-                       if( num < this.n難易度開始文字位置 )
-                       {
-                               return -1;
-                       }
-                       return 0;
-               }
         private void t小文字表示(int x, int y, string str)
         {
             foreach (char ch in str)
@@ -897,7 +833,7 @@ namespace DTXMania
                 graphics.DrawImage( imgPanel, new Rectangle( 0, 0, 155, 362 ), new Rectangle( 2, 2, 155, 362 ), GraphicsUnit.Pixel );
 
                 imgLabel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\6_difficulty panel.png" ) );
-                graphics.DrawImage( imgLabel, new Rectangle( 14, 31, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲XG.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
+                graphics.DrawImage( imgLabel, new Rectangle( 14, 31, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲XG.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲XG.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
 
                 imgLevelNum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
 
@@ -908,12 +844,12 @@ namespace DTXMania
                     int n難易度整数;
                     int n難易度小数;
                     string str難易度;
-                    n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] / 10;
-                    n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] - ( n難易度整数 * 10 ) ) * 10;
-                    n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ];
+                    n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ 0 ] / 10;
+                    n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ 0 ] - ( n難易度整数 * 10 ) ) * 10;
+                    n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ 0 ];
                     str難易度 = n難易度整数.ToString() + string.Format( "{0,2:00}", n難易度小数 );
 
-                    if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
+                    if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
                     {
                         for( int j = 0; j < this.st大文字位置.Length; j++ )
                         {
@@ -938,7 +874,7 @@ namespace DTXMania
                             }
                         }
                     }
-                    else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
+                    else if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
                     {
                         graphics.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
                         graphics.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
@@ -953,9 +889,9 @@ namespace DTXMania
                 {
                     #region[ CLASSIC譜面 ]
                     string str難易度;
-                    str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ 0 ] );
+                    str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ 0 ] );
 
-                    if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
+                    if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
                     {
                         for( int j = 0; j < 2; j++ )
                         {
@@ -970,7 +906,7 @@ namespace DTXMania
                             }
                         }
                     }
-                    else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
+                    else if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
                     {
                         graphics.DrawImage( imgLevelNum, new Rectangle( 94, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
                         graphics.DrawImage( imgLevelNum, new Rectangle( 116, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
@@ -1002,23 +938,23 @@ namespace DTXMania
                     gPanel.DrawImage( imgPanel, new Rectangle( 0, 0, 155, 362 ), new Rectangle( arPanelRectX[ i + ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : -1 ) ], 2, 155, 362 ), GraphicsUnit.Pixel );
 
                     imgLabel = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\6_difficulty panel.png" ) );
-                    gPanel.DrawImage( imgLabel, new Rectangle( 14, 32, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
+                    gPanel.DrawImage( imgLabel, new Rectangle( 14, 32, 130, 72 ), this.t指定したラベル名から難易度パネル画像の座標を取得する( CDTXMania.stage選曲XG.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲XG.n確定された曲の難易度 ] ), GraphicsUnit.Pixel );
 
                     imgLevelNum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
 
                     //XG譜面
-                    if( !CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である[ i ] )
+                    if( !CDTXMania.stage選曲XG.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である[ i ] )
                     {
                         #region[ XG譜面 ]
                         int n難易度整数;
                         int n難易度小数;
                         string str難易度;
-                        n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] / 10;
-                        n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] - ( n難易度整数 * 10 ) ) * 10;
-                        n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ];
+                        n難易度整数 = (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ i ] / 10;
+                        n難易度小数 = ( this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ i ] - ( n難易度整数 * 10 ) ) * 10;
+                        n難易度小数 += this.n現在選択中の曲のレベル小数点難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ i ];
                         str難易度 = n難易度整数.ToString() + string.Format( "{0,2:00}", n難易度小数 );
 
-                        if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
+                        if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
                         {
                             for( int j = 0; j < this.st大文字位置.Length; j++ )
                             {
@@ -1043,7 +979,7 @@ namespace DTXMania
                                 }
                             }
                         }
-                        else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
+                        else if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
                         {
                             gPanel.DrawImage( imgLevelNum, new Rectangle( 84, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
                             gPanel.DrawImage( imgLevelNum, new Rectangle( 105, 74, 9, 22 ), new Rectangle( 144, 40, 9, 22 ), GraphicsUnit.Pixel );
@@ -1058,9 +994,9 @@ namespace DTXMania
                     {
                         #region[ CLASSIC譜面 ]
                         string str難易度;
-                        str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲.n確定された曲の難易度 ][ i ] );
+                        str難易度 = string.Format( "{0,2:00}", (int)this.n現在選択中の曲のレベル難易度毎DGB[ CDTXMania.stage選曲XG.n確定された曲の難易度 ][ i ] );
 
-                        if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
+                        if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE )
                         {
                             for( int j = 0; j < 2; j++ )
                             {
@@ -1075,7 +1011,7 @@ namespace DTXMania
                                 }
                             }
                         }
-                        else if( CDTXMania.stage選曲.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
+                        else if( CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM )
                         {
                             gPanel.DrawImage( imgLevelNum, new Rectangle( 94, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
                             gPanel.DrawImage( imgLevelNum, new Rectangle( 116, 55, 22, 40 ), new Rectangle( 0, 0, 22, 40 ), GraphicsUnit.Pixel );
@@ -1097,66 +1033,6 @@ namespace DTXMania
             #endregion
             CDTXMania.t安全にDisposeする( ref imgPanel );
         }
-        private Rectangle t指定したラベル名から難易度パネル画像の座標を取得する( string strラベル名 )
-        {
-            string strRawScriptFile;
-
-            Rectangle rect = new Rectangle( 0, 0, 130, 72 );
-
-            //ファイルの存在チェック
-            if( File.Exists( CSkin.Path( @"Script\difficult.dtxs" ) ) )
-            {
-                //スクリプトを開く
-                StreamReader reader = new StreamReader( CSkin.Path( @"Script\difficult.dtxs" ), Encoding.GetEncoding( "Shift_JIS" ) );
-                strRawScriptFile = reader.ReadToEnd();
-
-                strRawScriptFile = strRawScriptFile.Replace( Environment.NewLine, "\n" );
-                string[] delimiter = { "\n" };
-                string[] strSingleLine = strRawScriptFile.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );
-
-                for( int i = 0; i < strSingleLine.Length; i++ )
-                {
-                    if( strSingleLine[ i ].StartsWith( "//" ) )
-                        continue; //コメント行の場合は無視
-
-                    //まずSplit
-                    string[] arScriptLine = strSingleLine[ i ].Split( ',' );
-
-                    if( ( arScriptLine.Length >= 4 && arScriptLine.Length <= 5 ) == false )
-                        continue; //引数が4つか5つじゃなければ無視。
-
-                    if( arScriptLine[ 0 ] != "6" )
-                        continue; //使用するシーンが違うなら無視。
-
-                    if( arScriptLine.Length == 4 )
-                    {
-                        if( String.Compare( arScriptLine[ 1 ], strラベル名, true ) != 0 )
-                            continue; //ラベル名が違うなら無視。大文字小文字区別しない
-                    }
-                    else if( arScriptLine.Length == 5 )
-                    {
-                        if( arScriptLine[ 4 ] == "1" )
-                        {
-                            if( arScriptLine[ 1 ] != strラベル名 )
-                                continue; //ラベル名が違うなら無視。
-                        }
-                        else
-                        {
-                            if( String.Compare( arScriptLine[ 1 ], strラベル名, true ) != 0 )
-                                continue; //ラベル名が違うなら無視。大文字小文字区別しない
-                        }
-                    }
-                    rect.X = Convert.ToInt32( arScriptLine[ 2 ] );
-                    rect.Y = Convert.ToInt32( arScriptLine[ 3 ] );
-
-                    reader.Close();
-                    break;
-                }
-            }
-
-            return rect;
-        }
-
                //-----------------
                #endregion
        }
index 0867b46..2144c76 100644 (file)
@@ -19,35 +19,6 @@ namespace DTXMania
 
                public CActSelect曲リストXG()
                {
-                       this.r現在選択中の曲 = null;
-                       this.n現在のアンカ難易度レベル = 0;
-                       base.b活性化してない = true;
-                       this.bIsEnumeratingSongs = false;
-
-            this.stパネルマップ = null;
-            this.stパネルマップ = new STATUSPANEL[ 12 ];         // yyagi: 以下、手抜きの初期化でスマン
-            string[] labels = new string[ 12 ] {
-            "DTXMANIA",     //0
-            "DEBUT",        //1
-            "NOVICE",       //2
-            "REGULAR",      //3
-            "EXPERT",       //4
-            "MASTER",       //5
-            "BASIC",        //6
-            "ADVANCED",     //7
-            "EXTREME",      //8
-            "RAW",          //9
-            "RWS",          //10
-            "REAL"          //11
-            };
-            int[] status = new int[ 12 ] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-
-            for( int i = 0; i < 12; i++ )
-            {
-                this.stパネルマップ[ i ] = default(STATUSPANEL);
-                this.stパネルマップ[ i ].status = status[i];
-                this.stパネルマップ[ i ].label = labels[i];
-            }
                }
         
                // CActivity 実装
@@ -57,40 +28,10 @@ namespace DTXMania
                        if( this.b活性化してる )
                                return;
 
-                       this.e楽器パート = E楽器パート.DRUMS;
-                       this.b登場アニメ全部完了 = false;
-                       this.n目標のスクロールカウンタ = 0;
-                       this.n現在のスクロールカウンタ = 0;
-                       this.nスクロールタイマ = -1;
-
-                       // フォント作成。
-                       // 曲リスト文字は2倍(面積4倍)でテクスチャに描画してから縮小表示するので、フォントサイズは2倍とする。
-
-                       FontStyle regular = FontStyle.Regular;
-                       if( CDTXMania.ConfigIni.b選曲リストフォントを斜体にする ) regular |= FontStyle.Italic;
-                       if( CDTXMania.ConfigIni.b選曲リストフォントを太字にする ) regular |= FontStyle.Bold;
-                       this.ft曲リスト用フォント = new Font(
-                               CDTXMania.ConfigIni.str選曲リストフォント,
-                               (float) ( CDTXMania.ConfigIni.n選曲リストフォントのサイズdot * 2 * Scale.Y ),              // 後でScale.Yを掛けないように直すこと(Config.ini初期値変更)
-                               regular,
-                               GraphicsUnit.Pixel
-                       );
             FontStyle fStyle = CDTXMania.ConfigIni.b選曲リストフォントを太字にする ? FontStyle.Bold : FontStyle.Regular;
             this.prvPanelFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18, fStyle );
 
-                       // 現在選択中の曲がない(=はじめての活性化)なら、現在選択中の曲をルートの先頭ノードに設定する。
-
-                       if( ( this.r現在選択中の曲 == null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) )
-                               this.r現在選択中の曲 = CDTXMania.Songs管理.list曲ルート[ 0 ];
-
-
-                       // バー情報を初期化する。
-
-                       this.tバーの初期化();
-
-                       base.On活性化();
-
-                       this.t選択曲が変更された(true);                // #27648 2012.3.31 yyagi 選曲画面に入った直後の 現在位置/全アイテム数 の表示を正しく行うため
+            base.On活性化();
                }
                public override void On非活性化()
                {
@@ -246,7 +187,7 @@ namespace DTXMania
                                        this.ct登場アニメ用[ i ] = new CCounter( -i * 10, 100, 3, CDTXMania.Timer );
 
                                this.nスクロールタイマ = CSound管理.rc演奏用タイマ.n現在時刻;
-                               CDTXMania.stage選曲.t選択曲変更通知();
+                               CDTXMania.stage選曲XG.t選択曲変更通知();
                                
                                base.b初めての進行描画 = false;
                        }
@@ -956,6 +897,26 @@ namespace DTXMania
                 }
                 #endregion
             }
+
+            #region [ スクロール地点の計算(描画はCActSelectShowCurrentPositionにて行う) #27648 ]
+            int py;
+                       double d = 0;
+                       if ( nNumOfItems > 1 )
+                       {
+                               d = ( 336 - 8 ) / (double) ( nNumOfItems - 1 );
+                               py = (int) ( d * ( nCurrentPosition - 1 ) );
+                       }
+                       else
+                       {
+                               d = 0;
+                               py = 0;
+                       }
+                       int delta = (int) ( d * this.n現在のスクロールカウンタ / 100 );
+                       if ( py + delta <= 336 - 8 )
+                       {
+                               this.nスクロールバー相対y座標 = py + delta;
+                       }
+                       #endregion
             
                        return 0;
                }
@@ -964,14 +925,7 @@ namespace DTXMania
 
                #region [ private ]
                //-----------------
-
-        /// <summary>
-               /// <para>SSTFファイル絶対パス(key)とサムネイル画像(value)との辞書。</para>
-               /// <para>アプリの起動から終了まで単純に増加を続け、要素が減ることはない。</para>
-        /// <para>正直この方法は好ましくないような気がする。</para>
-               /// </summary>
-               protected Dictionary<string, CTexture> dicThumbnail = new Dictionary<string, CTexture>();
-        protected ST中心点[] stマトリックス座標 = new ST中心点[] {
+        private ST中心点[] stマトリックス座標 = new ST中心点[] {
                        #region [ 実は円弧配置になってない。射影行列間違ってるよスターレインボウ見せる気かよ… ]
                        //-----------------        
             new ST中心点() { x = -940.0000f, y = 4f, z = 320f, rotY = 0.4150f },
@@ -993,7 +947,7 @@ namespace DTXMania
                };
         
                private CTexture txSongNotFound, txEnumeratingSongs;
-        private CTexture[] txTumbnail = new CTexture[ 15 ];
+        //private CTexture[] txTumbnail = new CTexture[ 15 ];
         private CTexture txクリアランプ;
         private CTexture tx選曲パネル;
         private CTexture tx選択されている曲の曲名;
@@ -1002,9 +956,9 @@ namespace DTXMania
         private CTexture txパネル;
         private CTexture txパネル帯;
         private CPrivateFastFont prvPanelFont;
-               protected STバー tx曲名バー;
-               protected STバー情報[] stバー情報 = new STバー情報[ 15 ];
-               protected ST選曲バー tx選曲バー;
+               //protected STバー tx曲名バー;
+               //protected STバー情報[] stバー情報 = new STバー情報[ 15 ];
+               //protected ST選曲バー tx選曲バー;
 
         //選択した後の演出用
         //難易度ラベル、レベル、オプション →ステータスパネルクラスへ
@@ -1014,7 +968,7 @@ namespace DTXMania
                public override void tバーの初期化()
                {
                        C曲リストノード song = this.r現在選択中の曲;
-                       
+
                        if( song == null )
                                return;
 
@@ -1057,7 +1011,7 @@ namespace DTXMania
                                song = this.r次の曲( song );
                        }
 
-                       this.n現在の選択行 = 7;
+            this.n現在の選択行 = 7;
                }
         private void tパスを指定してサムネイル画像を生成する( int nバー番号, string strDTXPath, Eバー種別 eType )
         {
@@ -1151,7 +1105,7 @@ namespace DTXMania
                 Graphics graphics = Graphics.FromImage( bSongPanel );
 
                 Image imgSongPanel;
-                Image imgSongJacket;
+                //Image imgSongJacket;
                 Image imgCustomSongNameTexture;
                 Image imgCuttomArtistNameTexture;
                 bool bFoundTitleTexture = false;
@@ -1251,9 +1205,10 @@ namespace DTXMania
                 CDTXMania.t安全にDisposeする( ref imgSongPanel );
                 CDTXMania.t安全にDisposeする( ref graphics );
             }
-            catch( CTextureCreateFailedException )
+            catch( Exception ex )
                        {
-                               Trace.TraceError( "曲名テクスチャの作成に失敗しました。[{0}]", str曲名 );
+                Trace.TraceError( ex.StackTrace );
+                               //Trace.TraceError( "曲名テクスチャの作成に失敗しました。[{0}]", str曲名 );
                                this.stバー情報[ nバー番号 ].txパネル = null;
                        }
             
index 6e0bddf..50b46b7 100644 (file)
@@ -406,103 +406,111 @@ namespace DTXMania
                         }
 
                         // #35411 2015.08.19 chnmr0 add ゴースト機能のためList chip 読み込み後楽器パート出現順インデックスを割り振る
-                        int[] curCount = new int[(int)E楽器パート.UNKNOWN];
-                        for (int i = 0; i < curCount.Length; ++i)
-                        {
-                            curCount[i] = 0;
-                        }
-                        foreach (CDTX.CChip chip in CDTXMania.DTX.listChip)
+                        try
                         {
-                            if (chip.e楽器パート != E楽器パート.UNKNOWN)
+                            int[] curCount = new int[(int)E楽器パート.UNKNOWN];
+                            for (int i = 0; i < curCount.Length; ++i)
                             {
-                                chip.n楽器パートでの出現順 = curCount[(int)chip.e楽器パート]++;
-                                if( CDTXMania.listTargetGhsotLag[ (int)chip.e楽器パート ] != null )
+                                curCount[i] = 0;
+                            }
+                            foreach (CDTX.CChip chip in CDTXMania.DTX.listChip)
+                            {
+                                if (chip.e楽器パート != E楽器パート.UNKNOWN)
                                 {
-                                    var lag = new STGhostLag();
-                                    lag.index = chip.n楽器パートでの出現順;
-                                    lag.nJudgeTime = chip.n発声時刻ms + CDTXMania.listTargetGhsotLag[ (int)chip.e楽器パート ][ chip.n楽器パートでの出現順 ];
-                                    lag.nLagTime = CDTXMania.listTargetGhsotLag[ (int)chip.e楽器パート ][ chip.n楽器パートでの出現順 ];
+                                    chip.n楽器パートでの出現順 = curCount[(int)chip.e楽器パート]++;
+                                    if( CDTXMania.listTargetGhsotLag[ (int)chip.e楽器パート ] != null )
+                                    {
+                                        var lag = new STGhostLag();
+                                        lag.index = chip.n楽器パートでの出現順;
+                                        lag.nJudgeTime = chip.n発声時刻ms + CDTXMania.listTargetGhsotLag[ (int)chip.e楽器パート ][ chip.n楽器パートでの出現順 ];
+                                        lag.nLagTime = CDTXMania.listTargetGhsotLag[ (int)chip.e楽器パート ][ chip.n楽器パートでの出現順 ];
 
-                                    this.stGhostLag[ (int)chip.e楽器パート ].Add( lag );
+                                        this.stGhostLag[ (int)chip.e楽器パート ].Add( lag );
+                                    }
                                 }
                             }
-                        }
                         
-                        //演奏記録をゴーストから逆生成
-                        for( int i = 0; i < 3; i++ )
-                        {
-                            int nNowCombo = 0;
-                            int nMaxCombo = 0;
-                            CDTXMania.listTargetGhostScoreData[ i ] = new CScoreIni.C演奏記録();
-                            if( this.stGhostLag[ i ] == null )
-                                continue;
-                            for( int j = 0; j < this.stGhostLag[ i ].Count; j++ )
+                            //演奏記録をゴーストから逆生成
+                            for( int i = 0; i < 3; i++ )
                             {
-                                int ghostLag = 128;
-                                ghostLag = this.stGhostLag[ i ][ j ].nLagTime;
-                                // 上位8ビットが1ならコンボが途切れている(ギターBAD空打ちでコンボ数を再現するための措置)
-                                if (ghostLag > 255)
-                                {
-                                    nNowCombo = 0;
-                                }
-                                ghostLag = (ghostLag & 255) - 128;
-
-                                if( ghostLag <= 127 )
+                                int nNowCombo = 0;
+                                int nMaxCombo = 0;
+                                CDTXMania.listTargetGhostScoreData[ i ] = new CScoreIni.C演奏記録();
+                                if( this.stGhostLag[ i ] == null )
+                                    continue;
+                                for( int j = 0; j < this.stGhostLag[ i ].Count; j++ )
                                 {
-                                    E判定 eJudge = this.e指定時刻からChipのJUDGEを返す(ghostLag, 0);
-
-                                    switch( eJudge )
+                                    int ghostLag = 128;
+                                    ghostLag = this.stGhostLag[ i ][ j ].nLagTime;
+                                    // 上位8ビットが1ならコンボが途切れている(ギターBAD空打ちでコンボ数を再現するための措置)
+                                    if (ghostLag > 255)
                                     {
-                                        case E判定.Perfect:
-                                        case E判定.XPerfect:
-                                            CDTXMania.listTargetGhostScoreData[ i ].nPerfect数++;
-                                            break;
-                                        case E判定.Great:
-                                            CDTXMania.listTargetGhostScoreData[ i ].nGreat数++;
-                                            break;
-                                        case E判定.Good:
-                                            CDTXMania.listTargetGhostScoreData[ i ].nGood数++;
-                                            break;
-                                        case E判定.Poor:
-                                            CDTXMania.listTargetGhostScoreData[ i ].nPoor数++;
-                                            break;
-                                        case E判定.Miss:
-                                        case E判定.Bad:
-                                            CDTXMania.listTargetGhostScoreData[ i ].nMiss数++;
-                                            break;
+                                        nNowCombo = 0;
                                     }
-                                    switch( eJudge )
+                                    ghostLag = (ghostLag & 255) - 128;
+
+                                    if( ghostLag <= 127 )
                                     {
-                                        case E判定.Perfect:
-                                        case E判定.Great:
-                                        case E判定.Good:
-                                        case E判定.XPerfect:
-                                            nNowCombo++;
-                                            CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 = Math.Max( nNowCombo, CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 );
-                                            break;
-                                        case E判定.Poor:
-                                        case E判定.Miss:
-                                        case E判定.Bad:
-                                            CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 = Math.Max( nNowCombo, CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 );
-                                            nNowCombo = 0;
-                                            break;
+                                        E判定 eJudge = this.e指定時刻からChipのJUDGEを返す(ghostLag, 0);
+
+                                        switch( eJudge )
+                                        {
+                                            case E判定.Perfect:
+                                            case E判定.XPerfect:
+                                                CDTXMania.listTargetGhostScoreData[ i ].nPerfect数++;
+                                                break;
+                                            case E判定.Great:
+                                                CDTXMania.listTargetGhostScoreData[ i ].nGreat数++;
+                                                break;
+                                            case E判定.Good:
+                                                CDTXMania.listTargetGhostScoreData[ i ].nGood数++;
+                                                break;
+                                            case E判定.Poor:
+                                                CDTXMania.listTargetGhostScoreData[ i ].nPoor数++;
+                                                break;
+                                            case E判定.Miss:
+                                            case E判定.Bad:
+                                                CDTXMania.listTargetGhostScoreData[ i ].nMiss数++;
+                                                break;
+                                        }
+                                        switch( eJudge )
+                                        {
+                                            case E判定.Perfect:
+                                            case E判定.Great:
+                                            case E判定.Good:
+                                            case E判定.XPerfect:
+                                                nNowCombo++;
+                                                CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 = Math.Max( nNowCombo, CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 );
+                                                break;
+                                            case E判定.Poor:
+                                            case E判定.Miss:
+                                            case E判定.Bad:
+                                                CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 = Math.Max( nNowCombo, CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 );
+                                                nNowCombo = 0;
+                                                break;
+                                        }
+                                        //Trace.WriteLine( eJudge.ToString() + " " + nNowCombo.ToString() + "Combo Max:" + nMaxCombo.ToString() + "Combo" );
                                     }
-                                    //Trace.WriteLine( eJudge.ToString() + " " + nNowCombo.ToString() + "Combo Max:" + nMaxCombo.ToString() + "Combo" );
+                                }
+                                //CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 = nMaxCombo;
+                                int nTotal = CDTXMania.DTX.n可視チップ数.Drums;
+                                if( i == 1 ) nTotal = CDTXMania.DTX.n可視チップ数.Guitar;
+                                else if( i == 2 ) nTotal = CDTXMania.DTX.n可視チップ数.Bass;
+                                if( CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania )
+                                {
+                                    CDTXMania.listTargetGhostScoreData[ i ].db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す( nTotal, CDTXMania.listTargetGhostScoreData[ i ].nPerfect数, CDTXMania.listTargetGhostScoreData[ i ].nGreat数, CDTXMania.listTargetGhostScoreData[ i ].nGood数, CDTXMania.listTargetGhostScoreData[ i ].nPoor数, CDTXMania.listTargetGhostScoreData[ i ].nMiss数, (E楽器パート)i, CDTXMania.listTargetGhostScoreData[ i ].bAutoPlay );
+                                }
+                                else
+                                {
+                                    CDTXMania.listTargetGhostScoreData[ i ].db演奏型スキル値 = CScoreIni.tXG演奏型スキルを計算して返す( nTotal, CDTXMania.listTargetGhostScoreData[ i ].nPerfect数, CDTXMania.listTargetGhostScoreData[ i ].nGreat数, CDTXMania.listTargetGhostScoreData[ i ].nGood数, CDTXMania.listTargetGhostScoreData[ i ].nPoor数, CDTXMania.listTargetGhostScoreData[ i ].nMiss数, CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数, (E楽器パート)i, CDTXMania.listTargetGhostScoreData[ i ].bAutoPlay );
                                 }
                             }
-                            //CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数 = nMaxCombo;
-                            int nTotal = CDTXMania.DTX.n可視チップ数.Drums;
-                            if( i == 1 ) nTotal = CDTXMania.DTX.n可視チップ数.Guitar;
-                            else if( i == 2 ) nTotal = CDTXMania.DTX.n可視チップ数.Bass;
-                            if( CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania )
-                            {
-                                CDTXMania.listTargetGhostScoreData[ i ].db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す( nTotal, CDTXMania.listTargetGhostScoreData[ i ].nPerfect数, CDTXMania.listTargetGhostScoreData[ i ].nGreat数, CDTXMania.listTargetGhostScoreData[ i ].nGood数, CDTXMania.listTargetGhostScoreData[ i ].nPoor数, CDTXMania.listTargetGhostScoreData[ i ].nMiss数, (E楽器パート)i, CDTXMania.listTargetGhostScoreData[ i ].bAutoPlay );
-                            }
-                            else
-                            {
-                                CDTXMania.listTargetGhostScoreData[ i ].db演奏型スキル値 = CScoreIni.tXG演奏型スキルを計算して返す( nTotal, CDTXMania.listTargetGhostScoreData[ i ].nPerfect数, CDTXMania.listTargetGhostScoreData[ i ].nGreat数, CDTXMania.listTargetGhostScoreData[ i ].nGood数, CDTXMania.listTargetGhostScoreData[ i ].nPoor数, CDTXMania.listTargetGhostScoreData[ i ].nMiss数, CDTXMania.listTargetGhostScoreData[ i ].n最大コンボ数, (E楽器パート)i, CDTXMania.listTargetGhostScoreData[ i ].bAutoPlay );
-                            }
                         }
+                        catch( Exception ex )
+                        {
+                            Trace.TraceError( "ゴーストデータの読み込みに失敗しました。" + ex.StackTrace );
+                        }
 
                                                span = (TimeSpan) ( DateTime.Now - timeBeginLoad );
                                                Trace.TraceInformation( "DTX読込所要時間:           {0}", span.ToString() );
index 68ace28..b6df350 100644 (file)
@@ -646,7 +646,12 @@ namespace DTXMania
                                {                                                                                                               // → songs.db等の書き込み時だと音切れするっぽい
                                        actEnumSongs.On非活性化();
                                        EnumSongs.SongListEnumCompletelyDone();
-                                       CDTXMania.stage選曲.bIsEnumeratingSongs = false;
+                    if( CDTXMania.bXGRelease ) {
+                                           CDTXMania.stage選曲XG.bIsEnumeratingSongs = false;
+                    } else {
+                                           CDTXMania.stage選曲GITADORA.bIsEnumeratingSongs = false;
+                    }
+
                                }
                                #region [ 曲検索スレッドの起動/終了 ]                                       // ここに"Enumerating Songs..."表示を集約
                                if ( !CDTXMania.bコンパクトモード )
@@ -668,7 +673,8 @@ namespace DTXMania
                                                                 !EnumSongs.IsSongListEnumStarted )
                                                        {
                                                                actEnumSongs.On活性化();
-                                                               CDTXMania.stage選曲.bIsEnumeratingSongs = true;
+                                if( CDTXMania.bXGRelease ) CDTXMania.stage選曲XG.bIsEnumeratingSongs = true;
+                                                               else CDTXMania.stage選曲GITADORA.bIsEnumeratingSongs = true;
                                                                EnumSongs.Init( CDTXMania.Songs管理.listSongsDB, CDTXMania.Songs管理.nSongsDBから取得できたスコア数 );   // songs.db情報と、取得した曲数を、新インスタンスにも与える
                                                                EnumSongs.StartEnumFromDisk();          // 曲検索スレッドの起動・開始
                                                                if ( CDTXMania.Songs管理.nSongsDBから取得できたスコア数 == 0 )     // もし初回起動なら、検索スレッドのプライオリティをLowestでなくNormalにする
@@ -710,10 +716,12 @@ namespace DTXMania
                                                        if ( EnumSongs.IsSongListEnumerated )
                                                        {
                                                                actEnumSongs.On非活性化();
-                                                               CDTXMania.stage選曲.bIsEnumeratingSongs = false;
+                                if( CDTXMania.bXGRelease ) CDTXMania.stage選曲XG.bIsEnumeratingSongs = false;
+                                                               else CDTXMania.stage選曲GITADORA.bIsEnumeratingSongs = false;
 
                                                                bool bRemakeSongTitleBar = ( r現在のステージ.eステージID == CStage.Eステージ.選曲 ) ? true : false;
-                                                               CDTXMania.stage選曲.Refresh( EnumSongs.Songs管理, bRemakeSongTitleBar );
+                                if( CDTXMania.bXGRelease ) CDTXMania.stage選曲XG.Refresh( EnumSongs.Songs管理, bRemakeSongTitleBar );
+                                                               else CDTXMania.stage選曲GITADORA.Refresh( EnumSongs.Songs管理, bRemakeSongTitleBar );
                                                                EnumSongs.SongListEnumCompletelyDone();
                                                        }
                                                        #endregion
index cee61c8..b723b55 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
index 9c5e5f3..8c3d955 100644 (file)
Binary files a/実行時フォルダ/dll/FDK.dll and b/実行時フォルダ/dll/FDK.dll differ