Develop and Download Open Source Software

Browse Subversion Repository

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

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

revision 431 by kairera0467, Thu Feb 12 13:42:11 2015 UTC revision 494 by kairera0467, Fri Oct 2 06:42:35 2015 UTC
# Line 604  namespace DTXMania Line 604  namespace DTXMania
604                          if( this.b活性化してない )                          if( this.b活性化してない )
605                                  return;                                  return;
606    
607              this.txスキル数字 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\ScreenSelect skill number on list.png" ), false );              this.tx選曲パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_image_panel_guitar.png" ) );
             this.tx選曲パネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_image_panel_guitar.png"));  
608    
609              if ( this.tx選曲パネル == null || CDTXMania.ConfigIni.bDrums有効 )              if ( this.tx選曲パネル == null || CDTXMania.ConfigIni.bDrums有効 )
610                  this.tx選曲パネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_image_panel.png"));                  this.tx選曲パネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_image_panel.png"));
611    
612              this.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_music panel.png"));              this.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_music panel.png"));
613              this.tx帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_backpanel.png" ) );              //this.tx帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_backpanel.png" ) );
614              this.tx色帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_ColorBar.png" ) );              this.txパネル帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_Backbar.png" ) );
615              this.txランプ用帯 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_lamppanel.png" ));              //this.tx色帯 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\5_ColorBar.png" ) );
616                //this.txランプ用帯 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_lamppanel.png" ));
617                            
618              this.txクリアランプ = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_Clearlamp.png") );              this.txクリアランプ = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_Clearlamp.png") );
619              #region[ テクスチャの復元 ]              #region[ テクスチャの復元 ]
# Line 738  namespace DTXMania Line 738  namespace DTXMania
738              }              }
739              #endregion              #endregion
740    
             CDTXMania.t安全にDisposeする( ref this.txスキル数字 );  
