• R/O
  • SSH
  • HTTPS

dtxmaniaxg-verk: Commit


Commit MetaInfo

Revision572 (tree)
Time2018-07-30 23:06:49
Authorkairera0467

Log Message

#38054 曲別に設定したInputAdjustが適用されない不具合を修正
#35379 曲選択画面でのメモリリークらしき箇所をとりあえず塞ぐ(副作用あります...)

Change Summary

Incremental Difference

--- branches/GITADORA風/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs (revision 572)
@@ -3755,6 +3755,7 @@
37553755 //Trace.TraceInformation( "発声時刻計算: {0}", span.ToString() );
37563756 //timeBeginLoad = DateTime.Now;
37573757 this.nBGMAdjust = 0;
3758+ this.t各自動再生音チップの再生時刻を変更する( nBGMAdjust );
37583759 if( CDTXMania.ConfigIni.nCommonBGMAdjustMs != 0 )
37593760 this.t各自動再生音チップの再生時刻を変更する( CDTXMania.ConfigIni.nCommonBGMAdjustMs, false, true );
37603761 //span = (TimeSpan) ( DateTime.Now - timeBeginLoad );
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs (revision 572)
@@ -119,7 +119,7 @@
119119 this.txMenuパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_menu panel.png" ) );
120120 this.txItemBar = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_item bar.png" ) );
121121
122- prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18 );
122+ this.prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 18 );
123123 string[] strMenuItem = { "System", "Drums", "Guitar", "Bass", "Exit" };
124124 txMenuItemLeft = new CTexture[ strMenuItem.Length, 2 ];
125125 for ( int i = 0; i < strMenuItem.Length; i++ )
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs (revision 572)
@@ -421,7 +421,8 @@
421421 }
422422 this.On非活性化();
423423 this.r現在選択中の曲 = null;
424- this.On活性化();
424+ if( CDTXMania.r現在のステージ.eステージID == CStage.Eステージ.選曲 )
425+ this.On活性化();
425426 }
426427
427428
@@ -537,8 +538,8 @@
537538 this.tx上部パネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_header song list.png"), false);
538539 this.tx下部パネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_footer song list.png"), false);
539540
540- prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 30, FontStyle.Regular );
541- prvFontSmall = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 15, FontStyle.Regular );
541+ this.prvFont = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 30, FontStyle.Regular );
542+ this.prvFontSmall = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.str選曲リストフォント ), 15, FontStyle.Regular );
542543
543544 for( int i = 0; i < 13; i++ )
544545 this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 );
@@ -621,8 +622,9 @@
621622 CDTXMania.t安全にDisposeする( ref this.tx選曲バー.Other );
622623 CDTXMania.t安全にDisposeする( ref this.tx上部パネル );
623624 CDTXMania.t安全にDisposeする( ref this.tx下部パネル );
624- prvFont.Dispose();
625- prvFontSmall.Dispose();
625+
626+ CDTXMania.t安全にDisposeする( ref this.prvFont );
627+ CDTXMania.t安全にDisposeする( ref this.prvFontSmall );
626628 if( this.tx選択中の曲名テクスチャ != null )
627629 {
628630 this.tx選択中の曲名テクスチャ.Dispose();
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs (revision 572)
@@ -314,11 +314,12 @@
314314 #region[ 曲名、アーティスト名テクスチャの生成 ]
315315 if ((this.str曲タイトル != null) && (this.str曲タイトル.Length > 0))
316316 {
317- pfタイトル = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 40, FontStyle.Regular);
317+ this.pfタイトル = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 40, FontStyle.Regular);
318318 Bitmap bmpSongName = new Bitmap(1, 1);
319- bmpSongName = pfタイトル.DrawPrivateFont(this.str曲タイトル, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true);
319+ bmpSongName = this.pfタイトル.DrawPrivateFont(this.str曲タイトル, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true);
320320 this.txタイトル = CDTXMania.tテクスチャの生成(bmpSongName, false);
321- bmpSongName.Dispose();
321+ CDTXMania.t安全にDisposeする( ref bmpSongName );
322+ CDTXMania.t安全にDisposeする( ref this.pfタイトル );
322323 }
323324 else
324325 {
@@ -331,7 +332,8 @@
331332 Bitmap bmpArtistName = new Bitmap(1, 1);
332333 bmpArtistName = pfアーティスト.DrawPrivateFont(this.strアーティスト名, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true);
333334 this.txアーティスト = CDTXMania.tテクスチャの生成(bmpArtistName, false);
334- bmpArtistName.Dispose();
335+ CDTXMania.t安全にDisposeする( ref bmpArtistName );
336+ CDTXMania.t安全にDisposeする( ref this.pfアーティスト );
335337 }
336338 else
337339 {
@@ -354,6 +356,7 @@
354356 if( !base.b活性化してない )
355357 {
356358 //テクスチャ11枚
359+ //2018.03.15 kairera0467 PrivateFontが抜けていた&フォント生成直後に解放するようにしてみる
357360 CDTXMania.tテクスチャの解放( ref this.tx背景 );
358361 CDTXMania.tテクスチャの解放( ref this.txジャケット );
359362 CDTXMania.tテクスチャの解放( ref this.txタイトル );
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏パネル文字列.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏パネル文字列.cs (revision 572)
@@ -72,8 +72,6 @@
7272 }
7373 public override void On非活性化()
7474 {
75- CDTXMania.t安全にDisposeする( ref this.pfタイトル );
76- CDTXMania.t安全にDisposeする( ref this.pfアーティスト );
7775 // CDTXMania.tテクスチャの解放(ref this.txPanel);
7876 this.ct進行用 = null;
7977 base.On非活性化();
@@ -126,6 +124,8 @@
126124 CDTXMania.tテクスチャの解放( ref this.txArtistName );
127125 CDTXMania.tテクスチャの解放( ref this.txジャケットパネル );
128126 CDTXMania.tテクスチャの解放( ref this.txジャケット画像 );
127+ CDTXMania.t安全にDisposeする( ref this.pfタイトル );
128+ CDTXMania.t安全にDisposeする( ref this.pfアーティスト );
129129 base.OnManagedリソースの解放();
130130 }
131131 }
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultImage.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultImage.cs (revision 572)
@@ -71,13 +71,13 @@
7171 else
7272 this.strSongName = CDTXMania.DTX.TITLE;
7373
74- pfタイトル = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 20, FontStyle.Regular);
74+ this.pfタイトル = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 20, FontStyle.Regular);
7575 Bitmap bmpSongName = new Bitmap(1, 1);
7676 bmpSongName = pfタイトル.DrawPrivateFont(this.strSongName, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true);
7777 this.txSongName = CDTXMania.tテクスチャの生成(bmpSongName, false);
7878 bmpSongName.Dispose();
7979
80- pfアーティスト = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 15, FontStyle.Regular);
80+ this.pfアーティスト = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 15, FontStyle.Regular);
8181 Bitmap bmpArtistName = new Bitmap(1, 1);
8282 bmpArtistName = pfアーティスト.DrawPrivateFont(CDTXMania.DTX.ARTIST, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true);
8383 this.txArtistName = CDTXMania.tテクスチャの生成(bmpArtistName, false);
@@ -143,6 +143,9 @@
143143 CDTXMania.tテクスチャの解放(ref this.txSongLevel);
144144 CDTXMania.tテクスチャの解放(ref this.txSongDifficulty);
145145 CDTXMania.tテクスチャの解放(ref this.txDrumSpeed);
146+
147+ CDTXMania.t安全にDisposeする( ref this.pfタイトル );
148+ CDTXMania.t安全にDisposeする( ref this.pfアーティスト );
146149 base.OnManagedリソースの解放();
147150 }
148151 }
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultParameterPanel.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultParameterPanel.cs (revision 572)
@@ -411,12 +411,12 @@
411411 graネームプレート用.DrawImage( bmpCardName, -2f, 26f );
412412 graネームプレート用.DrawImage( bmpTitleName, 6f, 8f );
413413 #endregion
414- bmpCardName.Dispose();
415- bmpTitleName.Dispose();
414+ CDTXMania.t安全にDisposeする( ref bmpCardName );
415+ CDTXMania.t安全にDisposeする( ref bmpTitleName );
416416 this.txネームプレート用文字[ i ] = new CTexture( CDTXMania.app.Device, image2, CDTXMania.TextureFormat, false );
417417 CDTXMania.t安全にDisposeする( ref image2 );
418418
419- graネームプレート用.Dispose();
419+ CDTXMania.t安全にDisposeする( ref graネームプレート用 );
420420 }
421421 this.prv表示用フォント.Dispose();
422422 this.prv称号フォント.Dispose();
--- branches/GITADORA風/DTXManiaプロジェクト/コード/全体/CDTXMania.cs (revision 571)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/全体/CDTXMania.cs (revision 572)
@@ -730,73 +730,77 @@
730730 case CStage.Eステージ.タイトル:
731731 #region [ *** ]
732732 //-----------------------------
733- switch (this.n進行描画の戻り値)
733+ if( this.n進行描画の戻り値 != 0 )
734734 {
735- case (int)CStageタイトル.E戻り値.GAMESTART:
736- #region [ 選曲処理へ ]
737- //-----------------------------
738- r現在のステージ.On非活性化();
739- Trace.TraceInformation("----------------------");
740- Trace.TraceInformation("■ 選曲");
741- stage選曲.On活性化();
742- r直前のステージ = r現在のステージ;
743- r現在のステージ = stage選曲;
744- //-----------------------------
735+ switch (this.n進行描画の戻り値)
736+ {
737+ case (int)CStageタイトル.E戻り値.GAMESTART:
738+ #region [ 選曲処理へ ]
739+ //-----------------------------
740+ r現在のステージ.On非活性化();
741+ Trace.TraceInformation("----------------------");
742+ Trace.TraceInformation("■ 選曲");
743+ stage選曲.On活性化();
744+ r直前のステージ = r現在のステージ;
745+ r現在のステージ = stage選曲;
746+ //-----------------------------
747+ #endregion
748+ break;
749+
750+ #region [ OPTION: 廃止済 ]
751+ /*
752+ case 2: // #24525 OPTIONとCONFIGの統合に伴い、OPTIONは廃止
753+ #region [ *** ]
754+ //-----------------------------
755+ r現在のステージ.On非活性化();
756+ Trace.TraceInformation( "----------------------" );
757+ Trace.TraceInformation( "■ オプション" );
758+ stageオプション.On活性化();
759+ r直前のステージ = r現在のステージ;
760+ r現在のステージ = stageオプション;
761+ //-----------------------------
762+ #endregion
763+ break;
764+ */
745765 #endregion
746- break;
747766
748- #region [ OPTION: 廃止済 ]
749- /*
750- case 2: // #24525 OPTIONとCONFIGの統合に伴い、OPTIONは廃止
751- #region [ *** ]
752- //-----------------------------
753- r現在のステージ.On非活性化();
754- Trace.TraceInformation( "----------------------" );
755- Trace.TraceInformation( "■ オプション" );
756- stageオプション.On活性化();
757- r直前のステージ = r現在のステージ;
758- r現在のステージ = stageオプション;
759- //-----------------------------
760- #endregion
761- break;
762- */
763- #endregion
767+ case (int)CStageタイトル.E戻り値.CONFIG:
768+ #region [ *** ]
769+ //-----------------------------
770+ r現在のステージ.On非活性化();
771+ Trace.TraceInformation("----------------------");
772+ Trace.TraceInformation("■ コンフィグ");
773+ stageコンフィグ.On活性化();
774+ r直前のステージ = r現在のステージ;
775+ r現在のステージ = stageコンフィグ;
776+ //-----------------------------
777+ #endregion
778+ break;
764779
765- case (int)CStageタイトル.E戻り値.CONFIG:
766- #region [ *** ]
767- //-----------------------------
768- r現在のステージ.On非活性化();
769- Trace.TraceInformation("----------------------");
770- Trace.TraceInformation("■ コンフィグ");
771- stageコンフィグ.On活性化();
772- r直前のステージ = r現在のステージ;
773- r現在のステージ = stageコンフィグ;
774- //-----------------------------
775- #endregion
776- break;
780+ case (int)CStageタイトル.E戻り値.EXIT:
781+ #region [ *** ]
782+ //-----------------------------
783+ r現在のステージ.On非活性化();
784+ Trace.TraceInformation("----------------------");
785+ Trace.TraceInformation("■ 終了");
786+ stage終了.On活性化();
787+ r直前のステージ = r現在のステージ;
788+ r現在のステージ = stage終了;
789+ //-----------------------------
790+ #endregion
791+ break;
792+ }
777793
778- case (int)CStageタイトル.E戻り値.EXIT:
779- #region [ *** ]
780- //-----------------------------
781- r現在のステージ.On非活性化();
782- Trace.TraceInformation("----------------------");
783- Trace.TraceInformation("■ 終了");
784- stage終了.On活性化();
785- r直前のステージ = r現在のステージ;
786- r現在のステージ = stage終了;
787- //-----------------------------
788- #endregion
789- break;
790- }
794+ foreach (STPlugin pg in this.listプラグイン)
795+ {
796+ Directory.SetCurrentDirectory(pg.strプラグインフォルダ);
797+ pg.plugin.Onステージ変更();
798+ Directory.SetCurrentDirectory(CDTXMania.strEXEのあるフォルダ);
799+ }
791800
792- foreach (STPlugin pg in this.listプラグイン)
793- {
794- Directory.SetCurrentDirectory(pg.strプラグインフォルダ);
795- pg.plugin.Onステージ変更();
796- Directory.SetCurrentDirectory(CDTXMania.strEXEのあるフォルダ);
801+ this.tガベージコレクションを実行する(); // #31980 2013.9.3 yyagi タイトル画面でだけ、毎フレームGCを実行して重くなっていた問題の修正
797802 }
798803
799- //this.tガベージコレクションを実行する(); // #31980 2013.9.3 yyagi タイトル画面でだけ、毎フレームGCを実行して重くなっていた問題の修正
800804 //-----------------------------
801805 #endregion
802806 break;
@@ -1454,6 +1458,7 @@
14541458 }
14551459 try
14561460 {
1461+ Trace.WriteLine("CTextureをFileから生成 + Filename:" + fileName);
14571462 return new CTexture( app.Device, fileName, TextureFormat, b黒を透過する );
14581463 }
14591464 catch ( CTextureCreateFailedException )
@@ -1469,8 +1474,10 @@
14691474 }
14701475 public static void tテクスチャの解放( ref CTexture tx )
14711476 {
1472- if( tx != null )
1477+ if (tx != null) {
1478+ Trace.WriteLine( "CTextureを解放 Size W:" + tx.sz画像サイズ.Width + " H:" + tx.sz画像サイズ.Height );
14731479 CDTXMania.t安全にDisposeする( ref tx );
1480+ }
14741481 }
14751482 public static void tテクスチャの解放( ref CTextureAf tx )
14761483 {
@@ -1509,6 +1516,7 @@
15091516 }
15101517 try
15111518 {
1519+ Trace.WriteLine( "CTextureをBitmapから生成" );
15121520 return new CTexture( app.Device, bitmap, TextureFormat, b黒を透過する );
15131521 }
15141522 catch ( CTextureCreateFailedException )
Show on old repository browser