<Compile Include="コード\ステージ\07.演奏\CAct演奏演奏情報.cs" />\r
<Compile Include="コード\ステージ\07.演奏\CInvisibleChip.cs" />\r
<Compile Include="コード\ステージ\07.演奏\CStage演奏画面共通.cs" />\r
+ <Compile Include="コード\ステージ\07.演奏\CWailingChip.cs" />\r
<Compile Include="コード\ステージ\07.演奏\C演奏判定ライン座標共通.cs" />\r
<Compile Include="コード\ステージ\07.演奏\ギター画面\CAct演奏GuitarDanger.cs" />\r
<Compile Include="コード\ステージ\07.演奏\ギター画面\CAct演奏GuitarRGB.cs" />\r
}\r
bValidScore = ( CDTXMania.DTXVmode.Enabled ) ? false : true;\r
\r
+ cWailingChip = new CWailingChip共通[ 3 ]; // 0:未使用, 1:Gutiar, 2:Bass\r
+ if ( CDTXMania.ConfigIni.bDrums有効 )\r
+ {\r
+ cWailingChip[ 1 ] = new CWailngChip_Guitar_Drum画面( ref 演奏判定ライン座標 );\r
+ cWailingChip[ 2 ] = new CWailngChip_Bass_Drum画面( ref 演奏判定ライン座標 );\r
+ }\r
+ else\r
+ {\r
+ cWailingChip[ 1 ] = new CWailngChip_Guitar_GR画面( ref 演奏判定ライン座標 );\r
+ cWailingChip[ 2 ] = new CWailngChip_Bass_GR画面( ref 演奏判定ライン座標 );\r
+ }\r
+\r
#region [ 演奏開始前にmixer登録しておくべきサウンド(開幕してすぐに鳴らすことになるチップ音)を登録しておく ]\r
foreach ( CDTX.CChip pChip in listChip )\r
{\r
protected CInvisibleChip cInvisibleChip;\r
protected bool bUseOSTimer;\r
protected E判定表示優先度 e判定表示優先度;\r
+ protected CWailingChip共通[] cWailingChip;\r
\r
protected Stopwatch sw; // 2011.6.13 最適化検討用のストップウォッチ\r
protected Stopwatch sw2;\r
#endregion\r
#region [ 28: ウェイリング(ギター) ]\r
case 0x28: // ウェイリング(ギター)\r
- this.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip );\r
+ this.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip, !CDTXMania.ConfigIni.bDrums有効 );\r
break;\r
#endregion\r
#region [ 2f: ウェイリングサウンド(ギター) ]\r
#endregion\r
#region [ a8: ウェイリング(ベース) ]\r
case 0xa8: // ウェイリング(ベース)\r
- this.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip );\r
+ this.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip, !CDTXMania.ConfigIni.bDrums有効 );\r
break;\r
#endregion\r
#region [ af: ウェイリングサウンド(ベース) ]\r
}\r
\r
\r
- protected virtual void t進行描画・チップ・ギターベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽器パート inst )\r
+ protected virtual void t進行描画・チップ・ギターベース・ウェイリング(\r
+ CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽器パート inst, bool bGRmode )\r
{\r
int indexInst = (int) inst;\r
if ( configIni.bGuitar有効 )\r
pChip.b可視 = false;\r
}\r
#endregion\r
- //\r
- // ここにチップ更新処理が入る(overrideで入れる)。といっても座標とチップサイズが違うだけで処理はまるまる同じ。\r
- //\r
+\r
+ cWailingChip[ indexInst ].t進行描画・チップ・ギターベース・ウェイリング(\r
+ configIni, ref dTX, ref pChip,\r
+ ref txチップ, ref 演奏判定ライン座標, ref ctWailingチップ模様アニメ\r
+ );\r
+\r
if ( !pChip.bHit && ( pChip.nバーからの距離dot[indexInst] < 0 ) )\r
{\r
if ( pChip.nバーからの距離dot[indexInst] < -234 ) // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec). \r
}\r
pChip.bHit = true;\r
}\r
- protected virtual void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ protected virtual void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, bool bGRmode )\r
{\r
- t進行描画・チップ・ギターベース・ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.GUITAR );\r
+ t進行描画・チップ・ギターベース・ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.GUITAR, bGRmode );\r
}\r
protected abstract void t進行描画・チップ・フィルイン( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
protected abstract void t進行描画・チップ・小節線( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
//protected abstract void t進行描画・チップ・ベース( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
- protected virtual void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ protected virtual void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, bool bGRmode )\r
{\r
- t進行描画・チップ・ギターベース・ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.BASS );\r
+ t進行描画・チップ・ギターベース・ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.BASS, bGRmode );\r
}\r
+\r
+ \r
+ \r
protected abstract void t進行描画・チップ・空打ち音設定・ドラム( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
protected void t進行描画・チップアニメ()\r
{\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using System.Diagnostics;\r
+using System.Drawing;\r
+using FDK;\r
+\r
+namespace DTXMania\r
+{\r
+ /// <summary>\r
+ /// Wailingチップの座標計算と描画を行う基底クラス\r
+ /// </summary>\r
+ public class CWailingChip共通\r
+ {\r
+ protected E楽器パート eInst;\r
+ protected bool bGRmode;\r
+\r
+ protected int[] y_base;\r
+ protected int offset;\r
+ protected const int WailingWidth = (int) ( 20 * Scale.X ); // ウェイリングチップ画像の幅: 4種全て同じ値\r
+ protected const int WailingHeight = (int) ( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値\r
+ protected int baseTextureOffsetX, baseTextureOffsetY;\r
+\r
+ protected int drawX;\r
+ protected int numA, numB, numC;\r
+ protected int showRangeY1;\r
+\r
+ \r
+ /// <summary>\r
+ /// コンストラクタ\r
+ /// </summary>\r
+ protected CWailingChip共通()\r
+ {\r
+ y_base = new int[ 2 ];\r
+ }\r
+\r
+ /// <summary>\r
+ /// 描画処理 (引数が多いのは追々何とかする)\r
+ /// </summary>\r
+ /// <param name="configIni"></param>\r
+ /// <param name="dTX"></param>\r
+ /// <param name="pChip"></param>\r
+ /// <param name="txチップ"></param>\r
+ /// <param name="演奏判定ライン座標"></param>\r
+ /// <param name="ctWailingチップ模様アニメ"></param>\r
+ internal void t進行描画・チップ・ギターベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip,\r
+ ref CTexture txチップ, ref C演奏判定ライン座標共通 演奏判定ライン座標, ref CCounter ctWailingチップ模様アニメ )\r
+ {\r
+ int indexInst = (int) eInst;\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ if ( txチップ != null )\r
+ {\r
+ txチップ.n透明度 = pChip.n透明度;\r
+ }\r
+ int y = configIni.bReverse.Guitar ?\r
+ ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
+ ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
+ numB = y - offset; // 4種全て同じ定義\r
+ numC = 0; // 4種全て同じ初期値\r
+ if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
+ {\r
+ int c = ctWailingチップ模様アニメ.n現在の値;\r
+ Rectangle rect = new Rectangle(\r
+ baseTextureOffsetX + ( c * WailingWidth ),\r
+ baseTextureOffsetY,\r
+ WailingWidth,\r
+ WailingHeight\r
+ );\r
+ if ( numB < numA )\r
+ {\r
+ rect.Y += numA - numB;\r
+ rect.Height -= numA - numB;\r
+ numC = numA - numB;\r
+ }\r
+ if ( numB > ( showRangeY1 - numA ) )\r
+ {\r
+ rect.Height -= numB - ( showRangeY1 - numA );\r
+ }\r
+ if ( ( rect.Bottom > rect.Top ) && ( txチップ != null ) )\r
+ {\r
+ txチップ.t2D描画(\r
+ CDTXMania.app.Device,\r
+ drawX,\r
+ ( ( y - numA ) + numC ),\r
+ rect\r
+ );\r
+ }\r
+ }\r
+ }\r
+ return;\r
+ }\r
+ pChip.bHit = true;\r
+ }\r
+ }\r
+\r
+\r
+\r
+\r
+ /// <summary>\r
+ /// Drums画面 Guitar Wailingチップ描画関連\r
+ /// </summary>\r
+ public class CWailngChip_Guitar_Drum画面 : CWailingChip共通\r
+ {\r
+ internal CWailngChip_Guitar_Drum画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base()\r
+ {\r
+ eInst = E楽器パート.GUITAR;\r
+ bGRmode = false;\r
+\r
+ base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95\r
+ base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374\r
+ // 判定バーのY座標:ドラム画面かギター画面かで変わる値\r
+ offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+\r
+ baseTextureOffsetX = (int) ( 268 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+ baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+\r
+ drawX = (int) ( 588 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+ numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Drums画面 Bass Wailingチップ描画関連\r
+ /// </summary>\r
+ public class CWailngChip_Bass_Drum画面 : CWailingChip共通\r
+ {\r
+ internal CWailngChip_Bass_Drum画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base()\r
+ {\r
+ eInst = E楽器パート.BASS;\r
+ bGRmode = false;\r
+\r
+ base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95\r
+ base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374\r
+ // 判定バーのY座標:ドラム画面かギター画面かで変わる値\r
+ offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+\r
+ baseTextureOffsetX = (int) ( 268 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+ baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+\r
+ drawX = (int) ( 479 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+ numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// GR画面 Guitar Wailingチップ描画関連\r
+ /// </summary>\r
+ public class CWailngChip_Guitar_GR画面 : CWailingChip共通\r
+ {\r
+ internal CWailngChip_Guitar_GR画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base()\r
+ {\r
+ eInst = E楽器パート.GUITAR;\r
+ bGRmode = true;\r
+\r
+ base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95\r
+ base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374\r
+ // 判定バーのY座標:ドラム画面かギター画面かで変わる値\r
+ offset = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ baseTextureOffsetX = (int) ( 96 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+ baseTextureOffsetY = (int) ( 0 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+\r
+ drawX = (int) ( 140 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+ numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// GR画面 Bass Wailingチップ描画関連\r
+ /// </summary>\r
+ public class CWailngChip_Bass_GR画面 : CWailingChip共通\r
+ {\r
+ internal CWailngChip_Bass_GR画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base()\r
+ {\r
+ eInst = E楽器パート.BASS;\r
+ bGRmode = true;\r
+\r
+ base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95\r
+ base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374\r
+ // 判定バーのY座標:ドラム画面かギター画面かで変わる値\r
+ offset = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+\r
+ baseTextureOffsetX = (int) ( 96 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+ baseTextureOffsetY = (int) ( 0 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+\r
+ drawX = (int) ( 594 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+ numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ }\r
+ }\r
+}\r
}\r
}\r
#endif\r
- protected override void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ protected void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r
- if ( configIni.bGuitar有効 )\r
- {\r
- //\r
- // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
- //\r
- if ( !pChip.bHit && pChip.b可視 )\r
- {\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.n透明度 = pChip.n透明度;\r
- }\r
- int[] y_base = {\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, false ), // 40\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, true ) // 369\r
- }; // ドラム画面かギター画面かで変わる値\r
- int offset = 0; // ドラム画面かギター画面かで変わる値\r
-\r
- const int WailingWidth = (int) ( 20 * Scale.X ); // 4種全て同じ値\r
- const int WailingHeight = (int) ( 50 * Scale.Y ); // 4種全て同じ値\r
- const int baseTextureOffsetX = (int) ( 96 * Scale.X ); // ドラム画面かギター画面かで変わる値\r
- const int baseTextureOffsetY = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- const int drawX = (int) ( 140 * Scale.X ); // 4種全て異なる値\r
-\r
- const int numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- int y = configIni.bReverse.Guitar ?\r
- ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
- ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
- int numB = y - offset; // 4種全て同じ定義\r
- int numC = 0; // 4種全て同じ初期値\r
- const int showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
- {\r
- int c = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rect = new Rectangle(\r
- baseTextureOffsetX + ( c * WailingWidth ),\r
- baseTextureOffsetY,\r
- WailingWidth,\r
- WailingHeight\r
- );\r
- if ( numB < numA )\r
- {\r
- rect.Y += numA - numB;\r
- rect.Height -= numA - numB;\r
- numC = numA - numB;\r
- }\r
- if ( numB > ( showRangeY1 - numA ) )\r
- {\r
- rect.Height -= numB - ( showRangeY1 - numA );\r
- }\r
- if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画(\r
- CDTXMania.app.Device,\r
- drawX,\r
- ( ( y - numA ) + numC ),\r
- rect\r
- );\r
- }\r
- }\r
- }\r
- }\r
- base.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip );\r
+ //if ( configIni.bGuitar有効 )\r
+ //{\r
+ // //\r
+ // // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
+ // //\r
+ // if ( !pChip.bHit && pChip.b可視 )\r
+ // {\r
+ // if ( this.txチップ != null )\r
+ // {\r
+ // this.txチップ.n透明度 = pChip.n透明度;\r
+ // }\r
+ // int[] y_base = {\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, false ), // 40\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, true ) // 369\r
+ // }; // ドラム画面かギター画面かで変わる値\r
+ // int offset = 0; // ドラム画面かギター画面かで変わる値\r
+\r
+ // const int WailingWidth = (int) ( 20 * Scale.X ); // 4種全て同じ値\r
+ // const int WailingHeight = (int) ( 50 * Scale.Y ); // 4種全て同じ値\r
+ // const int baseTextureOffsetX = (int) ( 96 * Scale.X ); // ドラム画面かギター画面かで変わる値\r
+ // const int baseTextureOffsetY = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // const int drawX = (int) ( 140 * Scale.X ); // 4種全て異なる値\r
+\r
+ // const int numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // int y = configIni.bReverse.Guitar ?\r
+ // ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
+ // ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
+ // int numB = y - offset; // 4種全て同じ定義\r
+ // int numC = 0; // 4種全て同じ初期値\r
+ // const int showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
+ // {\r
+ // int c = this.ctWailingチップ模様アニメ.n現在の値;\r
+ // Rectangle rect = new Rectangle(\r
+ // baseTextureOffsetX + ( c * WailingWidth ),\r
+ // baseTextureOffsetY,\r
+ // WailingWidth,\r
+ // WailingHeight\r
+ // );\r
+ // if ( numB < numA )\r
+ // {\r
+ // rect.Y += numA - numB;\r
+ // rect.Height -= numA - numB;\r
+ // numC = numA - numB;\r
+ // }\r
+ // if ( numB > ( showRangeY1 - numA ) )\r
+ // {\r
+ // rect.Height -= numB - ( showRangeY1 - numA );\r
+ // }\r
+ // if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
+ // {\r
+ // this.txチップ.t2D描画(\r
+ // CDTXMania.app.Device,\r
+ // drawX,\r
+ // ( ( y - numA ) + numC ),\r
+ // rect\r
+ // );\r
+ // }\r
+ // }\r
+ // }\r
+ //}\r
+ base.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip, true );\r
}\r
protected override void t進行描画・チップ・フィルイン( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r
}\r
}\r
#endif\r
- protected override void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ protected void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r
if ( configIni.bGuitar有効 )\r
{\r
//\r
// 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
//\r
- if ( !pChip.bHit && pChip.b可視 )\r
- {\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.n透明度 = pChip.n透明度;\r
- }\r
- int[] y_base = {\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, false ), // 40\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, true ) // 369\r
- }; // ドラム画面かギター画面かで変わる値\r
- int offset = 0; // ドラム画面かギター画面かで変わる値\r
-\r
- const int WailingWidth = (int) ( 20 * Scale.X ); // 4種全て同じ値\r
- const int WailingHeight = (int) ( 50 * Scale.Y ); // 4種全て同じ値\r
- const int baseTextureOffsetX = (int) ( 96 * Scale.X ); // ドラム画面かギター画面かで変わる値\r
- const int baseTextureOffsetY = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- const int drawX =(int) ( 594 * Scale.X ); // 4種全て異なる値\r
-\r
- const int numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- int y = configIni.bReverse.Bass ?\r
- ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) ) :\r
- ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) );\r
- int numB = y - offset; // 4種全て同じ定義\r
- int numC = 0; // 4種全て同じ初期値\r
- const int showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
- {\r
- int c = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rect = new Rectangle(\r
- baseTextureOffsetX + ( c * WailingWidth ),\r
- baseTextureOffsetY,\r
- WailingWidth,\r
- WailingHeight\r
- );\r
- if ( numB < numA ) // 上にスクロールして、見切れる場合\r
- {\r
- rect.Y += numA - numB;\r
- rect.Height -= numA - numB;\r
- numC = numA - numB;\r
- }\r
- if ( numB > ( showRangeY1 - numA ) ) // 下にスクロールして、見切れる場合\r
- {\r
- rect.Height -= numB - ( showRangeY1 - numA );\r
- }\r
- if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画(\r
- CDTXMania.app.Device,\r
- drawX,\r
- ( ( y - numA ) + numC ),\r
- rect\r
- );\r
- }\r
- }\r
- }\r
- base.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip );\r
+ //if ( !pChip.bHit && pChip.b可視 )\r
+ //{\r
+ // if ( this.txチップ != null )\r
+ // {\r
+ // this.txチップ.n透明度 = pChip.n透明度;\r
+ // }\r
+ // int[] y_base = {\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, false ), // 40\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, true ) // 369\r
+ // }; // ドラム画面かギター画面かで変わる値\r
+ // int offset = 0; // ドラム画面かギター画面かで変わる値\r
+\r
+ // const int WailingWidth = (int) ( 20 * Scale.X ); // 4種全て同じ値\r
+ // const int WailingHeight = (int) ( 50 * Scale.Y ); // 4種全て同じ値\r
+ // const int baseTextureOffsetX = (int) ( 96 * Scale.X ); // ドラム画面かギター画面かで変わる値\r
+ // const int baseTextureOffsetY = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // const int drawX =(int) ( 594 * Scale.X ); // 4種全て異なる値\r
+\r
+ // const int numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // int y = configIni.bReverse.Bass ?\r
+ // ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) ) :\r
+ // ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) );\r
+ // int numB = y - offset; // 4種全て同じ定義\r
+ // int numC = 0; // 4種全て同じ初期値\r
+ // const int showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
+ // {\r
+ // int c = this.ctWailingチップ模様アニメ.n現在の値;\r
+ // Rectangle rect = new Rectangle(\r
+ // baseTextureOffsetX + ( c * WailingWidth ),\r
+ // baseTextureOffsetY,\r
+ // WailingWidth,\r
+ // WailingHeight\r
+ // );\r
+ // if ( numB < numA ) // 上にスクロールして、見切れる場合\r
+ // {\r
+ // rect.Y += numA - numB;\r
+ // rect.Height -= numA - numB;\r
+ // numC = numA - numB;\r
+ // }\r
+ // if ( numB > ( showRangeY1 - numA ) ) // 下にスクロールして、見切れる場合\r
+ // {\r
+ // rect.Height -= numB - ( showRangeY1 - numA );\r
+ // }\r
+ // if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
+ // {\r
+ // this.txチップ.t2D描画(\r
+ // CDTXMania.app.Device,\r
+ // drawX,\r
+ // ( ( y - numA ) + numC ),\r
+ // rect\r
+ // );\r
+ // }\r
+ // }\r
+ //}\r
+ base.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip, true );\r
}\r
}\r
protected override void t進行描画・チップ・空打ち音設定・ドラム( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
}\r
}\r
#endif\r
- protected override void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ protected void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r
- if ( configIni.bGuitar有効 )\r
- {\r
- // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
- if ( !pChip.bHit && pChip.b可視 )\r
- {\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.n透明度 = pChip.n透明度;\r
- }\r
- int[] y_base = {\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, false ), // 95\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, true ) // 374\r
- }; // ドラム画面かギター画面かで変わる値\r
- //int[] y_base = { 0x5f, 0x176 }; // 判定バーのY座標: ドラム画面かギター画面かで変わる値\r
- int offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
-\r
- const int WailingWidth = (int) ( 20 * Scale.X ); // ウェイリングチップ画像の幅: 4種全て同じ値\r
- const int WailingHeight = (int) ( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値\r
- const int baseTextureOffsetX = (int) ( 268 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
- const int baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
- const int drawX = (int) ( 588 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
-\r
- const int numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- int y = configIni.bReverse.Guitar ?\r
- ( y_base[1] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
- ( y_base[0] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
- int numB = y - offset; // 4種全て同じ定義\r
- int numC = 0; // 4種全て同じ初期値\r
- const int showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
- {\r
- int c = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rect = new Rectangle(\r
- baseTextureOffsetX + ( c * WailingWidth ),\r
- baseTextureOffsetY,\r
- WailingWidth,\r
- WailingHeight\r
- );\r
- if ( numB < numA )\r
- {\r
- rect.Y += numA - numB;\r
- rect.Height -= numA - numB;\r
- numC = numA - numB;\r
- }\r
- if ( numB > ( showRangeY1 - numA ) )\r
- {\r
- rect.Height -= numB - ( showRangeY1 - numA );\r
- }\r
- if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device,\r
- drawX,\r
- ( ( y - numA ) + numC ),\r
- rect\r
- );\r
- }\r
- }\r
- }\r
- }\r
- base.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip );\r
+ //if ( configIni.bGuitar有効 )\r
+ //{\r
+ // // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
+ // if ( !pChip.bHit && pChip.b可視 )\r
+ // {\r
+ // if ( this.txチップ != null )\r
+ // {\r
+ // this.txチップ.n透明度 = pChip.n透明度;\r
+ // }\r
+ // int[] y_base = {\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, false ), // 95\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, true ) // 374\r
+ // }; // ドラム画面かギター画面かで変わる値\r
+ // //int[] y_base = { 0x5f, 0x176 }; // 判定バーのY座標: ドラム画面かギター画面かで変わる値\r
+ // int offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+\r
+ // const int WailingWidth = (int) ( 20 * Scale.X ); // ウェイリングチップ画像の幅: 4種全て同じ値\r
+ // const int WailingHeight = (int) ( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値\r
+ // const int baseTextureOffsetX = (int) ( 268 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+ // const int baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+ // const int drawX = (int) ( 588 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+ // const int numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // int y = configIni.bReverse.Guitar ?\r
+ // ( y_base[1] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
+ // ( y_base[0] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
+ // int numB = y - offset; // 4種全て同じ定義\r
+ // int numC = 0; // 4種全て同じ初期値\r
+ // const int showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
+ // {\r
+ // int c = this.ctWailingチップ模様アニメ.n現在の値;\r
+ // Rectangle rect = new Rectangle(\r
+ // baseTextureOffsetX + ( c * WailingWidth ),\r
+ // baseTextureOffsetY,\r
+ // WailingWidth,\r
+ // WailingHeight\r
+ // );\r
+ // if ( numB < numA )\r
+ // {\r
+ // rect.Y += numA - numB;\r
+ // rect.Height -= numA - numB;\r
+ // numC = numA - numB;\r
+ // }\r
+ // if ( numB > ( showRangeY1 - numA ) )\r
+ // {\r
+ // rect.Height -= numB - ( showRangeY1 - numA );\r
+ // }\r
+ // if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
+ // {\r
+ // this.txチップ.t2D描画( CDTXMania.app.Device,\r
+ // drawX,\r
+ // ( ( y - numA ) + numC ),\r
+ // rect\r
+ // );\r
+ // }\r
+ // }\r
+ // }\r
+ //}\r
+ base.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip, false );\r
}\r
protected override void t進行描画・チップ・フィルイン( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r
}\r
}\r
#endif\r
- protected override void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ protected void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r
- if ( configIni.bGuitar有効 )\r
- {\r
- // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
- if ( !pChip.bHit && pChip.b可視 )\r
- {\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.n透明度 = pChip.n透明度;\r
- }\r
- int[] y_base = {\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, false ),\r
- 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, true )\r
- }; // ドラム画面かギター画面かで変わる値\r
- //int[] y_base = { 0x5f, 0x176 }; // 判定バーのY座標: ドラム画面かギター画面かで変わる値\r
- int offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
-\r
- const int WailingWidth = (int) ( 20 * Scale.X ); // ウェイリングチップ画像の幅: 4種全て同じ値\r
- const int WailingHeight = (int) ( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値\r
- const int baseTextureOffsetX = (int) ( 268 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
- const int baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
- const int drawX = (int) ( 479 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
-\r
- const int numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- int y = configIni.bReverse.Bass ?\r
- ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) ) :\r
- ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) );\r
- int numB = y - offset; // 4種全て同じ定義\r
- int numC = 0; // 4種全て同じ初期値\r
- const int showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
- if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
- {\r
- int c = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rect = new Rectangle(\r
- baseTextureOffsetX + ( c * WailingWidth ),\r
- baseTextureOffsetY,\r
- WailingWidth,\r
- WailingHeight\r
- );\r
- if ( numB < numA )\r
- {\r
- rect.Y += numA - numB;\r
- rect.Height -= numA - numB;\r
- numC = numA - numB;\r
- }\r
- if ( numB > ( showRangeY1 - numA ) )\r
- {\r
- rect.Height -= numB - ( showRangeY1 - numA );\r
- }\r
- if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device,\r
- drawX,\r
- ( ( y - numA ) + numC ),\r
- rect );\r
- }\r
- }\r
- }\r
- }\r
- base.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip);\r
+ //if ( configIni.bGuitar有効 )\r
+ //{\r
+ // // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
+ // if ( !pChip.bHit && pChip.b可視 )\r
+ // {\r
+ // if ( this.txチップ != null )\r
+ // {\r
+ // this.txチップ.n透明度 = pChip.n透明度;\r
+ // }\r
+ // int[] y_base = {\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, false ),\r
+ // 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, true )\r
+ // }; // ドラム画面かギター画面かで変わる値\r
+ // //int[] y_base = { 0x5f, 0x176 }; // 判定バーのY座標: ドラム画面かギター画面かで変わる値\r
+ // int offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+\r
+ // const int WailingWidth = (int) ( 20 * Scale.X ); // ウェイリングチップ画像の幅: 4種全て同じ値\r
+ // const int WailingHeight = (int) ( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値\r
+ // const int baseTextureOffsetX = (int) ( 268 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+ // const int baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+ // const int drawX = (int) ( 479 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+ // const int numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // int y = configIni.bReverse.Bass ?\r
+ // ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) ) :\r
+ // ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) );\r
+ // int numB = y - offset; // 4種全て同じ定義\r
+ // int numC = 0; // 4種全て同じ初期値\r
+ // const int showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値\r
+ // if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ\r
+ // {\r
+ // int c = this.ctWailingチップ模様アニメ.n現在の値;\r
+ // Rectangle rect = new Rectangle(\r
+ // baseTextureOffsetX + ( c * WailingWidth ),\r
+ // baseTextureOffsetY,\r
+ // WailingWidth,\r
+ // WailingHeight\r
+ // );\r
+ // if ( numB < numA )\r
+ // {\r
+ // rect.Y += numA - numB;\r
+ // rect.Height -= numA - numB;\r
+ // numC = numA - numB;\r
+ // }\r
+ // if ( numB > ( showRangeY1 - numA ) )\r
+ // {\r
+ // rect.Height -= numB - ( showRangeY1 - numA );\r
+ // }\r
+ // if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
+ // {\r
+ // this.txチップ.t2D描画( CDTXMania.app.Device,\r
+ // drawX,\r
+ // ( ( y - numA ) + numC ),\r
+ // rect );\r
+ // }\r
+ // }\r
+ // }\r
+ //}\r
+ base.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip, false );\r
}\r
protected override void t進行描画・チップ・空打ち音設定・ドラム( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
{\r