Revision | 533 (tree) |
---|---|
Time | 2016-03-12 20:38:56 |
Author | kairera0467 |
#33798 ギターベース譜面のCLASSIC譜面判別を本格実装。
@@ -858,8 +858,8 @@ | ||
858 | 858 | c曲リストノード.arスコア[ i ].譜面情報.レベルDec.Bass = cdtx.LEVELDEC.Bass; |
859 | 859 | c曲リストノード.arスコア[ i ].譜面情報.レベルを非表示にする = cdtx.HIDDENLEVEL; |
860 | 860 | c曲リストノード.arスコア[ i ].譜面情報.b完全にCLASSIC譜面である.Drums = (cdtx2.bチップがある.LeftCymbal == false && cdtx2.bチップがある.LP == false && cdtx2.bチップがある.LBD == false && cdtx2.bチップがある.FT == false && cdtx2.bチップがある.Ride == false) ? true : false; |
861 | - c曲リストノード.arスコア[ i ].譜面情報.b完全にCLASSIC譜面である.Guitar = false; | |
862 | - c曲リストノード.arスコア[ i ].譜面情報.b完全にCLASSIC譜面である.Bass = false; | |
861 | + c曲リストノード.arスコア[ i ].譜面情報.b完全にCLASSIC譜面である.Guitar = !cdtx2.bチップがある.YPGuitar ? true : false; | |
862 | + c曲リストノード.arスコア[ i ].譜面情報.b完全にCLASSIC譜面である.Bass = !cdtx2.bチップがある.YPBass ? true : false; | |
863 | 863 | c曲リストノード.arスコア[ i ].譜面情報.b譜面がある.Drums = cdtx2.bチップがある.Drums; |
864 | 864 | c曲リストノード.arスコア[ i ].譜面情報.b譜面がある.Guitar = cdtx2.bチップがある.Guitar; |
865 | 865 | c曲リストノード.arスコア[ i ].譜面情報.b譜面がある.Bass = cdtx2.bチップがある.Bass; |
@@ -7151,7 +7151,7 @@ | ||
7151 | 7151 | this.listChip.Add( chip ); |
7152 | 7152 | |
7153 | 7153 | //2015.04.15 kairera0467 ギターベースの場合、chipをギターベースのリストにも入れる。 |
7154 | - //ここでロングノーツのための発生位置を設定したりする。 | |
7154 | + //ここでロングノーツのための発声位置を設定したりする。 | |
7155 | 7155 | if( chip.e楽器パート == E楽器パート.GUITAR ) |
7156 | 7156 | { |
7157 | 7157 | if( chip.nチャンネル番号 == 0x2A ) |
@@ -374,8 +374,24 @@ | ||
374 | 374 | |
375 | 375 | string strLevel = string.Format("{0:0.00}", n表記するLEVEL[i]); |
376 | 376 | |
377 | - if (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false)) | |
377 | + #region[ CLASSIC譜面判別 ] | |
378 | + STDGBVALUE<bool> bClassic = new STDGBVALUE<bool>(); | |
379 | + if( i == 0 ) | |
378 | 380 | { |
381 | + bClassic[ 0 ] = ( (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false) ); | |
382 | + } | |
383 | + else if( i == 1 ) | |
384 | + { | |
385 | + bClassic[ 1 ] = !CDTXMania.DTX.bチップがある.YPGuitar; | |
386 | + } | |
387 | + else if( i == 2 ) | |
388 | + { | |
389 | + bClassic[ 2 ] = !CDTXMania.DTX.bチップがある.YPBass; | |
390 | + } | |
391 | + #endregion | |
392 | + | |
393 | + if( CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && bClassic[ i ] ) | |
394 | + { | |
379 | 395 | num = ((float)CDTXMania.stage選曲.r確定されたスコア.譜面情報.レベル[i]); |
380 | 396 | } |
381 | 397 | else |
@@ -390,7 +406,7 @@ | ||
390 | 406 | } |
391 | 407 | } |
392 | 408 | |
393 | - if (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false)) | |
409 | + if (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && bClassic[i] ) | |
394 | 410 | { |
395 | 411 | // graphics.DrawString(string.Format("{0:00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); |
396 | 412 | this.t大文字表示(this.n本体X[i] + 653, this.n本体Y[i] + 11, num.ToString()); |
@@ -321,7 +321,7 @@ | ||
321 | 321 | } |
322 | 322 | else |
323 | 323 | { |
324 | - dbTargetSkill = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ 0 ]; | |
324 | + //dbTargetSkill = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ 0 ]; | |
325 | 325 | } |
326 | 326 | if( CDTXMania.ConfigIni.eTargetGhost.Drums == ETargetGhostData.PERFECT ) |
327 | 327 | dbTargetSkill = 100.0; |
@@ -500,9 +500,12 @@ | ||
500 | 500 | string strDTXファイルパス = (CDTXMania.bコンパクトモード) ? |
501 | 501 | CDTXMania.strコンパクトモードファイル : CDTXMania.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; |
502 | 502 | CDTX cdtx = new CDTX(strDTXファイルパス, false); |
503 | - bool bCLASSIC = CDTXMania.bコンパクトモード ? false : CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Drums; | |
504 | - | |
503 | + STDGBVALUE< bool > bCLASSIC = new STDGBVALUE<bool>(); | |
505 | 504 | |
505 | + for( int i = 0; i < 3; i++ ) | |
506 | + { | |
507 | + bCLASSIC[ i ] = CDTXMania.bコンパクトモード ? false : CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である[ i ]; | |
508 | + } | |
506 | 509 | |
507 | 510 | if( this.ds背景動画 != null && !this.bSTAGEFILEが存在する ) |
508 | 511 | { |
@@ -559,20 +562,17 @@ | ||
559 | 562 | this.txヘッダーパネル.t2D描画( CDTXMania.app.Device, 0, 0 ); |
560 | 563 | |
561 | 564 | #region[ 難易度数字 ] |
562 | - | |
563 | - //後に変数にしてギターベースなどでも正常に表示できるようにする予定 | |
564 | 565 | STDGBVALUE<double> n表記するLEVEL = new STDGBVALUE<double>(); |
565 | - | |
566 | 566 | if( CDTXMania.ConfigIni.bDrums有効 ) |
567 | 567 | { |
568 | 568 | int i = 0; |
569 | 569 | |
570 | - n表記するLEVEL[i] = cdtx.LEVEL[i] / 10.0; | |
571 | - n表記するLEVEL[i] += (cdtx.LEVELDEC[i] != 0 ? cdtx.LEVELDEC[i] / 100.0 : 0); | |
572 | - int DTXLevel = cdtx.LEVEL[i]; | |
573 | - double DTXLevelDeci = (DTXLevel * 10 - cdtx.LEVEL[i]); | |
570 | + n表記するLEVEL[ i ] = cdtx.LEVEL[ i ] / 10.0; | |
571 | + n表記するLEVEL[ i ] += ( cdtx.LEVELDEC[ i ] != 0 ? cdtx.LEVELDEC[ i ] / 100.0 : 0 ); | |
572 | + int DTXLevel = cdtx.LEVEL[ i ]; | |
573 | + double DTXLevelDeci = ( DTXLevel * 10 - cdtx.LEVEL[ i ] ); | |
574 | 574 | |
575 | - string strLevel = string.Format("{0:0.00}", n表記するLEVEL[i]); | |
575 | + string strLevel = string.Format( "{0:0.00}", n表記するLEVEL[ i ] ); | |
576 | 576 | |
577 | 577 | if (cdtx.LEVEL[i] > 99) |
578 | 578 | { |
@@ -585,10 +585,10 @@ | ||
585 | 585 | DTXLevelDeci = (cdtx.LEVEL[i] - DTXLevel * 10); |
586 | 586 | } |
587 | 587 | |
588 | - if (bCLASSIC && !cdtx.b強制的にXG譜面にする) | |
588 | + if( bCLASSIC.Drums && !cdtx.b強制的にXG譜面にする ) | |
589 | 589 | { |
590 | - DTXLevel = cdtx.LEVEL[i]; | |
591 | - this.t大文字表示(338, 220, string.Format("{0,2:00}", DTXLevel)); | |
590 | + DTXLevel = cdtx.LEVEL[ i ]; | |
591 | + this.t大文字表示( 338, 220, string.Format("{0,2:00}", DTXLevel)); | |
592 | 592 | } |
593 | 593 | else |
594 | 594 | { |
@@ -621,12 +621,12 @@ | ||
621 | 621 | //ギター |
622 | 622 | if( cdtx.bチップがある.Guitar ) |
623 | 623 | { |
624 | - //if (bCLASSIC && !cdtx.b強制的にXG譜面にする) | |
624 | + if( bCLASSIC.Guitar && !cdtx.b強制的にXG譜面にする ) | |
625 | 625 | { |
626 | - // DTXLevel = cdtx.LEVEL[i]; | |
627 | - // this.t大文字表示(338, 220, string.Format("{0,2:00}", DTXLevel)); | |
626 | + DTXLevel.Guitar = cdtx.LEVEL.Guitar; | |
627 | + this.t大文字表示(338, 220, string.Format( "{0,2:00}", DTXLevel.Guitar )); | |
628 | 628 | } |
629 | - //else | |
629 | + else | |
630 | 630 | { |
631 | 631 | this.t大文字表示(335 + (616 * iPart), 218, string.Format("{0:0}", strLevel_G.Substring(0, 1))); |
632 | 632 | this.txLevel.t2D描画(CDTXMania.app.Device, 359 + (616 * iPart), 251, new Rectangle(145, 54, 7, 8)); |
@@ -643,12 +643,12 @@ | ||
643 | 643 | if( cdtx.bチップがある.Bass ) |
644 | 644 | { |
645 | 645 | //ベース |
646 | - //if (bCLASSIC && !cdtx.b強制的にXG譜面にする) | |
646 | + if( bCLASSIC.Bass && !cdtx.b強制的にXG譜面にする ) | |
647 | 647 | { |
648 | - // DTXLevel = cdtx.LEVEL[i]; | |
649 | - // this.t大文字表示(338, 220, string.Format("{0,2:00}", DTXLevel)); | |
648 | + DTXLevel.Bass = cdtx.LEVEL.Bass; | |
649 | + this.t大文字表示( 338, 220, string.Format( "{0,2:00}", DTXLevel.Bass ) ); | |
650 | 650 | } |
651 | - //else | |
651 | + else | |
652 | 652 | { |
653 | 653 | this.t大文字表示(953 - (616 * iPart), 218, string.Format("{0:0}", strLevel_B.Substring(0, 1))); |
654 | 654 | this.txLevel.t2D描画(CDTXMania.app.Device, 975 - (616 * iPart), 251, new Rectangle(145, 54, 7, 8)); |
@@ -1037,7 +1037,9 @@ | ||
1037 | 1037 | |
1038 | 1038 | private void tSkillModeを譜面に応じて切り替える( CDTX cdtx ) |
1039 | 1039 | { |
1040 | - if( CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Drums && !cdtx.b強制的にXG譜面にする ) | |
1040 | + if( CDTXMania.ConfigIni.bDrums有効 ? ( CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Drums ) : | |
1041 | + ( CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Guitar | CDTXMania.stage選曲.r確定されたスコア.譜面情報.b完全にCLASSIC譜面である.Bass ) && | |
1042 | + !cdtx.b強制的にXG譜面にする ) | |
1041 | 1043 | CDTXMania.ConfigIni.nSkillMode = 0; |
1042 | 1044 | else |
1043 | 1045 | CDTXMania.ConfigIni.nSkillMode = 1; |