• R/O
  • HTTP
  • SSH
  • HTTPS

dtxmaniaxg-verk-git: 提交

DTXManiaXG(Ver.K)4.00Series


Commit MetaInfo

修訂75587e96a7e5a38159151309f974f675b906e1a5 (tree)
時間2019-10-14 02:33:20
作者kairera0467 <gennsou76573@gmai...>
Commiterkairera0467

Log Message

#xxxxx matixx風演奏画面に難易度ラベル並びに演奏パートの表示を仮追加。
#xxxxx matixx風選曲画面のST曲バー情報に難易度ごとの各種値の変数を追加。(まだ動作はしない)
#xxxxx matixx風演奏画面で周囲のフレーム画像を非表示にするオプションを追加。(CONFIG画面から「FrameDisp」で設定可。matixx風表示時限定)
#xxxxx matixx風結果画面にテクスチャを1枚追加。
#xxxxx 全レーンオートプレイの場合、グラフの表示をしないよう変更。
#xxxxx matixx風選曲画面で「5_header panel.png」が無いと落ちる不具合を修正。
作業部屋50553 5レーンギター実装の準備。
#35055 ギターロングノーツ実装の準備。
#xxxxx スクロール速度に応じてチップ縦幅の変化する機能の実装準備(テクスチャの作り直しと座標調整が必要なため保留)
#xxxxx 動画が再生されない不具合を修正
#xxxxx XG風演奏画面のネームカラー表示を少し修正。

Change Summary

差異

