Skip to content

Commit

Permalink
いくつかのクラスにおいてPrivateFontの解放を忘れていた箇所があったので修正
Browse files Browse the repository at this point in the history
ゴーゴータイムの判定方法を変更(#15)
  • Loading branch information
kairera0467 committed Mar 12, 2018
1 parent f647491 commit f4c024d
Show file tree
Hide file tree
Showing 9 changed files with 45 additions and 26 deletions.
7 changes: 5 additions & 2 deletions DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
Original file line number Diff line number Diff line change
Expand Up @@ -382,6 +382,7 @@ public class CChip : IComparable<CDTX.CChip>, ICloneable
public double db判定終了時刻;//連打系音符で使用
public double dbProcess_Time;
public int nPlayerSide;
public bool bGOGOTIME = false; //2018.03.11 kairera0467 ゴーゴータイム内のチップであるか
public bool bBPMチップである
{
get
Expand Down Expand Up @@ -1247,7 +1248,7 @@ public int nBGMAdjust
public string strBGM_PATH;

public bool bHIDDENBRANCH; //2016.04.01 kairera0467 選曲画面上、譜面分岐開始前まで譜面分岐の表示を隠す

public bool bGOGOTIME; //2018.03.11 kairera0467

#if TEST_NOTEOFFMODE
public STLANEVALUE<bool> b演奏で直前の音を消音する;
Expand Down Expand Up @@ -3590,7 +3591,7 @@ private void t命令を挿入する(string InputText)
chip.dbBPM = this.dbNowBPM;
chip.n発声時刻ms = (int)this.dbNowTime;
chip.n整数値_内部番号 = 1;

this.bGOGOTIME = true;

// チップを配置。
this.listChip.Add(chip);
Expand All @@ -3604,6 +3605,7 @@ private void t命令を挿入する(string InputText)
chip.n発声時刻ms = (int)this.dbNowTime;
chip.dbBPM = this.dbNowBPM;
chip.n整数値_内部番号 = 1;
this.bGOGOTIME = false;

// チップを配置。
this.listChip.Add(chip);
Expand Down Expand Up @@ -4035,6 +4037,7 @@ private void t入力_行解析譜面_V4(string InputText)
chip.nノーツ出現時刻ms = (int)(this.db出現時刻 * 1000.0);
chip.nノーツ移動開始時刻ms = (int)(this.db移動待機時刻 * 1000.0);
chip.nPlayerSide = this.nPlayerSide;
chip.bGOGOTIME = this.bGOGOTIME;

if( nObjectNum == 7 || nObjectNum == 9 )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ public override int On進行描画()
this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 );

#region[ バージョン表示 ]
string strVersion = "KTT:J:A:I:2017072200";
string strVersion = "KTT:J:A:I:2018031100";
#if DEBUG
strVersion += " DEBUG";
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,18 @@ public override void On活性化()
if( this.b活性化してる )
return;

//「tバーの初期化」より先に生成すること
if( !string.IsNullOrEmpty( CDTXMania.ConfigIni.strPrivateFontで使うフォント名 ) )
{
this.pfMusicName = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.strPrivateFontで使うフォント名 ), 22 );
this.pfSubtitle = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.strPrivateFontで使うフォント名 ), 14 );
}
else
{
this.pfMusicName = new CPrivateFastFont( new FontFamily( "MS PGothic" ), 22 );
this.pfSubtitle = new CPrivateFastFont( new FontFamily( "MS PGothic" ), 14 );
}

this.e楽器パート = E楽器パート.DRUMS;
this.b登場アニメ全部完了 = false;
this.n目標のスクロールカウンタ = 0;
Expand All @@ -543,18 +555,6 @@ public override void On活性化()
if( ( this.r現在選択中の曲 == null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) )
this.r現在選択中の曲 = CDTXMania.Songs管理.list曲ルート[ 0 ];

if( !string.IsNullOrEmpty( CDTXMania.ConfigIni.strPrivateFontで使うフォント名 ) )
{
this.pfMusicName = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.strPrivateFontで使うフォント名 ), 22 );
this.pfSubtitle = new CPrivateFastFont( new FontFamily( CDTXMania.ConfigIni.strPrivateFontで使うフォント名 ), 14 );
}
else
{
this.pfMusicName = new CPrivateFastFont( new FontFamily( "MS PGothic" ), 22 );
this.pfSubtitle = new CPrivateFastFont( new FontFamily( "MS PGothic" ), 14 );
}


// バー情報を初期化する。

this.tバーの初期化();
Expand Down Expand Up @@ -733,6 +733,9 @@ public override void OnManagedリソースの解放()

CDTXMania.tテクスチャの解放( ref this.txMusicName );

CDTXMania.t安全にDisposeする( ref this.pfMusicName );
CDTXMania.t安全にDisposeする( ref this.pfSubtitle );

base.OnManagedリソースの解放();
}
public override int On進行描画()
Expand Down Expand Up @@ -1978,8 +1981,8 @@ private CTexture tサブタイトルテクスチャを生成する( string str
{
tx文字テクスチャ.vc拡大縮小倍率.Y = (float)( 360.0f / tx文字テクスチャ.szテクスチャサイズ.Height );
}

bmp.Dispose();
CDTXMania.t安全にDisposeする( ref bmp );

return tx文字テクスチャ;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ public override void On非活性化()
this.ftタイトル表示用フォント = null;
}

