• R/O
  • HTTP
  • SSH
  • HTTPS

dtxmaniaxg-verk-git: 提交

DTXManiaXG(Ver.K)4.00Series


Commit MetaInfo

修訂fdbdb9cdbb25eb42817a36b6b5140e82a5b57340 (tree)
時間2022-08-15 23:41:12
作者kairera0467 <gennsou76573@gmai...>
Commiterkairera0467

Log Message

#xxxxx matixx演奏画面のステータスパネル画像を作り直し
#xxxxx matixx演奏画面のステータスパネルの座標を大幅調整
#xxxxx matixx演奏画面のステータスパネルに称号名を表示できるよう変更(グループ名と同じ場所で変更する)
#xxxxx matixx演奏画面のステータスパネルの3D描画している場所の座標を、基準座標からの相対位置で扱えるよう変更(表への影響はありません)

Change Summary

差異

--- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CAct演奏DrumsステータスパネルGD.cs
+++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CAct演奏DrumsステータスパネルGD.cs
@@ -20,7 +20,8 @@ namespace DTXMania
2020
2121 public override void On活性化()
2222 {
23- this.pfPlayerNameFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18, FontStyle.Regular );
23+ this.pfPlayerNameFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 15, FontStyle.Regular );
24+ this.pfGroupNameFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 11, FontStyle.Regular );
2425 this.pfSongTitleFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 14, FontStyle.Regular );
2526 this.pfSongArtistFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 9, FontStyle.Regular );
2627 base.On活性化();
@@ -48,6 +49,7 @@ namespace DTXMania
4849 this.txArtistName = this.t指定された文字テクスチャを生成する_小( strArtistName );
4950
5051 Bitmap bmpCardName = new Bitmap(1, 1);
52+ Bitmap bmpTitleName = new Bitmap(1, 1);
5153 #region[ ネームカラー ]
5254 //--------------------
5355 Color clNameColor = Color.White;
@@ -138,7 +140,9 @@ namespace DTXMania
138140 #endregion
139141 #region[ 名前、グループ名 ]
140142 bmpCardName = this.pfPlayerNameFont.DrawPrivateFont( CDTXMania.ConfigIni.strGetCardName( E楽器パート.DRUMS ), Color.White, Color.Transparent );
143+ bmpTitleName = this.pfGroupNameFont.DrawPrivateFont( CDTXMania.ConfigIni.strGetGroupName( E楽器パート.DRUMS ), Color.White, Color.Transparent );
141144 this.txPlayerName = CDTXMania.tテクスチャの生成( bmpCardName, false );
145+ this.txTitleName = CDTXMania.tテクスチャの生成( bmpTitleName, false );
142146 #endregion
143147 #region[ 難易度数値 ]
144148 string str = string.Format( "{0:0.00}", ( (float)CDTXMania.DTX.LEVEL.Drums) / 10f );
@@ -178,10 +182,10 @@ namespace DTXMania
178182
179183 #region[ 難易度ラベル/パート表記 ]
180184 // 難易度ラベル/パート表記
181- // TODO:パート表記のフォントが3D描画の都合で汚くなってしまう。ここでテクスチャを合成したほうがよさそうかも...
182185 Image diff = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Difficulty.png" ) );
183186 Image part = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Part.png" ) );
184187 Image number = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\7_Difficulty_number.png" ) );
188+ //Image test = CDTXMania.tテクスチャをImageで読み込む(CSkin.Path(@"Graphics\0.png"));
185189 Bitmap bDiff = new Bitmap( 68, 68 );
186190 Graphics gDiff = Graphics.FromImage( bDiff );
187191 gDiff.PageUnit = GraphicsUnit.Pixel;
@@ -207,14 +211,17 @@ namespace DTXMania
207211 }
208212 }
209213
214+ //gDiff.DrawImage( test, 40, 34, new Rectangle(0, 0, 18, 25), GraphicsUnit.Pixel );
215+
216+ // bDiff.Save("test.png");
217+
210218 this.tx難易度ラベル = new CTexture( CDTXMania.app.Device, bDiff, CDTXMania.TextureFormat, false );
211- //this.tx難易度ラベル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Difficulty.png" ) );
212- //this.txパート = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Part.png" ) );
213219
214220 gDiff?.Dispose();
215221 diff?.Dispose();
216222 part?.Dispose();
217223 number?.Dispose();
224+ //test.Dispose();
218225 bDiff?.Dispose();
219226 #endregion
220227
@@ -235,6 +242,7 @@ namespace DTXMania
235242 CDTXMania.t安全にDisposeする( ref this.iRisky );
236243 CDTXMania.t安全にDisposeする( ref this.iDrumspeed );
237244 CDTXMania.t安全にDisposeする( ref this.pfPlayerNameFont );
245+ CDTXMania.t安全にDisposeする( ref this.pfGroupNameFont );
238246 CDTXMania.t安全にDisposeする( ref this.pfSongTitleFont );
239247 CDTXMania.t安全にDisposeする( ref this.pfSongArtistFont );
240248 CDTXMania.tテクスチャの解放( ref this.txJacket );
@@ -244,6 +252,7 @@ namespace DTXMania
244252 CDTXMania.tテクスチャの解放( ref this.tx達成率数字_整数 );
245253
246254 CDTXMania.tテクスチャの解放( ref this.txPlayerName );
255+ CDTXMania.tテクスチャの解放( ref this.txTitleName );
247256
248257 CDTXMania.tテクスチャの解放( ref this.tx難易度ラベル );
249258 CDTXMania.tテクスチャの解放( ref this.txパート );
@@ -271,17 +280,18 @@ namespace DTXMania
271280 #endif
272281 this.b初めての進行描画 = false;
273282 }
274- //if ( CDTXMania.ConfigIni.bShowMusicInfo )
275- if( this.txNamePlate != null )
276- {
277- //this.txNamePlate.t3D描画( CDTXMania.app.Device, identity );
278- }
283+
284+ // スキルパネルの設置座標からの相対距離
285+ float f基準X = -465;
286+ float f基準Y = -45;
287+ float f基準角 = -38;
288+
279289 if( this.txスキルパネル != null )
280290 {
281291 Matrix matSkillPanel = Matrix.Identity;
282- matSkillPanel *= Matrix.Scaling( 0.6f, 1.0f, 1 );
292+ matSkillPanel *= Matrix.Scaling( 0.6f, 0.95f, 1 );
283293 matSkillPanel *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
284- matSkillPanel *= Matrix.Translation( -465, -25, 0 );
294+ matSkillPanel *= Matrix.Translation( f基準X, f基準Y, 0 );
285295 this.txスキルパネル.t3D描画( CDTXMania.app.Device, matSkillPanel );
286296 }
287297 if( this.txPlayerName != null )
@@ -289,10 +299,17 @@ namespace DTXMania
289299 Matrix matPlayerName = Matrix.Identity;
290300 matPlayerName *= Matrix.Scaling( 0.6f, 1, 1 );
291301 matPlayerName *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
292- matPlayerName *= Matrix.Translation( -578 + ( this.txPlayerName.szテクスチャサイズ.Width / 2.0f ), 161, 0 );
302+ matPlayerName *= Matrix.Translation( f基準X - 110 + ( this.txPlayerName.szテクスチャサイズ.Width / 2.0f ), f基準Y + 180, 0 );
293303 this.txPlayerName.t3D描画( CDTXMania.app.Device, matPlayerName );
294304 }
295-
305+ if( this.txTitleName != null )
306+ {
307+ Matrix matTitleName = Matrix.Identity;
308+ matTitleName *= Matrix.Scaling( 0.6f, 1, 1 );
309+ matTitleName *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
310+ matTitleName *= Matrix.Translation( f基準X - 118 + ( this.txTitleName.szテクスチャサイズ.Width / 2.0f ), f基準Y + 198, 0 );
311+ this.txTitleName.t3D描画( CDTXMania.app.Device, matTitleName);
312+ }
296313 #if DEBUG
297314 if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F1 ) )
298315 {
@@ -452,27 +469,23 @@ namespace DTXMania
452469 // this.tx判定数数字.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
453470 //}
454471
455- this.t判定数文字描画( -476, 107, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect );
456- this.t判定数文字描画( -476, 77, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great );
457- this.t判定数文字描画( -476, 47, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good );
458- this.t判定数文字描画( -476, 17, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor );
459- this.t判定数文字描画( -476, -13, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss );
460- this.t判定数文字描画( -476, -43, CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 );
461-
462- this.t判定率文字描画( -435, 107, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect / (float)nowtotal) * 100.0f ) );
463- this.t判定率文字描画( -435, 77, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great / (float)nowtotal) * 100.0f ) );
464- this.t判定率文字描画( -435, 47, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good / (float)nowtotal) * 100.0f ) );
465- this.t判定率文字描画( -435, 17, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor / (float)nowtotal) * 100.0f ) );
466- this.t判定率文字描画( -435, -13, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss / (float)nowtotal) * 100.0f ) );
467- this.t判定率文字描画( -435, -43, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 / (float)nowtotal) * 100.0f ) );
472+ this.t判定数文字描画( f基準X + -11, f基準Y + 130, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect );
473+ this.t判定数文字描画( f基準X + -11, f基準Y + 101, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great );
474+ this.t判定数文字描画( f基準X + -11, f基準Y + 72, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good );
475+ this.t判定数文字描画( f基準X + -11, f基準Y + 43, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor );
476+ this.t判定数文字描画( f基準X + -11, f基準Y + 14, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss );
477+ this.t判定数文字描画( f基準X + -11, f基準Y + -15, CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 );
468478
469- // 達成率
479+ this.t判定率文字描画( f基準X + 25, f基準Y + 130, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect / (float)nowtotal) * 100.0f ) );
480+ this.t判定率文字描画( f基準X + 25, f基準Y + 101, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great / (float)nowtotal) * 100.0f ) );
481+ this.t判定率文字描画( f基準X + 25, f基準Y + 72, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good / (float)nowtotal) * 100.0f ) );
482+ this.t判定率文字描画( f基準X + 25, f基準Y + 43, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor / (float)nowtotal) * 100.0f ) );
483+ this.t判定率文字描画( f基準X + 25, f基準Y + 14, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss / (float)nowtotal) * 100.0f ) );
484+ this.t判定率文字描画( f基準X + 25, f基準Y + -15, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 / (float)nowtotal) * 100.0f ) );
470485
486+ // TODO: 達成率
471487 }
472488 #endregion
473-
474-
475-
476489 if ( this.txSongNamePlate != null )
477490 {
478491 this.txSongNamePlate.t2D描画( CDTXMania.app.Device, 969, -2 );
@@ -492,35 +505,34 @@ namespace DTXMania
492505 }
493506
494507 #region[ 難易度ラベル ]
495- if( /*this.txパート != null &&*/ this.tx難易度ラベル != null )
508+ if( this.tx難易度ラベル != null )
496509 {
497510 Matrix matPart = Matrix.Identity;
498511 matPart *= Matrix.Scaling( 0.6f, 1, 1 );
499- matPart *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
500- matPart *= Matrix.Translation( -528, -110, 0 );
512+ matPart *= Matrix.RotationY( C変換.DegreeToRadian( f基準角 ) );
513+ matPart *= Matrix.Translation( f基準X + -65, f基準Y + -86, 0 );
501514 this.tx難易度ラベル.t3D描画( CDTXMania.app.Device, matPart );
502- //this.tx難易度ラベル.t3D描画( CDTXMania.app.Device, matPart, new Rectangle( 0, 68 * CDTXMania.stage選曲GITADORA.n確定された曲の難易度, 68, 68 ) );
503- //this.txパート.t3D描画( CDTXMania.app.Device, matPart, new Rectangle( 0, 0, 68, 68 ) ); // DrumsだけなのでRectangle.Xは0で固定
515+ // this.tx難易度ラベル.n透明度 = (int)(255 * 0.3);
504516 }
505517 #endregion
506518 #region[ HSアイコン ]
507- //ハイスピはここで描画させる。
508- if( this.nCurrentDrumspeed != CDTXMania.ConfigIni.n譜面スクロール速度.Drums && this.iDrumspeed != null )
509- {
510- Graphics gNamePlate = Graphics.FromImage( this.bNamePlate );
511- this.nCurrentDrumspeed = CDTXMania.ConfigIni.n譜面スクロール速度.Drums;
512- if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
513- {
514- gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 209, 156, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
515- }
516- else if(CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
517- {
518- gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 210, 141, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
519- }
520- gNamePlate.Dispose();
521- this.txNamePlate.Dispose();
522- this.txNamePlate = new CTexture( CDTXMania.app.Device, this.bNamePlate, CDTXMania.TextureFormat, false );
523- }
519+ //ハイスピはここで描画させる。
520+ if( this.nCurrentDrumspeed != CDTXMania.ConfigIni.n譜面スクロール速度.Drums && this.iDrumspeed != null )
521+ {
522+ Graphics gNamePlate = Graphics.FromImage( this.bNamePlate );
523+ this.nCurrentDrumspeed = CDTXMania.ConfigIni.n譜面スクロール速度.Drums;
524+ if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
525+ {
526+ gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 209, 156, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
527+ }
528+ else if(CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
529+ {
530+ gNamePlate.DrawImage( this.iDrumspeed, new Rectangle( 210, 141, 42, 48 ), new Rectangle( 0, ( ( this.nCurrentDrumspeed > 15 ) ? 15 : this.nCurrentDrumspeed ) * 0x30, 0x2a, 0x30 ), GraphicsUnit.Pixel );
531+ }
532+ gNamePlate.Dispose();
533+ this.txNamePlate.Dispose();
534+ this.txNamePlate = new CTexture( CDTXMania.app.Device, this.bNamePlate, CDTXMania.TextureFormat, false );
535+ }
524536 #endregion
525537 #region[ スコア表示 ]
526538 this.n表示スコア.Drums = (long)CDTXMania.stage演奏ドラム画面GITADORA.actScore.n現在表示中のスコア.Drums;
--- a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs
+++ b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs
@@ -568,7 +568,7 @@ namespace DTXMania
568568 public STDGBVALUE<int> nShutterInSide;
569569 public STDGBVALUE<int> nShutterOutSide;
570570 private STDGBVALUE<string> strCardName;
571- public STDGBVALUE<string> strGroupName;
571+ private STDGBVALUE<string> strGroupName;
572572 public string strResultSongNameFont;
573573 public STDGBVALUE<string> strShutterImageName; // #36144 kairera0467 シャッター画像のパスではなくcsvに登録した名前を格納する。
574574 public STDGBVALUE<Eタイプ> eNumOfLanes;
@@ -588,11 +588,22 @@ namespace DTXMania
588588 /// <returns>プレイヤー名</returns>
589589 public string strGetCardName( E楽器パート epart )
590590 {
591- return String.IsNullOrEmpty( this.strCardName[ (int)epart ] ) ? "GUEST" : this.strCardName[ (int)epart ];
591+ return string.IsNullOrEmpty( this.strCardName[ (int)epart ] ) ? "GUEST" : this.strCardName[ (int)epart ];
592592 }
593- #endregion
594593
595- public bool bConfigIniがないかDTXManiaのバージョンが異なる
594+ /// <summary>
595+ /// Config.iniからグループ名,称号を取得する。
596+ /// Config.iniが空だった場合は空白
597+ /// </summary>
598+ /// <param name="epart">取得する楽器パート</param>
599+ /// <returns>グループ名,称号</returns>
600+ public string strGetGroupName(E楽器パート epart)
601+ {
602+ return string.IsNullOrEmpty(this.strGroupName[(int)epart]) ? "" : this.strGroupName[(int)epart];
603+ }
604+ #endregion
605+
606+ public bool bConfigIniがないかDTXManiaのバージョンが異なる
596607 {
597608 get
598609 {
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
Binary files a/実行時フォルダ/System/DefaultMat/Graphics/7_SkillPanel.png and b/実行時フォルダ/System/DefaultMat/Graphics/7_SkillPanel.png differ
Show on old repository browser