Skip to content

Commit

Permalink
ダブルプレイのバグ潰し
Browse files Browse the repository at this point in the history
手つなぎ音符を叩いた時のエフェクトが大音符のものになっていないのを修正
手つなぎ音符を叩いた時の点数が通常音符と同じだったのを修正
演奏終了演出の2P対応
CONFIG画面のパネル文PrivateFont描画化
Issues#10 真打配点で大音符ボーナスが入っていなかったので修正
  • Loading branch information
kairera0467 committed Aug 31, 2017
1 parent c624134 commit 5423851
Show file tree
Hide file tree
Showing 7 changed files with 327 additions and 208 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,19 @@ public override void OnManagedリソースの作成() // OPTIONと画
this.tx上部パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_header panel.png" ) );
this.tx下部パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_footer panel.png" ) );
this.txMenuカーソル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig menu cursor.png" ) );
prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), 20 );
string[] strMenuItem = { "System", "Drums", "Guitar", "Bass", "Exit" };
txMenuItemLeft = new CTexture[ strMenuItem.Length, 2 ];
for ( int i = 0; i < strMenuItem.Length; i++ )
{
Bitmap bmpStr;
bmpStr = prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black );
txMenuItemLeft[ i, 0 ] = CDTXMania.tテクスチャの生成( bmpStr, false );
bmpStr.Dispose();
bmpStr = prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed );
txMenuItemLeft[ i, 1 ] = CDTXMania.tテクスチャの生成( bmpStr, false );
bmpStr.Dispose();
}
if( this.bメニューにフォーカス中 )
{
this.t説明文パネルに現在選択されているメニューの説明を描画する();
Expand All @@ -134,6 +147,15 @@ public override void OnManagedリソースの解放() // OPTIONと同
CDTXMania.tテクスチャの解放( ref this.tx下部パネル );
CDTXMania.tテクスチャの解放( ref this.txMenuカーソル );
CDTXMania.tテクスチャの解放( ref this.tx説明文パネル );
prvFont.Dispose();
for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ )
{
txMenuItemLeft[ i, 0 ].Dispose();
txMenuItemLeft[ i, 0 ] = null;
txMenuItemLeft[ i, 1 ].Dispose();
txMenuItemLeft[ i, 1 ] = null;
}
txMenuItemLeft = null;
base.OnManagedリソースの解放();
}
}
Expand Down Expand Up @@ -184,43 +206,20 @@ public override int On進行描画()
#endregion
#region [ メニュー ]
//---------------------
string str = "System";
int num4 = this.actFont.n文字列長dot( str );
bool flag = this.n現在のメニュー番号 == 0;
this.actFont.t文字列描画( 282 - ( num4 / 2 ), 155, str, flag );
//str = "Drums Keys";
//num4 = this.actFont.n文字列長dot( str );
//flag = this.n現在のメニュー番号 == 1;
//this.actFont.t文字列描画( 0x8a - ( num4 / 2 ), 0x7d, str, flag );
//str = "Guitar Keys";
//num4 = this.actFont.n文字列長dot( str );
//flag = this.n現在のメニュー番号 == 2;
//this.actFont.t文字列描画( 0x8a - ( num4 / 2 ), 150, str, flag );
//str = "Bass Keys";
//num4 = this.actFont.n文字列長dot( str );
//flag = this.n現在のメニュー番号 == 3;
//this.actFont.t文字列描画( 0x8a - ( num4 / 2 ), 0xaf, str, flag );
//str = "Exit";
//num4 = this.actFont.n文字列長dot( str );
//flag = this.n現在のメニュー番号 == 4;
//this.actFont.t文字列描画( 0x8a - ( num4 / 2 ), 200, str, flag );
str = "Drums";
num4 = this.actFont.n文字列長dot( str );
flag = this.n現在のメニュー番号 == 1;
this.actFont.t文字列描画( 282 - ( num4 / 2 ), 192, str, flag );
str = "Guitar";
num4 = this.actFont.n文字列長dot( str );
flag = this.n現在のメニュー番号 == 2;
this.actFont.t文字列描画( 282 - ( num4 / 2 ), 230, str, flag );
str = "Bass";
num4 = this.actFont.n文字列長dot( str );
flag = this.n現在のメニュー番号 == 3;
this.actFont.t文字列描画( 282 - ( num4 / 2 ), 267, str, flag );
str = "Exit";
num4 = this.actFont.n文字列長dot( str );
flag = this.n現在のメニュー番号 == 4;
this.actFont.t文字列描画( 282 - ( num4 / 2 ), 305, str, flag );