--- a/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
+++ b/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
@@ -412,15 +412,18 @@ namespace DTXMania
412412 public EBGA種別 eBGA種別;
413413 public E楽器パート e楽器パート = E楽器パート.UNKNOWN;
414414 public int nチャンネル番号;
415- public STDGBVALUE<int> nバーからの距離dot;
415+ public STDGBVALUE<int> nバーからの距離dot; // 2019.9.7 kairera0467
416+ public STDGBVALUE<int> nバーからの終端距離dot; // 2019.9.7 kairera0467
416417 public int n整数値;
417418 public int n整数値_内部番号;
418419 public int n総移動時間;
419420 public int n透明度 = 0xff;
420421 public int n発声位置;
421422 public int n発声時刻ms;
422- public int nLag; // 2011.2.1 yyagi
423- public int nCurrentComboForGhost; // 2015.9.29 chnmr0
423+ public int n発声終了位置; // 2019.9.7 kairera0467
424+ public int n発声終了時刻ms; // 2019.9.7 kairera0467
425+ public int nLag; // 2011.2.1 yyagi
426+ public int nCurrentComboForGhost; // 2015.9.29 chnmr0
424427 public CDTX.CAVI rAVI;
425428 public CDTX.CAVIPAN rAVIPan;
426429 public CDTX.CBGA rBGA;
@@ -609,10 +612,10 @@ namespace DTXMania
609612 "SE10", "SE11", "SE12", "SE13", "SE14", "SE15", "SE16", "SE17",
610613 "SE18", "SE19", "??", "??", "??", "??", "??", "??",
611614 "SE20", "SE21", "SE22", "SE23", "SE24", "SE25", "SE26", "SE27",
612- "SE28", "SE29", "??", "??", "??", "??", "??", "??",
613- "SE30", "SE31", "SE32", "??", "??", "??", "??", "??",
614- "??", "??", "??", "??", "??", "??", "??", "??",
615- "ベースOPEN", "ベース - - B", "ベース - G -", "ベース - G B", "ベース R - -", "ベース R - B", "ベース R G -", "ベース R G B",
615+ "SE28", "SE29", "??", "??", "??", "??", "??", "??",
616+ "SE30", "SE31", "SE32", "ギター - - - Y -", "ギター - - B Y -", "ギター - G - Y -", "ギター - G B Y -", "ギター R - - Y -",
617+ "ギター R - B Y -", "ギター R G - Y -", "ギター R G B Y -", "ギター - - - - P", "ギター - - B - P", "ギター - G - - P", "ギター - G B - P", "ギター R - - - P",
618+ "ベースOPEN", "ベース - - B", "ベース - G -", "ベース - G B", "ベース R - -", "ベース R - B", "ベース R G -", "ベース R G B",
616619 "ベースWailing", "??", "??", "??", "??", "??", "??", "ベースWailing音切替",
617620 "??", "HHClose(空うち)", "Snare(空うち)", "Kick(空うち)", "HiTom(空うち)", "LowTom(空うち)", "Cymbal(空うち)", "FloorTom(空うち)",
618621 "HHOpen(空うち)", "RideCymbal(空うち)", "ギター(空打ち)", "ベース(空打ち)", "LeftCymbal(空うち)", "??", "??", "??",
@@ -654,7 +657,7 @@ namespace DTXMania
654657 nDuration = ( wc.rSound[ 0 ] == null ) ? 0 : wc.rSound[ 0 ].n総演奏時間ms;
655658 }
656659 }
657- else if ( this.nチャンネル番号 == 0x54 ) // AVI
660+ else if ( this.nチャンネル番号 == 0x54 || this.nチャンネル番号 == 0x5A ) // AVI
658661 {
659662 if ( this.rAVI != null && this.rAVI.avi != null )
660663 {
@@ -1216,8 +1219,10 @@ namespace DTXMania
12161219 public bool LBD;
12171220 public bool OpenGuitar;
12181221 public bool OpenBass;
1222+ public bool YPGuitar;
1223+ public bool YPBass;
12191224
1220- public bool BGA;
1225+ public bool BGA;
12211226 public bool Movie;
12221227
12231228 public bool this[ int index ]
@@ -3277,14 +3282,14 @@ namespace DTXMania
32773282 {
32783283 this.n可視チップ数[ c - 0x11 ]++;
32793284 }
3280- if ( ( 0x20 <= c ) && ( c <= 0x27 ) )
3281- {
3282- this.n可視チップ数.Guitar++;
3283- }
3284- if ( ( 0xA0 <= c ) && ( c <= 0xa7 ) )
3285- {
3286- this.n可視チップ数.Bass++;
3287- }
3285+ if( ( 0x20 <= c ) && ( c <= 0x27 ) || ( 0x93 <= c ) && ( c <= 0x9F ) || ( 0xA9 <= c ) && ( c <= 0xAF ) || ( 0xD0 <= c ) && ( c <= 0xD3 ) )
3286+ {
3287+ this.n可視チップ数.Guitar++;
3288+ }
3289+ if( ( 0xA0 <= c ) && ( c <= 0xA7 ) || ( 0xC5 <= c ) && ( c <= 0xC6 ) || ( 0xC8 <= c ) && ( c <= 0xCF ) || ( 0xDA <= c ) && ( c <= 0xDF ) || ( 0xE1 <= c ) && ( c <= 0xE8 ) )
3290+ {
3291+ this.n可視チップ数.Bass++;
3292+ }
32883293 if ( ( c >= 0x4C ) && ( c <= 0x4F ) )
32893294 {
32903295 this.nボーナスチップ数++;
@@ -3445,16 +3450,22 @@ namespace DTXMania
34453450 case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C:
34463451 // Gt演奏チャネル
34473452 case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28:
3453+ case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F:
3454+ case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF:
3455+ case 0xD0: case 0xD1: case 0xD2: case 0xD3:
34483456 // Bs演奏チャネル
34493457 case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8:
3458+ case 0xC5: case 0xC6: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF:
3459+ case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE: case 0xDF:
3460+ case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8:
34503461 // Dr不可視チップ
34513462 case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37:
3452- case 0x38: case 0x39: case 0x3A:
3463+ case 0x38: case 0x39: case 0x3A: case 0x3B: case 0x3C:
34533464 // Dr/Gt/Bs空打ち
34543465 case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8:
3455- case 0xB9: case 0xBA: case 0xBB: case 0xBC:
3466+ case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE:
34563467 // フィルインサウンド
3457- case 0x1F: case 0x2F: case 0xAF:
3468+ case 0x1F: case 0x2F: //case 0xAF:
34583469 // 自動演奏チップ
34593470 case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69:
34603471 case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79:
@@ -3720,45 +3731,76 @@ namespace DTXMania
37203731 /// </summary>
37213732 public void SwapGuitarBassInfos() // #24063 2011.1.24 yyagi ギターとベースの譜面情報入替
37223733 {
3723- for (int i = this.listChip.Count - 1; i >= 0; i--) {
3724- if (listChip[i].e楽器パート == E楽器パート.BASS) {
3725- listChip[i].e楽器パート = E楽器パート.GUITAR;
3726- listChip[i].nチャンネル番号 -= ( 0xA0 - 0x20 );
3727- }
3728- else if ( listChip[i].e楽器パート == E楽器パート.GUITAR )
3729- {
3730- listChip[i].e楽器パート = E楽器パート.BASS;
3731- listChip[i].nチャンネル番号 += ( 0xA0 - 0x20 );
3732- }
3733- else if ( listChip[ i ].nチャンネル番号 == 0x28 ) // #25215 2011.5.21 yyagi wailingはE楽器パート.UNKNOWNが割り当てられているので個別に対応
3734- {
3735- listChip[ i ].nチャンネル番号 += ( 0xA0 - 0x20 );
3736- }
3737- else if ( listChip[ i ].nチャンネル番号 == 0xA8 ) // #25215 2011.5.21 yyagi wailingはE楽器パート.UNKNOWNが割り当てられているので個別に対応
3738- {
3739- listChip[ i ].nチャンネル番号 -= ( 0xA0 - 0x20 );
3740- }
3741- }
3742- int t = this.LEVEL.Bass;
3743- this.LEVEL.Bass = this.LEVEL.Guitar;
3744- this.LEVEL.Guitar = t;
3734+ for( int i = this.listChip.Count - 1; i >= 0; i-- )
3735+ {
3736+ if( listChip[ i ].e楽器パート == E楽器パート.BASS )
3737+ {
3738+ listChip[ i ].e楽器パート = E楽器パート.GUITAR;
3739+ if( listChip[ i ].nチャンネル番号 >= 0xA0 && listChip[ i ].nチャンネル番号 <= 0xA8 )
3740+ listChip[ i ].nチャンネル番号 -= ( 0xA0 - 0x20 );
3741+ else if( listChip[ i ].nチャンネル番号 == 0xC5 || listChip[ i ].nチャンネル番号 == 0xC6 )
3742+ listChip[ i ].nチャンネル番号 -= 0x32;
3743+ else if( listChip[ i ].nチャンネル番号 >= 0xC8 && listChip[ i ].nチャンネル番号 <= 0xCF )
3744+ listChip[ i ].nチャンネル番号 -= 0x33;
3745+ else if( listChip[ i ].nチャンネル番号 >= 0xDA && listChip[ i ].nチャンネル番号 <= 0xDC )
3746+ listChip[ i ].nチャンネル番号 -= 0x3D;
3747+ else if( listChip[ i ].nチャンネル番号 >= 0xDD && listChip[ i ].nチャンネル番号 <= 0xDF )
3748+ listChip[ i ].nチャンネル番号 -= 0x34;
3749+ else if( listChip[ i ].nチャンネル番号 >= 0xE1 && listChip[ i ].nチャンネル番号 <= 0xE8 )
3750+ listChip[ i ].nチャンネル番号 -= 0x35;
3751+ }
3752+ else if( listChip[ i ].e楽器パート == E楽器パート.GUITAR )
3753+ {
3754+ listChip[ i ].e楽器パート = E楽器パート.BASS;
3755+
3756+ if( listChip[ i ].nチャンネル番号 >= 0x20 && listChip[ i ].nチャンネル番号 <= 0x28 )
3757+ listChip[ i ].nチャンネル番号 += ( 0xA0 - 0x20 );
3758+ else if( listChip[ i ].nチャンネル番号 == 0x93 || listChip[ i ].nチャンネル番号 == 0x94 )
3759+ listChip[ i ].nチャンネル番号 += 0x32;
3760+ else if( listChip[ i ].nチャンネル番号 >= 0x95 && listChip[ i ].nチャンネル番号 <= 0x9C )
3761+ listChip[ i ].nチャンネル番号 += 0x33;
3762+ else if( listChip[ i ].nチャンネル番号 >= 0x9D && listChip[ i ].nチャンネル番号 <= 0x9F )
3763+ listChip[ i ].nチャンネル番号 += 0x3D;
3764+ else if( listChip[ i ].nチャンネル番号 >= 0xA9 && listChip[ i ].nチャンネル番号 <= 0xAB )
3765+ listChip[ i ].nチャンネル番号 += 0x34;
3766+ else if( listChip[ i ].nチャンネル番号 >= 0xAC && listChip[ i ].nチャンネル番号 <= 0xD3 )
3767+ listChip[ i ].nチャンネル番号 += 0x35;
3768+ }
37453769
3746- t = this.n可視チップ数.Bass;
3747- this.n可視チップ数.Bass = this.n可視チップ数.Guitar;
3748- this.n可視チップ数.Guitar = t;
3770+ //Wailing
3771+ else if( listChip[ i ].nチャンネル番号 == 0x28 ) // #25215 2011.5.21 yyagi wailingはE楽器パート.UNKNOWNが割り当てられているので個別に対応
3772+ {
3773+ listChip[ i ].nチャンネル番号 += ( 0xA0 - 0x20 );
3774+ }
3775+ else if( listChip[ i ].nチャンネル番号 == 0xA8 ) // #25215 2011.5.21 yyagi wailingはE楽器パート.UNKNOWNが割り当てられているので個別に対応
3776+ {
3777+ listChip[ i ].nチャンネル番号 -= ( 0xA0 - 0x20 );
3778+ }
3779+ }
3780+ int t = this.LEVEL.Bass;
3781+ this.LEVEL.Bass = this.LEVEL.Guitar;
3782+ this.LEVEL.Guitar = t;
37493783
3750- bool ts = this.bチップがある.Bass;
3751- this.bチップがある.Bass = this.bチップがある.Guitar;
3752- this.bチップがある.Guitar = ts;
3784+ t = this.LEVELDEC.Bass;
3785+ this.LEVELDEC.Bass = this.LEVELDEC.Guitar;
3786+ this.LEVELDEC.Guitar = t;
37533787
3754-// SwapGuitarBassInfos_AutoFlags();
3755- }
3788+ t = this.n可視チップ数.Bass;
3789+ this.n可視チップ数.Bass = this.n可視チップ数.Guitar;
3790+ this.n可視チップ数.Guitar = t;
3791+
3792+ bool ts = this.bチップがある.Bass;
3793+ this.bチップがある.Bass = this.bチップがある.Guitar;
3794+ this.bチップがある.Guitar = ts;
3795+
3796+ // SwapGuitarBassInfos_AutoFlags();
3797+ }
37563798
3757- // SwapGuitarBassInfos_AutoFlags()は、CDTXからCConfigIniに移動。
3799+ // SwapGuitarBassInfos_AutoFlags()は、CDTXからCConfigIniに移動。
37583800
3759- // CActivity 実装
3801+ // CActivity 実装
37603802
3761- public override void On活性化()
3803+ public override void On活性化()
37623804 {
37633805 this.listWAV = new Dictionary<int, CWAV>();
37643806 this.listBMP = new Dictionary<int, CBMP>();
@@ -3869,15 +3911,311 @@ namespace DTXMania
38693911 }
38703912 }
38713913
3914+ public void tギターレーンのチップパターンを取得する( int nチャンネル番号, ref bool bR, ref bool bG, ref bool bB, ref bool bY, ref bool bP )
3915+ {
3916+ switch( nチャンネル番号 )
3917+ {
3918+ case 0x21:
3919+ bB = true;
3920+ break;
3921+ case 0x22:
3922+ bG = true;
3923+ break;
3924+ case 0x23:
3925+ bG = true;
3926+ bB = true;
3927+ break;
3928+ case 0x24:
3929+ bR = true;
3930+ break;
3931+ case 0x25:
3932+ bR = true;
3933+ bB = true;
3934+ break;
3935+ case 0x26:
3936+ bR = true;
3937+ bG = true;
3938+ break;
3939+ case 0x27:
3940+ bR = true;
3941+ bG = true;
3942+ bB = true;
3943+ break;
3944+ case 0x93:
3945+ bY = true;
3946+ break;
3947+ case 0x94:
3948+ bB = true;
3949+ bY = true;
3950+ break;
3951+ case 0x95:
3952+ bG = true;
3953+ bY = true;
3954+ break;
3955+ case 0x96:
3956+ bG = true;
3957+ bB = true;
3958+ bY = true;
3959+ break;
3960+ case 0x97:
3961+ bR = true;
3962+ bY = true;
3963+ break;
3964+ case 0x98:
3965+ bR = true;
3966+ bB = true;
3967+ bY = true;
3968+ break;
3969+ case 0x99:
3970+ bR = true;
3971+ bG = true;
3972+ bY = true;
3973+ break;
3974+ case 0x9A:
3975+ bR = true;
3976+ bG = true;
3977+ bB = true;
3978+ bY = true;
3979+ break;
3980+ case 0x9B:
3981+ bP = true;
3982+ break;
3983+ case 0x9C:
3984+ bB = true;
3985+ bP = true;
3986+ break;
3987+ case 0x9D:
3988+ bG = true;
3989+ bP = true;
3990+ break;
3991+ case 0x9E:
3992+ bG = true;
3993+ bB = true;
3994+ bP = true;
3995+ break;
3996+ case 0x9F:
3997+ bR = true;
3998+ bP = true;
3999+ break;
38724000
3873- // その他
3874-
3875- #region [ private ]
3876- //-----------------
3877- /// <summary>
3878- /// <para>GDAチャンネル番号に対応するDTXチャンネル番号。</para>
3879- /// </summary>
3880- [StructLayout( LayoutKind.Sequential )]
4001+ case 0xA1:
4002+ bB = true;
4003+ break;
4004+ case 0xA2:
4005+ bG = true;
4006+ break;
4007+ case 0xA3:
4008+ bG = true;
4009+ bB = true;
4010+ break;
4011+ case 0xA4:
4012+ bR = true;
4013+ break;
4014+ case 0xA5:
4015+ bR = true;
4016+ bB = true;
4017+ break;
4018+ case 0xA6:
4019+ bR = true;
4020+ bG = true;
4021+ break;
4022+ case 0xA7:
4023+ bR = true;
4024+ bG = true;
4025+ bB = true;
4026+ break;
4027+
4028+ case 0xA9:
4029+ bR = true;
4030+ bB = true;
4031+ bP = true;
4032+ break;
4033+ case 0xAA:
4034+ bR = true;
4035+ bG = true;
4036+ bP = true;
4037+ break;
4038+ case 0xAB:
4039+ bR = true;
4040+ bG = true;
4041+ bB = true;
4042+ bP = true;
4043+ break;
4044+ case 0xAC:
4045+ bY = true;
4046+ bP = true;
4047+ break;
4048+ case 0xAD:
4049+ bB = true;
4050+ bY = true;
4051+ bP = true;
4052+ break;
4053+ case 0xAE:
4054+ bG = true;
4055+ bY = true;
4056+ bP = true;
4057+ break;
4058+ case 0xAF:
4059+ bG = true;
4060+ bB = true;
4061+ bY = true;
4062+ bP = true;
4063+ break;
4064+
4065+ case 0xC5:
4066+ bY = true;
4067+ break;
4068+ case 0xC6:
4069+ bB = true;
4070+ bY = true;
4071+ break;
4072+
4073+ case 0xC8:
4074+ bG = true;
4075+ bY = true;
4076+ break;
4077+ case 0xC9:
4078+ bG = true;
4079+ bB = true;
4080+ bY = true;
4081+ break;
4082+ case 0xCA:
4083+ bR = true;
4084+ bY = true;
4085+ break;
4086+ case 0xCB:
4087+ bR = true;
4088+ bB = true;
4089+ bY = true;
4090+ break;
4091+ case 0xCC:
4092+ bR = true;
4093+ bG = true;
4094+ bY = true;
4095+ break;
4096+ case 0xCD:
4097+ bR = true;
4098+ bG = true;
4099+ bB = true;
4100+ bY = true;
4101+ break;
4102+ case 0xCE:
4103+ bP = true;
4104+ break;
4105+ case 0xCF:
4106+ bB = true;
4107+ bP = true;
4108+ break;
4109+ case 0xD0:
4110+ bR = true;
4111+ bY = true;
4112+ bP = true;
4113+ break;
4114+ case 0xD1:
4115+ bR = true;
4116+ bB = true;
4117+ bY = true;
4118+ bP = true;
4119+ break;
4120+ case 0xD2:
4121+ bR = true;
4122+ bG = true;
4123+ bY = true;
4124+ bP = true;
4125+ break;
4126+ case 0xD3:
4127+ bR = true;
4128+ bG = true;
4129+ bB = true;
4130+ bY = true;
4131+ bP = true;
4132+ break;
4133+
4134+
4135+ case 0xDA:
4136+ bG = true;
4137+ bP = true;
4138+ break;
4139+ case 0xDB:
4140+ bG = true;
4141+ bB = true;
4142+ bP = true;
4143+ break;
4144+ case 0xDC:
4145+ bR = true;
4146+ bP = true;
4147+ break;
4148+ case 0xDD:
4149+ bR = true;
4150+ bB = true;
4151+ bP = true;
4152+ break;
4153+ case 0xDE:
4154+ bR = true;
4155+ bG = true;
4156+ bP = true;
4157+ break;
4158+ case 0xDF:
4159+ bR = true;
4160+ bG = true;
4161+ bB = true;
4162+ bP = true;
4163+ break;
4164+ case 0xE1:
4165+ bY = true;
4166+ bP = true;
4167+ break;
4168+ case 0xE2:
4169+ bB = true;
4170+ bY = true;
4171+ bP = true;
4172+ break;
4173+ case 0xE3:
4174+ bG = true;
4175+ bY = true;
4176+ bP = true;
4177+ break;
4178+ case 0xE4:
4179+ bG = true;
4180+ bB = true;
4181+ bY = true;
4182+ bP = true;
4183+ break;
4184+ case 0xE5:
4185+ bR = true;
4186+ bY = true;
4187+ bP = true;
4188+ break;
4189+ case 0xE6:
4190+ bR = true;
4191+ bB = true;
4192+ bY = true;
4193+ bP = true;
4194+ break;
4195+ case 0xE7:
4196+ bR = true;
4197+ bG = true;
4198+ bY = true;
4199+ bP = true;
4200+ break;
4201+ case 0xE8:
4202+ bR = true;
4203+ bG = true;
4204+ bB = true;
4205+ bY = true;
4206+ bP = true;
4207+ break;
4208+ }
4209+ }
4210+
4211+ // その他
4212+
4213+ #region [ private ]
4214+ //-----------------
4215+ /// <summary>
4216+ /// <para>GDAチャンネル番号に対応するDTXチャンネル番号。</para>
4217+ /// </summary>
4218+ [StructLayout( LayoutKind.Sequential )]
38814219 private struct STGDAPARAM
38824220 {
38834221 public string strGDAのチャンネル文字列;
@@ -5929,23 +6267,23 @@ namespace DTXMania
59296267 //-----------------
59306268 #endregion
59316269 }
5932- //-----------------
5933- #endregion
5934- #region [ 取得したチャンネル番号で、this.bチップがある に該当したり、this.bMovieをFullscreen再生する の条件を満足するなら、設定する。]
5935- //-----------------
5936- if( ( nチャンネル番号 >= 0x11 ) && ( nチャンネル番号 <= 0x1a ) )
5937- {
5938- this.bチップがある.Drums = true;
5939- }
5940- else if( ( nチャンネル番号 >= 0x20 ) && ( nチャンネル番号 <= 0x27 ) )
5941- {
5942- this.bチップがある.Guitar = true;
5943- }
5944- else if( ( nチャンネル番号 >= 0xA0 ) && ( nチャンネル番号 <= 0xa7 ) )
5945- {
5946- this.bチップがある.Bass = true;
5947- }
5948- else if ( ( nチャンネル番号 == 0x04 ) || ( nチャンネル番号 == 0x07 ) ||
6270+ //-----------------
6271+ #endregion
6272+ #region [ 取得したチャンネル番号で、this.bチップがある に該当したり、this.bMovieをFullscreen再生する の条件を満足するなら、設定する。]
6273+ //-----------------
6274+ if( ( nチャンネル番号 >= 0x11 ) && ( nチャンネル番号 <= 0x1c ) )
6275+ {
6276+ this.bチップがある.Drums = true;
6277+ }
6278+ else if( ( nチャンネル番号 >= 0x20 ) && ( nチャンネル番号 <= 0x27 ) || ( nチャンネル番号 >= 0x93 ) && ( nチャンネル番号 <= 0x9F ) || ( nチャンネル番号 >= 0xAA ) && ( nチャンネル番号 <= 0xAF ) || ( nチャンネル番号 >= 0xD0 ) && ( nチャンネル番号 <= 0xD3 ) )
6279+ {
6280+ this.bチップがある.Guitar = true;
6281+ }
6282+ else if( ( nチャンネル番号 >= 0xA0 ) && ( nチャンネル番号 <= 0xa7 ) || ( nチャンネル番号 == 0xC5 ) || ( nチャンネル番号 == 0xC6 ) || ( nチャンネル番号 >= 0xC8 ) && ( nチャンネル番号 <= 0xCF ) || ( nチャンネル番号 >= 0xDA ) && ( nチャンネル番号 <= 0xDF ) || ( nチャンネル番号 >= 0xE1 ) && ( nチャンネル番号 <= 0xE8 ) )
6283+ {
6284+ this.bチップがある.Bass = true;
6285+ }
6286+ else if ( ( nチャンネル番号 == 0x04 ) || ( nチャンネル番号 == 0x07 ) ||
59496287 ( ( 0x55 <= nチャンネル番号 ) && ( nチャンネル番号 <= 0x59 ) ) || ( nチャンネル番号 == 0x60 ) )
59506288 {
59516289 this.bチップがある.BGA = true;
@@ -5994,10 +6332,64 @@ namespace DTXMania
59946332 this.bチップがある.OpenGuitar = true;
59956333 break;
59966334
5997- case 0xA0:
5998- this.bチップがある.OpenBass = true;
5999- break;
6000- }
6335+ case 0x93:
6336+ case 0x94:
6337+ case 0x95:
6338+ case 0x96:
6339+ case 0x97:
6340+ case 0x98:
6341+ case 0x99:
6342+ case 0x9A:
6343+ case 0x9B:
6344+ case 0x9C:
6345+ case 0x9D:
6346+ case 0x9E:
6347+ case 0x9F:
6348+ case 0xA9:
6349+ case 0xAA:
6350+ case 0xAB:
6351+ case 0xAC:
6352+ case 0xAD:
6353+ case 0xAE:
6354+ case 0xAF:
6355+ case 0xD0:
6356+ case 0xD1:
6357+ case 0xD2:
6358+ case 0xD3:
6359+ this.bチップがある.YPGuitar = true;
6360+ break;
6361+
6362+ case 0xC5:
6363+ case 0xC6:
6364+ case 0xC8:
6365+ case 0xC9:
6366+ case 0xCA:
6367+ case 0xCB:
6368+ case 0xCC:
6369+ case 0xCD:
6370+ case 0xCE:
6371+ case 0xCF:
6372+ case 0xDA:
6373+ case 0xDB:
6374+ case 0xDC:
6375+ case 0xDD:
6376+ case 0xDE:
6377+ case 0xDF:
6378+ case 0xE1:
6379+ case 0xE2:
6380+ case 0xE3:
6381+ case 0xE4:
6382+ case 0xE5:
6383+ case 0xE6:
6384+ case 0xE7:
6385+ case 0xE8:
6386+ this.bチップがある.YPBass = true;
6387+ break;
6388+
6389+ case 0xA0:
6390+ this.bチップがある.OpenBass = true;
6391+ break;
6392+ }
60016393 //-----------------
60026394 #endregion
60036395
@@ -6103,26 +6495,26 @@ namespace DTXMania
61036495 chip.n整数値 = nオブジェクト数値;
61046496 chip.n整数値_内部番号 = nオブジェクト数値;
61056497
6106- #region [ chip.e楽器パート = ... ]
6107- //-----------------
6108- if( ( nチャンネル番号 >= 0x11 ) && ( nチャンネル番号 <= 0x1C ) )
6109- {
6110- chip.e楽器パート = E楽器パート.DRUMS;
6111- }
6112- if( ( nチャンネル番号 >= 0x20 ) && ( nチャンネル番号 <= 0x27 ) )
6113- {
6114- chip.e楽器パート = E楽器パート.GUITAR;
6115- }
6116- if( ( nチャンネル番号 >= 160 ) && ( nチャンネル番号 <= 0xA7 ) )
6117- {
6118- chip.e楽器パート = E楽器パート.BASS;
6119- }
6120- //-----------------
6121- #endregion
6498+ #region [ chip.e楽器パート = ... ]
6499+ //-----------------
6500+ if( ( nチャンネル番号 >= 0x11 ) && ( nチャンネル番号 <= 0x1C ) )
6501+ {
6502+ chip.e楽器パート = E楽器パート.DRUMS;
6503+ }
6504+ if( ( nチャンネル番号 >= 0x20 && nチャンネル番号 <= 0x27 ) || ( nチャンネル番号 >= 0x93 && nチャンネル番号 <= 0x9F ) || ( nチャンネル番号 >= 0xA9 && nチャンネル番号 <= 0xAF ) || ( nチャンネル番号 >= 0xD0 && nチャンネル番号 <= 0xD3 ) || ( nチャンネル番号 == 0x2A ) )
6505+ {
6506+ chip.e楽器パート = E楽器パート.GUITAR;
6507+ }
6508+ if( ( nチャンネル番号 >= 0xA0 && nチャンネル番号 <= 0xA7 ) || ( nチャンネル番号 == 0xC5 ) || ( nチャンネル番号 == 0xC6 ) || ( nチャンネル番号 >= 0xC8 && nチャンネル番号 <= 0xCF ) || ( nチャンネル番号 >= 0xDA && nチャンネル番号 <= 0xDF ) || ( nチャンネル番号 >= 0xE1 && nチャンネル番号 <= 0xE8 ) )
6509+ {
6510+ chip.e楽器パート = E楽器パート.BASS;
6511+ }
6512+ //-----------------
6513+ #endregion
61226514
6123- // #34029 2014.7.15 yyagi
6124- #region [ ドラムの空打ち音だったら、フラグを立てたうえで、通常チップのチャンネル番号に変更。ギターベースの空打ち音はとりあえずフラグを立てるだけ。 ]
6125- if ( 0xB1 <= nチャンネル番号 && nチャンネル番号 <= 0xB9 )
6515+ // #34029 2014.7.15 yyagi
6516+ #region [ ドラムの空打ち音だったら、フラグを立てたうえで、通常チップのチャンネル番号に変更。ギターベースの空打ち音はとりあえずフラグを立てるだけ。 ]
6517+ if ( 0xB1 <= nチャンネル番号 && nチャンネル番号 <= 0xB9 )
61266518 {
61276519 chip.b空打ちチップである = true;
61286520 nチャンネル番号 = nチャンネル番号 - 0xB0 + 0x10;
--- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList共通.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList共通.cs
@@ -744,6 +744,15 @@ namespace DTXMania
744744 "Toggle LaneFlush");
745745 this.list項目リスト.Add(this.iDrumsLaneFlush);
746746
747+ if( !CDTXMania.bXGRelease )
748+ {
749+ this.iDrumsMatixxFrameDisp = new CItemToggle( "FrameDisp", CDTXMania.ConfigIni.bフレームを表示する,
750+ "フレームの表示 / 非表示を\n" +
751+ "切り替えます。",
752+ "Toggle FrameDisp" );
753+ this.list項目リスト.Add( this.iDrumsMatixxFrameDisp );
754+ }
755+
747756 this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Drums,
748757 "ドラムチップが譜面の下から上に流れるようになります。",
749758 "The scroll way is reversed. Drums chips flow from the bottom to the top." );
@@ -3134,6 +3143,7 @@ namespace DTXMania
31343143 private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi
31353144 private CItemInteger iSystemMasterVolume; // #33700 2014.4.26 yyagi
31363145 private CItemInteger iDrumsPedalJudgeRangeDelta; // #39397 2019.07.19 kairera0467
3146+ private CItemToggle iDrumsMatixxFrameDisp; // 2019.09.07 kairera0467
31373147
31383148 protected int t前の項目( int nItem )
31393149 {
@@ -3360,6 +3370,16 @@ namespace DTXMania
33603370 CDTXMania.ConfigIni.eNumOfLanes.Drums = (Eタイプ)this.iDrumsNumOfLanes.n現在選択されている項目番号;
33613371
33623372 CDTXMania.ConfigIni.nPedalJudgeRangeDelta = this.iDrumsPedalJudgeRangeDelta.n現在の値;
3373+
3374+ // 2019.9.7 kairera0467 試験的に設置。XGまたはmatixxで設定項目を制限するテスト。そのうちメソッドごとに分離するかもしれない。
3375+ if( CDTXMania.bXGRelease )
3376+ {
3377+
3378+ }
3379+ else
3380+ {
3381+ CDTXMania.ConfigIni.bフレームを表示する = this.iDrumsMatixxFrameDisp.bON;
3382+ }
33633383 }
33643384 private void tConfigIniへ記録する_Guitar()
33653385 {
--- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト共通.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト共通.cs
@@ -780,6 +780,9 @@ namespace DTXMania
780780 public string strDTXフォルダのパス;
781781 public string strPreimageのパス;
782782 public Cスコア.ST譜面情報 ar譜面情報;
783+ public STDGBVALUE<double>[] db達成率_難易度毎;
784+ public STDGBVALUE<int> nランク_難易度毎;
785+ public STDGBVALUE<bool> bフルコンボ_難易度毎;
783786 }
784787
785788 public struct ST選曲バー
--- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CStage選曲GITADORA.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CStage選曲GITADORA.cs
@@ -95,7 +95,7 @@ namespace DTXMania
9595
9696 this.act曲リスト.On進行描画();
9797 int y = 0;
98- if( this.ct登場時アニメ用共通.b進行中 )
98+ if( this.ct登場時アニメ用共通.b進行中 && this.tx上部パネル != null )
9999 {
100100 double db登場割合 = ( (double) this.ct登場時アニメ用共通.n現在の値 ) / 100.0; // 100が最終値
101101 double dbY表示割合 = Math.Sin( Math.PI / 2 * db登場割合 );
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs
@@ -349,7 +349,7 @@ namespace DTXMania
349349 float fResizeRatio = 1.0f;
350350 if( CDTXMania.ConfigIni.bDrums有効 )
351351 {
352- if( CDTXMania.ConfigIni.bGraph.Drums )
352+ if( !CDTXMania.ConfigIni.bドラムが全部オートプレイである && CDTXMania.ConfigIni.bGraph.Drums )
353353 {
354354 nClipPos = new int[] { 2, 402, 0, 0 };
355355 nPanelPos = new int[] { 2, 402, 0, 0 };
@@ -529,7 +529,7 @@ namespace DTXMania
529529
530530 if( CDTXMania.ConfigIni.bDrums有効 )
531531 {
532- if( CDTXMania.ConfigIni.bGraph.Drums )
532+ if( !CDTXMania.ConfigIni.bドラムが全部オートプレイである && CDTXMania.ConfigIni.bGraph.Drums )
533533 this.txクリップパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_ClipPanelB.png" ) );
534534 else
535535 this.txクリップパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_ClipPanel.png" ) );
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
@@ -2268,7 +2268,9 @@ namespace DTXMania
22682268
22692269 protected void t進行描画_ゲージ()
22702270 {
2271- if ( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )
2271+ if ( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) &&
2272+ ( !CDTXMania.bXGRelease ? CDTXMania.ConfigIni.bフレームを表示する : true ) ) &&
2273+ ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )
22722274 {
22732275 this.actGauge.On進行描画();
22742276 }
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CAct演奏DrumsステータスパネルGD.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CAct演奏DrumsステータスパネルGD.cs
@@ -176,6 +176,11 @@ namespace DTXMania
176176 this.tx判定数数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Ratenumber_s.png" ) );
177177 this.tx達成率数字_整数 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Ratenumber_l.png" ) );
178178
179+ // 難易度ラベル/パート表記
180+ // TODO:パート表記のフォントが3D描画の都合で汚くなってしまう。ここでテクスチャを合成したほうがよさそうかも...
181+ this.tx難易度ラベル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Difficulty.png" ) );
182+ this.txパート = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Part.png" ) );
183+
179184 CDTXMania.t安全にDisposeする( ref bmpCardName );
180185
181186 base.OnManagedリソースの作成();
@@ -198,11 +203,14 @@ namespace DTXMania
198203 CDTXMania.tテクスチャの解放( ref this.txJacket );
199204 CDTXMania.tテクスチャの解放( ref this.txスキルパネル );
200205
201- CDTXMania.tテクスチャの解放( ref this.tx達成率数字_整数 );
202206 CDTXMania.tテクスチャの解放( ref this.tx判定数数字 );
207+ CDTXMania.tテクスチャの解放( ref this.tx達成率数字_整数 );
203208
204209 CDTXMania.tテクスチャの解放( ref this.txPlayerName );
205210
211+ CDTXMania.tテクスチャの解放( ref this.tx難易度ラベル );
212+ CDTXMania.tテクスチャの解放( ref this.txパート );
213+
206214 base.OnManagedリソースの解放();
207215 }
208216 }
@@ -215,14 +223,15 @@ namespace DTXMania
215223 // return 0;
216224 if( this.b初めての進行描画 )
217225 {
218- //fX = -465;
219- //fY = -25;
220- //fZ = 0;
221- //rot = -38;
222- //fScaleX = 0.6f;
223- //fScaleY = 1f;
224- //offset = 0;
225-
226+#if DEBUG
227+ fX = -465;
228+ fY = -25;
229+ fZ = 0;
230+ rot = -38;
231+ fScaleX = 0.6f;
232+ fScaleY = 1f;
233+ offset = 0;
234+#endif
226235 this.b初めての進行描画 = false;
227236 }
228237 //if ( CDTXMania.ConfigIni.bShowMusicInfo )
@@ -247,118 +256,130 @@ namespace DTXMania
247256 this.txPlayerName.t3D描画( CDTXMania.app.Device, matPlayerName );
248257 }
249258
250- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F1 ) )
251- //{
252- // fX--;
253- //}
254- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F2 ) )
255- //{
256- // fX++;
257- //}
258- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F3 ) )
259- //{
260- // fY--;
261- //}
262- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F4 ) )
263- //{
264- // fY++;
265- //}
266- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F6 ) )
267- //{
268- // rot--;
269- //}
270- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F7 ) )
271- //{
272- // rot++;
273- //}
274- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F8 ) )
275- //{
276- // fScaleX -= 0.01f;
277- //}
278- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F9 ) )
279- //{
280- // fScaleX += 0.01f;
281- //}
282- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F10 ) )
283- //{
284- // fScaleX -= 0.1f;
285- //}
286- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F11 ) )
287- //{
288- // fScaleX += 0.1f;
289- //}
290- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D1 ) )
291- //{
292- // fScaleY -= 0.01f;
293- //}
294- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D2 ) )
295- //{
296- // fScaleY += 0.01f;
297- //}
298- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D3 ) )
299- //{
300- // fScaleY -= 0.1f;
301- //}
302- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D4 ) )
303- //{
304- // fScaleY += 0.1f;
305- //}
306- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D5 ) )
307- //{
308- // fOffsetX--;
309- //}
310- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D6 ) )
311- //{
312- // fOffsetX++;
313- //}
314- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D7 ) )
315- //{
316- // fX -= 10;
317- //}
318- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D8 ) )
319- //{
320- // fX += 10;
321- //}
322- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D9 ) )
323- //{
324- // fY -= 10;
325- //}
326- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D0 ) )
327- //{
328- // fY += 10;
329- //}
330- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.Q ) )
331- //{
332- // fZ -= 1;
333- //}
334- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.W ) )
335- //{
336- // fZ += 1;
337- //}
338- //if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.E ) )
339- //{
340- // fZ -= 10;
341- //}
342- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.R ) )
343- //{
344- // fZ += 10;
345- //}
346- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.T ) )
347- //{
348- // fOffsetY--;
349- //}
350- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.Y ) )
351- //{
352- // fOffsetY++;
353- //}
354- //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.U ) )
355- //{
356- // fOffsetZ--;
357- //}
358- //if(CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.I ))
359- //{
360- // fOffsetZ++;
361- //}
259+#if DEBUG
260+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F1 ) )
261+ {
262+ fX--;
263+ }
264+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F2 ) )
265+ {
266+ fX++;
267+ }
268+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F3 ) )
269+ {
270+ fY--;
271+ }
272+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F4 ) )
273+ {
274+ fY++;
275+ }
276+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F6 ) )
277+ {
278+ rot--;
279+ }
280+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F7 ) )
281+ {
282+ rot++;
283+ }
284+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F8 ) )
285+ {
286+ fScaleX -= 0.01f;
287+ }
288+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F9 ) )
289+ {
290+ fScaleX += 0.01f;
291+ }
292+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F10 ) )
293+ {
294+ fScaleX -= 0.1f;
295+ }
296+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F11 ) )
297+ {
298+ fScaleX += 0.1f;
299+ }
300+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D1 ) )
301+ {
302+ fScaleY -= 0.01f;
303+ }
304+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D2 ) )
305+ {
306+ fScaleY += 0.01f;
307+ }
308+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D3 ) )
309+ {
310+ fScaleY -= 0.1f;
311+ }
312+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D4 ) )
313+ {
314+ fScaleY += 0.1f;
315+ }
316+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D5 ) )
317+ {
318+ fOffsetX--;
319+ }
320+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D6 ) )
321+ {
322+ fOffsetX++;
323+ }
324+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D7 ) )
325+ {
326+ fX -= 10;
327+ }
328+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D8 ) )
329+ {
330+ fX += 10;
331+ }
332+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D9 ) )
333+ {
334+ fY -= 10;
335+ }
336+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D0 ) )
337+ {
338+ fY += 10;
339+ }
340+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.Q ) )
341+ {
342+ fZ -= 1;
343+ }
344+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.W ) )
345+ {
346+ fZ += 1;
347+ }
348+ if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.E ) )
349+ {
350+ fZ -= 10;
351+ }
352+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.R ) )
353+ {
354+ fZ += 10;
355+ }
356+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.T ) )
357+ {
358+ fOffsetY--;
359+ }
360+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.Y ) )
361+ {
362+ fOffsetY++;
363+ }
364+ if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.U ) )
365+ {
366+ fOffsetZ--;
367+ }
368+ if(CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.I ))
369+ {
370+ fOffsetZ++;
371+ }
372+
373+ CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, "RotY:" + rot.ToString() );
374+ CDTXMania.act文字コンソール.tPrint( 0, 16, C文字コンソール.Eフォント種別.白, "PanelX:" + fX.ToString() );
375+ CDTXMania.act文字コンソール.tPrint( 0, 32, C文字コンソール.Eフォント種別.白, "PanelY:" + fY.ToString() );
376+ CDTXMania.act文字コンソール.tPrint( 0, 48, C文字コンソール.Eフォント種別.白, "PanelZ:" + fZ.ToString() );
377+ CDTXMania.act文字コンソール.tPrint( 0, 64, C文字コンソール.Eフォント種別.白, "ScaleX:" + fScaleX.ToString() );
378+ CDTXMania.act文字コンソール.tPrint( 0, 80, C文字コンソール.Eフォント種別.白, "ScaleY:" + fScaleY.ToString() );
379+ CDTXMania.act文字コンソール.tPrint( 0, 96, C文字コンソール.Eフォント種別.白, "OffsetX:" + fOffsetX.ToString() );
380+ CDTXMania.act文字コンソール.tPrint( 0, 112, C文字コンソール.Eフォント種別.白, "OffsetY:" + fOffsetY.ToString() );
381+ CDTXMania.act文字コンソール.tPrint( 0, 128, C文字コンソール.Eフォント種別.白, "OffsetZ:" + fOffsetZ.ToString() );
382+#endif
362383
363384 #region[ ステータスパネルの文字 ]
364385 if( this.tx判定数数字 != null )
@@ -408,17 +429,9 @@ namespace DTXMania
408429 this.t判定率文字描画( -435, -13, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss / (float)nowtotal) * 100.0f ) );
409430 this.t判定率文字描画( -435, -43, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 / (float)nowtotal) * 100.0f ) );
410431 }
411- #endregion
432+#endregion
433+
412434
413- //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, "RotY:" + rot.ToString() );
414- //CDTXMania.act文字コンソール.tPrint( 0, 16, C文字コンソール.Eフォント種別.白, "PanelX:" + fX.ToString() );
415- //CDTXMania.act文字コンソール.tPrint( 0, 32, C文字コンソール.Eフォント種別.白, "PanelY:" + fY.ToString() );
416- //CDTXMania.act文字コンソール.tPrint( 0, 48, C文字コンソール.Eフォント種別.白, "PanelZ:" + fZ.ToString() );
417- //CDTXMania.act文字コンソール.tPrint( 0, 64, C文字コンソール.Eフォント種別.白, "ScaleX:" + fScaleX.ToString() );
418- //CDTXMania.act文字コンソール.tPrint( 0, 80, C文字コンソール.Eフォント種別.白, "ScaleY:" + fScaleY.ToString() );
419- //CDTXMania.act文字コンソール.tPrint( 0, 96, C文字コンソール.Eフォント種別.白, "OffsetX:" + fOffsetX.ToString() );
420- //CDTXMania.act文字コンソール.tPrint( 0, 112, C文字コンソール.Eフォント種別.白, "OffsetY:" + fOffsetY.ToString() );
421- //CDTXMania.act文字コンソール.tPrint( 0, 128, C文字コンソール.Eフォント種別.白, "OffsetZ:" + fOffsetZ.ToString() );
422435
423436 if ( this.txSongNamePlate != null )
424437 {
@@ -438,87 +451,97 @@ namespace DTXMania
438451 }
439452 }
440453
441-
442- #region[ HSアイコン ]
443- //ハイスピはここで描画させる。
444- if( this.nCurrentDrumspeed != CDTXMania.ConfigIni.n譜面スクロール速度.Drums && this.iDrumspeed != null )
454+ #region[ 難易度ラベル ]
455+ if( this.txパート != null && this.tx難易度ラベル != null )
445456 {
446- Graphics gNamePlate = Graphics.FromImage( this.bNamePlate );
447- this.nCurrentDrumspeed = CDTXMania.ConfigIni.n譜面スクロール速度.Drums;
448- if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
449- {
450- gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 209, 156, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
451- }
452- else if(CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
453- {
454- gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 210, 141, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
455- }
456- gNamePlate.Dispose();
457- this.txNamePlate.Dispose();
458- this.txNamePlate = new CTexture( CDTXMania.app.Device, this.bNamePlate, CDTXMania.TextureFormat, false );
457+ Matrix matPart = Matrix.Identity;
458+ matPart *= Matrix.Scaling( 0.6f, 1, 1 );
459+ matPart *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
460+ matPart *= Matrix.Translation( -528, -110, 0 );
461+ this.tx難易度ラベル.t3D描画( CDTXMania.app.Device, matPart, new Rectangle( 0, 68 * CDTXMania.stage選曲GITADORA.n確定された曲の難易度, 68, 68 ) );
462+ this.txパート.t3D描画( CDTXMania.app.Device, matPart, new Rectangle( 0, 0, 68, 68 ) ); // DrumsだけなのでRectangle.Xは0で固定
459463 }
460464 #endregion
465+ #region[ HSアイコン ]
466+ //ハイスピはここで描画させる。
467+ if( this.nCurrentDrumspeed != CDTXMania.ConfigIni.n譜面スクロール速度.Drums && this.iDrumspeed != null )
468+ {
469+ Graphics gNamePlate = Graphics.FromImage( this.bNamePlate );
470+ this.nCurrentDrumspeed = CDTXMania.ConfigIni.n譜面スクロール速度.Drums;
471+ if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
472+ {
473+ gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 209, 156, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
474+ }
475+ else if(CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
476+ {
477+ gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 210, 141, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
478+ }
479+ gNamePlate.Dispose();
480+ this.txNamePlate.Dispose();
481+ this.txNamePlate = new CTexture( CDTXMania.app.Device, this.bNamePlate, CDTXMania.TextureFormat, false );
482+ }
483+ #endregion
461484 #region[ スコア表示 ]
462- this.n表示スコア.Drums = (long)CDTXMania.stage演奏ドラム画面GITADORA.actScore.n現在表示中のスコア.Drums;
463- if( CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania )
464- {
465- //string str = this.n表示スコア.Drums.ToString("0000000000");
466- //for (int i = 0; i < 10; i++)
467- //{
468- // Rectangle rectangle;
469- // char ch = str[i];
470- // if (ch.Equals(' '))
471- // {
472- // rectangle = new Rectangle(0, 0, 32, 36);
473- // }
474- // else
475- // {
476- // int num3 = int.Parse(str.Substring(i, 1));
477- // rectangle = new Rectangle((num3 * 36), 0, 36, 50);
478- // }
479- // if (this.txScore != null)
480- // {
481- // SlimDX.Matrix matScoreXG = SlimDX.Matrix.Identity;
482- // matScoreXG *= SlimDX.Matrix.Translation(-1370 + (i * 30), 50 + CDTXMania.stage演奏ドラム画面GITADORA.actScore.x位置[i].Drums, 0);
483- // matScoreXG *= SlimDX.Matrix.Scaling(0.3f, 0.62f, 1f);
484- // matScoreXG *= SlimDX.Matrix.RotationY(-0.8f);
485- // this.txScore.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
486- // }
487- //}
488- }
489- else if( CDTXMania.ConfigIni.eSkillMode == ESkillType.XG )
490- {
491- // 2019.1.12 kairera0467
492- // とりあえずXGスコア計算時のみ表示
493- if( this.txScore != null )
494- {
495- string str = string.Format("{0,7:######0}", this.n表示スコア.Drums);
496- for( int i = 0; i < 7; i++ )
497- {
498- Rectangle rectangle;
499- char ch = str[i];
500- if (ch.Equals(' '))
501- {
502- rectangle = new Rectangle(0, 0, 0, 0);
503- }
504- else
505- {
506- int num3 = int.Parse(str.Substring(i, 1));
507- rectangle = new Rectangle((num3 * 36), 0, 36, 50);
508- }
509- Matrix matScoreXG = Matrix.Identity;
510- matScoreXG *= Matrix.Scaling(0.6f, 1.1f, 1f);
511- matScoreXG *= Matrix.RotationY(C変換.DegreeToRadian(-40));
512- matScoreXG *= Matrix.Translation(-522 + (i * 14), 237 + CDTXMania.stage演奏ドラム画面GITADORA.actScore.x位置[i].Drums, i * 14);
513- this.txScore.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
514- }
515- Matrix matScoreTxt = Matrix.Identity;
516- matScoreTxt *= Matrix.Scaling(0.6f, 1.5f, 1f);
517- matScoreTxt *= Matrix.RotationY(C変換.DegreeToRadian(-40));
518- matScoreTxt *= Matrix.Translation(-494f, 282f, 0);
519- this.txScore.t3D描画(CDTXMania.app.Device, matScoreTxt, new Rectangle( 0, 50, 88, 28 ));
520- }
521- }
485+ this.n表示スコア.Drums = (long)CDTXMania.stage演奏ドラム画面GITADORA.actScore.n現在表示中のスコア.Drums;
486+ if( CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania )
487+ {
488+ //string str = this.n表示スコア.Drums.ToString("0000000000");
489+ //for (int i = 0; i < 10; i++)
490+ //{
491+ // Rectangle rectangle;
492+ // char ch = str[i];
493+ // if (ch.Equals(' '))
494+ // {
495+ // rectangle = new Rectangle(0, 0, 32, 36);
496+ // }
497+ // else
498+ // {
499+ // int num3 = int.Parse(str.Substring(i, 1));
500+ // rectangle = new Rectangle((num3 * 36), 0, 36, 50);
501+ // }
502+ // if (this.txScore != null)
503+ // {
504+ // SlimDX.Matrix matScoreXG = SlimDX.Matrix.Identity;
505+ // matScoreXG *= SlimDX.Matrix.Translation(-1370 + (i * 30), 50 + CDTXMania.stage演奏ドラム画面GITADORA.actScore.x位置[i].Drums, 0);
506+ // matScoreXG *= SlimDX.Matrix.Scaling(0.3f, 0.62f, 1f);
507+ // matScoreXG *= SlimDX.Matrix.RotationY(-0.8f);
508+ // this.txScore.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
509+ // }
510+ //}
511+ }
512+ else if( CDTXMania.ConfigIni.eSkillMode == ESkillType.XG )
513+ {
514+ // 2019.1.12 kairera0467
515+ // とりあえずXGスコア計算時のみ表示
516+ if( this.txScore != null )
517+ {
518+ string str = string.Format("{0,7:######0}", this.n表示スコア.Drums);
519+ for( int i = 0; i < 7; i++ )
520+ {
521+ Rectangle rectangle;
522+ char ch = str[i];
523+ if (ch.Equals(' '))
524+ {
525+ rectangle = new Rectangle(0, 0, 0, 0);
526+ }
527+ else
528+ {
529+ int num3 = int.Parse(str.Substring(i, 1));
530+ rectangle = new Rectangle((num3 * 36), 0, 36, 50);
531+ }
532+ Matrix matScoreXG = Matrix.Identity;
533+ matScoreXG *= Matrix.Scaling(0.6f, 1.1f, 1f);
534+ matScoreXG *= Matrix.RotationY(C変換.DegreeToRadian(-40));
535+ matScoreXG *= Matrix.Translation(-522 + (i * 14), 237 + CDTXMania.stage演奏ドラム画面GITADORA.actScore.x位置[i].Drums, i * 14);
536+ this.txScore.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
537+ }
538+ Matrix matScoreTxt = Matrix.Identity;
539+ matScoreTxt *= Matrix.Scaling(0.6f, 1.5f, 1f);
540+ matScoreTxt *= Matrix.RotationY(C変換.DegreeToRadian(-40));
541+ matScoreTxt *= Matrix.Translation(-494f, 282f, 0);
542+ this.txScore.t3D描画(CDTXMania.app.Device, matScoreTxt, new Rectangle( 0, 50, 88, 28 ));
543+ }
544+ }
522545 #endregion
523546 }
524547 return 0;
@@ -528,7 +551,7 @@ namespace DTXMania
528551
529552 // その他
530553
531- #region [ private ]
554+#region [ private ]
532555 //-----------------
533556 private Bitmap b4font;
534557 private Bitmap bNamePlate;
@@ -559,11 +582,15 @@ namespace DTXMania
559582 private CTexture tx判定数数字;
560583 private CTexture tx達成率数字_整数;
561584
585+ private CTexture tx難易度ラベル;
586+ private CTexture txパート;
587+
562588 #if DEBUG
563589 private float fX;
564590 private float fY;
565591 private float fZ;
566592 private int rot;
593+ private int offset;
567594 private float fScaleX;
568595 private float fScaleY;
569596 private float fOffsetX;
@@ -640,6 +667,6 @@ namespace DTXMania
640667 this.tx判定数数字.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
641668 }
642669 }
643- #endregion
670+#endregion
644671 }
645672 }
\ No newline at end of file
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CStage演奏ドラム画面GD.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CStage演奏ドラム画面GD.cs
@@ -228,13 +228,13 @@ namespace DTXMania
228228 bIsFinishedPlaying = this.t進行描画_チップ(E楽器パート.DRUMS);
229229 this.actShutter.On進行描画();
230230 this.t進行描画_ドラムパッド();
231- if( this.txフレーム != null ) this.txフレーム.t2D描画( CDTXMania.app.Device, 0, 0 );
232- if( this.txフレーム外側 != null ) this.txフレーム外側.t2D描画( CDTXMania.app.Device, 0, 0 );
231+ if( this.txフレーム != null && CDTXMania.ConfigIni.bフレームを表示する ) this.txフレーム.t2D描画( CDTXMania.app.Device, 0, 0 );
232+ if( this.txフレーム外側 != null && CDTXMania.ConfigIni.bフレームを表示する ) this.txフレーム外側.t2D描画( CDTXMania.app.Device, 0, 0 );
233233 this.t進行描画_ゲージ();
234234
235235 this.t進行描画_ステータスパネル();
236236
237- this.actClearBar.On進行描画();
237+ if( CDTXMania.ConfigIni.bフレームを表示する ) this.actClearBar.On進行描画();
238238 this.actAVI.tウィンドウクリップを3D表示する();
239239 this.t進行描画_判定ライン();
240240
@@ -2853,10 +2853,20 @@ namespace DTXMania
28532853 演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums ) + pChip.nバーからの距離dot.Drums :
28542854 演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums ) - pChip.nバーからの距離dot.Drums;
28552855 //x = (int) ( x * Scale.X );
2856- if ( this.txチップ != null )
2857- {
2858- base.txチップ.vc拡大縮小倍率 = new Vector3( ( float )pChip.dbチップサイズ倍率, ( float )pChip.dbチップサイズ倍率, 1f );
2859- }
2856+ if( this.txチップ != null )
2857+ {
2858+ // 19.9.10 kairera0467
2859+ //float fチップサイズ = 10.0f;
2860+ //float nチップ縦幅px = 10.0f;
2861+ //if( configIni.n譜面スクロール速度.Drums < C定数.nチップ幅テーブルDB.Length )
2862+ //{
2863+ // fチップサイズ = ( C定数.nチップ幅テーブルDB[ configIni.n譜面スクロール速度.Drums ] / nチップ縦幅px );
2864+ //}
2865+
2866+ //base.txチップ.vc拡大縮小倍率 = new Vector3( (float)pChip.dbチップサイズ倍率, fチップサイズ, 1f );
2867+
2868+ base.txチップ.vc拡大縮小倍率 = new Vector3( (float)pChip.dbチップサイズ倍率, (float)pChip.dbチップサイズ倍率, 1f );
2869+ }
28602870 int num9 = this.ctチップ模様アニメ.Drums.n現在の値;
28612871
28622872 switch( pChip.nチャンネル番号 )
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsステータスパネル.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsステータスパネル.cs
@@ -110,8 +110,9 @@ namespace DTXMania
110110 Color clNameColorLower = Color.White;
111111 switch( CDTXMania.ConfigIni.nNameColor[ 0 ] )
112112 {
113- case 0:
113+ default:
114114 clNameColor = Color.White;
115+ clNameColorLower = Color.White;
115116 break;
116117 case 1:
117118 clNameColor = Color.LightYellow;
@@ -132,18 +133,18 @@ namespace DTXMania
132133 clNameColor = Color.Red;
133134 break;
134135 case 7:
135- clNameColor = Color.Brown;
136+ clNameColor = Color.FromArgb( 255, 232, 182, 149 );
137+ clNameColorLower = Color.FromArgb( 255, 122, 69, 26 );
136138 break;
137139 case 8:
138- clNameColor = Color.Silver;
140+ clNameColor = Color.FromArgb( 246, 245, 255 );
141+ clNameColorLower = Color.FromArgb( 125, 128, 137 );
139142 break;
140143 case 9:
141- clNameColor = Color.Gold;
144+ clNameColor = Color.FromArgb( 255, 238, 196, 85 );
145+ clNameColorLower = Color.FromArgb( 255, 255, 241, 200 );
142146 break;
143147
144- case 10:
145- clNameColor = Color.White;
146- break;
147148 case 11:
148149 clNameColor = Color.LightYellow;
149150 clNameColorLower = Color.White;
@@ -184,7 +185,7 @@ namespace DTXMania
184185
185186 Bitmap bmpCardName = new Bitmap( 1, 1 );
186187
187- if (CDTXMania.ConfigIni.nNameColor.Drums >= 11)
188+ if (CDTXMania.ConfigIni.nNameColor.Drums >= 7)
188189 {
189190 bmpCardName = this.pfNameFont.DrawPrivateFont(this.strPlayerName, clNameColor, Color.Transparent, clNameColor, clNameColorLower);
190191 }
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
@@ -748,7 +748,7 @@ namespace DTXMania
748748
749749 private void t進行描画_グラフ()
750750 {
751- if ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bGraph.Drums )
751+ if ( !CDTXMania.ConfigIni.bドラムが全部オートプレイである && CDTXMania.ConfigIni.bGraph.Drums )
752752 {
753753 this.actGraph.On進行描画();
754754 }
--- a/DTXManiaプロジェクト/コード/ステージ/08.結果/GITADORA/CActResultParameterPanelGD.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/GITADORA/CActResultParameterPanelGD.cs
@@ -97,6 +97,7 @@ namespace DTXMania
9797 this.tx達成率数字_整数 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\8_Rate Number Big.png" ) );
9898 this.tx達成率数字_少数 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\8_Rate Number Small.png" ) );
9999
100+ this.tx項目文字列 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\8_text.png" ) );
100101
101102 #region[ 難易度、達成率、スキル値の下の白線の生成 ]
102103 Bitmap b白線 = new Bitmap( 340, 2 );
@@ -131,6 +132,8 @@ namespace DTXMania
131132 CDTXMania.tテクスチャの解放( ref this.tx達成率数字_整数 );
132133 CDTXMania.tテクスチャの解放( ref this.tx達成率数字_少数 );
133134
135+ CDTXMania.tテクスチャの解放( ref this.tx項目文字列 );
136+
134137 CDTXMania.tテクスチャの解放( ref this.tx白線 );
135138 base.OnManagedリソースの解放();
136139 }
@@ -168,6 +171,11 @@ namespace DTXMania
168171 //this.t特大文字表示( 1020, 370, string.Format("{0,6:##0.00}", CDTXMania.stage結果.st演奏記録[i].dbゲーム型スキル値));
169172 this.tスキル値の描画(976, 328, CDTXMania.stage結果.st演奏記録[ i ].dbゲーム型スキル値 );
170173 this.tx白線?.t2D描画( CDTXMania.app.Device, 842, 416 );
174+
175+ // 各項目の文字
176+ this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 847, 381, new Rectangle( 0, 0, 128, 32 ) );
177+ this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 895, 254, new Rectangle( 0, 32, 96, 32 ) );
178+ this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 917, 181, new Rectangle( 0, 64, 96, 32 ) );
171179 }
172180 }
173181
@@ -202,6 +210,7 @@ namespace DTXMania
202210 CDTXMania.act文字コンソール.tPrint( 1054, 580, C文字コンソール.Eフォント種別.白, string.Format( "{0,3:##0}%", CDTXMania.stage結果.fMiss率.Drums ) );
203211 CDTXMania.act文字コンソール.tPrint( 1054, 604, C文字コンソール.Eフォント種別.白, string.Format( "{0,3:##0}%", (((float)CDTXMania.stage結果.st演奏記録.Drums.n最大コンボ数) / ((float)CDTXMania.stage結果.st演奏記録.Drums.n全チップ数)) * 100.0f ) );
204212
213+
205214 //string test = string.Format("{0,4:###0}", CDTXMania.stage結果.st演奏記録.Drums.nPerfect数);
206215 if( !this.ct表示用.b終了値に達した )
207216 {
@@ -258,6 +267,7 @@ namespace DTXMania
258267 private CTexture tx達成率数字_整数;
259268 private CTexture tx達成率数字_少数;
260269 private CTexture tx白線;
270+ private CTexture tx項目文字列;
261271
262272 private ST文字位置[] st小文字位置 = new ST文字位置[]{
263273 new ST文字位置( '0', new Point( 0, 36 ) ),
@@ -546,11 +556,12 @@ namespace DTXMania
546556 // 1文字あたりのマージン
547557 int n文字間隔_整数部 = 46;
548558 int n文字間隔_小数部 = 32;
559+ bool b先頭処理中 = true;
549560 bool b整数部処理中 = true;
550561 dbスキル値 = dbスキル値 * 100.0;
551562 dbスキル値 = Math.Floor( dbスキル値 );
552563 dbスキル値 = dbスキル値 / 100.0;
553- string formatText = string.Format( "{0,6:##0.00}", dbスキル値 );
564+ string formatText = string.Format( "{0,6:000.00}", dbスキル値 );
554565
555566 for( int i = 0; i < formatText.Length; i++ )
556567 {
@@ -564,6 +575,10 @@ namespace DTXMania
564575 x += 18;
565576 continue;
566577 }
578+ else if( ( !c.Equals( '0' ) && b先頭処理中 ) || i == 2 )
579+ {
580+ b先頭処理中 = false;
581+ }
567582 else if( c.Equals( ' ' ) )
568583 {
569584 // 空白ならなにもせずcontinue
@@ -576,6 +591,7 @@ namespace DTXMania
576591 {
577592 if( b整数部処理中 )
578593 {
594+ this.txスキル数字_整数.n透明度 = b先頭処理中 ? 128 : 255;
579595 this.txスキル数字_整数.t2D描画( CDTXMania.app.Device, x, y, this.STスキル数字_整数[ j ].rect );
580596 x += n文字間隔_整数部;
581597 }
--- a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs
+++ b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs
@@ -576,6 +576,7 @@ namespace DTXMania
576576 public STDGBVALUE<Eランダムモード> eRandomPedal;
577577 public STDGBVALUE<bool> bAssignToLBD;
578578 public int nPedalJudgeRangeDelta; // #39397 2019.07.19 kairera0467 ペダルレーンの補正値(通常の判定範囲に加算)
579+ public bool bフレームを表示する; // 2019.09.07 kairera0467 フレーム表示をする(今の所matixxのみ)
579580
580581 #endregion
581582 #region[ Ver.K 追加取得処理 ]
@@ -1390,6 +1391,7 @@ namespace DTXMania
13901391 }
13911392
13921393 this.nPedalJudgeRangeDelta = 20;
1394+ this.bフレームを表示する = true;
13931395 #endregion
13941396
13951397 //this.bNoMP3Streaming = false;
@@ -1483,7 +1485,7 @@ namespace DTXMania
14831485 sw.WriteLine( "GroupNameBass={0}", this.strGroupName[ 2 ] );
14841486 sw.WriteLine();
14851487 sw.WriteLine( "; ネームカラー" );
1486- sw.WriteLine( "; 0=白, 1=薄黄色, 2=黄色, 3=緑, 4=青, 5=紫 以下略。" );
1488+ sw.WriteLine( "; 0=白, 1=薄黄色, 2=黄色, 3=緑, 4=青, 5=紫, 6=赤, 7=銅, 8=銀, 9=金, 11~16=各色のグラデーション" );
14871489 sw.WriteLine( "NameColorDrums={0}", this.nNameColor[ 0 ] );
14881490 sw.WriteLine( "NameColorGuitar={0}", this.nNameColor[ 1 ] );
14891491 sw.WriteLine( "NameColorBass={0}", this.nNameColor[ 2 ] );
@@ -2153,6 +2155,9 @@ namespace DTXMania
21532155 sw.WriteLine( "ShutterImageDrums={0}", this.strShutterImageName.Drums );
21542156 sw.WriteLine( "ShutterImageGuitar={0}", this.strShutterImageName.Guitar );
21552157 sw.WriteLine( "ShutterImageBass={0}", this.strShutterImageName.Bass );
2158+ sw.WriteLine();
2159+ sw.WriteLine( "; フレームの表示(0:表示しない, 1:表示する)");
2160+ sw.WriteLine( "MatixxFrameDisp={0}", this.bフレームを表示する ? 1 : 0);
21562161
21572162 #endregion
21582163 sw.WriteLine( ";-------------------" );
@@ -3363,6 +3368,10 @@ namespace DTXMania
33633368 {
33643369 this.strShutterImageName.Bass = str4;
33653370 }
3371+ else if( str3.Equals( "MatixxFrameDisp" ) )
3372+ {
3373+ this.bフレームを表示する = C変換.bONorOFF( str4[ 0 ] );
3374+ }
33663375 continue;
33673376 }
33683377 //-----------------------------
--- a/DTXManiaプロジェクト/コード/全体/CSkin.cs
+++ b/DTXManiaプロジェクト/コード/全体/CSkin.cs
@@ -1075,4 +1075,50 @@ namespace DTXMania
10751075 strFilePathGB = "";
10761076 }
10771077 }
1078+
1079+ public class CAttackEffectImage
1080+ {
1081+ public bool bFileFound;
1082+ public string strName;
1083+ public string strFilePathD;
1084+ public string strFilePathGB;
1085+
1086+ public CAttackEffectImage()
1087+ {
1088+ bFileFound = false;
1089+ strName = "";
1090+ strFilePathD = "";
1091+ strFilePathGB = "";
1092+ }
1093+ }
1094+
1095+ public class CComboImage
1096+ {
1097+ public bool bFileFound;
1098+ public string strName;
1099+ public string strFilePathD;
1100+ public string strFilePathGB;
1101+
1102+ public CComboImage()
1103+ {
1104+ bFileFound = false;
1105+ strName = "";
1106+ strFilePathD = "";
1107+ strFilePathGB = "";
1108+ }
1109+ }
1110+
1111+ public class CJudgeStringImage
1112+ {
1113+ public bool bFileFound;
1114+ public string strName;
1115+ public string strFilePath;
1116+
1117+ public CJudgeStringImage()
1118+ {
1119+ bFileFound = false;
1120+ strName = "";
1121+ strFilePath = "";
1122+ }
1123+ }
10781124 }
--- a/DTXManiaプロジェクト/コード/全体/C定数.cs
+++ b/DTXManiaプロジェクト/コード/全体/C定数.cs
@@ -1090,10 +1090,9 @@ namespace DTXMania
10901090 throw new IndexOutOfRangeException();
10911091 }
10921092 }
1093- }
1094-
1093+ }
10951094
1096- internal class C定数
1095+ internal class C定数
10971096 {
10981097 public const int BGA_H = 0x163;
10991098 public const int BGA_W = 0x116;
@@ -1108,7 +1107,9 @@ namespace DTXMania
11081107 public const int SCORE_W = 12;
11091108 public const int SUDDEN_POS = 200;
11101109
1111- public class Drums
1110+ public static int[] nチップ幅テーブルDB = new int[] { 6, 6, 6, 6, 6, 7, 7, 9, 10, 12, 16, 19, 24 }; // 2019.9.10 kairera0467
1111+
1112+ public class Drums
11121113 {
11131114 public const int BAR_Y = 0x1a6;
11141115 public const int BAR_Y_REV = 0x38;
--- a/FDK17プロジェクト/コード/05.DirectShow/CDirectShow.cs
+++ b/FDK17プロジェクト/コード/05.DirectShow/CDirectShow.cs
@@ -765,8 +765,6 @@ namespace FDK
765765 DsError.ThrowExceptionForHR( hr );
766766 try
767767 {
768- wfx = new WaveFormat();
769-
770768 #region [ type.formatPtr から wfx に、拡張領域を除くデータをコピーする。]
771769 //-----------------
772770 var wfxTemp = new WaveFormatEx(); // SlimDX.Multimedia.WaveFormat は Marshal.PtrToStructure() で使えないので、それが使える DirectShowLib.WaveFormatEx を介して取得する。(面倒…)
@@ -863,7 +861,7 @@ namespace FDK
863861 {
864862 // videoRenderer を探す。
865863 CDirectShow.SearchMMRenderers(graphBuilder, out videoRenderer, out videoRendererInputPin, out audioRenderer, out audioRendererInputPin);
866- if (videoRenderer != null && audioRendererInputPin != null)
864+ if (videoRenderer != null && videoRendererInputPin != null)
867865 {
868866 // 既存のレンダラにつながっているピン対を取得
869867 hr = videoRendererInputPin.ConnectedTo(out connectedOutputPin);
@@ -892,16 +890,24 @@ namespace FDK
892890 hr = sampleGrabber.FindPin("Out", out grabberOutputPin);
893891 DsError.ThrowExceptionForHR(hr);
894892 hr = grabberOutputPin.ConnectedTo(out grabberOutputConnectedPin);
895- DsError.ThrowExceptionForHR(hr);
896- hr = grabberOutputConnectedPin.Disconnect();
897- DsError.ThrowExceptionForHR(hr);
898- hr = grabberOutputPin.Disconnect();
899- DsError.ThrowExceptionForHR(hr);
893+ // grabberのoutに何もつながっていない場合(つまり、grabberのoutとrendererのinが直結している場合)は、
894+ // grabberのoutと、別のフィルタのinの間の切断処理を行わない。
895+ if (hr != CWin32.S_OK)
896+ {
897+ //Debug.WriteLine("grabber out: 未接続:");
898+ }
899+ else
900+ {
901+ hr = grabberOutputConnectedPin.Disconnect();
902+ DsError.ThrowExceptionForHR(hr);
903+ hr = grabberOutputPin.Disconnect();
904+ DsError.ThrowExceptionForHR(hr);
905+ }
900906 hr = grabberOutputPin.Connect(nullRendererInputPin, null);
901907 DsError.ThrowExceptionForHR(hr);
902908 }
903909
904- if( audioRenderer != null && audioRendererInputPin != null )
910+ if ( audioRenderer != null && audioRendererInputPin != null )
905911 {
906912 C共通.tCOMオブジェクトを解放する(ref connectedOutputPin);
907913
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/7_Difficulty.png differ
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/7_Part.png differ
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/8_text.png differ
Binary files a/実行時フォルダ/dll/FDK.dll and b/実行時フォルダ/dll/FDK.dll differ
Show on old repository browser