• R/O
  • HTTP
  • SSH
  • HTTPS

dtxmaniaxg-verk-git: コミット

DTXManiaXG(Ver.K)4.00Series


コミットメタ情報

リビジョン0ede1263cd27c2ed935f797b496103525aa07ee5 (tree)
日時2017-08-06 17:12:41
作者kairera0467 <gennsou76573@gmai...>
コミッターkairera0467

ログメッセージ

作業部屋50865 ギター画面の難易度数値表示を画像にした
作業部屋50701 難易度数値の画像化、シャッター操作の対応の副作用でギター画面に入れなくなっていたのを修正
作業部屋50700 ゲージ画像のマスクを再実装
#xxxxx ゲージ加算時のエフェクトを実装
#xxxxx NamePlateTypeA時、ギター画面の曲名パネルの座標がズレていたので修正
#xxxxx ギター画面の曲名パネルの位置がドラム画面のグラフ有無に依存していたのを修正

変更サマリ

差分

--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs
@@ -250,12 +250,30 @@ namespace DTXMania
250250 #endregion
251251
252252 public STDGBVALUE<double> db現在のゲージ値;
253- protected CCounter ct本体移動;
254- protected CCounter ct本体振動;
255253 protected CCounter ctマスクFIFO;
256254 protected CTexture txゲージ;
257255 protected CTexture txゲージ背景;
258- protected CTexture txマスクF;
259- protected CTexture txマスクD;
256+
257+ protected STGaugeAddAnime[] stGaugeAddAnime = new STGaugeAddAnime[ 32 ];
258+ protected struct STGaugeAddAnime
259+ {
260+ public bool bUsing;
261+ public CCounter ctAnimeCounter;
262+ public E楽器パート ePart;
263+ }
264+
265+ public void tGaugeAddAnime( E楽器パート ePart )
266+ {
267+ for( int j = 0; j < 32; j++ )
268+ {
269+ if( !this.stGaugeAddAnime[ j ].bUsing && db現在のゲージ値[ (int)ePart ] != 1.0 ) //ゲージがMAXの場合は動かさない
270+ {
271+ this.stGaugeAddAnime[ j ].bUsing = true;
272+ this.stGaugeAddAnime[ j ].ctAnimeCounter = new CCounter( 0, 11, 30, CDTXMania.Timer ); // カウンタ
273+ this.stGaugeAddAnime[ j ].ePart = ePart;
274+ break;
275+ }
276+ }
277+ }
260278 }
261279 }
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
@@ -1995,7 +1995,9 @@ namespace DTXMania
19951995 else if( CDTXMania.ConfigIni.eMovieClipMode == EMovieClipMode.Both )
19961996 CDTXMania.ConfigIni.eMovieClipMode = EMovieClipMode.OFF;
19971997 }
1998- this.actShutter.tShutterMove( keyboard );
1998+
1999+ if( CDTXMania.ConfigIni.bDrums有効 ) //2017.08.06 kairera0467 ギターは未実装
2000+ this.actShutter.tShutterMove( keyboard );
19992001 }
20002002
20012003 protected void t入力メソッド記憶( E楽器パート part )
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs
@@ -28,6 +28,7 @@ namespace DTXMania
2828 // CAct演奏ゲージ共通.Init()に移動
2929 // this.db現在のゲージ値.Guitar = ( CDTXMania.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663;
3030 // this.db現在のゲージ値.Bass = ( CDTXMania.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663;
31+ this.ctマスクFIFO = new CCounter( 0, 1500, 2, CDTXMania.Timer );
3132 base.On活性化();
3233 }
3334 public override void On非活性化()
@@ -38,10 +39,9 @@ namespace DTXMania
3839 {
3940 if( !base.b活性化してない )
4041 {
41- this.txゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Gauge_Guitar_bar.png" ) );
42- this.txゲージ背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Gauge_Guitar.png" ) );
42+ base.txゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Gauge.png" ) );
4343
44- this.nゲージX = (int)( (float)( base.txゲージ背景.sz画像サイズ.Width - base.txゲージ.sz画像サイズ.Width ) / 2f );
44+ this.nゲージX = (int)( (float)( 352 - 320 ) / 2f );
4545 base.OnManagedリソースの作成();
4646 }
4747 }
@@ -58,7 +58,8 @@ namespace DTXMania
5858 {
5959 if( !base.b活性化してない )
6060 {
61- if( base.txゲージ背景 != null & base.txゲージ != null )
61+ this.ctマスクFIFO.t進行Loop();
62+ if( base.txゲージ != null )
6263 {
6364 int[] nゲージ本体 = new int[] { 0, 0 };
6465 if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ) nゲージ本体 = new int[]{ 65, 861 };
@@ -67,25 +68,79 @@ namespace DTXMania
6768 {
6869 if( CDTXMania.DTX.bチップがある[ i + 1 ] )
6970 {
70- base.txゲージ背景.t2D描画( CDTXMania.app.Device, nゲージ本体[ i ], 0, new Rectangle( 0, 0, base.txゲージ背景.sz画像サイズ.Width, 42 ) );
71+ base.txゲージ.b加算合成 = false;
72+ base.txゲージ.vc拡大縮小倍率.X = 1.0f;
73+ base.txゲージ.n透明度 = 255;
74+
75+ base.txゲージ.t2D描画( CDTXMania.app.Device, nゲージ本体[ i ], 0, new Rectangle( 2, 51, 352, 42 ) );
7176
7277 if( base.db現在のゲージ値[ i + 1 ] == 1.0 )
7378 {
7479 base.txゲージ.vc拡大縮小倍率.X = 1.0f;
75- base.txゲージ.t2D描画( CDTXMania.app.Device, 1 + this.nゲージX + nゲージ本体[ i ], 8, new Rectangle( 0, 0, 320, 26 ) );
80+ base.txゲージ.t2D描画( CDTXMania.app.Device, this.nゲージX + nゲージ本体[ i ], 8, new Rectangle( 2, 176, 320, 26 ) );
7681 }
7782 else if( base.db現在のゲージ値[ i + 1 ] >= 0.0 )
7883 {
7984 base.txゲージ.vc拡大縮小倍率.X = (float)base.db現在のゲージ値[ i + 1 ];
80- base.txゲージ.t2D描画( CDTXMania.app.Device, 1 + this.nゲージX + nゲージ本体[ i ], 8, new Rectangle( 0, 0, 320, 26 ) );
85+ base.txゲージ.t2D描画( CDTXMania.app.Device, this.nゲージX + nゲージ本体[ i ], 8, new Rectangle( 2, 176, 320, 26 ) );
8186 }
87+ base.txゲージ.vc拡大縮小倍率.X = 1.0f;
88+ base.txゲージ.t2D描画( CDTXMania.app.Device, nゲージ本体[ i ] - 31, -1, new Rectangle( 2, 97, base.txゲージ.sz画像サイズ.Width, 45 ) );
8289
83- //base.txゲージ背景.t2D描画( CDTXMania.app.Device, 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 20 : 655 ), new Rectangle( 0, 45, base.txゲージ背景.sz画像サイズ.Width, 45 ) );
90+ if( base.IsDanger( (E楽器パート)i + 1 ) && base.db現在のゲージ値[ i + 1 ] >= 0.0 )
91+ {
92+ base.txゲージ.t2D描画( CDTXMania.app.Device, nゲージ本体[ i ], 0, new Rectangle( 2, 364, 354, 42 ));
93+ }
94+ if( base.db現在のゲージ値[ i + 1 ] == 1.0 )
95+ {
96+ base.txゲージ.n透明度 = ( this.ctマスクFIFO.n現在の値 <= 750 ? (int)( this.ctマスクFIFO.n現在の値 / 2.94 ) : 500 - (int)(( this.ctマスクFIFO.n現在の値) / 2.94 ) );
97+ base.txゲージ.t2D描画(CDTXMania.app.Device, nゲージ本体[ i ], 0, new Rectangle( 2, 318, 354, 42 ));
98+ }
8499 }
85100
101+ //「ゲージがMAXでなければアニメーション」なので、ここでゲージ量による分岐をしないこと。
102+ for( int j = 0; j < 32; j++ )
103+ {
104+ if( this.stGaugeAddAnime[ j ].ePart == (E楽器パート)i + 1 )
105+ {
106+ if( this.stGaugeAddAnime[ j ].bUsing )
107+ {
108+ this.stGaugeAddAnime[ j ].ctAnimeCounter.t進行();
109+ if( this.stGaugeAddAnime[ j ].ctAnimeCounter.b終了値に達した )
110+ {
111+ this.stGaugeAddAnime[ j ].ctAnimeCounter.t停止();
112+ this.stGaugeAddAnime[ j ].bUsing = false;
113+ }
114+
115+ this.txゲージ.b加算合成 = true;
116+ float n幅 = 320.0f * (float)base.db現在のゲージ値[ i + 1 ];
117+ if( ( 26 * this.stGaugeAddAnime[ j ].ctAnimeCounter.n現在の値 ) + 64 < n幅 )
118+ {
119+ this.txゲージ.t2D描画( CDTXMania.app.Device, nゲージ本体[ i ] + (26 * this.stGaugeAddAnime[ j ].ctAnimeCounter.n現在の値), 8, new Rectangle( 2, 410, 64, 26 ) );
120+ }
121+ }
122+ }
123+ }
124+
125+ #region [ Risky残りMiss回数表示 ]
126+ if ( this.bRisky && this.actLVLNFont != null ) // #23599 2011.7.30 yyagi Risky残りMiss回数表示
127+ {
128+ CActLVLNFont.EFontColor efc = this.IsDanger( E楽器パート.DRUMS ) ?
129+ CActLVLNFont.EFontColor.Red : CActLVLNFont.EFontColor.Yellow;
130+ actLVLNFont.t文字列描画( 262, 668, nRiskyTimes.ToString(), efc, CActLVLNFont.EFontAlign.Right );
131+ }
132+ #endregion
86133 }
87-
134+
88135 }
136+ //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F8 ) )
137+ //{
138+ // this.tGaugeAddAnime( E楽器パート.GUITAR );
139+ //}
140+ //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F9 ) )
141+ //{
142+ // this.tGaugeAddAnime( E楽器パート.BASS );
143+ //}
89144 }
90145 return 0;
91146 }
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarステータスパネル.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarステータスパネル.cs
@@ -10,22 +10,24 @@ namespace DTXMania
1010 {
1111 internal class CAct演奏Guitarステータスパネル : CAct演奏ステータスパネル共通
1212 {
13- // コンストラクタ
14- public override void OnManagedリソースの作成()
13+ // コンストラクタ
14+ public override void On活性化()
15+ {
16+ this.ftGroupFont = new Font( CDTXMania.ConfigIni.str選曲リストフォント, 16f, FontStyle.Regular, GraphicsUnit.Pixel );
17+
18+ this.pfNameFont = new CPrivateFastFont( new FontFamily( "Arial" ), 20, FontStyle.Bold );
19+ this.pfSongTitleFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 20, FontStyle.Regular );
20+
21+ base.On活性化();
22+ }
23+
24+ public override void OnManagedリソースの作成()
1525 {
1626 if( !base.b活性化してない )
1727 {
1828 this.strGroupName = new string[ 2 ];
1929 this.strPlayerName = new string[ 2 ];
2030 this.txパネル = new CTexture[ 2 ];
21- this.pfSongTitleFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 20, FontStyle.Regular );
22- this.pfNameFont = new CPrivateFastFont( new FontFamily( "Arial" ), 24, FontStyle.Bold );
23- this.ftGroupFont = new Font( "DFG平成ゴシック体W5", 16f, FontStyle.Regular, GraphicsUnit.Pixel );
24- this.ftLevelFont = new Font( "Impact", 26f, FontStyle.Regular );
25- this.ftDifficultyL = new Font( "Arial", 30f, FontStyle.Bold );
26- this.ftDifficultyS = new Font( "Arial", 20f, FontStyle.Bold );
27- if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B )
28- this.ftDifficultyL = new Font( "Arial", 46f, FontStyle.Bold );
2931
3032 #region[ 曲名パネル ]
3133 int[] nSongPanel = new int[] { 250, 112 };
@@ -38,6 +40,14 @@ namespace DTXMania
3840 strSongpanelFile = CSkin.Path( @"Graphics\7_Guitar Songpanel_XG.png" );
3941 }
4042
43+ if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B ) {
44+ this.iDifficulty = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Difficulty_XG.png" ) );
45+ this.iDifficultyNumber = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Difficulty_number_XG.png" ) );
46+ } else {
47+ this.iDifficulty = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Difficulty.png" ) );
48+ this.iDifficultyNumber = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Difficulty_number_XG2.png" ) );
49+ }
50+
4151 Bitmap bSongPanel = new Bitmap( nSongPanel[ 0 ], nSongPanel[ 1 ] );
4252 Graphics gSongNamePlate = Graphics.FromImage( bSongPanel );
4353 gSongNamePlate.PageUnit = GraphicsUnit.Pixel;
@@ -63,8 +73,8 @@ namespace DTXMania
6373 {
6474 //PrivateFontのテスト
6575 Bitmap bmpSongName = pfSongTitleFont.DrawPrivateFont( this.strTitle, Color.White );
66- int x = CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ? 80 : 250;
67- int y = CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ? 60 : 18;
76+ int x = CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ? 16 : 250;
77+ int y = CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ? 70 : 18;
6878 if( ( bmpSongName.Size.Width / 1.25f ) > 240 )
6979 {
7080 gSongNamePlate.DrawImage( bmpSongName, x, y, ( bmpSongName.Size.Width / 1.25f ) * ( 240.0f / ( bmpSongName.Size.Width / 1.25f ) ), bmpSongName.Size.Height );
@@ -209,7 +219,7 @@ namespace DTXMania
209219 #region[ ネームプレート、難易度、カードネーム ]
210220 if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
211221 {
212- Rectangle Rect1 = new Rectangle( 7, 91, 234, 38 );
222+ Rectangle Rect1 = new Rectangle( 6, 90, 234, 38 );
213223 Rectangle RectDifficulty = new Rectangle( base.rectDiffPanelPoint.X, base.rectDiffPanelPoint.Y, 234, 38 );
214224
215225 gNamePlate = Graphics.FromImage( bNamePlate );
@@ -237,48 +247,47 @@ namespace DTXMania
237247 else if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B )
238248 bLevel = new Bitmap( 250, 297 );
239249
240- string strLevel = string.Format("{0:0.00}", ((float)CDTXMania.DTX.LEVEL[ i + 1 ]) / 10f);
241- strLevel = string.Format("{0:0.00}", ((float)CDTXMania.DTX.LEVEL[ i + 1 ]) / 10.0f + (CDTXMania.DTX.LEVELDEC[ i + 1 ] != 0 ? CDTXMania.DTX.LEVELDEC[ i + 1 ] / 100.0f : 0));
242-
243- if (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする &&
244- (CDTXMania.DTX.bCLASSIC譜面である.Guitar == false) &&
245- (CDTXMania.DTX.b強制的にXG譜面にする == false))
250+ string str = string.Format( "{0:0.00}", ( (float)CDTXMania.DTX.LEVEL[ 1 + i ]) / 10f );
251+ str = string.Format( "{0:0.00}", ( (float)CDTXMania.DTX.LEVEL[ 1 + 1 ] ) / 10.0f + ( CDTXMania.DTX.LEVELDEC[ 1 + i ] != 0 ? CDTXMania.DTX.LEVELDEC[ 1 + i ] / 100.0f : 0 ) );
252+ int[] nDigit = new int[]{ Convert.ToInt16( str[ 0 ].ToString() ), Convert.ToInt16( str[ 2 ].ToString() ), Convert.ToInt16( str[ 3 ].ToString() ) };
253+
254+ if ( CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする ? ( CDTXMania.DTX.bCLASSIC譜面である[ 1 + i ] && CDTXMania.DTX.b強制的にXG譜面にする == false ) : false )
246255 {
247- strLevel = string.Format("{0:00}", CDTXMania.DTX.LEVEL[ i + 1 ]);
256+ str = string.Format( "{0:00}", CDTXMania.DTX.LEVEL[ 1 + i ] );
257+ nDigit = new int[]{ Convert.ToInt16( str[ 0 ].ToString() ), Convert.ToInt16( str[ 1 ].ToString() ) };
248258 }
249-
250- int widthG = (int)gNamePlate.MeasureString(this.stパネルマップ[ 0 ].label.Substring(0, 3) + " ", this.ftLevelFont).Width;
251- //数字の描画部分。その左側。
252- if (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする &&
253- (CDTXMania.DTX.bCLASSIC譜面である.Guitar == false) &&
254- (CDTXMania.DTX.b強制的にXG譜面にする == false))
259+ //左
260+ if( CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする ? ( CDTXMania.DTX.bCLASSIC譜面である[ 1 + i ] && CDTXMania.DTX.b強制的にXG譜面にする == false ) : false )
255261 {
256- if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A)
257- gNamePlate.DrawString(strLevel.Substring(0, 2), this.ftDifficultyL, Brushes.Black, 91f + widthG, 89f);
258- else if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
259- gNamePlate.DrawString(strLevel.Substring(0, 2), this.ftDifficultyL, Brushes.Black, 44f + widthG, 47f);
262+ if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ){
263+ gNamePlate.DrawImage( this.iDifficultyNumber, 150, 94, new Rectangle( nDigit[ 0 ] * 22, 0, 22, 32 ), GraphicsUnit.Pixel );
264+ gNamePlate.DrawImage( this.iDifficultyNumber, 178, 94, new Rectangle( nDigit[ 1 ] * 22, 0, 22, 32 ), GraphicsUnit.Pixel );
265+ } else if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B ) {
266+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 94, 60, 34, 48), new Rectangle( nDigit[ 0 ] * 34, 0, 34, 48 ), GraphicsUnit.Pixel );
267+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 128, 60, 34, 48), new Rectangle( nDigit[ 1 ] * 34, 0, 34, 48 ), GraphicsUnit.Pixel );
268+ }
260269 }
261270 else
262271 {
263- if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A)
264- gNamePlate.DrawString(strLevel.Substring(0, 1), this.ftDifficultyL, Brushes.Black, 91f + widthG, 89f);
265- else if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
266- gNamePlate.DrawString(strLevel.Substring(0, 1), this.ftDifficultyL, Brushes.Black, 44f + widthG, 47f);
272+ if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ) {
273+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 156, 94, 24, 32 ), new Rectangle( nDigit[ 0 ] * 22, 0, 22, 32 ), GraphicsUnit.Pixel );
274+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 188, 120, 6, 4 ), new Rectangle( 0, 54, 4, 4 ), GraphicsUnit.Pixel );
275+ } else if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B ) {
276+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 94, 60, 42, 44 ), new Rectangle( nDigit[ 0 ] * 34, 0, 34, 48 ), GraphicsUnit.Pixel );
277+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 139, 100, 6, 4 ), new Rectangle( 0, 70, 4, 4 ), GraphicsUnit.Pixel );
278+ }
267279 }
268- widthG += (int)gNamePlate.MeasureString(strLevel.Substring(0, 1), this.ftDifficultyL).Width;
269280
270- //数字の右。
271- if (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする &&
272- (CDTXMania.DTX.bCLASSIC譜面である.Guitar == false) &&
273- (CDTXMania.DTX.b強制的にXG譜面にする == false))
274- {
275- }
276- else
281+ //右
282+ if( CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする ? ( !CDTXMania.DTX.bCLASSIC譜面である.Drums || CDTXMania.DTX.b強制的にXG譜面にする ) : true )
277283 {
278- if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A)
279- gNamePlate.DrawString(strLevel.Substring(1, 3), this.ftDifficultyS, Brushes.Black, 88f + widthG, 100f);
280- else if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
281- gNamePlate.DrawString(strLevel.Substring(1, 3), this.ftDifficultyS, Brushes.Black, 44f + widthG, 78f);
284+ if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A ) {
285+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 197, 105, 20, 20 ), new Rectangle( 16 * nDigit[ 1 ], 32, 16, 22 ), GraphicsUnit.Pixel );
286+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 217, 105, 20, 20 ), new Rectangle( 16 * nDigit[ 2 ], 32, 16, 22 ), GraphicsUnit.Pixel );
287+ } else if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B ) {
288+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 150, 82, 22, 22 ), new Rectangle( 16 * nDigit[ 1 ], 48, 16, 22 ), GraphicsUnit.Pixel );
289+ gNamePlate.DrawImage( this.iDifficultyNumber, new Rectangle( 175, 82, 22, 22 ), new Rectangle( 16 * nDigit[ 2 ], 48, 16, 22 ), GraphicsUnit.Pixel );
290+ }
282291 }
283292 #endregion
284293
@@ -339,7 +348,7 @@ namespace DTXMania
339348 int nSongNamePanelY = 521;
340349 if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
341350 {
342- if( CDTXMania.ConfigIni.bGraph.Drums )
351+ if( bUseGraph[ 0 ] || bUseGraph[ 1 ] )
343352 nSongNamePanelY = 293;
344353
345354 this.tx曲名パネル.t2D描画( CDTXMania.app.Device, nSongNamePanelX, nSongNamePanelY );
@@ -435,8 +444,12 @@ namespace DTXMania
435444 }
436445 if( this.txScore != null && bShowPanel[ i ] )
437446 {
438- this.txScore.t2D描画( CDTXMania.app.Device, nNamePlateX[ i ] + 65 + ( j * 18 ), nNamePlateY[ i ] + 170, rectangle );
447+
439448 this.txScore.vc拡大縮小倍率.X = 0.7f;
449+ if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A)
450+ this.txScore.t2D描画( CDTXMania.app.Device, nNamePlateX[ i ] + 65 + ( j * 18 ), nNamePlateY[ i ] + 185, rectangle);
451+ else if (CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
452+ this.txScore.t2D描画( CDTXMania.app.Device, nNamePlateX[ i ] + 65 + ( j * 18 ), nNamePlateY[ i ] + 170, rectangle );
440453 }
441454 }
442455 }
@@ -482,15 +495,13 @@ namespace DTXMania
482495 private CTexture tx曲名パネル;
483496 private CPrivateFastFont pfSongTitleFont;
484497 private CPrivateFastFont pfNameFont;
485- private Font ftDifficultyL;
486- private Font ftDifficultyS;
487498 private Font ftGroupFont;
488- private Font ftLevelFont;
489499 private string[] strGroupName;
490500 private string[] strPlayerName;
491501 private string strTitle;
492-
493- //-----------------
494- #endregion
495- }
502+ private Image iDifficulty;
503+ private Image iDifficultyNumber;
504+ //-----------------
505+ #endregion
506+ }
496507 }
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitar判定文字列.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitar判定文字列.cs
@@ -1291,7 +1291,7 @@ namespace DTXMania
12911291 int num5 = 0;
12921292 int num6 = 0;
12931293
1294- int nJudgePosY = CDTXMania.stage演奏ドラム画面.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
1294+ int nJudgePosY = CDTXMania.stage演奏ギター画面.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
12951295 base.iP_A = nJudgePosY - 189;
12961296 base.iP_B = nJudgePosY + 23;
12971297
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs
@@ -28,24 +28,28 @@ namespace DTXMania
2828 // CAct演奏ゲージ共通.Init()に移動
2929 // this.dbゲージ値 = ( CDTXMania.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663;
3030 this.ctマスクFIFO = new CCounter( 0, 1500, 2, CDTXMania.Timer );
31+ this.stGaugeAddAnime = new STGaugeAddAnime[ 32 ];
32+ for( int i = 0; i < 32; i++ )
33+ {
34+ this.stGaugeAddAnime[ i ] = new STGaugeAddAnime();
35+ }
3136 base.On活性化();
3237 }
3338 public override void On非活性化()
3439 {
35-
40+ for( int i = 0; i < 32; i++ )
41+ {
42+ base.stGaugeAddAnime = null;
43+ }
3644 base.On非活性化();
3745 }
3846 public override void OnManagedリソースの作成()
3947 {
4048 if( !base.b活性化してない )
4149 {
42- this.txゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_gauge_bar.png" ) );
43- this.txゲージ背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Gauge.png" ) );
44-
45- this.txマスクF = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_gauge_mask.png"));
46- this.txマスクD = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_gauge_mask2.png"));
50+ base.txゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Gauge.png" ) );
4751
48- this.nゲージX = (int)( (float)( base.txゲージ背景.sz画像サイズ.Width - base.txゲージ.sz画像サイズ.Width ) / 2f );
52+ this.nゲージX = (int)( (float)( 592 - 504 ) / 2.0f );
4953 base.OnManagedリソースの作成();
5054 }
5155 }
@@ -53,10 +57,7 @@ namespace DTXMania
5357 {
5458 if( !base.b活性化してない )
5559 {
56- CDTXMania.tテクスチャの解放( ref this.txゲージ );
57- CDTXMania.tテクスチャの解放( ref this.txゲージ背景 );
58- CDTXMania.tテクスチャの解放( ref this.txマスクD );
59- CDTXMania.tテクスチャの解放( ref this.txマスクF );
60+ CDTXMania.tテクスチャの解放( ref base.txゲージ );
6061
6162 base.OnManagedリソースの解放();
6263 }
@@ -66,35 +67,67 @@ namespace DTXMania
6667 if ( !base.b活性化してない )
6768 {
6869 this.ctマスクFIFO.t進行Loop();
69- if( base.txゲージ背景 != null & base.txゲージ != null )
70+ if( base.txゲージ != null )
7071 {
71- //A~C
72- base.txゲージ背景.t2D描画( CDTXMania.app.Device, 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 20 : 655 ), new Rectangle( 0, 0, base.txゲージ背景.sz画像サイズ.Width, 45 ) );
72+ base.txゲージ.b加算合成 = false;
73+ base.txゲージ.vc拡大縮小倍率.X = 1.0f;
74+ base.txゲージ.n透明度 = 255;
75+ base.txゲージ.t2D描画( CDTXMania.app.Device, 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 20 : 655 ), new Rectangle( 2, 2, base.txゲージ.sz画像サイズ.Width, 45 ) );
7376
7477 if( base.db現在のゲージ値.Drums == 1.0 )
7578 {
7679 base.txゲージ.vc拡大縮小倍率.X = 1.0f;
77- base.txゲージ.t2D描画( CDTXMania.app.Device, 1 + this.nゲージX + 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 30 : 665 ), new Rectangle( 0, 0, 504, 26 ) );
80+ base.txゲージ.t2D描画( CDTXMania.app.Device, 1 + this.nゲージX + 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 30 : 665 ), new Rectangle( 2, 146, 504, 26 ) );
7881 }
7982 else if( base.db現在のゲージ値.Drums >= 0.0 )
8083 {
8184 base.txゲージ.vc拡大縮小倍率.X = (float)base.db現在のゲージ値.Drums;
82- base.txゲージ.t2D描画( CDTXMania.app.Device, 1 + this.nゲージX + 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 30 : 665 ), new Rectangle( 0, 0, 504, 26 ) );
85+ base.txゲージ.t2D描画( CDTXMania.app.Device, 1 + this.nゲージX + 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 30 : 665 ), new Rectangle( 2, 146, 504, 26 ) );
8386 }
8487
85- base.txゲージ背景.t2D描画( CDTXMania.app.Device, 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 20 : 655 ), new Rectangle( 0, 45, base.txゲージ背景.sz画像サイズ.Width, 45 ) );
86- }
88+ base.txゲージ.vc拡大縮小倍率.X = 1.0f;
89+ base.txゲージ.t2D描画( CDTXMania.app.Device, 258, ( CDTXMania.ConfigIni.bReverse.Drums ? 20 : 655 ), new Rectangle( 2, 97, base.txゲージ.sz画像サイズ.Width, 45 ) );
90+
91+
92+ if( base.IsDanger( E楽器パート.DRUMS ) && base.db現在のゲージ値.Drums >= 0.0 )
93+ {
94+ base.txゲージ.t2D描画( CDTXMania.app.Device, 259, ( CDTXMania.ConfigIni.bReverse.Drums ? 17 : 652 ), new Rectangle( 2, 260, 592, 52 ));
95+ }
96+ if( base.db現在のゲージ値.Drums == 1.0 )
97+ {
98+ base.txゲージ.n透明度 = ( this.ctマスクFIFO.n現在の値 <= 750 ? (int)( this.ctマスクFIFO.n現在の値 / 2.94 ) : 500 - (int)(( this.ctマスクFIFO.n現在の値) / 2.94 ) );
99+ base.txゲージ.t2D描画(CDTXMania.app.Device, 259, (CDTXMania.ConfigIni.bReverse.Drums ? 17 : 652), new Rectangle( 2, 206, 592, 52 ));
100+ }
87101
88- if( base.IsDanger( E楽器パート.DRUMS ) && base.db現在のゲージ値.Drums >= 0.0 && this.txマスクD != null )
89- {
90- this.txマスクD.t2D描画( CDTXMania.app.Device, 259, ( CDTXMania.ConfigIni.bReverse.Drums ? 17 : 652 ));
91- }
92- if( base.db現在のゲージ値.Drums == 1.0 && base.txマスクF != null )
93- {
94- this.txマスクF.t2D描画(CDTXMania.app.Device, 259, (CDTXMania.ConfigIni.bReverse.Drums ? 17 : 652));
95- this.txマスクF.n透明度 = ( this.ct本体移動.n現在の値 <= 750 ? (int)( this.ct本体移動.n現在の値 / 2.94 ) : 500 - (int)(( this.ct本体移動.n現在の値) / 2.94 ) );
96- }
97102
103+ //「ゲージがMAXでなければアニメーション」なので、ここでゲージ量による分岐をしないこと。
104+ for( int i = 0; i < 32; i++ )
105+ {
106+ if( this.stGaugeAddAnime[ i ].ePart == E楽器パート.DRUMS )
107+ {
108+ if( this.stGaugeAddAnime[ i ].bUsing )
109+ {
110+ this.stGaugeAddAnime[ i ].ctAnimeCounter.t進行();
111+ if( this.stGaugeAddAnime[ i ].ctAnimeCounter.b終了値に達した )
112+ {
113+ this.stGaugeAddAnime[ i ].ctAnimeCounter.t停止();
114+ this.stGaugeAddAnime[ i ].bUsing = false;
115+ }
116+
117+ this.txゲージ.b加算合成 = true;
118+ float n幅 = 504.0f * (float)base.db現在のゲージ値.Drums;
119+ if( (42 * this.stGaugeAddAnime[i].ctAnimeCounter.n現在の値) + 64 < n幅 )
120+ {
121+ this.txゲージ.t2D描画( CDTXMania.app.Device, (1 + this.nゲージX + 258) + (42 * this.stGaugeAddAnime[i].ctAnimeCounter.n現在の値), 665, new Rectangle( 2, 410, 64, 26 ) );
122+ }
123+ }
124+ }
125+ }
126+ }
127+ //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F8 ) )
128+ //{
129+ // this.tGaugeAddAnime( E楽器パート.DRUMS );
130+ //}
98131 #region [ Risky残りMiss回数表示 ]
99132 if ( this.bRisky && this.actLVLNFont != null ) // #23599 2011.7.30 yyagi Risky残りMiss回数表示
100133 {
--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
@@ -455,6 +455,10 @@ namespace DTXMania
455455 }
456456 }
457457
458+ if( eJudgeResult == E判定.XPerfect || eJudgeResult == E判定.Perfect || eJudgeResult == E判定.Great || eJudgeResult == E判定.Good || eJudgeResult == E判定.Auto )
459+ {
460+ this.actGauge.tGaugeAddAnime( E楽器パート.DRUMS );
461+ }
458462
459463 this.actGraph.n現在のAutoを含まない判定数_渡[ 0 ] = this.nヒット数_Auto含まない.Drums.Perfect;
460464 this.actGraph.n現在のAutoを含まない判定数_渡[ 1 ] = this.nヒット数_Auto含まない.Drums.Great;
--- a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs
+++ b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs
@@ -21,7 +21,7 @@ namespace DTXMania
2121 {
2222 // プロパティ
2323 #region [ properties ]
24- public static readonly string VERSION = "Ver4.00RC7(170520)";
24+ public static readonly string VERSION = "Ver4.00RC8(1708--)";
2525 public static readonly string SLIMDXDLL = "c_net20x86_Jun2010";
2626 public static readonly string D3DXDLL = "d3dx9_43.dll"; // June 2010
2727 //public static readonly string D3DXDLL = "d3dx9_42.dll"; // February 2010
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
Binary files a/実行時フォルダ/System/Default/Graphics/7_Gauge.png and b/実行時フォルダ/System/Default/Graphics/7_Gauge.png differ
Binary files a/実行時フォルダ/System/Default/Graphics/7_Gauge_Guitar.png and /dev/null differ
Binary files a/実行時フォルダ/System/Default/Graphics/7_Gauge_Guitar_bar.png and /dev/null differ
Binary files a/実行時フォルダ/System/Default/Graphics/7_gauge_bar.png and /dev/null differ
--- a/実行時フォルダ/readme.txt
+++ b/実行時フォルダ/readme.txt
@@ -1,6 +1,6 @@
11 ///////////////////////////////////////////////
22
3- DTXManiaXG(Ver.K) 4.00RC7
3+ DTXManiaXG(Ver.K) 4.00RC8
44
55 ///////////////////////////////////////////////
66 ???T?v
@@ -22,6 +22,7 @@ DTXManiaXG(Ver.K)
2222 ?E?t?H???_?\???̕ύX
2323 ?E?S?X?L?????ʉ摜?t?H???_??????
2424 ?E?V???b?^?[?ʒu?̌v?Z?????????????{?Ə????ɕύX
25+?EVisualStudio2015?ȍ~?ł̃r???h?ɑΉ??A?????R???p?C????VisualStudio2017?ɕύX
2526
2627 ??????Đ??ɂ‚???
2728 ?E?]????Video for Windows?ł̓???Đ??͔p?~?ƂȂ?܂????B????ɂ????DirectShow?̊‹??\?z???K?{?ƂȂ??Ă??܂??B
@@ -40,6 +41,7 @@ DTXManiaXG(Ver.K)
4041 ?EKONMAI???\?t?g?o?[?W?????\?????̗p?B?A?b?v?f?[?g???K?p????Ă??邩?̊m?F?A?r???h?ݒ?̊m?F???e?Ղɂł???悤?ɂȂ????B(??ɍ?҂???????)
4142 ?E???s???t?H???_??DTXMania??DTXCreater?œ???B4.00?????DTXMania??DTXCreater?̓??ꃊ???[?X?ɂȂ?܂??B
4243 ?E?{?̂???̃V???b?^?[?摜?̐؂?ւ???????
44+?EExciteGauge?̃Q?[?W???Z???A?j???[?V??????lj?
4345
4446 ???p?~
4547 ?E100?`999?ɂ??XG???x???\?L
@@ -51,7 +53,7 @@ DTXManiaXG(Ver.K)
5153 ?????񎖍?
5254 ?E?ꕔ?摜?͐??쒆?ł??B
5355 ?E?ꕔ?\???n?̃I?v?V?????͖??????ł??B
54-?E?h?????????_???A???[?????ύX?Adkdk?d?l?ύX?͖??????ł??B
56+?E?h?????????_???A???[?????ύX?͖??????ł??B
5557 ?E?M?^?[?̃R???{?\???ɑΉ????Ă??܂???B
5658 ?EFDK?????L?[?܂??̓s???ɂ??A?v???O?C?????ŎQ?Ƃ???FDK??DTXMania???ŎQ?Ƃ???FDK??(?ق?)????łȂ??ƃv???O?C?????ǂݍ??߂Ȃ??Ȃ?܂????B
5759 ?E???K?i?N???b?v?̕\???͖??Ή??ł??B
@@ -69,6 +71,18 @@ Mail:gennsou76573@gmail.com
6971 Twitter:@kairera0467
7072
7173 ???X?V????
74+2017080500
75+ DTXMania Rev:2539bcb4959f525915aae41e95b6e1c3f4aff2eb?̓??e????荞?݁B
76+ SoundDeviceASIO?ACSoundDeviceASIO?̓??e???ŐV?̂??̂ɍX?V?B
77+ ???[???????ɃN???b?v??\??????@?\??lj??B(???O???Ă???̂œ???͂??܂???)
78+ ?N???b?v?E?B???h?E??3D???\??????@?\??lj??B(???O???Ă???̂œ???͂??܂???)
79+ ?h??????ʂ̂?JudgeAnimeTypeB?ʼn??t??ʂɓ????????ɁA???炩????1??A?j???[?V?????𔭓??????Ă݂?B
80+ ?ȓǂݍ??݉?ʂ??牉?t??ʂւ̃t?F?[?h?A?E?g???̓L?[???삪?ł??Ȃ??悤?ύX
81+ DkDkType??AssignToLBD?????t?ɔ??f?????悤?ɂ???
82+ ?L?[?ݒ??ʂ̃??C?A?E?g???????
83+ ?f?t?H???g?X?L???́u5_image_panel.png?v?u5_image_panel_guitar.png?v???X?V?B
84+ ?S?[?X?g?g?p???Ɍ??݂̒B?????̃X?L???v?Z?????܂??????Ă??Ȃ??????̂ŏC??
85+ XG???t?X?L???̏????_??3?ȉ???؂?̂Ă?悤?C??(?????̋L?^?ɂ????ĒB????????????ꍇ??????܂???????ȓ???ł?)
7286 2017052800 CONFIG??ʂ???V???b?^?[????ύX?ł???悤?ɂ????B
7387 ???t??ʂŃV???b?^?[???ړ??ł???悤?ɂ???
7488 ?l?[???v???[?g?̓?Փx?\???p?̐??????V?X?e???̃t?H???g?`?悩??e?N?X?`???ł̕\???ɕύX?B
旧リポジトリブラウザで表示