int menuY = 162 - 22;
int stepY = 39;
for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ )
{
//Bitmap bmpStr = (this.n現在のメニュー番号 == i) ?
// prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) :
// prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black );
//txMenuItemLeft = CDTXMania.tテクスチャの生成( bmpStr, false );
int flag = ( this.n現在のメニュー番号 == i ) ? 1 : 0;
int num4 = txMenuItemLeft[ i, flag ].sz画像サイズ.Width;
txMenuItemLeft[ i, flag ].t2D描画( CDTXMania.app.Device, 282 - ( num4 / 2 ), menuY ); //55
//txMenuItem.Dispose();
menuY += stepY;
}
//---------------------
#endregion
#region [ 説明文パネル ]
Expand Down Expand Up @@ -451,6 +450,8 @@ public CCounter this[ int index ]
private CTexture tx上部パネル;
private CTexture tx説明文パネル;
private CTexture tx背景;
private CPrivateFastFont prvFont;
private CTexture[ , ] txMenuItemLeft;

private void tカーソルを下へ移動する()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1548,6 +1548,12 @@ protected unsafe E判定 tチップのヒット処理( long nHitTime, CDTX.CChip
{
nAddScore = nAddScore / 2;
}

if( pChip.nチャンネル番号 == 0x13 || pChip.nチャンネル番号 == 0x14 || pChip.nチャンネル番号 == 0x1A || pChip.nチャンネル番号 == 0x1B )
{
nAddScore = nAddScore * 2;
}

this.actScore.Add( E楽器パート.TAIKO, bIsAutoPlay, nAddScore, nPlayer );
}
else if( CDTXMania.DTX.nScoreModeTmp == 2 )
Expand Down Expand Up @@ -1593,7 +1599,7 @@ protected unsafe E判定 tチップのヒット処理( long nHitTime, CDTX.CChip
nAddScore = (int)( nAddScore * 10 );

//大音符のボーナス
if( pChip.nチャンネル番号 == 0x13 || pChip.nチャンネル番号 == 0x14 )
if( pChip.nチャンネル番号 == 0x13 || pChip.nチャンネル番号 == 0x14 || pChip.nチャンネル番号 == 0x1A || pChip.nチャンネル番号 == 0x1B )
{
nAddScore = nAddScore * 2;
}
Expand Down Expand Up @@ -1661,7 +1667,7 @@ protected unsafe E判定 tチップのヒット処理( long nHitTime, CDTX.CChip
nAddScore = (int)( nAddScore * 10 );

//大音符のボーナス
if( pChip.nチャンネル番号 == 0x13 || pChip.nチャンネル番号 == 0x14 )
if( pChip.nチャンネル番号 == 0x13 || pChip.nチャンネル番号 == 0x14 || pChip.nチャンネル番号 == 0x1A || pChip.nチャンネル番号 == 0x1B )
{
nAddScore = nAddScore * 2;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ public virtual void Start( int nLane, E判定 judge, int player )
break;
case 0x13:
case 0x14:
case 0x1A:
case 0x1B:
this.st状態_大[ j ].ct進行 = new CCounter( 0, 9, 20, CDTXMania.Timer );
this.st状態_大[ j ].judge = judge;
this.st状態_大[ j ].nIsBig = 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,8 @@ public virtual void Start( int nLane, E判定 judge, bool b両手入力, int nPl
break;
case 0x13:
case 0x14:
case 0x1A:
case 0x1B:
{
if( b両手入力 )
this.st状態[ nPlayer ].nIsBig = 1;
Expand Down
Loading

0 comments on commit 5423851

Please sign in to comment.