CDTXMania.t安全にDisposeする( ref this.pfTITLE );
CDTXMania.t安全にDisposeする( ref this.pfSUBTITLE );

base.On非活性化();
}
finally
Expand All @@ -108,13 +111,15 @@ public override void OnManagedリソースの作成()
Graphics graphics = Graphics.FromImage( image );
SizeF ef = graphics.MeasureString( this.str曲タイトル, this.ftタイトル表示用フォント );
Size size = new Size( (int) Math.Ceiling( (double) ef.Width ), (int) Math.Ceiling( (double) ef.Height ) );
graphics.Dispose();
image.Dispose();

image = new Bitmap( size.Width, size.Height );
graphics = Graphics.FromImage( image );
graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
graphics.DrawString( this.str曲タイトル, this.ftタイトル表示用フォント, Brushes.White, ( float ) 0f, ( float ) 0f );
graphics.Dispose();

CDTXMania.t安全にDisposeする( ref image );
CDTXMania.t安全にDisposeする( ref graphics );

//this.txタイトル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );
//this.txタイトル.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f );

Expand All @@ -125,17 +130,20 @@ public override void OnManagedリソースの作成()
bmpSongSubTitle = this.pfSUBTITLE.DrawPrivateFont( this.strサブタイトル, Color.White, Color.Black );
this.txサブタイトル = new CTexture( CDTXMania.app.Device, bmpSongSubTitle, CDTXMania.TextureFormat, false );

image.Dispose();
CDTXMania.t安全にDisposeする( ref bmpSongTitle );
CDTXMania.t安全にDisposeする( ref bmpSongSubTitle );
}
else
{
this.txタイトル = null;
this.txサブタイトル = null;
}
}
catch( CTextureCreateFailedException )
{
Trace.TraceError( "テクスチャの生成に失敗しました。({0})", new object[] { this.strSTAGEFILE } );
this.txタイトル = null;
this.txサブタイトル = null;
this.tx背景 = null;
}
base.OnManagedリソースの作成();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1092,7 +1092,8 @@ protected bool tRollProcess( CDTX.CChip pChip, double dbProcess_time, int num, i
this.actRollChara.Start(0);

//2017.01.28 DD CDTXから直接呼び出す
if( this.bIsGOGOTIME[ nPlayer ] )
//if( this.bIsGOGOTIME[ nPlayer ] )
if( pChip.bGOGOTIME ) //2018.03.11 kairera0467 チップに埋め込んだフラグから読み取る
{
if( CDTXMania.DTX.nScoreModeTmp == 0 || CDTXMania.DTX.nScoreModeTmp == 1 )
{
Expand Down Expand Up @@ -1584,7 +1585,8 @@ protected unsafe E判定 tチップのヒット処理( long nHitTime, CDTX.CChip
nAddScore = nAddScore / 2;
}

if( this.bIsGOGOTIME[ nPlayer ] )
//if( this.bIsGOGOTIME[ nPlayer ] )
if( pChip.bGOGOTIME ) //2018.03.11 kairera0467 チップに埋め込んだフラグから読み取る
{
nAddScore = (int)(nAddScore * 1.2f);
}
Expand Down Expand Up @@ -1660,7 +1662,8 @@ protected unsafe E判定 tチップのヒット処理( long nHitTime, CDTX.CChip
}


if( this.bIsGOGOTIME[ nPlayer ] )
//if( this.bIsGOGOTIME[ nPlayer ] )
if( pChip.bGOGOTIME ) //2018.03.11 kairera0467 チップに埋め込んだフラグから読み取る
nAddScore = (int)( nAddScore * 1.2f );

nAddScore = (int)( nAddScore / 10.0 );
Expand Down Expand Up @@ -1699,7 +1702,8 @@ protected unsafe E判定 tチップのヒット処理( long nHitTime, CDTX.CChip
}
}

if( this.bIsGOGOTIME[ nPlayer ] )
//if( this.bIsGOGOTIME[ nPlayer ] )
if( pChip.bGOGOTIME ) //2018.03.11 kairera0467 チップに埋め込んだフラグから読み取る
nAddScore = (int)(nAddScore * 1.2f);

//大音符のボーナス
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ public override int On進行描画()
//mat *= Matrix.Translation( 0f, 0f, 0f );


this.txアタックエフェクトUpper_big.n透明度 = 255;
//this.txアタックエフェクトUpper_big.n透明度 = 255; //17.11.13 kairera0467 白背景対策?
this.txアタックエフェクトUpper_big.t3D描画( CDTXMania.app.Device, mat );
}
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public override void On非活性化()
{
this.ct登場用 = null;
}
CDTXMania.t安全にDisposeする( ref this.pfMusicName );
base.On非活性化();
}
public override void OnManagedリソースの作成()
Expand Down
Binary file modified 実行時フォルダ/DTXManiaGR.exe
Binary file not shown.
Binary file modified 実行時フォルダ/dll/FDK.dll
Binary file not shown.

0 comments on commit f4c024d

Please sign in to comment.