741                          CDTXMania.t安全にDisposeする( ref this.txEnumeratingSongs );                          CDTXMania.t安全にDisposeする( ref this.txEnumeratingSongs );
742                          CDTXMania.t安全にDisposeする( ref this.txSongNotFound );                          CDTXMania.t安全にDisposeする( ref this.txSongNotFound );
743              CDTXMania.t安全にDisposeする( ref this.tx選曲パネル );              CDTXMania.t安全にDisposeする( ref this.tx選曲パネル );
744              CDTXMania.t安全にDisposeする( ref this.txパネル );              CDTXMania.t安全にDisposeする( ref this.txパネル );
745              CDTXMania.t安全にDisposeする( ref this.txクリアランプ );              CDTXMania.t安全にDisposeする( ref this.txクリアランプ );
746              CDTXMania.t安全にDisposeする( ref this.tx帯 );              //CDTXMania.t安全にDisposeする( ref this.tx帯 );
747              CDTXMania.t安全にDisposeする( ref this.tx色帯 );              CDTXMania.t安全にDisposeする( ref this.txパネル帯 );
748              CDTXMania.t安全にDisposeする( ref this.txランプ用帯 );              //CDTXMania.t安全にDisposeする( ref this.tx色帯 );
749                //CDTXMania.t安全にDisposeする( ref this.txランプ用帯 );
750    
751                          base.OnManagedリソースの解放();                          base.OnManagedリソースの解放();
752                  }                  }
# Line 1052  namespace DTXMania Line 1052  namespace DTXMania
1052                                  return 0;                                  return 0;
1053                          }                          }
1054              var bar = SlimDX.Matrix.Identity;              var bar = SlimDX.Matrix.Identity;
1055    
1056              var barL = SlimDX.Matrix.Identity;              var barL = SlimDX.Matrix.Identity;
1057              bar *= SlimDX.Matrix.RotationY(-0.415f);  
1058              barL *= SlimDX.Matrix.RotationY(0.415f);              Matrix[] barC = new Matrix[2];
1059              bar *= SlimDX.Matrix.Translation(540f, 20f, -24f);              Matrix[] barLa = new Matrix[2];
1060              barL *= SlimDX.Matrix.Translation(-540f, 20f, -24f);              Matrix[] barU = new Matrix[2];
1061              bar *= SlimDX.Matrix.Scaling(1.0f, 0.65f, 1.0f);  
1062              barL *= SlimDX.Matrix.Scaling(1.0f, 0.65f, 1.0f);              #region[ビルボードの実験コード。「ここでするなよ...」とか言わないであげて...]
1063                //Z座標はプラス方向にすると動かなくなるので注意。
1064              this.tx帯.t3D描画(CDTXMania.app.Device, bar);   //右の帯。              
1065              this.tx帯.t3D描画(CDTXMania.app.Device, barL);   //右の帯。              //共通
1066              this.tx色帯.n透明度 = 155 + this.ct登場アニメ用[10].n現在の値;              Vector3 VecCam = new Vector3( 0.0f, 0.0f, -1.0f ); //Zをマイナス方向にしないと描画されない(?)
1067              this.tx色帯.t3D描画( CDTXMania.app.Device, bar );              Vector3 VecTarg = new Vector3( 0.0f, 0.0f, 0.0f );
1068              this.tx色帯.t3D描画( CDTXMania.app.Device, barL );              Vector3 VecUp = new Vector3( 0.0f, 1.0f, 0.0f );
1069    
1070                bar *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1071                barL *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1072    
1073                bar *= SlimDX.Matrix.RotationYawPitchRoll( -0.40f, 0.0f, 0.0f ); ////通常のRotationと何が違うのかわからない(Axisから倍率を抜いただけ?)
1074                barL *= SlimDX.Matrix.RotationYawPitchRoll( 0.40f, 0.0f, 0.0f );
1075    
1076    
1077                //bar *= SlimDX.Matrix.PerspectiveFovLH( C変換.DegreeToRadian(45), 1280.0f/720.0f, 1.0f, 500000.0f ); //カメラの視野角など調整
1078                
1079                //ワールド変換とか意味ワカンネ
1080                #endregion
1081    
1082                //bar *= SlimDX.Matrix.RotationY(-0.415f);
1083                //barL *= SlimDX.Matrix.RotationY(0.415f);
1084                //bar *= SlimDX.Matrix.Translation(540f, 20f, -24f);
1085                bar *= SlimDX.Matrix.Translation(600f, 121f, 190f);
1086                barL *= SlimDX.Matrix.Translation(-600f, 121f, 190f);
1087                //barL *= SlimDX.Matrix.Translation(-540f, 20f, -24f);
1088                //bar *= SlimDX.Matrix.Scaling(1.0f, 0.65f, 1.0f);
1089                //bar *= SlimDX.Matrix.Scaling( 1.0f, 1.0f, 1.0f );
1090                //barL *= SlimDX.Matrix.Scaling(1.0f, 0.65f, 1.0f);
1091    
1092                //bar *= SlimDX.Matrix.RotationAxis( new Vector3( 0f, -0.415f, 0f ), 0.5f );
1093    
1094                for( int i = 0; i < 2; i++ )
1095                {
1096                    float fRate = 1.0f;
1097                    if( i == 0 ) fRate = -1.0f;
1098    
1099                    barC[ i ] = Matrix.Identity;
1100                    barC[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1101                    barC[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( -0.41f * fRate, 0.0f, 0.0f );
1102                    barC[ i ] *= SlimDX.Matrix.Translation( 592f * fRate, 148f, 186f);
1103    
1104                    barLa[ i ] = Matrix.Identity;
1105                    barLa[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1106                    barLa[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( -0.41f * fRate, 0.0f, 0.0f );
1107                    barLa[ i ] *= SlimDX.Matrix.Translation( 592f * fRate, 100f, 186f);
1108    
1109                    barU[ i ] = Matrix.Identity;
1110                    barU[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1111                    barU[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( -0.41f * fRate, 0.0f, 0.0f );
1112                    barU[ i ] *= SlimDX.Matrix.Translation( 592f * fRate, -106f, 186f);
1113                }
1114    
1115    
1116                this.txパネル帯.t3D描画( CDTXMania.app.Device, barU[ 0 ], new Rectangle( 2, 74, 1000, 30 ) );
1117                this.txパネル帯.t3D描画( CDTXMania.app.Device, barU[ 1 ], new Rectangle( 2, 74, 1000, 30 ) );
1118                this.txパネル帯.t3D描画( CDTXMania.app.Device, bar, new Rectangle( 2, 38, 1000, 30 ) );   //右の帯。
1119                this.txパネル帯.t3D描画( CDTXMania.app.Device, barL, new Rectangle( 2, 38, 1000, 30 ) );   //左の帯。
1120                //this.tx帯.t3D描画(CDTXMania.app.Device, barL);   //左の帯。
1121                //this.txパネル帯.n透明度 = 155 + this.ct登場アニメ用[10].n現在の値;
1122                this.txパネル帯.t3D描画( CDTXMania.app.Device, barC[ 0 ], new Rectangle( 2, 2, 1000, 30 ) );
1123                this.txパネル帯.t3D描画( CDTXMania.app.Device, barC[ 1 ], new Rectangle( 2, 2, 1000, 30 ) );
1124    
1125                          #region [ デバッグ補助 ]                          #region [ デバッグ補助 ]
1126                          //-----------------                          //-----------------
# Line 1089  namespace DTXMania Line 1145  namespace DTXMania
1145              //-----------------              //-----------------
1146                          #endregion                          #endregion
1147    
1148                #region[ ジャケット画像のMatrix配列 ]
1149                //パネル1枚1枚にMatrixを割り当ててみる。
1150                //とりあえず構造の最適化無しで地味に作ってみる。
1151                Matrix[] matSongPanel = new SlimDX.Matrix[ 13 ];
1152                Matrix[] matJacket = new SlimDX.Matrix[ 13 ];
1153                ST中心点[] st3D座標 = new ST中心点[] {
1154                            #region [ 計算なんてしていない。 ]
1155                            //-----------------        
1156                    new ST中心点() { x = -820.0000f, y = 8f, z = 264f, rotY = 0.410f },
1157                            new ST中心点() { x = -666.0000f, y = 8f, z = 198f, rotY = 0.410f },
1158                    new ST中心点() { x = -506.0000f, y = 8f, z = 127f, rotY = 0.410f },
1159                            new ST中心点() { x = -350.0000f, y = 8f, z = 60f, rotY = 0.410f },
1160                            new ST中心点() { x = -194.0000f, y = 8f, z = -6f, rotY = 0.410f },
1161                            new ST中心点() { x = 6.00002622683f, y = 2f, z = 0f, rotY = 0f },
1162                                new ST中心点() { x = 208.0000f, y = 8f, z = 0f, rotY = -0.410f },
1163                    new ST中心点() { x = 362.0000f, y = 8f, z = 66f, rotY = -0.410f },
1164                    new ST中心点() { x = 518.0000f, y = 8f, z = 132f, rotY = -0.410f },
1165                    new ST中心点() { x = 676.0000f, y = 8f, z = 200.0f, rotY = -0.410f },
1166                    new ST中心点() { x = 837.0000f, y = 8f, z = 270.0f, rotY = -0.410f },
1167                    new ST中心点() { x = 1200.0000f, y = 8f, z = 450f, rotY = -0.410f },
1168                    new ST中心点() { x = 1500.0000f, y = 8f, z = -289.5575f, rotY = -0.9279888f },
1169                    new ST中心点() { x = 1500.0000f, y = 8f, z = -289.5575f, rotY = -0.9279888f },
1170                                //-----------------
1171                            #endregion
1172                        };
1173    
1174                for( int i = 0; i < 13; i++ )
1175                {
1176                    matSongPanel[ i ] = Matrix.Identity;
1177                    matSongPanel[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1178                    matSongPanel[ i ] *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);
1179                    matSongPanel[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );
1180                    matSongPanel[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z );
1181    
1182    
1183                    matJacket[ i ] = Matrix.Identity;
1184                    matJacket[ i ] *= SlimDX.Matrix.LookAtLH( VecCam, VecTarg, VecUp );
1185                    //matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f ); //ジャケット画像は計算順序を変える。
1186    
1187                    //matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, 0f, st3D座標[ i ].z );
1188                }
1189                #endregion
1190    
1191    
1192    
1193                          if( !this.b登場アニメ全部完了 )                          if( !this.b登場アニメ全部完了 )
1194                          {                          {
# Line 1106  namespace DTXMania Line 1206  namespace DTXMania
1206                              //-----------------                              //-----------------
1207                              if( this.stバー情報[ nパネル番号 ].txパネル != null )                              if( this.stバー情報[ nパネル番号 ].txパネル != null )
1208                              {                              {
1209                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1210                                  mat *= SlimDX.Matrix.Scaling( 0.62f, 0.88f, 1.0f );                                  //mat *= SlimDX.Matrix.Scaling( 0.62f, 0.88f, 1.0f );
1211                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[ i ].rotY + (this.stマトリックス座標[ i ].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[ i ].rotY + (this.stマトリックス座標[ i ].rotY - this.stマトリックス座標[i].rotY));
1212                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1213                                      ( this.stマトリックス座標[ i ].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    ( this.stマトリックス座標[ i ].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1214                                      ( this.stマトリックス座標[ i ].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  //    ( this.stマトリックス座標[ i ].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1215                                      ( this.stマトリックス座標[ i ].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    ( this.stマトリックス座標[ i ].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1216                                  this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);                                  //this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);
1217    
1218                                    this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );
1219                              }                              }
1220                              if( this.txTumbnail[nパネル番号] != null )                              if( this.txTumbnail[nパネル番号] != null )
1221                              {                              {
1222                                  float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;                                  float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;
1223                                  float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;                                  float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;
1224                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1225                                  mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);                                  //mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);
1226                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1227                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1228                                      (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1229                                      (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率 - 1f,                                  //    (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率 - 1f,
1230                                      (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1231                                  this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);                                  //this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);
1232                                    
1233                                    matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );
1234                                    matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );
1235                                    matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z );
1236    
1237                                    this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] );
1238                              }                              }
1239                              //-----------------                              //-----------------
1240                              #endregion                              #endregion
# Line 1165  namespace DTXMania Line 1273  namespace DTXMania
1273                                                          // (A) 選択曲パネルを描画。                                                          // (A) 選択曲パネルを描画。
1274                              if( this.tx選曲パネル != null )                              if( this.tx選曲パネル != null )
1275                                  this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 531, 243, new Rectangle( 74, 80, 230, 230 ) ); //真ん中の部分は別々に描画。                                  this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 531, 243, new Rectangle( 74, 80, 230, 230 ) ); //真ん中の部分は別々に描画。
1276                              if( this.txランプ用帯 != null )                              if( this.txパネル帯 != null )
1277                              {                              {
1278                                  this.txランプ用帯.t3D描画( CDTXMania.app.Device, bar );   //右の帯。                                  this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 0 ], new Rectangle( 2, 110, 1000, 20 ) );
                                 this.txランプ用帯.t3D描画( CDTXMania.app.Device, barL );   //右の帯。  
1279                              }                              }
1280                              #region [ バーテクスチャを描画。]                              #region [ バーテクスチャを描画。]
1281                                                          //-----------------                                                          //-----------------
1282                              if( this.txパネル != null )                              if( this.txパネル != null )
1283                              {                              {
1284                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1285                                  mat *= SlimDX.Matrix.Scaling(0.8f, 0.8f, 1.0f);                                  //mat *= SlimDX.Matrix.Scaling(0.8f, 0.8f, 1.0f);
1286                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1287                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1288                                      (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1289                                      (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1290                                      (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1291                                  this.txパネル.t3D描画(CDTXMania.app.Device, mat);                                  //this.txパネル.t3D描画(CDTXMania.app.Device, mat);
1292                              }                              }
1293                              if( this.tx選曲パネル != null )                              if( this.tx選曲パネル != null )
1294                                  this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 457, 163, new Rectangle( 0, 0, 363, 368 ) );                                  this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 457, 163, new Rectangle( 0, 0, 363, 368 ) );
# Line 1243  namespace DTXMania Line 1350  namespace DTXMania
1350                                                  else                                                  else
1351                                                  {                                                  {
1352                                                          // (B) その他のパネルの描画。                                                          // (B) その他のパネルの描画。
1353                                if( this.txパネル帯 != null )
1354                                    this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 1 ], new Rectangle( 2, 110, 1000, 20 ) );
1355    
1356                              #region [ ジャケット画像の描画 ]                              #region [ ジャケット画像の描画 ]
1357                              //-----------------                              //-----------------
1358                                //if( this.stバー情報[ nパネル番号 ].txパネル != null )
1359                                //{
1360                                //    var mat = SlimDX.Matrix.Identity;
1361                                //    mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);
1362                                //    mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1363                                //    mat *= SlimDX.Matrix.Translation(
1364                                //        (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1365                                //        (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1366                                //        (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1367                                //    this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);
1368                                //}
1369                                //if( this.txTumbnail[ nパネル番号 ] != null )
1370                                //{
1371                                //    float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;
1372                                //    float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;
1373                                //    var mat = SlimDX.Matrix.Identity;
1374                                //    mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);
1375                                //    mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1376                                //    mat *= SlimDX.Matrix.Translation(
1377                                //        (this.stマトリックス座標[ i ].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1378                                //        (this.stマトリックス座標[ i ].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1379                                //        (this.stマトリックス座標[ i ].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1380                                //    this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);
1381                                //}
1382                              if( this.stバー情報[ nパネル番号 ].txパネル != null )                              if( this.stバー情報[ nパネル番号 ].txパネル != null )
1383                              {                              {
1384                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1385                                  mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);                                  //mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);
1386                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1387                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1388                                      (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1389                                      (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1390                                      (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1391                                  this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);                                  //this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);
1392    
1393                                    this.stバー情報[nパネル番号].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );
1394                              }                              }
1395                              if( this.txTumbnail[ nパネル番号 ] != null )                              if( this.txTumbnail[nパネル番号] != null )
1396                              {                              {
1397                                  float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;                                  float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width ;
1398                                  float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;                                  float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;
1399                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1400                                  mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);                                  //mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);
1401                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1402                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1403                                      (this.stマトリックス座標[ i ].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1404                                      (this.stマトリックス座標[ i ].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1405                                      (this.stマトリックス座標[ i ].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1406                                  this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);                                  //this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);
1407    
1408                                    matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );
1409                                    matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );
1410                                    matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z );
1411                                    //matJacket[ i ] *= SlimDX.Matrix.Translation( fX, fY - 1.5f, fZ );
1412    
1413                                    this.txTumbnail[nパネル番号].t3D描画( CDTXMania.app.Device, matJacket[ i ] );
1414                              }                              }
1415                              //-----------------                              //-----------------
1416                              #endregion                              #endregion
1417                                                          #region [ タイトル名テクスチャを描画。]                                                          #region [ タイトル名テクスチャを描画。]
1418                                                          //-----------------                                                          //-----------------
                             if( this.txランプ用帯 != null )  
                                 this.txランプ用帯.t3D描画( CDTXMania.app.Device, bar );   //右の帯。  
1419                              if( this.tx選曲パネル != null )                              if( this.tx選曲パネル != null )
1420                                  this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 761, 233, new Rectangle( 304, 70, 59, 242 ) );                                  this.tx選曲パネル.t2D描画( CDTXMania.app.Device, 761, 233, new Rectangle( 304, 70, 59, 242 ) );
1421                              if (this.stバー情報[ nパネル番号 ].txタイトル名 != null)                              if (this.stバー情報[ nパネル番号 ].txタイトル名 != null)
1422                              {                              {
1423                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1424                                  mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);                                  //mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);
1425                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1426                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1427                                      (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1428                                      (this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1429                                      (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1430                                  //this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat);                                  //this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat);
1431                              }                              }
1432                              if (this.stバー情報[nパネル番号].txアーティスト名 != null)                              if (this.stバー情報[nパネル番号].txアーティスト名 != null)
1433                              {                              {
1434                                  var mat = SlimDX.Matrix.Identity;                                  //var mat = SlimDX.Matrix.Identity;
1435                                  mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);                                  //mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);
1436                                  mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                                  //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1437                                  mat *= SlimDX.Matrix.Translation(                                  //mat *= SlimDX.Matrix.Translation(
1438                                      (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1439                                      (this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  //    (this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1440                                      (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1441                                  //this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat);                                  //this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat);
1442                              }                              }
1443                                                          //-----------------                                                          //-----------------
# Line 1320  namespace DTXMania Line 1461  namespace DTXMania
1461                                          int n次のパネル番号 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( i + 1 ) % 13 ) : ( ( ( i - 1 ) + 13 ) % 13 );                                          int n次のパネル番号 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( i + 1 ) % 13 ) : ( ( ( i - 1 ) + 13 ) % 13 );
1462                                          int x = this.ptバーの基本座標[ n見た目の行番号 ].X + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].X - this.ptバーの基本座標[ n見た目の行番号 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );                                          int x = this.ptバーの基本座標[ n見た目の行番号 ].X + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].X - this.ptバーの基本座標[ n見た目の行番号 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );
1463                                          int y = this.ptバーの基本座標[ n見た目の行番号 ].Y + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].Y - this.ptバーの基本座標[ n見た目の行番号 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );                                          int y = this.ptバーの基本座標[ n見た目の行番号 ].Y + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].Y - this.ptバーの基本座標[ n見た目の行番号 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );
1464                      float fX = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].x + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].x - this.stマトリックス座標[ n見た目の行番号 ].x ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :                      //float fX = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].x + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].x - this.stマトリックス座標[ n見た目の行番号 ].x ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :
1465                                                                       this.stマトリックス座標[ n見た目の行番号 ].x + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].x + this.stマトリックス座標[ n見た目の行番号 ].x ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );                      //                                                 this.stマトリックス座標[ n見た目の行番号 ].x + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].x + this.stマトリックス座標[ n見た目の行番号 ].x ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );
1466    
1467                      float fY = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].y + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].y - this.stマトリックス座標[ n見た目の行番号 ].y ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :                      //float fY = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].y + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].y - this.stマトリックス座標[ n見た目の行番号 ].y ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :
1468                                                                       this.stマトリックス座標[ n見た目の行番号 ].y + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].y - this.stマトリックス座標[ n見た目の行番号 ].y ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );                      //                                                 this.stマトリックス座標[ n見た目の行番号 ].y + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].y - this.stマトリックス座標[ n見た目の行番号 ].y ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );
1469    
1470                        //float fZ = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].z + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].z - this.stマトリックス座標[ n見た目の行番号 ].z ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :
1471                        //                                                 this.stマトリックス座標[ n見た目の行番号 ].z + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].z + this.stマトリックス座標[ n見た目の行番号 ].z ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );
1472                        
1473                        float fX = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].x + ( ( ( st3D座標[ n次のパネル番号 ].x + st3D座標[ n見た目の行番号 ].x ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :
1474                                                                         st3D座標[ n見た目の行番号 ].x + ( ( ( st3D座標[ n次のパネル番号 ].x + st3D座標[ n見た目の行番号 ].x ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );
1475    
1476                      float fZ = this.n現在のスクロールカウンタ <= 0 ? this.stマトリックス座標[ n見た目の行番号 ].z + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].z - this.stマトリックス座標[ n見た目の行番号 ].z ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :                      float fY = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].y + ( ( ( st3D座標[ n次のパネル番号 ].y + st3D座標[ n見た目の行番号 ].y ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :
1477                                                                       this.stマトリックス座標[ n見た目の行番号 ].z + ( ( ( this.stマトリックス座標[ n次のパネル番号 ].z + this.stマトリックス座標[ n見た目の行番号 ].z ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );                                                                       st3D座標[ n見た目の行番号 ].y + ( ( ( st3D座標[ n次のパネル番号 ].y + st3D座標[ n見た目の行番号 ].y ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );
1478    
1479                        float fZ = this.n現在のスクロールカウンタ <= 0 ? st3D座標[ n見た目の行番号 ].z + ( ( ( st3D座標[ n次のパネル番号 ].z + st3D座標[ n見た目の行番号 ].z ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) ) :
1480                                                                         st3D座標[ n見た目の行番号 ].z + ( ( ( st3D座標[ n次のパネル番号 ].z + st3D座標[ n見た目の行番号 ].z ) * ( (  this.n現在のスクロールカウンタ ) ) / 100.0f  ) );
1481                        
1482    
1483                      if (i == 6)                      if (i == 6)
1484                      {                      {
# Line 1335  namespace DTXMania Line 1486  namespace DTXMania
1486                          //-----------------                          //-----------------
1487                          if( this.stバー情報[ nパネル番号 ].txパネル != null )                          if( this.stバー情報[ nパネル番号 ].txパネル != null )
1488                          {                          {
1489                              var mat = SlimDX.Matrix.Identity;                              //var mat = SlimDX.Matrix.Identity;
1490                              mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);                              //mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);
1491                              mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                              //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1492                              mat *= SlimDX.Matrix.Translation(                              //mat *= SlimDX.Matrix.Translation(
1493                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1494                                  (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1495                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                              //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1496                              this.stバー情報[ nパネル番号 ].txパネル.t3D描画(CDTXMania.app.Device, mat);                              //this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, mat );
1497                                this.stバー情報[ nパネル番号 ].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );
1498                          }                          }
1499                          if (this.txTumbnail[nパネル番号] != null)                          if (this.txTumbnail[ nパネル番号 ] != null)
1500                          {                          {
1501                              float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;                              float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width;
1502                              float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;                              float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;
1503                              var mat = SlimDX.Matrix.Identity;                              //var mat = SlimDX.Matrix.Identity;
1504                              mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);                              //mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);
1505                              mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));  
1506                              mat *= SlimDX.Matrix.Translation(  
1507                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                              matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );
1508                                  (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率 - 1f,                              matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );
1509                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                              matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z );
1510                              this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);                              //matJacket[ i ] *= SlimDX.Matrix.Translation( fX, fY - 1.5f, fZ );
1511    
1512    
1513                                //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1514                                //mat *= SlimDX.Matrix.Translation(
1515                                //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1516                                //    (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率 - 1f,
1517                                //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1518                                //this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);
1519                                this.txTumbnail[ nパネル番号 ].t3D描画(CDTXMania.app.Device, matJacket[ i ] );
1520                          }                          }
1521                          //-----------------                          //-----------------
1522                          #endregion                          #endregion
# Line 1390  namespace DTXMania Line 1551  namespace DTXMania
1551                      else if( ( i == 5 ) )                      else if( ( i == 5 ) )
1552                      {                      {
1553    
1554                          if( this.txランプ用帯 != null )                          if( this.txパネル帯 != null )
1555                              this.txランプ用帯.t3D描画( CDTXMania.app.Device, barL );   //右の帯。                          {
1556                                this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 0 ], new Rectangle( 2, 110, 1000, 20 ) );
1557                            }
1558                          //for (int la = 0; la < 5; la++)                          //for (int la = 0; la < 5; la++)
1559                          {                          {
1560                              //if( this.stバー情報[ 6 ].ar難易度ラベル[ la ] != null )                              //if( this.stバー情報[ 6 ].ar難易度ラベル[ la ] != null )
# Line 1419  namespace DTXMania Line 1582  namespace DTXMania
1582                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1583                                  (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                                  (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1584                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1585                              this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);                              //this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);
1586                          }                          }
1587                          if( this.tx選曲パネル != null )                          if( this.tx選曲パネル != null )
1588                              this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 457, 163, new Rectangle(0, 0, 363, 368));                              this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 457, 163, new Rectangle(0, 0, 363, 368));
# Line 1484  namespace DTXMania Line 1647  namespace DTXMania
1647                      else                      else
1648                      {                      {
1649                          // (B) スクロール中の選択曲バー、またはその他のバーの描画。                          // (B) スクロール中の選択曲バー、またはその他のバーの描画。
1650                          if( this.txランプ用帯 != null )                          if( this.txパネル帯 != null )
1651                              this.txランプ用帯.t3D描画( CDTXMania.app.Device, bar );   //右の帯。                              this.txパネル帯.t3D描画( CDTXMania.app.Device, barLa[ 1 ], new Rectangle( 2, 110, 1000, 20 ) );
1652                                //this.txランプ用帯.t3D描画( CDTXMania.app.Device, bar );   //右の帯。
1653                          if( this.tx選曲パネル != null )                          if( this.tx選曲パネル != null )
1654                              this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 761, 233, new Rectangle(304, 70, 59, 242));                              this.tx選曲パネル.t2D描画(CDTXMania.app.Device, 761, 233, new Rectangle(304, 70, 59, 242));
1655    
# Line 1493  namespace DTXMania Line 1657  namespace DTXMania
1657                          //-----------------                          //-----------------
1658                          if( this.stバー情報[ nパネル番号 ].txパネル != null )                          if( this.stバー情報[ nパネル番号 ].txパネル != null )
1659                          {                          {
1660                              var mat = SlimDX.Matrix.Identity;                              //var mat = SlimDX.Matrix.Identity;
1661                              mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);                              //mat *= SlimDX.Matrix.Scaling(0.62f, 0.88f, 1.0f);
1662                              mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                              //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1663                              mat *= SlimDX.Matrix.Translation(                              //mat *= SlimDX.Matrix.Translation(
1664                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1665                                  (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].y + 2 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1666                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                              //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1667                              this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);                              //this.stバー情報[nパネル番号].txパネル.t3D描画(CDTXMania.app.Device, mat);
1668    
1669                                this.stバー情報[nパネル番号].txパネル.t3D描画( CDTXMania.app.Device, matSongPanel[ i ] );
1670                          }                          }
1671                          if( this.txTumbnail[nパネル番号] != null )                          if( this.txTumbnail[nパネル番号] != null )
1672                          {                          {
1673                              float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width ;                              float f拡大率 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Width ;
1674                              float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;                              float f拡大率2 = (float)172.0 / this.txTumbnail[nパネル番号].szテクスチャサイズ.Height;
1675                              var mat = SlimDX.Matrix.Identity;                              //var mat = SlimDX.Matrix.Identity;
1676                              mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);                              //mat *= SlimDX.Matrix.Scaling(f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f);
1677                              mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                              //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1678                              mat *= SlimDX.Matrix.Translation(                              //mat *= SlimDX.Matrix.Translation(
1679                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1680                                  (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].y + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1681                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                              //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1682                              this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);                              //this.txTumbnail[nパネル番号].t3D描画(CDTXMania.app.Device, mat);
1683    
1684                                matJacket[ i ] *= SlimDX.Matrix.Scaling( f拡大率 * CTexture.f画面比率 - 0.084f, f拡大率2 * CTexture.f画面比率 + 0.05f, 1.0f );
1685                                matJacket[ i ] *= SlimDX.Matrix.RotationYawPitchRoll( st3D座標[ i ].rotY, 0.0f, 0.0f );
1686                                matJacket[ i ] *= SlimDX.Matrix.Translation( st3D座標[ i ].x, st3D座標[ i ].y, st3D座標[ i ].z );
1687                                //matJacket[ i ] *= SlimDX.Matrix.Translation( fX, fY - 1.5f, fZ );
1688    
1689                                this.txTumbnail[nパネル番号].t3D描画( CDTXMania.app.Device, matJacket[ i ] );
1690                          }                          }
1691                          //-----------------                          //-----------------
1692                          #endregion                          #endregion
# Line 1522  namespace DTXMania Line 1695  namespace DTXMania
1695                          if( this.stバー情報[nパネル番号].txタイトル名 != null )                          if( this.stバー情報[nパネル番号].txタイトル名 != null )
1696                          {                          {
1697                              //this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( CDTXMania.app.Device, x + 0x58, y + 8 );                              //this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( CDTXMania.app.Device, x + 0x58, y + 8 );
1698                              var mat = SlimDX.Matrix.Identity;                              //var mat = SlimDX.Matrix.Identity;
1699                              mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);                              //mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);
1700                              mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                              //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1701                              mat *= SlimDX.Matrix.Translation(                              //mat *= SlimDX.Matrix.Translation(
1702                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1703                                  (this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].y + 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1704                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                              //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1705                              //this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat);                              //this.stバー情報[nパネル番号].txタイトル名.t3D描画(CDTXMania.app.Device, mat);
1706                          }                          }
1707                          if( this.stバー情報[nパネル番号].txアーティスト名 != null )                          if( this.stバー情報[nパネル番号].txアーティスト名 != null )
1708                          {                          {
1709                              var mat = SlimDX.Matrix.Identity;                              //var mat = SlimDX.Matrix.Identity;
1710                              mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);                              //mat *= SlimDX.Matrix.Scaling(0.35f, 0.45f, 1.0f);
1711                              mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));                              //mat *= SlimDX.Matrix.RotationY(this.stマトリックス座標[i].rotY + (this.stマトリックス座標[i].rotY - this.stマトリックス座標[i].rotY));
1712                              mat *= SlimDX.Matrix.Translation(                              //mat *= SlimDX.Matrix.Translation(
1713                                  (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].x + (int)((this.stマトリックス座標[i].x - this.stマトリックス座標[i].x))) * CTexture.f画面比率,
1714                                  (this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,                              //    (this.stマトリックス座標[i].y - 110 + (int)((this.stマトリックス座標[i].y - this.stマトリックス座標[i].y))) * CTexture.f画面比率,
1715                                  (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);                              //    (this.stマトリックス座標[i].z + (int)((this.stマトリックス座標[i].z - this.stマトリックス座標[i].z))) * CTexture.f画面比率);
1716                              //this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat);                              //this.stバー情報[nパネル番号].txアーティスト名.t3D描画(CDTXMania.app.Device, mat);
1717                          }                          }
1718                          //-----------------                          //-----------------
# Line 1791  namespace DTXMania Line 1964  namespace DTXMania
1964                  private readonly Point[] ptバーの基本座標 = new Point[] { new Point(0x2c4, 30), new Point(0x272, 0x51), new Point(0x242, 0x84), new Point(0x222, 0xb7), new Point(0x210, 0xea), new Point(0x1d0, 0x127), new Point(0x224, 0x183), new Point(0x242, 0x1b6), new Point(0x270, 0x1e9), new Point(0x2ae, 540), new Point(0x314, 0x24f), new Point(0x3e4, 0x282), new Point(0x500, 0x2b5) };                  private readonly Point[] ptバーの基本座標 = new Point[] { new Point(0x2c4, 30), new Point(0x272, 0x51), new Point(0x242, 0x84), new Point(0x222, 0xb7), new Point(0x210, 0xea), new Point(0x1d0, 0x127), new Point(0x224, 0x183), new Point(0x242, 0x1b6), new Point(0x270, 0x1e9), new Point(0x2ae, 540), new Point(0x314, 0x24f), new Point(0x3e4, 0x282), new Point(0x500, 0x2b5) };
1965                  private STバー情報[] stバー情報 = new STバー情報[ 13 ];                  private STバー情報[] stバー情報 = new STバー情報[ 13 ];
1966                  private CTexture txSongNotFound, txEnumeratingSongs;                  private CTexture txSongNotFound, txEnumeratingSongs;
                 private CTexture txスキル数字;  
1967                  private CTexture txアイテム数数字;                  private CTexture txアイテム数数字;
1968          private CTexture[] txTumbnail = new CTexture[13];          private CTexture[] txTumbnail = new CTexture[13];
1969          private CTexture tx選曲パネル;          private CTexture tx選曲パネル;
1970          private CTexture txパネル;          private CTexture txパネル;
1971          private CTextureAf tx帯;          private CTexture txパネル帯;
         private CTextureAf tx色帯;  
         private CTexture txランプ用帯;  
1972          private CTexture tx選択されている曲の曲名;          private CTexture tx選択されている曲の曲名;
1973          private CTexture tx選択されている曲のアーティスト名;          private CTexture tx選択されている曲のアーティスト名;
1974          private CTexture txクリアランプ;          private CTexture txクリアランプ;
# Line 1865  namespace DTXMania Line 2035  namespace DTXMania
2035    
2036                          return list[ index - 1 ];                          return list[ index - 1 ];
2037                  }                  }
                 private void tスキル値の描画( int x, int y, int nスキル値 )  
                 {  
                         if( nスキル値 <= 0 || nスキル値 > 100 )         // スキル値 0 = 未プレイ なので表示しない。  
                                 return;  
2038    
                         int color = ( nスキル値 == 100 ) ? 3 : ( nスキル値 / 25 );  
   
                         int n百の位 = nスキル値 / 100;  
                         int n十の位 = ( nスキル値 % 100 ) / 10;  
                         int n一の位 = ( nスキル値 % 100 ) % 10;  
   
   
                         // 百の位の描画。  
   
                         if( n百の位 > 0 )  
                                 this.tスキル値の描画・1桁描画( x, y, n百の位, color );  
   
   
                         // 十の位の描画。  
   
                         if( n百の位 != 0 || n十の位 != 0 )  
                                 this.tスキル値の描画・1桁描画( x + 14, y, n十の位, color );  
   
   
                         // 一の位の描画。  
   
                         this.tスキル値の描画・1桁描画( x + 0x1c, y, n一の位, color );  
                 }  
                 private void tスキル値の描画・1桁描画( int x, int y, int n数値, int color )  
                 {  
                         int dx = ( n数値 % 5 ) * 9;  
                         int dy = ( n数値 / 5 ) * 12;  
                           
                         switch( color )  
                         {  
                                 case 0:  
                                         if( this.txスキル数字 != null )  
                                                 this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 45 + dx, 24 + dy, 9, 12 ) );  
                                         break;  
   
                                 case 1:  
                                         if( this.txスキル数字 != null )  
                                                 this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 45 + dx, dy, 9, 12 ) );  
                                         break;  
   
                                 case 2:  
                                         if( this.txスキル数字 != null )  
                                                 this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( dx, 24 + dy, 9, 12 ) );  
                                         break;  
   
                                 case 3:  
                                         if( this.txスキル数字 != null )  
                                                 this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( dx, dy, 9, 12 ) );  
                                         break;  
                         }  
                 }  
2039                  private void tバーの初期化()                  private void tバーの初期化()
2040                  {                  {
2041                          C曲リストノード song = this.r現在選択中の曲;                          C曲リストノード song = this.r現在選択中の曲;

Legend:
Removed from v.431  
changed lines
  Added in v.494

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