2 using System.Collections.Generic;
4 using System.Runtime.InteropServices;
7 using System.Diagnostics;
11 using Color = System.Drawing.Color;
12 using Rectangle = System.Drawing.Rectangle;
13 using SlimDXKey = SlimDX.DirectInput.Key;
17 internal class CAct演奏DrumsステータスパネルGD : CAct演奏ステータスパネル共通
19 //2016.02.21 kairera0467 Imageの解放方法を変更。これでファイルが無かった時の例外処理の書き方が楽になるはず。
21 public override void On活性化()
23 this.pfPlayerNameFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18, FontStyle.Regular );
24 this.pfSongTitleFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 14, FontStyle.Regular );
25 this.pfSongArtistFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 9, FontStyle.Regular );
28 public override void OnManagedリソースの作成()
32 string strSongName = "";
33 string strArtistName = "";
35 if ( string.IsNullOrEmpty( CDTXMania.DTX.TITLE ) || ( !CDTXMania.bコンパクトモード && CDTXMania.ConfigIni.b曲名表示をdefのものにする ) )
36 strSongName = CDTXMania.stage選曲GITADORA.r確定された曲.strタイトル;
38 strSongName = CDTXMania.DTX.TITLE;
40 if ( string.IsNullOrEmpty( CDTXMania.DTX.ARTIST ) || ( !CDTXMania.bコンパクトモード && CDTXMania.ConfigIni.b曲名表示をdefのものにする ) )
41 strArtistName = CDTXMania.stage選曲GITADORA.r確定されたスコア.譜面情報.アーティスト名;
43 strArtistName = CDTXMania.DTX.ARTIST;
45 this.txSongTitle?.Dispose();
46 this.txArtistName?.Dispose();
47 this.txSongTitle = this.t指定された文字テクスチャを生成する( strSongName );
48 this.txArtistName = this.t指定された文字テクスチャを生成する_小( strArtistName );
50 Bitmap bmpCardName = new Bitmap(1, 1);
52 //--------------------
53 Color clNameColor = Color.White;
54 Color clNameColorLower = Color.White;
55 switch( CDTXMania.ConfigIni.nNameColor[ 0 ] )
58 clNameColor = Color.White;
61 clNameColor = Color.LightYellow;
64 clNameColor = Color.Yellow;
67 clNameColor = Color.Green;
70 clNameColor = Color.Blue;
73 clNameColor = Color.Purple;
76 clNameColor = Color.Red;
79 clNameColor = Color.Brown;
82 clNameColor = Color.Silver;
85 clNameColor = Color.Gold;
89 clNameColor = Color.White;
92 clNameColor = Color.LightYellow;
93 clNameColorLower = Color.White;
96 clNameColor = Color.Yellow;
97 clNameColorLower = Color.White;
100 clNameColor = Color.FromArgb( 0, 255, 33 );
101 clNameColorLower = Color.White;
104 clNameColor = Color.FromArgb( 0, 38, 255 );
105 clNameColorLower = Color.White;
108 clNameColor = Color.FromArgb( 72, 0, 255 );
109 clNameColorLower = Color.White;
112 clNameColor = Color.FromArgb( 255, 255, 0, 0 );
113 clNameColorLower = Color.White;
116 clNameColor = Color.FromArgb( 255, 232, 182, 149 );
117 clNameColorLower = Color.FromArgb( 255, 122, 69, 26 );
120 clNameColor = Color.FromArgb( 246, 245, 255 );
121 clNameColorLower = Color.FromArgb( 125, 128, 137 );
124 clNameColor = Color.FromArgb( 255, 238, 196, 85 );
125 clNameColorLower = Color.FromArgb(255, 255, 241, 200 );
129 //if (CDTXMania.ConfigIni.nNameColor.Drums >= 11)
131 // bmpCardName = this.pfNameFont.DrawPrivateFont(this.strPlayerName, clNameColor, Color.Transparent, clNameColor, clNameColorLower);
135 // bmpCardName = this.pfNameFont.DrawPrivateFont(this.strPlayerName, clNameColor, Color.Transparent);
137 //--------------------
140 bmpCardName = this.pfPlayerNameFont.DrawPrivateFont( CDTXMania.ConfigIni.strGetCardName( E楽器パート.DRUMS ), Color.White, Color.Transparent );
141 this.txPlayerName = CDTXMania.tテクスチャの生成( bmpCardName, false );
144 string str = string.Format( "{0:0.00}", ( (float)CDTXMania.DTX.LEVEL.Drums) / 10f );
145 str = string.Format( "{0:0.00}", ( (float)CDTXMania.DTX.LEVEL.Drums ) / 10.0f + ( CDTXMania.DTX.LEVELDEC.Drums != 0 ? CDTXMania.DTX.LEVELDEC.Drums / 100.0f : 0 ) );
146 int[] nDigit = new int[]{ Convert.ToInt16( str[ 0 ].ToString() ), Convert.ToInt16( str[ 2 ].ToString() ),Convert.ToInt16( str[ 3 ].ToString() ) };
148 if ( CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする ? ( CDTXMania.DTX.bCLASSIC譜面である.Drums && CDTXMania.DTX.b強制的にXG譜面にする == false ) : false )
150 str = string.Format( "{0:00}", CDTXMania.DTX.LEVEL.Drums );
151 nDigit = new int[]{ Convert.ToInt16( str[ 0 ].ToString() ), Convert.ToInt16( str[ 1 ].ToString() ) };
154 #region[ ジャケット画像 オプションアイコン ]
155 string path = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.PATH + CDTXMania.DTX.PREIMAGE;
156 if( !File.Exists( path ) ) {
157 this.iAlbum = CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\5_preimage default.png" ) );
159 this.iAlbum = CDTXMania.tテクスチャをImageで読み込む( path );
163 this.txスキルパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_SkillPanel.png" ) );
164 if( File.Exists( path ) )
166 this.txJacket = CDTXMania.tテクスチャの生成( path );
170 this.txJacket = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_preimage default.png" ) );
173 this.txSongNamePlate = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Drums Songpanel.png" ) );
174 this.txScore = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_score numbersGD.png" ) );
176 this.tx判定数数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Ratenumber_s.png" ) );
177 this.tx達成率数字_整数 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Ratenumber_l.png" ) );
179 CDTXMania.t安全にDisposeする( ref bmpCardName );
181 base.OnManagedリソースの作成();
184 public override void OnManagedリソースの解放()
189 //イメージ 6枚(ジャケット画像はここで解放しない)
191 CDTXMania.tテクスチャの解放( ref this.txScore );
192 CDTXMania.tテクスチャの解放( ref this.txSongNamePlate );
193 CDTXMania.t安全にDisposeする( ref this.iRisky );
194 CDTXMania.t安全にDisposeする( ref this.iDrumspeed );
195 CDTXMania.t安全にDisposeする( ref this.pfPlayerNameFont );
196 CDTXMania.t安全にDisposeする( ref this.pfSongTitleFont );
197 CDTXMania.t安全にDisposeする( ref this.pfSongArtistFont );
198 CDTXMania.tテクスチャの解放( ref this.txJacket );
199 CDTXMania.tテクスチャの解放( ref this.txスキルパネル );
201 CDTXMania.tテクスチャの解放( ref this.tx達成率数字_整数 );
202 CDTXMania.tテクスチャの解放( ref this.tx判定数数字 );
204 CDTXMania.tテクスチャの解放( ref this.txPlayerName );
206 base.OnManagedリソースの解放();
210 public override int On進行描画()
226 this.b初めての進行描画 = false;
228 //if ( CDTXMania.ConfigIni.bShowMusicInfo )
229 if( this.txNamePlate != null )
231 //this.txNamePlate.t3D描画( CDTXMania.app.Device, identity );
233 if( this.txスキルパネル != null )
235 Matrix matSkillPanel = Matrix.Identity;
236 matSkillPanel *= Matrix.Scaling( 0.6f, 1.0f, 1 );
237 matSkillPanel *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
238 matSkillPanel *= Matrix.Translation( -465, -25, 0 );
239 this.txスキルパネル.t3D描画( CDTXMania.app.Device, matSkillPanel );
241 if( this.txPlayerName != null )
243 Matrix matPlayerName = Matrix.Identity;
244 matPlayerName *= Matrix.Scaling( 0.6f, 1, 1 );
245 matPlayerName *= Matrix.RotationY( C変換.DegreeToRadian( -38 ) );
246 matPlayerName *= Matrix.Translation( -578 + ( this.txPlayerName.szテクスチャサイズ.Width / 2.0f ), 161, 0 );
247 this.txPlayerName.t3D描画( CDTXMania.app.Device, matPlayerName );
250 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F1 ) )
254 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F2 ) )
258 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F3 ) )
262 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F4 ) )
266 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F6 ) )
270 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F7 ) )
274 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F8 ) )
278 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F9 ) )
282 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F10 ) )
286 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.F11 ) )
290 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D1 ) )
294 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D2 ) )
298 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D3 ) )
302 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D4 ) )
306 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D5 ) )
310 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D6 ) )
314 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D7 ) )
318 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D8 ) )
322 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D9 ) )
326 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.D0 ) )
330 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.Q ) )
334 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.W ) )
338 //if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.E ) )
342 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.R ) )
346 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.T ) )
350 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.Y ) )
354 //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.U ) )
358 //if(CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDXKey.I ))
363 #region[ ステータスパネルの文字 ]
364 if( this.tx判定数数字 != null )
366 int nowtotal = CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect +
367 CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great +
368 CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good +
369 CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor +
370 CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss;
372 //string str = nowtotal == 0 ? " 0" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect / (float)nowtotal) * 100.0f );
373 //for( int i = 0; i < 4; i++ )
375 // Rectangle rectangle;
377 // if (ch.Equals(' '))
379 // rectangle = new Rectangle(0, 0, 0, 0);
381 // else if( ch.Equals('%') )
383 // rectangle = new Rectangle( 200, 0, 20, 26 );
387 // int num3 = int.Parse(str.Substring(i, 1));
388 // rectangle = new Rectangle((num3 * 20), 0, 20, 26);
390 // Matrix matScoreXG = Matrix.Identity;
391 // matScoreXG *= Matrix.Scaling(0.45f, 0.8f, 1f);
392 // matScoreXG *= Matrix.RotationY(C変換.DegreeToRadian(-40));
393 // matScoreXG *= Matrix.Translation( -435 + (i * 6), 107, 28 + i * 6);
394 // this.tx判定数数字.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
397 this.t判定数文字描画( -476, 107, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect );
398 this.t判定数文字描画( -476, 77, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great );
399 this.t判定数文字描画( -476, 47, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good );
400 this.t判定数文字描画( -476, 17, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor );
401 this.t判定数文字描画( -476, -13, CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss );
402 this.t判定数文字描画( -476, -43, CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 );
404 this.t判定率文字描画( -435, 107, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Perfect / (float)nowtotal) * 100.0f ) );
405 this.t判定率文字描画( -435, 77, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Great / (float)nowtotal) * 100.0f ) );
406 this.t判定率文字描画( -435, 47, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Good / (float)nowtotal) * 100.0f ) );
407 this.t判定率文字描画( -435, 17, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Poor / (float)nowtotal) * 100.0f ) );
408 this.t判定率文字描画( -435, -13, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.nヒット数_Auto含む.Drums.Miss / (float)nowtotal) * 100.0f ) );
409 this.t判定率文字描画( -435, -43, nowtotal == 0 ? " 0%" : string.Format("{0,3:##0}%", (CDTXMania.stage演奏ドラム画面GITADORA.actCombo.n現在のコンボ数.Drums最高値 / (float)nowtotal) * 100.0f ) );
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() );
423 if ( this.txSongNamePlate != null )
425 this.txSongNamePlate.t2D描画( CDTXMania.app.Device, 969, -2 );
426 if( this.txJacket != null )
428 this.txJacket.vc拡大縮小倍率 = new Vector3( 64.0f / this.txJacket.sz画像サイズ.Width, 64.0f / this.txJacket.sz画像サイズ.Height, 1.0f );
429 this.txJacket.t2D描画( CDTXMania.app.Device, 982, 10 );
431 if( this.txSongTitle != null )
433 this.txSongTitle.t2D描画( CDTXMania.app.Device, 1050, 28 );
435 if( this.txArtistName != null )
437 this.txArtistName.t2D描画( CDTXMania.app.Device, 1055, 52 );
444 if( this.nCurrentDrumspeed != CDTXMania.ConfigIni.n譜面スクロール速度.Drums && this.iDrumspeed != null )
446 Graphics gNamePlate = Graphics.FromImage( this.bNamePlate );
447 this.nCurrentDrumspeed = CDTXMania.ConfigIni.n譜面スクロール速度.Drums;
448 if( CDTXMania.ConfigIni.eNamePlateType == Eタイプ.A )
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 );
452 else if(CDTXMania.ConfigIni.eNamePlateType == Eタイプ.B)
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 );
456 gNamePlate.Dispose();
457 this.txNamePlate.Dispose();
458 this.txNamePlate = new CTexture( CDTXMania.app.Device, this.bNamePlate, CDTXMania.TextureFormat, false );
462 this.n表示スコア.Drums = (long)CDTXMania.stage演奏ドラム画面GITADORA.actScore.n現在表示中のスコア.Drums;
463 if( CDTXMania.ConfigIni.eSkillMode == ESkillType.DTXMania )
465 //string str = this.n表示スコア.Drums.ToString("0000000000");
466 //for (int i = 0; i < 10; i++)
468 // Rectangle rectangle;
470 // if (ch.Equals(' '))
472 // rectangle = new Rectangle(0, 0, 32, 36);
476 // int num3 = int.Parse(str.Substring(i, 1));
477 // rectangle = new Rectangle((num3 * 36), 0, 36, 50);
479 // if (this.txScore != null)
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);
489 else if( CDTXMania.ConfigIni.eSkillMode == ESkillType.XG )
491 // 2019.1.12 kairera0467
493 if( this.txScore != null )
495 string str = string.Format("{0,7:######0}", this.n表示スコア.Drums);
496 for( int i = 0; i < 7; i++ )
502 rectangle = new Rectangle(0, 0, 0, 0);
506 int num3 = int.Parse(str.Substring(i, 1));
507 rectangle = new Rectangle((num3 * 36), 0, 36, 50);
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);
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 ));
533 private Bitmap b4font;
534 private Bitmap bNamePlate;
535 private Image iAlbum;
536 private Image iDifficulty;
537 private Image iDifficultyNumber;
538 private Image iDrumspeed;
539 private Image iNamePlate;
541 private Image iRisky;
542 private int nCurrentDrumspeed;
543 private string strGroupName;
544 private string strPlayerName;
545 private CTexture txNamePlate;
546 private CTexture txScore;
547 private CTexture txスキルパネル;
548 private CPrivateFastFont pfSongArtistFont;
549 private CPrivateFastFont pfSongTitleFont;
550 private CPrivateFastFont pfPlayerNameFont;
551 private CPrivateFastFont pfGroupNameFont;
553 private CTexture txSongNamePlate;
554 private CTexture txSongTitle;
555 private CTexture txArtistName;
556 private CTexture txJacket;
557 private CTexture txPlayerName;
558 private CTexture txTitleName;
559 private CTexture tx判定数数字;
560 private CTexture tx達成率数字_整数;
567 private float fScaleX;
568 private float fScaleY;
569 private float fOffsetX;
570 private float fOffsetY;
571 private float fOffsetZ;
574 private CTexture t指定された文字テクスチャを生成する( string str文字 )
577 bmp = this.pfSongTitleFont.DrawPrivateFont( str文字, CPrivateFont.DrawMode.Edge, Color.Black, Color.White, Color.White, Color.White );
578 CTexture tx文字テクスチャ = CDTXMania.tテクスチャの生成( bmp, false );
583 private CTexture t指定された文字テクスチャを生成する_小( string str文字 )
586 bmp = this.pfSongArtistFont.DrawPrivateFont( str文字, CPrivateFont.DrawMode.Edge, Color.Black, Color.White, Color.White, Color.White );
587 CTexture tx文字テクスチャ = CDTXMania.tテクスチャの生成( bmp, false );
593 private void t判定数文字描画( float x, float y, int value )
595 string str = string.Format("{0,4:###0}", value );
596 for( int i = 0; i < 4; i++ )
602 rectangle = new Rectangle(0, 0, 0, 0);
606 int num3 = int.Parse(str.Substring(i, 1));
607 rectangle = new Rectangle((num3 * 20), 0, 20, 26);
609 Matrix matScoreXG = Matrix.Identity;
610 matScoreXG *= Matrix.Scaling(0.45f, 0.8f, 1f);
611 matScoreXG *= Matrix.RotationY(C変換.DegreeToRadian(-40));
612 matScoreXG *= Matrix.Translation( x + (i * 6), y, i * 6);
613 this.tx判定数数字.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);
617 private void t判定率文字描画( float x, float y, string str )
619 for( int i = 0; i < 4; i++ )
625 rectangle = new Rectangle(0, 0, 0, 0);
627 else if( ch.Equals('%') )
629 rectangle = new Rectangle( 200, 0, 20, 26 );
633 int num3 = int.Parse(str.Substring(i, 1));
634 rectangle = new Rectangle((num3 * 20), 0, 20, 26);
636 Matrix matScoreXG = Matrix.Identity;
637 matScoreXG *= Matrix.Scaling(0.45f, 0.8f, 1f);
638 matScoreXG *= Matrix.RotationY(C変換.DegreeToRadian(-40));
639 matScoreXG *= Matrix.Translation( x + (i * 6), y, 28 + i * 6);
640 this.tx判定数数字.t3D描画(CDTXMania.app.Device, matScoreXG, rectangle);