From c4a2023e7adef166336eab0b33aa1055f5bd3243 Mon Sep 17 00:00:00 2001 From: yyagi Date: Wed, 16 Feb 2011 14:57:57 +0000 Subject: [PATCH] =?utf8?q?=E6=BC=94=E5=A5=8F=E7=94=BB=E9=9D=A2=E3=81=AE?= =?utf8?q?=E3=83=AA=E3=83=95=E3=82=A1=E3=82=AF=E3=82=BF=E3=80=82=E3=83=89?= =?utf8?q?=E3=83=A9=E3=83=A0=E3=81=A8=E3=82=AE=E3=82=BF=E3=83=BC=E7=94=BB?= =?utf8?q?=E9=9D=A2=E3=81=A7=E5=85=B1=E9=80=9A=E3=81=A7=E4=BD=BF=E7=94=A8?= =?utf8?q?=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E3=83=A1=E3=82=BD=E3=83=83?= =?utf8?q?=E3=83=89=E3=82=921=E3=81=A4=E3=81=AB=E3=81=BE=E3=81=A8=E3=82=81?= =?utf8?q?=E3=82=8B=E3=81=B9=E3=81=8F=E3=80=81=20=E5=85=B1=E9=80=9A?= =?utf8?q?=E3=82=AF=E3=83=A9=E3=82=B9=E3=82=92=E4=BD=9C=E6=88=90=E3=81=97?= =?utf8?q?=E3=81=A6=E3=81=9D=E3=81=AE=E7=B6=99=E6=89=BF=E3=82=AF=E3=83=A9?= =?utf8?q?=E3=82=B9=E3=81=A8=E3=81=97=E3=81=A6=E3=83=89=E3=83=A9=E3=83=A0?= =?utf8?q?=E3=81=A8=E3=82=AE=E3=82=BF=E3=83=BC=E7=94=BB=E9=9D=A2=E3=82=92?= =?utf8?q?=E5=86=8D=E5=AE=9A=E7=BE=A9=E3=81=97=E3=81=9F=E3=80=82=E3=81=BE?= =?utf8?q?=E3=81=A0=E5=AE=8C=E5=85=A8=E3=81=AB=E3=81=AF=E4=BD=9C=E6=A5=AD?= =?utf8?q?=E5=AE=8C=E4=BA=86=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84?= =?utf8?q?=E3=80=82=20=E3=83=AA=E3=82=B9=E3=82=AD=E3=83=BC=E3=81=AA?= =?utf8?q?=E3=83=AA=E3=83=95=E3=82=A1=E3=82=AF=E3=82=BF=E3=81=A7=E3=81=99?= =?utf8?q?=E3=81=8C=E3=80=81=E3=81=93=E3=82=8C=E3=82=92=E3=82=84=E3=82=89?= =?utf8?q?=E3=81=AA=E3=81=84=E3=81=A8=E6=A9=9F=E8=83=BD=E8=BF=BD=E5=8A=A0/?= =?utf8?q?=E5=A4=89=E6=9B=B4=E3=81=AE=E5=BA=A6=E3=81=AB=E3=81=84=E3=81=A1?= =?utf8?q?=E3=81=84=E3=81=A1=E3=83=89=E3=83=A9=E3=83=A0=E3=81=A8=E3=82=AE?= =?utf8?q?=E3=82=BF=E3=83=BC=E3=81=AE=E4=B8=A1=E6=96=B9=E3=81=AB=20?= =?utf8?q?=E5=90=8C=E3=81=98=E4=BF=AE=E6=AD=A3=E3=82=92=E3=82=B3=E3=83=94?= =?utf8?q?=E3=83=9A=E3=81=A7=E5=8A=A0=E3=81=88=E3=81=AA=E3=81=91=E3=82=8C?= =?utf8?q?=E3=81=B0=E3=81=AA=E3=82=89=E3=81=9A=E3=80=81=E4=BF=9D=E5=AE=88?= =?utf8?q?=E6=80=A7=E3=81=8C=E6=82=AA=E3=81=84=E3=80=82=E5=B0=91=E3=81=97?= =?utf8?q?=E3=81=9A=E3=81=A4=E6=85=8E=E9=87=8D=E3=81=AB=E9=80=B2=E3=82=81?= =?utf8?q?=E3=81=BE=E3=81=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@117 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- .../ステージ/07.演奏/CAct演奏ゲージ.cs | 37 + .../07.演奏/CStage演奏画面共通.cs | 735 +++++++++++ .../ギター画面/CAct演奏Guitarゲージ.cs | 10 +- .../ギター画面/CStage演奏ギター画面.cs | 1267 ++++++++++--------- .../ドラム画面/CAct演奏Drumsゲージ.cs | 40 +- .../ドラム画面/CStage演奏ドラム画面.cs | 1289 ++++++++++---------- 6 files changed, 2051 insertions(+), 1327 deletions(-) create mode 100644 DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs create mode 100644 DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs new file mode 100644 index 00000000..d9d8ff58 --- /dev/null +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Drawing; +using SlimDX; +using FDK; + +namespace DTXMania +{ + /// + /// CAct演奏Drumsゲージ と CAct演奏Gutiarゲージ のbaseクラス + /// + public class CAct演奏ゲージ : CActivity + { + public double dbゲージ値 // Drums専用 + { + get + { + return this.db現在のゲージ値.Drums; + } + set + { + this.db現在のゲージ値.Drums = value; + if ( this.db現在のゲージ値.Drums > 1.0 ) + { + this.db現在のゲージ値.Drums = 1.0; + } + } + } + + public STDGBVALUE db現在のゲージ値; + protected CCounter ct本体移動; + protected CCounter ct本体振動; + protected CTexture txゲージ; + } +} diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs new file mode 100644 index 00000000..896b50b4 --- /dev/null +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs @@ -0,0 +1,735 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Diagnostics; +using SlimDX; +using SlimDX.Direct3D9; +using FDK; + +namespace DTXMania +{ + /// + /// 演奏画面の共通クラス (ドラム演奏画面, ギター演奏画面の継承元) + /// + internal abstract class CStage演奏画面共通 : CStage + { + // プロパティ + + public bool bAUTOでないチップが1つでもバーを通過した + { + get; + protected set; + } + + + // CStage 実装 + + public override void On活性化() + { + this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続; + + this.r次にくるギターChip = null; + this.r次にくるベースChip = null; + + for ( int i = 0; i < 3; i++ ) + { + this.b演奏にキーボードを使った[ i ] = false; + this.b演奏にジョイパッドを使った[ i ] = false; + this.b演奏にMIDI入力を使った[ i ] = false; + this.b演奏にマウスを使った[ i ] = false; + } + + base.On活性化(); + + this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums; // #23580 2011.1.3 yyagi + this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar; // 2011.1.7 ikanick 修正 + this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass; // + //this.bIsAutoPlay.Drums = false; + //this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bAutoPlay.Guitar; + //this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Bass; + this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi + } + + + + // その他 + + #region [ protected ] + //----------------- + protected class STHITCOUNTOFRANK + { + // Fields + public int Good; + public int Great; + public int Miss; + public int Perfect; + public int Poor; + + // Properties + public int this[ int index ] + { + get + { + switch ( index ) + { + case 0: + return this.Perfect; + + case 1: + return this.Great; + + case 2: + return this.Good; + + case 3: + return this.Poor; + + case 4: + return this.Miss; + } + throw new IndexOutOfRangeException(); + } + set + { + switch ( index ) + { + case 0: + this.Perfect = value; + return; + + case 1: + this.Great = value; + return; + + case 2: + this.Good = value; + return; + + case 3: + this.Poor = value; + return; + + case 4: + this.Miss = value; + return; + } + throw new IndexOutOfRangeException(); + } + } + } + + [StructLayout( LayoutKind.Sequential )] + protected struct STKARAUCHI + { + public CDTX.CChip HH; + public CDTX.CChip SD; + public CDTX.CChip BD; + public CDTX.CChip HT; + public CDTX.CChip LT; + public CDTX.CChip FT; + public CDTX.CChip CY; + public CDTX.CChip HHO; + public CDTX.CChip RD; + public CDTX.CChip LC; + public CDTX.CChip this[ int index ] + { + get + { + switch ( index ) + { + case 0: + return this.HH; + + case 1: + return this.SD; + + case 2: + return this.BD; + + case 3: + return this.HT; + + case 4: + return this.LT; + + case 5: + return this.FT; + + case 6: + return this.CY; + + case 7: + return this.HHO; + + case 8: + return this.RD; + + case 9: + return this.LC; + } + throw new IndexOutOfRangeException(); + } + set + { + switch ( index ) + { + case 0: + this.HH = value; + return; + + case 1: + this.SD = value; + return; + + case 2: + this.BD = value; + return; + + case 3: + this.HT = value; + return; + + case 4: + this.LT = value; + return; + + case 5: + this.FT = value; + return; + + case 6: + this.CY = value; + return; + + case 7: + this.HHO = value; + return; + + case 8: + this.RD = value; + return; + + case 9: + this.LC = value; + return; + } + throw new IndexOutOfRangeException(); + } + } + } + + protected CActFIFOBlack actFI; + protected CActFIFOBlack actFO; + protected CActFIFOWhite actFOClear; + protected CAct演奏ゲージ actGauge; + + protected bool bPAUSE; + protected STDGBVALUE b演奏にMIDI入力を使った; + protected STDGBVALUE b演奏にキーボードを使った; + protected STDGBVALUE b演奏にジョイパッドを使った; + protected STDGBVALUE b演奏にマウスを使った; + + protected E演奏画面の戻り値 eフェードアウト完了時の戻り値; + + protected int n現在のトップChip = -1; + + protected CDTX.CChip r次にくるギターChip; + protected CDTX.CChip r次にくるベースChip; + + + protected STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi + protected CConfigIni.STAUTOPLAY bIsAutoPlay; // #24239 2011.1.23 yyagi + + + + + protected E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime ) + { + if ( pChip != null ) + { + pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms ); // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature + int nDeltaTime = Math.Abs( pChip.nLag ); + //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms)); + if ( nDeltaTime <= CDTXMania.nPerfect範囲ms ) + { + return E判定.Perfect; + } + if ( nDeltaTime <= CDTXMania.nGreat範囲ms ) + { + return E判定.Great; + } + if ( nDeltaTime <= CDTXMania.nGood範囲ms ) + { + return E判定.Good; + } + if ( nDeltaTime <= CDTXMania.nPoor範囲ms ) + { + return E判定.Poor; + } + } + return E判定.Miss; + } + + + + protected CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime ) + { + nTime += nInputAdjustTime; // #24239 2011.1.23 yyagi InputAdjust + + int num5; + if ( this.n現在のトップChip == -1 ) + { + return null; + } + int count = CDTXMania.DTX.listChip.Count; + int num4 = num5 = this.n現在のトップChip; + if ( this.n現在のトップChip >= count ) + { + num4 = num5 = count - 1; + } + int num2 = num4; + while ( num2 < count ) + { + CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; + if ( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) + { + if ( chip.n発声時刻ms > nTime ) + { + break; + } + num5 = num2; + } + else if ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) + { + if ( chip.n発声時刻ms > nTime ) + { + break; + } + num5 = num2; + } + else if ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) + { + if ( chip.n発声時刻ms > nTime ) + { + break; + } + num5 = num2; + } + num2++; + } + int num3 = num5; + while ( num3 >= 0 ) + { + CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; + if ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) + { + if ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) + { + break; + } + } + else if ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) + { + if ( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 0x28 ) ) + { + break; + } + } + else if ( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 0xa0 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) ) + { + break; + } + num3--; + } + if ( ( num2 == count ) && ( num3 < 0 ) ) + { + return null; + } + if ( num2 == count ) + { + return CDTXMania.DTX.listChip[ num3 ]; + } + if ( num3 < 0 ) + { + return CDTXMania.DTX.listChip[ num2 ]; + } + CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ]; + CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ]; + int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) ); + if ( num6 >= num7 ) + { + return chip4; + } + return chip3; + } + + protected CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms ) + { + nTime += nInputAdjustTime; + + int num5; + int num6; + if ( this.n現在のトップChip == -1 ) + { + return null; + } + int count = CDTXMania.DTX.listChip.Count; + int num4 = num5 = this.n現在のトップChip; + if ( this.n現在のトップChip >= count ) + { + num4 = num5 = count - 1; + } + int num2 = num4; + while ( num2 < count ) + { + CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; + if ( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) ) + { + if ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) + { + if ( chip.n発声時刻ms > nTime ) + { + break; + } + num5 = num2; + } + } + else if ( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) + { + if ( chip.n発声時刻ms > nTime ) + { + break; + } + num5 = num2; + } + else if ( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) + { + if ( chip.n発声時刻ms > nTime ) + { + break; + } + num5 = num2; + } + num2++; + } + int num3 = num5; + while ( num3 >= 0 ) + { + CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; + if ( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) + { + break; + } + num3--; + } + if ( ( num2 == count ) && ( num3 < 0 ) ) + { + return null; + } + CDTX.CChip chip3 = null; + if ( num2 == count ) + { + chip3 = CDTXMania.DTX.listChip[ num3 ]; + num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + } + else if ( num3 < 0 ) + { + chip3 = CDTXMania.DTX.listChip[ num2 ]; + num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + } + else + { + int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); + int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); + if ( num7 < num8 ) + { + chip3 = CDTXMania.DTX.listChip[ num2 ]; + num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + } + else + { + chip3 = CDTXMania.DTX.listChip[ num3 ]; + num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + } + } + if ( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) ) + { + return null; + } + return chip3; + } + protected CDTX.CChip r次にくるギターChipを更新して返す() + { + int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar; + this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 ); + return this.r次にくるギターChip; + } + protected CDTX.CChip r次にくるベースChipを更新して返す() + { + int nInputAdjustTime = this.bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass; + this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 ); + return this.r次にくるベースChip; + } + + protected void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + { + int part, offset = plusminus; + if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) ) // Guitar InputAdjustTime + { + part = (int) E楽器パート.GUITAR; + } + else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) ) // Bass InputAdjustTime + { + part = (int) E楽器パート.BASS; + } + else // Drums InputAdjustTime + { + part = (int) E楽器パート.DRUMS; + } + if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) + { + offset *= 10; + } + + this.nInputAdjustTimeMs[ part ] += offset; + if ( this.nInputAdjustTimeMs[ part ] > 0 ) + { + this.nInputAdjustTimeMs[ part ] = 0; + } + else if ( this.nInputAdjustTimeMs[ part ] < -99 ) + { + this.nInputAdjustTimeMs[ part ] = -99; + } + CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ]; + } + + protected abstract void t入力処理・ドラム(); + protected abstract void t入力処理・ギター(); + protected abstract void t入力処理・ベース(); + protected abstract void ドラムスクロール速度アップ(); + protected abstract void ドラムスクロール速度ダウン(); + protected void tキー入力() + { + IInputDevice keyboard = CDTXMania.Input管理.Keyboard; + if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) && + ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) ) + { // shift+f1 (pause) + this.bPAUSE = !this.bPAUSE; + if ( this.bPAUSE ) + { + CDTXMania.Timer.t一時停止(); + CDTXMania.DTX.t全チップの再生一時停止(); + } + else + { + CDTXMania.Timer.t再開(); + CDTXMania.DTX.t全チップの再生再開(); + } + } + if ( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + { + this.t入力処理・ドラム(); + this.t入力処理・ギター(); + this.t入力処理・ベース(); + if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) ) + { // shift (+ctrl) + UpArrow (BGMAdjust) + CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) ? 1 : 10 ); + CDTXMania.DTX.tWave再生位置自動補正(); + } + else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) ) + { // shift + DownArrow (BGMAdjust) + CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 ); + CDTXMania.DTX.tWave再生位置自動補正(); + } + else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.UpArrow ) ) + { // UpArrow(scrollspeed up) + ドラムスクロール速度アップ(); + } + else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.DownArrow ) ) + { // DownArrow (scrollspeed down) + ドラムスクロール速度ダウン(); + } + else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Delete ) ) + { // del (debug info) + CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する; + } + else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + { + ChangeInputAdjustTimeInPlaying( keyboard, -1 ); + } + else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + { + ChangeInputAdjustTimeInPlaying( keyboard, +1 ); + } + else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) ) + { // escape (exit) + this.actFO.tフェードアウト開始(); + base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; + this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断; + } + } + } + + protected void t入力メソッド記憶( E楽器パート part ) + { + if ( CDTXMania.Pad.st検知したデバイス.Keyboard ) + { + this.b演奏にキーボードを使った[ (int) part ] = true; + } + if ( CDTXMania.Pad.st検知したデバイス.Joypad ) + { + this.b演奏にジョイパッドを使った[ (int) part ] = true; + } + if ( CDTXMania.Pad.st検知したデバイス.MIDIIN ) + { + this.b演奏にMIDI入力を使った[ (int) part ] = true; + } + if ( CDTXMania.Pad.st検知したデバイス.Mouse ) + { + this.b演奏にマウスを使った[ (int) part ] = true; + } + } + + + + + protected bool t進行描画・フェードイン・アウト() + { + switch ( base.eフェーズID ) + { + case CStage.Eフェーズ.共通_フェードイン: + if ( this.actFI.On進行描画() != 0 ) + { + base.eフェーズID = CStage.Eフェーズ.共通_通常状態; + } + break; + + case CStage.Eフェーズ.共通_フェードアウト: + case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト: + if ( this.actFO.On進行描画() != 0 ) + { + return true; + } + break; + + case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト: + if ( this.actFOClear.On進行描画() == 0 ) + { + break; + } + return true; + + } + return false; + } + + + + +#if true // DAMAGELEVELTUNING +#region [ DAMAGELEVELTUNING ] + // ---------------------------------- + public float[ , ] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors + // drums, guitar, bass + { 0.004f, 0.006f, 0.006f }, + { 0.002f, 0.003f, 0.003f }, + { 0.000f, 0.000f, 0.000f }, + { -0.020f, -0.030f, -0.030f }, + { -0.050f, -0.050f, -0.050f } + }; + public float[] fDamageLevelFactor = { + 0.5f, 1.0f, 1.5f + }; + // ---------------------------------- +#endregion +#endif + + protected void t判定にあわせてゲージを増減する( E楽器パート screenmode, E楽器パート part, E判定 e今回の判定 ) + { + double fDamage; + +#if true // DAMAGELEVELTUNING + switch ( e今回の判定 ) + { + case E判定.Perfect: + case E判定.Great: + case E判定.Good: + case E判定.Poor: + fDamage = fDamageGaugeDelta[ (int) e今回の判定, (int) part ]; + break; + case E判定.Miss: + fDamage = fDamageGaugeDelta[ (int) e今回の判定, (int) part ]; + switch ( CDTXMania.ConfigIni.eダメージレベル ) + { + case Eダメージレベル.少ない: + case Eダメージレベル.普通: + case Eダメージレベル.大きい: + fDamage *= fDamageLevelFactor[ (int) CDTXMania.ConfigIni.eダメージレベル ]; + break; + } + break; + + default: + fDamage = 0.0f; + break; + } +#else // before applying #23625 modifications + switch (e今回の判定) + { + case E判定.Perfect: + fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; + break; + + case E判定.Great: + fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; + break; + + case E判定.Good: + fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; + break; + + case E判定.Poor: + fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; + break; + + case E判定.Miss: + fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; + switch( CDTXMania.ConfigIni.eダメージレベル ) + { + case Eダメージレベル.少ない: + fDamage *= 0.6; + break; + + case Eダメージレベル.普通: + fDamage *= 1.0; + break; + + case Eダメージレベル.大きい: + fDamage *= 1.6; + break; + } + break; + + default: + fDamage = 0.0; + break; + } +#endif + if ( screenmode == E楽器パート.DRUMS ) // ドラム演奏画面なら、ギター/ベースのダメージも全部ドラムのゲージに集約する + { + part = E楽器パート.DRUMS; + } + this.actGauge.db現在のゲージ値[ (int) part ] += fDamage; + + if ( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 ) + this.actGauge.db現在のゲージ値[ (int) part ] = 1.0; + } + //----------------- + #endregion + } +} diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs index f02b38d3..ec313b73 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs @@ -6,11 +6,11 @@ using FDK; namespace DTXMania { - internal class CAct演奏Guitarゲージ : CActivity + internal class CAct演奏Guitarゲージ : CAct演奏ゲージ { // プロパティ - public STDGBVALUE db現在のゲージ値; +// public STDGBVALUE db現在のゲージ値; // コンストラクタ @@ -203,9 +203,9 @@ namespace DTXMania #region [ private ] //----------------- - private CCounter ct本体移動; - private CCounter ct本体振動; - private CTexture txゲージ; + //private CCounter ct本体移動; + //private CCounter ct本体振動; + //private CTexture txゲージ; //----------------- #endregion } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs index 20e77a94..2d47f86e 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs @@ -13,14 +13,6 @@ namespace DTXMania { internal class CStage演奏ギター画面 : CStage演奏画面共通 { - // プロパティ - - public bool bAUTOでないチップが1つでもバーを通過した - { - get; - private set; - } - // コンストラクタ public CStage演奏ギター画面() @@ -176,7 +168,7 @@ namespace DTXMania public override void On活性化() { - this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続; + //this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続; this.n現在のトップChip = ( CDTXMania.DTX.listChip.Count > 0 ) ? 0 : -1; this.n最後に再生したHHの実WAV番号 = -1; this.n最後に再生したHHのチャンネル番号 = 0; @@ -186,8 +178,8 @@ namespace DTXMania { this.n最後に再生したBGMの実WAV番号[ i ] = -1; } - this.r次にくるギターChip = null; - this.r次にくるベースChip = null; + //this.r次にくるギターChip = null; + //this.r次にくるベースChip = null; for( int j = 0; j < 10; j++ ) { this.r現在の空うちドラムChip[ j ] = null; @@ -203,24 +195,24 @@ namespace DTXMania } this.queWailing[ k ] = new Queue(); } - for( int m = 0; m < 3; m++ ) - { - this.b演奏にキーボードを使った[ m ] = false; - this.b演奏にジョイパッドを使った[ m ] = false; - this.b演奏にMIDI入力を使った[ m ] = false; - this.b演奏にマウスを使った[ m ] = false; - } + //for( int m = 0; m < 3; m++ ) + //{ + // this.b演奏にキーボードを使った[ m ] = false; + // this.b演奏にジョイパッドを使った[ m ] = false; + // this.b演奏にMIDI入力を使った[ m ] = false; + // this.b演奏にマウスを使った[ m ] = false; + //} this.bAUTOでないチップが1つでもバーを通過した = false; base.On活性化(); this.tステータスパネルの選択(); this.tパネル文字列の設定(); - this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums; // #23580 2011.1.3 yyagi - this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar; // 2011.1.7 ikanick 修正 - this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass; // - this.bIsAutoPlay.Drums = false; - this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bAutoPlay.Guitar; - this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Bass; + // this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums; // #23580 2011.1.3 yyagi + // this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar; // 2011.1.7 ikanick 修正 + // this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass; // + //this.bIsAutoPlay.Drums = false; + //this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bAutoPlay.Guitar; + //this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Bass; if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsの譜面情報入れ替え { @@ -319,265 +311,237 @@ namespace DTXMania if( CDTXMania.act現在入力を占有中のプラグイン == null ) { - IInputDevice keyboard = CDTXMania.Input管理.Keyboard; - if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) - { - this.bPAUSE = !this.bPAUSE; - if( this.bPAUSE ) - { - CDTXMania.Timer.t一時停止(); - CDTXMania.DTX.t全チップの再生一時停止(); - } - else - { - CDTXMania.Timer.t再開(); - CDTXMania.DTX.t全チップの再生再開(); - } - } - if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) - { - this.t入力処理・ギター(); - this.t入力処理・ベース(); - if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) ) - { // shift (+ctrl) + Uparrow (BGMAdjust) - CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 ); - CDTXMania.DTX.tWave再生位置自動補正(); - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) - { - CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 ); - CDTXMania.DTX.tWave再生位置自動補正(); - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) ) - { - CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する; - } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. - { - ChangeInputAdjustTimeInPlaying( keyboard, -1 ); - } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. - { - ChangeInputAdjustTimeInPlaying( keyboard, +1 ); - } - else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) ) - { - this.actFO.tフェードアウト開始(); - base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断; - } - } + this.tキー入力(); + #region キー入力 + //IInputDevice keyboard = CDTXMania.Input管理.Keyboard; + //if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) + //{ + // this.bPAUSE = !this.bPAUSE; + // if( this.bPAUSE ) + // { + // CDTXMania.Timer.t一時停止(); + // CDTXMania.DTX.t全チップの再生一時停止(); + // } + // else + // { + // CDTXMania.Timer.t再開(); + // CDTXMania.DTX.t全チップの再生再開(); + // } + //} + //if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + //{ + // this.t入力処理・ギター(); + // this.t入力処理・ベース(); + // if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) ) + // { // shift (+ctrl) + Uparrow (BGMAdjust) + // CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 ); + // CDTXMania.DTX.tWave再生位置自動補正(); + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) + // { + // CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 ); + // CDTXMania.DTX.tWave再生位置自動補正(); + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) ) + // { + // CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する; + // } + // else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + // { + // ChangeInputAdjustTimeInPlaying( keyboard, -1 ); + // } + // else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + // { + // ChangeInputAdjustTimeInPlaying( keyboard, +1 ); + // } + // else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) ) + // { + // this.actFO.tフェードアウト開始(); + // base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; + // this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断; + // } + //} + #endregion } } return 0; } - private void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. - { - int part, offset = plusminus; - if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) ) // Guitar InputAdjustTime - { - part = (int) E楽器パート.GUITAR; - } - else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) ) // Bass InputAdjustTime - { - part = (int) E楽器パート.BASS; - } - else // Drums InputAdjustTime - { - part = (int) E楽器パート.DRUMS; - } - if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) - { - offset *= 10; - } - - this.nInputAdjustTimeMs[ part ] += offset; - if ( this.nInputAdjustTimeMs[ part ] > 0 ) - { - this.nInputAdjustTimeMs[ part ] = 0; - } - else if ( this.nInputAdjustTimeMs[ part ] < -99 ) - { - this.nInputAdjustTimeMs[ part ] = -99; - } - CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ]; - } // その他 #region [ private ] //----------------- - private class STHITCOUNTOFRANK - { - // Fields - public int Good; - public int Great; - public int Miss; - public int Perfect; - public int Poor; - - // Properties - public int this[ int index ] - { - get - { - switch( index ) - { - case 0: - return this.Perfect; - - case 1: - return this.Great; - - case 2: - return this.Good; - - case 3: - return this.Poor; - - case 4: - return this.Miss; - } - throw new IndexOutOfRangeException(); - } - set - { - switch( index ) - { - case 0: - this.Perfect = value; - return; - - case 1: - this.Great = value; - return; - - case 2: - this.Good = value; - return; - - case 3: - this.Poor = value; - return; - - case 4: - this.Miss = value; - return; - } - throw new IndexOutOfRangeException(); - } - } - } - - [StructLayout( LayoutKind.Sequential )] - private struct STKARAUCHI - { - public CDTX.CChip HH; - public CDTX.CChip SD; - public CDTX.CChip BD; - public CDTX.CChip HT; - public CDTX.CChip LT; - public CDTX.CChip FT; - public CDTX.CChip CY; - public CDTX.CChip HHO; - public CDTX.CChip RD; - public CDTX.CChip LC; - public CDTX.CChip this[ int index ] - { - get - { - switch( index ) - { - case 0: - return this.HH; - - case 1: - return this.SD; - - case 2: - return this.BD; - - case 3: - return this.HT; - - case 4: - return this.LT; - - case 5: - return this.FT; - - case 6: - return this.CY; - - case 7: - return this.HHO; - - case 8: - return this.RD; - - case 9: - return this.LC; - } - throw new IndexOutOfRangeException(); - } - set - { - switch( index ) - { - case 0: - this.HH = value; - return; - - case 1: - this.SD = value; - return; - - case 2: - this.BD = value; - return; - - case 3: - this.HT = value; - return; - - case 4: - this.LT = value; - return; - - case 5: - this.FT = value; - return; - - case 6: - this.CY = value; - return; - - case 7: - this.HHO = value; - return; - - case 8: - this.RD = value; - return; - - case 9: - this.LC = value; - return; - } - throw new IndexOutOfRangeException(); - } - } - } + //private class STHITCOUNTOFRANK + //{ + // // Fields + // public int Good; + // public int Great; + // public int Miss; + // public int Perfect; + // public int Poor; + + // // Properties + // public int this[ int index ] + // { + // get + // { + // switch( index ) + // { + // case 0: + // return this.Perfect; + + // case 1: + // return this.Great; + + // case 2: + // return this.Good; + + // case 3: + // return this.Poor; + + // case 4: + // return this.Miss; + // } + // throw new IndexOutOfRangeException(); + // } + // set + // { + // switch( index ) + // { + // case 0: + // this.Perfect = value; + // return; + + // case 1: + // this.Great = value; + // return; + + // case 2: + // this.Good = value; + // return; + + // case 3: + // this.Poor = value; + // return; + + // case 4: + // this.Miss = value; + // return; + // } + // throw new IndexOutOfRangeException(); + // } + // } + //} + + //[StructLayout( LayoutKind.Sequential )] + //private struct STKARAUCHI + //{ + // public CDTX.CChip HH; + // public CDTX.CChip SD; + // public CDTX.CChip BD; + // public CDTX.CChip HT; + // public CDTX.CChip LT; + // public CDTX.CChip FT; + // public CDTX.CChip CY; + // public CDTX.CChip HHO; + // public CDTX.CChip RD; + // public CDTX.CChip LC; + // public CDTX.CChip this[ int index ] + // { + // get + // { + // switch( index ) + // { + // case 0: + // return this.HH; + + // case 1: + // return this.SD; + + // case 2: + // return this.BD; + + // case 3: + // return this.HT; + + // case 4: + // return this.LT; + + // case 5: + // return this.FT; + + // case 6: + // return this.CY; + + // case 7: + // return this.HHO; + + // case 8: + // return this.RD; + + // case 9: + // return this.LC; + // } + // throw new IndexOutOfRangeException(); + // } + // set + // { + // switch( index ) + // { + // case 0: + // this.HH = value; + // return; + + // case 1: + // this.SD = value; + // return; + + // case 2: + // this.BD = value; + // return; + + // case 3: + // this.HT = value; + // return; + + // case 4: + // this.LT = value; + // return; + + // case 5: + // this.FT = value; + // return; + + // case 6: + // this.CY = value; + // return; + + // case 7: + // this.HHO = value; + // return; + + // case 8: + // this.RD = value; + // return; + + // case 9: + // this.LC = value; + // return; + // } + // throw new IndexOutOfRangeException(); + // } + // } + //} private CAct演奏AVI actAVI; private CAct演奏BGA actBGA; private CAct演奏Guitarチップファイア actChipFire; private CAct演奏Guitarコンボ actCombo; - private CActFIFOBlack actFI; - private CActFIFOBlack actFO; - private CActFIFOWhite actFOClear; - private CAct演奏Guitarゲージ actGauge; + //private CActFIFOBlack actFI; + //private CActFIFOBlack actFO; + //private CActFIFOWhite actFOClear; + //private CAct演奏Guitarゲージ actGauge; private CAct演奏Guitar判定文字列 actJudgeString; private CAct演奏GuitarレーンフラッシュGB actLaneFlushGB; private CAct演奏パネル文字列 actPanel; @@ -588,14 +552,14 @@ namespace DTXMania private CAct演奏Guitarステータスパネル actStatusPanels; private CAct演奏GuitarWailingBonus actWailingBonus; private CAct演奏スクロール速度 act譜面スクロール速度; - private bool bPAUSE; - private STDGBVALUE b演奏にMIDI入力を使った; - private STDGBVALUE b演奏にキーボードを使った; - private STDGBVALUE b演奏にジョイパッドを使った; - private STDGBVALUE b演奏にマウスを使った; + //private bool bPAUSE; + //private STDGBVALUE b演奏にMIDI入力を使った; + //private STDGBVALUE b演奏にキーボードを使った; + //private STDGBVALUE b演奏にジョイパッドを使った; + //private STDGBVALUE b演奏にマウスを使った; private CCounter ctWailingチップ模様アニメ; private STDGBVALUE ctチップ模様アニメ; - private E演奏画面の戻り値 eフェードアウト完了時の戻り値; + //private E演奏画面の戻り値 eフェードアウト完了時の戻り値; private readonly int[,] nBGAスコープチャンネルマップ = new int[ , ] { { 0xc4, 0xc7, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe0 }, { 4, 7, 0x55, 0x56, 0x57, 0x58, 0x59, 0x60 } }; private readonly int[] nチャンネル0Atoパッド08 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 8, 0 }; private readonly int[] nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 }; @@ -604,7 +568,7 @@ namespace DTXMania private readonly int[] nパッド0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 }; private STDGBVALUE nヒット数・Auto含まない; private STDGBVALUE nヒット数・Auto含む; - private int n現在のトップChip = -1; + // private int n現在のトップChip = -1; private int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ]; private int n最後に再生したHHのチャンネル番号; private int n最後に再生したHHの実WAV番号; @@ -615,41 +579,41 @@ namespace DTXMania private CDTX.CChip r現在の空うちギターChip; private STKARAUCHI r現在の空うちドラムChip; private CDTX.CChip r現在の空うちベースChip; - private CDTX.CChip r次にくるギターChip; - private CDTX.CChip r次にくるベースChip; + //private CDTX.CChip r次にくるギターChip; + //private CDTX.CChip r次にくるベースChip; private CTexture txWailing枠; private CTexture txチップ; private CTexture txヒットバー; private CTexture tx背景; - private STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi - private STDGBVALUE bIsAutoPlay; // #24239 2011.1.23 yyagi - - private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime ) - { - if ( pChip != null ) - { - pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms ); // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature - int nDeltaTime = Math.Abs( pChip.nLag ); - //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms)); - if ( nDeltaTime <= CDTXMania.nPerfect範囲ms ) - { - return E判定.Perfect; - } - if ( nDeltaTime <= CDTXMania.nGreat範囲ms ) - { - return E判定.Great; - } - if ( nDeltaTime <= CDTXMania.nGood範囲ms ) - { - return E判定.Good; - } - if ( nDeltaTime <= CDTXMania.nPoor範囲ms ) - { - return E判定.Poor; - } - } - return E判定.Miss; - } + // private STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi + //private STDGBVALUE bIsAutoPlay; // #24239 2011.1.23 yyagi + + //private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime ) + //{ + // if ( pChip != null ) + // { + // pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms ); // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature + // int nDeltaTime = Math.Abs( pChip.nLag ); + // //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms)); + // if ( nDeltaTime <= CDTXMania.nPerfect範囲ms ) + // { + // return E判定.Perfect; + // } + // if ( nDeltaTime <= CDTXMania.nGreat範囲ms ) + // { + // return E判定.Great; + // } + // if ( nDeltaTime <= CDTXMania.nGood範囲ms ) + // { + // return E判定.Good; + // } + // if ( nDeltaTime <= CDTXMania.nPoor範囲ms ) + // { + // return E判定.Poor; + // } + // } + // return E判定.Miss; + //} private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad ) { switch( part ) @@ -662,97 +626,97 @@ namespace DTXMania } return null; } - private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime ) - { - nTime += nInputAdjustTime; + //private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime ) + //{ + // nTime += nInputAdjustTime; - int num5; - if( this.n現在のトップChip == -1 ) - { - return null; - } - int count = CDTXMania.DTX.listChip.Count; - int num4 = num5 = this.n現在のトップChip; - if( this.n現在のトップChip >= count ) - { - num4 = num5 = count - 1; - } - int num2 = num4; - while( num2 < count ) - { - CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; - if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - num2++; - } - int num3 = num5; - while( num3 >= 0 ) - { - CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; - if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) - { - if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) - { - break; - } - } - else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) - { - if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 40 ) ) - { - break; - } - } - else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 160 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) ) - { - break; - } - num3--; - } - if( ( num2 == count ) && ( num3 < 0 ) ) - { - return null; - } - if( num2 == count ) - { - return CDTXMania.DTX.listChip[ num3 ]; - } - if( num3 < 0 ) - { - return CDTXMania.DTX.listChip[ num2 ]; - } - CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ]; - CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ]; - int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); - int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) ); - if( num6 >= num7 ) - { - return chip4; - } - return chip3; - } + // int num5; + // if( this.n現在のトップChip == -1 ) + // { + // return null; + // } + // int count = CDTXMania.DTX.listChip.Count; + // int num4 = num5 = this.n現在のトップChip; + // if( this.n現在のトップChip >= count ) + // { + // num4 = num5 = count - 1; + // } + // int num2 = num4; + // while( num2 < count ) + // { + // CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; + // if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // num2++; + // } + // int num3 = num5; + // while( num3 >= 0 ) + // { + // CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; + // if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) + // { + // if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) + // { + // break; + // } + // } + // else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) + // { + // if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 40 ) ) + // { + // break; + // } + // } + // else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 160 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) ) + // { + // break; + // } + // num3--; + // } + // if( ( num2 == count ) && ( num3 < 0 ) ) + // { + // return null; + // } + // if( num2 == count ) + // { + // return CDTXMania.DTX.listChip[ num3 ]; + // } + // if( num3 < 0 ) + // { + // return CDTXMania.DTX.listChip[ num2 ]; + // } + // CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ]; + // CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ]; + // int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + // int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) ); + // if( num6 >= num7 ) + // { + // return chip4; + // } + // return chip3; + //} // private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag ) // { // return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, 0, 0 ); @@ -761,113 +725,113 @@ namespace DTXMania // { // return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, nInputAdjustTime, 0 ); // } - private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms ) - { - nTime += nInputAdjustTime; - - int num5; - int num6; - if( this.n現在のトップChip == -1 ) - { - return null; - } - int count = CDTXMania.DTX.listChip.Count; - int num4 = num5 = this.n現在のトップChip; - if( this.n現在のトップChip >= count ) - { - num4 = num5 = count - 1; - } - int num2 = num4; - while( num2 < count ) - { - CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; - if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) ) - { - if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - } - else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - num2++; - } - int num3 = num5; - while( num3 >= 0 ) - { - CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; - if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) - { - break; - } - num3--; - } - if( ( num2 == count ) && ( num3 < 0 ) ) - { - return null; - } - CDTX.CChip chip3 = null; - if( num2 == count ) - { - chip3 = CDTXMania.DTX.listChip[ num3 ]; - num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); - } - else if( num3 < 0 ) - { - chip3 = CDTXMania.DTX.listChip[ num2 ]; - num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); - } - else - { - int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); - int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); - if( num7 < num8 ) - { - chip3 = CDTXMania.DTX.listChip[ num2 ]; - num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); - } - else - { - chip3 = CDTXMania.DTX.listChip[ num3 ]; - num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); - } - } - if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) ) - { - return null; - } - return chip3; - } - private CDTX.CChip r次にくるギターChipを更新して返す() - { - int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar; - this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 ); - return this.r次にくるギターChip; - } - private CDTX.CChip r次にくるベースChipを更新して返す() - { - int nInputAdjustTime = this.bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass; - this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 ); - return this.r次にくるベースChip; - } + //private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms ) + //{ + // nTime += nInputAdjustTime; + + // int num5; + // int num6; + // if( this.n現在のトップChip == -1 ) + // { + // return null; + // } + // int count = CDTXMania.DTX.listChip.Count; + // int num4 = num5 = this.n現在のトップChip; + // if( this.n現在のトップChip >= count ) + // { + // num4 = num5 = count - 1; + // } + // int num2 = num4; + // while( num2 < count ) + // { + // CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; + // if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) ) + // { + // if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // } + // else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // num2++; + // } + // int num3 = num5; + // while( num3 >= 0 ) + // { + // CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; + // if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) + // { + // break; + // } + // num3--; + // } + // if( ( num2 == count ) && ( num3 < 0 ) ) + // { + // return null; + // } + // CDTX.CChip chip3 = null; + // if( num2 == count ) + // { + // chip3 = CDTXMania.DTX.listChip[ num3 ]; + // num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + // } + // else if( num3 < 0 ) + // { + // chip3 = CDTXMania.DTX.listChip[ num2 ]; + // num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + // } + // else + // { + // int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); + // int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); + // if( num7 < num8 ) + // { + // chip3 = CDTXMania.DTX.listChip[ num2 ]; + // num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + // } + // else + // { + // chip3 = CDTXMania.DTX.listChip[ num3 ]; + // num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + // } + // } + // if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) ) + // { + // return null; + // } + // return chip3; + //} + //private CDTX.CChip r次にくるギターChipを更新して返す() + //{ + // int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar; + // this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 ); + // return this.r次にくるギターChip; + //} + //private CDTX.CChip r次にくるベースChipを更新して返す() + //{ + // int nInputAdjustTime = this.bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass; + // this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 ); + // return this.r次にくるベースChip; + //} private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part ) { this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false ); @@ -985,7 +949,7 @@ namespace DTXMania } if( !bIsAutoPlay ) { - this.t判定にあわせてゲージを増減する( pChip.e楽器パート, eJudgeResult ); + this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, pChip.e楽器パート, eJudgeResult ); } int num = 0; switch( pChip.e楽器パート ) @@ -1105,7 +1069,7 @@ namespace DTXMania } private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane ) { - this.t判定にあわせてゲージを増減する( part, E判定.Miss ); + this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, part, E判定.Miss ); switch( part ) { case E楽器パート.DRUMS: @@ -1949,34 +1913,34 @@ namespace DTXMania this.actPanel.t進行描画( 0xb5, 430 ); } } - private bool t進行描画・フェードイン・アウト() - { - switch( base.eフェーズID ) - { - case CStage.Eフェーズ.共通_フェードイン: - if( this.actFI.On進行描画() != 0 ) - { - base.eフェーズID = CStage.Eフェーズ.共通_通常状態; - } - break; - - case CStage.Eフェーズ.共通_フェードアウト: - case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト: - if( this.actFO.On進行描画() != 0 ) - { - return true; - } - break; - - case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト: - if( this.actFOClear.On進行描画() == 0 ) - { - break; - } - return true; - } - return false; - } + //private bool t進行描画・フェードイン・アウト() + //{ + // switch( base.eフェーズID ) + // { + // case CStage.Eフェーズ.共通_フェードイン: + // if( this.actFI.On進行描画() != 0 ) + // { + // base.eフェーズID = CStage.Eフェーズ.共通_通常状態; + // } + // break; + + // case CStage.Eフェーズ.共通_フェードアウト: + // case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト: + // if( this.actFO.On進行描画() != 0 ) + // { + // return true; + // } + // break; + + // case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト: + // if( this.actFOClear.On進行描画() == 0 ) + // { + // break; + // } + // return true; + // } + // return false; + //} private void t進行描画・レーンフラッシュGB() { if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 ) @@ -2013,26 +1977,41 @@ namespace DTXMania { this.act譜面スクロール速度.On進行描画(); } - private void t入力メソッド記憶( E楽器パート part ) + //private void t入力メソッド記憶( E楽器パート part ) + //{ + // if( CDTXMania.Pad.st検知したデバイス.Keyboard ) + // { + // this.b演奏にキーボードを使った[ (int) part ] = true; + // } + // if( CDTXMania.Pad.st検知したデバイス.Joypad ) + // { + // this.b演奏にジョイパッドを使った[ (int) part ] = true; + // } + // if( CDTXMania.Pad.st検知したデバイス.MIDIIN ) + // { + // this.b演奏にMIDI入力を使った[ (int) part ] = true; + // } + // if( CDTXMania.Pad.st検知したデバイス.Mouse ) + // { + // this.b演奏にマウスを使った[ (int) part ] = true; + // } + //} + + + protected override void ドラムスクロール速度アップ() { - if( CDTXMania.Pad.st検知したデバイス.Keyboard ) - { - this.b演奏にキーボードを使った[ (int) part ] = true; - } - if( CDTXMania.Pad.st検知したデバイス.Joypad ) - { - this.b演奏にジョイパッドを使った[ (int) part ] = true; - } - if( CDTXMania.Pad.st検知したデバイス.MIDIIN ) - { - this.b演奏にMIDI入力を使った[ (int) part ] = true; - } - if( CDTXMania.Pad.st検知したデバイス.Mouse ) - { - this.b演奏にマウスを使った[ (int) part ] = true; - } + // ギタレボモードでは何もしない } - private void t入力処理・ギター() + protected override void ドラムスクロール速度ダウン() + { + // ギタレボモードでは何もしない + } + + protected override void t入力処理・ドラム() + { + // ギタレボモードでは何もしない + } + protected override void t入力処理・ギター() { if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) ) { @@ -2167,7 +2146,7 @@ namespace DTXMania } } } - private void t入力処理・ベース() + protected override void t入力処理・ベース() { if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) ) { @@ -2399,98 +2378,98 @@ namespace DTXMania } image.Dispose(); } -#if true // DAMAGELEVELTUNING - // ---------------------------------- - public float[,] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors - // drums, guitar, bass - { 0.004f, 0.006f, 0.006f }, - { 0.002f, 0.003f, 0.003f }, - { 0.000f, 0.000f, 0.000f }, - { -0.020f, -0.030f, -0.030f }, - { -0.050f, -0.050f, -0.050f } - }; - public float[] fDamageLevelFactor = { - 0.5f, 1.0f, 1.5f - }; - // ---------------------------------- -#endif - - private void t判定にあわせてゲージを増減する(E楽器パート part, E判定 e今回の判定) - { - double fDamage; - -#if true // DAMAGELEVELTUNING - switch (e今回の判定) // #23625 2011.1.10 ickw_284 - { - case E判定.Perfect: - case E判定.Great: - case E判定.Good: - case E判定.Poor: - fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; - break; - case E判定.Miss: - fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; - switch (CDTXMania.ConfigIni.eダメージレベル) - { - case Eダメージレベル.少ない: - case Eダメージレベル.普通: - case Eダメージレベル.大きい: - fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル]; - break; - } - break; - - default: - fDamage = 0.0; - break; - } -#else // before applying #23625 modifications - switch (e今回の判定) - { - case E判定.Perfect: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; - break; - - case E判定.Great: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; - break; - - case E判定.Good: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; - break; - - case E判定.Poor: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; - break; - - case E判定.Miss: - fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; - switch( CDTXMania.ConfigIni.eダメージレベル ) - { - case Eダメージレベル.少ない: - fDamage *= 0.6; - break; - - case Eダメージレベル.普通: - fDamage *= 1.0; - break; - - case Eダメージレベル.大きい: - fDamage *= 1.6; - break; - } - break; - - default: - fDamage = 0.0; - break; - } -#endif - this.actGauge.db現在のゲージ値[(int)part] += fDamage; - - if( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 ) - this.actGauge.db現在のゲージ値[ (int) part ] = 1.0; - } +//#if true // DAMAGELEVELTUNING +// // ---------------------------------- +// public float[,] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors +// // drums, guitar, bass +// { 0.004f, 0.006f, 0.006f }, +// { 0.002f, 0.003f, 0.003f }, +// { 0.000f, 0.000f, 0.000f }, +// { -0.020f, -0.030f, -0.030f }, +// { -0.050f, -0.050f, -0.050f } +// }; +// public float[] fDamageLevelFactor = { +// 0.5f, 1.0f, 1.5f +// }; +// // ---------------------------------- +//#endif + +// private void t判定にあわせてゲージを増減する(E楽器パート part, E判定 e今回の判定) +// { +// double fDamage; + +//#if true // DAMAGELEVELTUNING +// switch (e今回の判定) // #23625 2011.1.10 ickw_284 +// { +// case E判定.Perfect: +// case E判定.Great: +// case E判定.Good: +// case E判定.Poor: +// fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; +// break; +// case E判定.Miss: +// fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; +// switch (CDTXMania.ConfigIni.eダメージレベル) +// { +// case Eダメージレベル.少ない: +// case Eダメージレベル.普通: +// case Eダメージレベル.大きい: +// fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル]; +// break; +// } +// break; + +// default: +// fDamage = 0.0; +// break; +// } +//#else // before applying #23625 modifications +// switch (e今回の判定) +// { +// case E判定.Perfect: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; +// break; + +// case E判定.Great: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; +// break; + +// case E判定.Good: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; +// break; + +// case E判定.Poor: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; +// break; + +// case E判定.Miss: +// fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; +// switch( CDTXMania.ConfigIni.eダメージレベル ) +// { +// case Eダメージレベル.少ない: +// fDamage *= 0.6; +// break; + +// case Eダメージレベル.普通: +// fDamage *= 1.0; +// break; + +// case Eダメージレベル.大きい: +// fDamage *= 1.6; +// break; +// } +// break; + +// default: +// fDamage = 0.0; +// break; +// } +//#endif +// this.actGauge.db現在のゲージ値[(int)part] += fDamage; + +// if( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 ) +// this.actGauge.db現在のゲージ値[ (int) part ] = 1.0; +// } //----------------- #endregion } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs index 341d1b99..43585b25 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs @@ -8,25 +8,25 @@ using FDK; namespace DTXMania { - internal class CAct演奏Drumsゲージ : CActivity + internal class CAct演奏Drumsゲージ : CAct演奏ゲージ { // プロパティ - public double db現在のゲージ値 - { - get - { - return this.dbゲージ値; - } - set - { - this.dbゲージ値 = value; - if( this.dbゲージ値 > 1.0 ) - { - this.dbゲージ値 = 1.0; - } - } - } +// public double db現在のゲージ値 +// { +// get +// { +// return this.dbゲージ値; +// } +// set +// { +// this.dbゲージ値 = value; +// if( this.dbゲージ値 > 1.0 ) +// { +// this.dbゲージ値 = 1.0; +// } +// } +// } // コンストラクタ @@ -211,12 +211,12 @@ namespace DTXMania public CCounter ct進行; } - private CCounter ct本体移動; - private CCounter ct本体振動; - private double dbゲージ値; + //private CCounter ct本体移動; + //private CCounter ct本体振動; + //private double dbゲージ値; private const int STAR_MAX = 0x18; private ST白い星[] st白い星 = new ST白い星[ 0x18 ]; - private CTexture txゲージ; + //private CTexture txゲージ; //----------------- #endregion } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs index fe1d2393..a8f97c56 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs @@ -14,14 +14,6 @@ namespace DTXMania { internal class CStage演奏ドラム画面 : CStage演奏画面共通 { - // プロパティ - - public bool bAUTOでないチップが1つでもバーを通過した - { - get; - private set; - } - // コンストラクタ public CStage演奏ドラム画面() @@ -73,10 +65,11 @@ namespace DTXMania public void t演奏結果を格納する( out CScoreIni.C演奏記録 Drums, out CScoreIni.C演奏記録 Guitar, out CScoreIni.C演奏記録 Bass, out CDTX.CChip[] r空打ちドラムチップ ) { + r空打ちドラムチップ = new CDTX.CChip[ 10 ]; + Drums = new CScoreIni.C演奏記録(); Guitar = new CScoreIni.C演奏記録(); Bass = new CScoreIni.C演奏記録(); - r空打ちドラムチップ = new CDTX.CChip[ 10 ]; if( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) { Drums.nスコア = this.actScore.Get( E楽器パート.DRUMS ); @@ -257,7 +250,7 @@ namespace DTXMania public override void On活性化() { - this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続; + //this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続; this.bフィルイン中 = false; this.n現在のトップChip = ( CDTXMania.DTX.listChip.Count > 0 ) ? 0 : -1; // this.n最後に再生したHHの実WAV番号 = -1; // #23921 2011.1.4 yyagi @@ -270,17 +263,17 @@ namespace DTXMania { this.n最後に再生したBGMの実WAV番号[ i ] = -1; } - this.r次にくるギターChip = null; - this.r次にくるベースChip = null; + //this.r次にくるギターChip = null; + //this.r次にくるベースChip = null; for( int j = 0; j < 10; j++ ) { this.r現在の空うちドラムChip[ j ] = null; } this.r現在の空うちギターChip = null; this.r現在の空うちベースChip = null; - for( int k = 0; k < 3; k++ ) + for ( int k = 0; k < 3; k++ ) { - for( int n = 0; n < 5; n++ ) + for ( int n = 0; n < 5; n++ ) { this.nヒット数・Auto含まない[ k ] = new STHITCOUNTOFRANK(); this.nヒット数・Auto含む[ k ] = new STHITCOUNTOFRANK(); @@ -288,22 +281,22 @@ namespace DTXMania this.queWailing[ k ] = new Queue(); this.r現在の歓声Chip[ k ] = null; } - for( int m = 0; m < 3; m++ ) - { - this.b演奏にキーボードを使った[ m ] = false; - this.b演奏にジョイパッドを使った[ m ] = false; - this.b演奏にMIDI入力を使った[ m ] = false; - this.b演奏にマウスを使った[ m ] = false; - } + //for( int m = 0; m < 3; m++ ) + //{ + // this.b演奏にキーボードを使った[ m ] = false; + // this.b演奏にジョイパッドを使った[ m ] = false; + // this.b演奏にMIDI入力を使った[ m ] = false; + // this.b演奏にマウスを使った[ m ] = false; + //} this.bAUTOでないチップが1つでもバーを通過した = false; base.On活性化(); this.tステータスパネルの選択(); this.tパネル文字列の設定(); - this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums; // #23580 2011.1.3 yyagi - this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar; // 2011.1.7 ikanick 修正 - this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass; // - this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi + // this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums; // #23580 2011.1.3 yyagi + // this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar; // 2011.1.7 ikanick 修正 + // this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass; // + //this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi Cスコア cスコア = CDTXMania.stage選曲.r確定されたスコア; // #24074 2011.01.23 add ikanick this.actGraph.dbグラフ値目標_渡 = cスコア.譜面情報.最大スキル[0]; @@ -375,7 +368,7 @@ namespace DTXMania this.actFI.tフェードイン開始(); base.b初めての進行描画 = false; } - if( ( CDTXMania.ConfigIni.bSTAGEFAILED有効 && ( this.actGauge.db現在のゲージ値 <= -0.1 ) ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) + if( ( CDTXMania.ConfigIni.bSTAGEFAILED有効 && ( this.actGauge.db現在のゲージ値.Drums <= -0.1 ) ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) { this.actStageFailed.Start(); CDTXMania.DTX.t全チップの再生停止(); @@ -435,167 +428,167 @@ namespace DTXMania #region [ private ] //----------------- - private class STHITCOUNTOFRANK - { - // Fields - public int Good; - public int Great; - public int Miss; - public int Perfect; - public int Poor; - - // Properties - public int this[ int index ] - { - get - { - switch( index ) - { - case 0: - return this.Perfect; - - case 1: - return this.Great; - - case 2: - return this.Good; - - case 3: - return this.Poor; - - case 4: - return this.Miss; - } - throw new IndexOutOfRangeException(); - } - set - { - switch( index ) - { - case 0: - this.Perfect = value; - return; - - case 1: - this.Great = value; - return; - - case 2: - this.Good = value; - return; - - case 3: - this.Poor = value; - return; - - case 4: - this.Miss = value; - return; - } - throw new IndexOutOfRangeException(); - } - } - } - - [StructLayout( LayoutKind.Sequential )] - private struct STKARAUCHI - { - public CDTX.CChip HH; - public CDTX.CChip SD; - public CDTX.CChip BD; - public CDTX.CChip HT; - public CDTX.CChip LT; - public CDTX.CChip FT; - public CDTX.CChip CY; - public CDTX.CChip HHO; - public CDTX.CChip RD; - public CDTX.CChip LC; - public CDTX.CChip this[ int index ] - { - get - { - switch( index ) - { - case 0: - return this.HH; - - case 1: - return this.SD; - - case 2: - return this.BD; - - case 3: - return this.HT; - - case 4: - return this.LT; - - case 5: - return this.FT; - - case 6: - return this.CY; - - case 7: - return this.HHO; - - case 8: - return this.RD; - - case 9: - return this.LC; - } - throw new IndexOutOfRangeException(); - } - set - { - switch( index ) - { - case 0: - this.HH = value; - return; - - case 1: - this.SD = value; - return; - - case 2: - this.BD = value; - return; - - case 3: - this.HT = value; - return; - - case 4: - this.LT = value; - return; - - case 5: - this.FT = value; - return; - - case 6: - this.CY = value; - return; - - case 7: - this.HHO = value; - return; - - case 8: - this.RD = value; - return; - - case 9: - this.LC = value; - return; - } - throw new IndexOutOfRangeException(); - } - } - } + //private class STHITCOUNTOFRANK + //{ + // // Fields + // public int Good; + // public int Great; + // public int Miss; + // public int Perfect; + // public int Poor; + + // // Properties + // public int this[ int index ] + // { + // get + // { + // switch( index ) + // { + // case 0: + // return this.Perfect; + + // case 1: + // return this.Great; + + // case 2: + // return this.Good; + + // case 3: + // return this.Poor; + + // case 4: + // return this.Miss; + // } + // throw new IndexOutOfRangeException(); + // } + // set + // { + // switch( index ) + // { + // case 0: + // this.Perfect = value; + // return; + + // case 1: + // this.Great = value; + // return; + + // case 2: + // this.Good = value; + // return; + + // case 3: + // this.Poor = value; + // return; + + // case 4: + // this.Miss = value; + // return; + // } + // throw new IndexOutOfRangeException(); + // } + // } + //} + + //[StructLayout( LayoutKind.Sequential )] + //private struct STKARAUCHI + //{ + // public CDTX.CChip HH; + // public CDTX.CChip SD; + // public CDTX.CChip BD; + // public CDTX.CChip HT; + // public CDTX.CChip LT; + // public CDTX.CChip FT; + // public CDTX.CChip CY; + // public CDTX.CChip HHO; + // public CDTX.CChip RD; + // public CDTX.CChip LC; + // public CDTX.CChip this[ int index ] + // { + // get + // { + // switch( index ) + // { + // case 0: + // return this.HH; + + // case 1: + // return this.SD; + + // case 2: + // return this.BD; + + // case 3: + // return this.HT; + + // case 4: + // return this.LT; + + // case 5: + // return this.FT; + + // case 6: + // return this.CY; + + // case 7: + // return this.HHO; + + // case 8: + // return this.RD; + + // case 9: + // return this.LC; + // } + // throw new IndexOutOfRangeException(); + // } + // set + // { + // switch( index ) + // { + // case 0: + // this.HH = value; + // return; + + // case 1: + // this.SD = value; + // return; + + // case 2: + // this.BD = value; + // return; + + // case 3: + // this.HT = value; + // return; + + // case 4: + // this.LT = value; + // return; + + // case 5: + // this.FT = value; + // return; + + // case 6: + // this.CY = value; + // return; + + // case 7: + // this.HHO = value; + // return; + + // case 8: + // this.RD = value; + // return; + + // case 9: + // this.LC = value; + // return; + // } + // throw new IndexOutOfRangeException(); + // } + // } + //} private CAct演奏AVI actAVI; private CAct演奏BGA actBGA; @@ -603,10 +596,10 @@ namespace DTXMania private CAct演奏DrumsチップファイアGB actChipFireGB; private CAct演奏DrumsコンボDGB actCOMBO; private CAct演奏DrumsDanger actDANGER; - private CActFIFOBlack actFI; - private CActFIFOBlack actFO; - private CActFIFOWhite actFOClear; - private CAct演奏Drumsゲージ actGauge; + //private CActFIFOBlack actFI; + //private CActFIFOBlack actFO; + //private CActFIFOWhite actFOClear; + //private CAct演奏Drumsゲージ actGauge; private CAct演奏Drumsグラフ actGraph; // #24074 2011.01.23 add ikanick private CAct演奏Drums判定文字列 actJudgeString; private CAct演奏DrumsレーンフラッシュD actLaneFlushD; @@ -620,16 +613,16 @@ namespace DTXMania private CAct演奏Drumsステータスパネル actStatusPanels; private CAct演奏DrumsWailingBonus actWailingBonus; private CAct演奏スクロール速度 act譜面スクロール速度; - private bool bPAUSE; + //private bool bPAUSE; private bool bフィルイン中; - private STDGBVALUE b演奏にMIDI入力を使った; - private STDGBVALUE b演奏にキーボードを使った; - private STDGBVALUE b演奏にジョイパッドを使った; - private STDGBVALUE b演奏にマウスを使った; +// private STDGBVALUE b演奏にMIDI入力を使った; +// private STDGBVALUE b演奏にキーボードを使った; +// private STDGBVALUE b演奏にジョイパッドを使った; +// private STDGBVALUE b演奏にマウスを使った; private CCounter ctWailingチップ模様アニメ; private STDGBVALUE ctチップ模様アニメ; private readonly Eパッド[] eチャンネルtoパッド; - private E演奏画面の戻り値 eフェードアウト完了時の戻り値; + //private E演奏画面の戻り値 eフェードアウト完了時の戻り値; private readonly int[,] nBGAスコープチャンネルマップ; private readonly int[] nチャンネル0Atoパッド08 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 8, 0 }; private readonly int[] nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 }; @@ -639,7 +632,7 @@ namespace DTXMania private readonly int[] nパッド0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 }; private STDGBVALUE nヒット数・Auto含まない; private STDGBVALUE nヒット数・Auto含む; - private int n現在のトップChip = -1; + // private int n現在のトップChip = -1; private int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ]; private int n最後に再生したHHのチャンネル番号; private List L最後に再生したHHの実WAV番号; // #23921 2011.1.4 yyagi: change "int" to "List", for recording multiple wav No. @@ -650,16 +643,16 @@ namespace DTXMania private CDTX.CChip r現在の空うちギターChip; private STKARAUCHI r現在の空うちドラムChip; private CDTX.CChip r現在の空うちベースChip; - private CDTX.CChip r次にくるギターChip; - private CDTX.CChip r次にくるベースChip; + //private CDTX.CChip r次にくるギターChip; + //private CDTX.CChip r次にくるベースChip; private CTexture txWailing枠; private CTexture txチップ; private CTexture txヒットバー; private CTexture txヒットバーGB; private CTexture txレーンフレームGB; private CTexture tx背景; - private STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi - private CConfigIni.STAUTOPLAY bIsAutoPlay; // #24239 2011.1.23 yyagi + // private STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi + //private CConfigIni.STAUTOPLAY bIsAutoPlay; // #24239 2011.1.23 yyagi private bool bフィルイン区間の最後のChipである( CDTX.CChip pChip ) { @@ -682,32 +675,32 @@ namespace DTXMania } return true; } - private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime ) - { - if( pChip != null ) - { - pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms ); // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature - int nDeltaTime = Math.Abs( pChip.nLag); -//Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms)); - if( nDeltaTime <= CDTXMania.nPerfect範囲ms ) - { - return E判定.Perfect; - } - if( nDeltaTime <= CDTXMania.nGreat範囲ms ) - { - return E判定.Great; - } - if( nDeltaTime <= CDTXMania.nGood範囲ms ) - { - return E判定.Good; - } - if( nDeltaTime <= CDTXMania.nPoor範囲ms ) - { - return E判定.Poor; - } - } - return E判定.Miss; - } +// private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime ) +// { +// if( pChip != null ) +// { +// pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms ); // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature +// int nDeltaTime = Math.Abs( pChip.nLag); +////Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms)); +// if( nDeltaTime <= CDTXMania.nPerfect範囲ms ) +// { +// return E判定.Perfect; +// } +// if( nDeltaTime <= CDTXMania.nGreat範囲ms ) +// { +// return E判定.Great; +// } +// if( nDeltaTime <= CDTXMania.nGood範囲ms ) +// { +// return E判定.Good; +// } +// if( nDeltaTime <= CDTXMania.nPoor範囲ms ) +// { +// return E判定.Poor; +// } +// } +// return E判定.Miss; +// } private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad ) { switch( part ) @@ -829,208 +822,208 @@ namespace DTXMania } return null; } - private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime ) - { - nTime += nInputAdjustTime; // #24239 2011.1.23 yyagi InputAdjust + //private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime ) + //{ + // nTime += nInputAdjustTime; // #24239 2011.1.23 yyagi InputAdjust - int num5; - if( this.n現在のトップChip == -1 ) - { - return null; - } - int count = CDTXMania.DTX.listChip.Count; - int num4 = num5 = this.n現在のトップChip; - if( this.n現在のトップChip >= count ) - { - num4 = num5 = count - 1; - } - int num2 = num4; - while( num2 < count ) - { - CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; - if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - num2++; - } - int num3 = num5; - while( num3 >= 0 ) - { - CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; - if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) - { - if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) - { - break; - } - } - else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) - { - if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 0x28 ) ) - { - break; - } - } - else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 0xa0 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) ) - { - break; - } - num3--; - } - if( ( num2 == count ) && ( num3 < 0 ) ) - { - return null; - } - if( num2 == count ) - { - return CDTXMania.DTX.listChip[ num3 ]; - } - if( num3 < 0 ) - { - return CDTXMania.DTX.listChip[ num2 ]; - } - CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ]; - CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ]; - int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); - int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) ); - if( num6 >= num7 ) - { - return chip4; - } - return chip3; - } + // int num5; + // if( this.n現在のトップChip == -1 ) + // { + // return null; + // } + // int count = CDTXMania.DTX.listChip.Count; + // int num4 = num5 = this.n現在のトップChip; + // if( this.n現在のトップChip >= count ) + // { + // num4 = num5 = count - 1; + // } + // int num2 = num4; + // while( num2 < count ) + // { + // CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; + // if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // num2++; + // } + // int num3 = num5; + // while( num3 >= 0 ) + // { + // CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; + // if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) + // { + // if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) + // { + // break; + // } + // } + // else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) + // { + // if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 0x28 ) ) + // { + // break; + // } + // } + // else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 0xa0 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) ) + // { + // break; + // } + // num3--; + // } + // if( ( num2 == count ) && ( num3 < 0 ) ) + // { + // return null; + // } + // if( num2 == count ) + // { + // return CDTXMania.DTX.listChip[ num3 ]; + // } + // if( num3 < 0 ) + // { + // return CDTXMania.DTX.listChip[ num2 ]; + // } + // CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ]; + // CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ]; + // int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) ); + // int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) ); + // if( num6 >= num7 ) + // { + // return chip4; + // } + // return chip3; + //} private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime ) { return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, nInputAdjustTime, 0 ); } - private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms ) - { - nTime += nInputAdjustTime; - - int num5; - int num6; - if( this.n現在のトップChip == -1 ) - { - return null; - } - int count = CDTXMania.DTX.listChip.Count; - int num4 = num5 = this.n現在のトップChip; - if( this.n現在のトップChip >= count ) - { - num4 = num5 = count - 1; - } - int num2 = num4; - while( num2 < count ) - { - CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; - if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) ) - { - if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - } - else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) - { - if( chip.n発声時刻ms > nTime ) - { - break; - } - num5 = num2; - } - num2++; - } - int num3 = num5; - while( num3 >= 0 ) - { - CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; - if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) - { - break; - } - num3--; - } - if( ( num2 == count ) && ( num3 < 0 ) ) - { - return null; - } - CDTX.CChip chip3 = null; - if( num2 == count ) - { - chip3 = CDTXMania.DTX.listChip[ num3 ]; - num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); - } - else if( num3 < 0 ) - { - chip3 = CDTXMania.DTX.listChip[ num2 ]; - num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); - } - else - { - int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); - int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); - if( num7 < num8 ) - { - chip3 = CDTXMania.DTX.listChip[ num2 ]; - num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); - } - else - { - chip3 = CDTXMania.DTX.listChip[ num3 ]; - num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); - } - } - if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) ) - { - return null; - } - return chip3; - } - private CDTX.CChip r次にくるギターChipを更新して返す() - { - int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar; - this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 ); - return this.r次にくるギターChip; - } - private CDTX.CChip r次にくるベースChipを更新して返す() - { - int nInputAdjustTime = this.bIsAutoPlay.Bass? 0 : this.nInputAdjustTimeMs.Bass; - this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 ); - return this.r次にくるベースChip; - } + //private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms ) + //{ + // nTime += nInputAdjustTime; + + // int num5; + // int num6; + // if( this.n現在のトップChip == -1 ) + // { + // return null; + // } + // int count = CDTXMania.DTX.listChip.Count; + // int num4 = num5 = this.n現在のトップChip; + // if( this.n現在のトップChip >= count ) + // { + // num4 = num5 = count - 1; + // } + // int num2 = num4; + // while( num2 < count ) + // { + // CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ]; + // if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) ) + // { + // if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // } + // else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) ) + // { + // if( chip.n発声時刻ms > nTime ) + // { + // break; + // } + // num5 = num2; + // } + // num2++; + // } + // int num3 = num5; + // while( num3 >= 0 ) + // { + // CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ]; + // if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) + // { + // break; + // } + // num3--; + // } + // if( ( num2 == count ) && ( num3 < 0 ) ) + // { + // return null; + // } + // CDTX.CChip chip3 = null; + // if( num2 == count ) + // { + // chip3 = CDTXMania.DTX.listChip[ num3 ]; + // num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); + // } + // else if( num3 < 0 ) + // { + // chip3 = CDTXMania.DTX.listChip[ num2 ]; + // num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); + // } + // else + // { + // int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); + // int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); + // if( num7 < num8 ) + // { + // chip3 = CDTXMania.DTX.listChip[ num2 ]; + // num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) ); + // } + // else + // { + // chip3 = CDTXMania.DTX.listChip[ num3 ]; + // num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) ); + // } + // } + // if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) ) + // { + // return null; + // } + // return chip3; + //} + //private CDTX.CChip r次にくるギターChipを更新して返す() + //{ + // int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar; + // this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 ); + // return this.r次にくるギターChip; + //} + //private CDTX.CChip r次にくるベースChipを更新して返す() + //{ + // int nInputAdjustTime = this.bIsAutoPlay.Bass? 0 : this.nInputAdjustTimeMs.Bass; + // this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 ); + // return this.r次にくるベースChip; + //} private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part ) { this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false ); @@ -1191,7 +1184,7 @@ namespace DTXMania } if( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) { - this.t判定にあわせてゲージを増減する( pChip.e楽器パート, eJudgeResult ); + this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, pChip.e楽器パート, eJudgeResult ); } switch( pChip.e楽器パート ) { @@ -1340,7 +1333,7 @@ namespace DTXMania private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane ) { this.bAUTOでないチップが1つでもバーを通過した = true; - this.t判定にあわせてゲージを増減する( part, E判定.Miss ); + this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, part, E判定.Miss ); switch( part ) { case E楽器パート.DRUMS: @@ -1445,98 +1438,78 @@ namespace DTXMania { this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL ); } - private void tキー入力() + //private void tキー入力() + //{ + // IInputDevice keyboard = CDTXMania.Input管理.Keyboard; + // if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) && + // ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) ) + // { // shift+f1 (pause) + // this.bPAUSE = !this.bPAUSE; + // if( this.bPAUSE ) + // { + // CDTXMania.Timer.t一時停止(); + // CDTXMania.DTX.t全チップの再生一時停止(); + // } + // else + // { + // CDTXMania.Timer.t再開(); + // CDTXMania.DTX.t全チップの再生再開(); + // } + // } + // if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + // { + // this.t入力処理・ドラム(); + // this.t入力処理・ギター(); + // this.t入力処理・ベース(); + // if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) + // { // shift + UpArrow (BGMAdjust) + // CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 ); + // CDTXMania.DTX.tWave再生位置自動補正(); + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) + // { // shift + DownArrow (BGMAdjust) + // CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 ); + // CDTXMania.DTX.tWave再生位置自動補正(); + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) ) + // { // UpArrow(scrollspeed up) + // CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 ); + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) ) + // { // DownArrow (scrollspeed down) + // CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 ); + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) ) + // { // del (debug info) + // CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する; + // } + // else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.LeftArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + // { + // ChangeInputAdjustTimeInPlaying( keyboard, -1 ); + // } + // else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + // { + // ChangeInputAdjustTimeInPlaying( keyboard, +1 ); + // } + // else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) ) + // { // escape (exit) + // this.actFO.tフェードアウト開始(); + // base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; + // this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断; + // } + // } + //} + + protected override void ドラムスクロール速度アップ() { - IInputDevice keyboard = CDTXMania.Input管理.Keyboard; - if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) && - ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) ) - { // shift+f1 (pause) - this.bPAUSE = !this.bPAUSE; - if( this.bPAUSE ) - { - CDTXMania.Timer.t一時停止(); - CDTXMania.DTX.t全チップの再生一時停止(); - } - else - { - CDTXMania.Timer.t再開(); - CDTXMania.DTX.t全チップの再生再開(); - } - } - if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) - { - this.t入力処理・ドラム(); - this.t入力処理・ギター(); - this.t入力処理・ベース(); - if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) - { // shift + UpArrow (BGMAdjust) - CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 ); - CDTXMania.DTX.tWave再生位置自動補正(); - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) ) - { // shift + DownArrow (BGMAdjust) - CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 ); - CDTXMania.DTX.tWave再生位置自動補正(); - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) ) - { // UpArrow(scrollspeed up) - CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 ); - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) ) - { // DownArrow (scrollspeed down) - CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 ); - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) ) - { // del (debug info) - CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する; - } - else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.LeftArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. - { - ChangeInputAdjustTimeInPlaying( keyboard, -1 ); - } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. - { - ChangeInputAdjustTimeInPlaying( keyboard, +1 ); - } - else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) ) - { // escape (exit) - this.actFO.tフェードアウト開始(); - base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断; - } - } + CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 ); } - private void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + protected override void ドラムスクロール速度ダウン() { - int part, offset = plusminus; - if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) ) // Guitar InputAdjustTime - { - part = (int) E楽器パート.GUITAR; - } - else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) ) // Bass InputAdjustTime - { - part = (int) E楽器パート.BASS; - } - else // Drums InputAdjustTime - { - part = (int) E楽器パート.DRUMS; - } - if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) - { - offset *= 10; - } - - this.nInputAdjustTimeMs[ part ] += offset; - if ( this.nInputAdjustTimeMs[ part ] > 0 ) - { - this.nInputAdjustTimeMs[ part ] = 0; - } - else if ( this.nInputAdjustTimeMs[ part ] < -99 ) - { - this.nInputAdjustTimeMs[ part ] = -99; - } - CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ]; + CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 ); } + + private void t進行描画・AVI() { if( ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bAVI有効 ) ) @@ -1553,7 +1526,7 @@ namespace DTXMania } private void t進行描画・DANGER() { - this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値 < 0.3 ); + this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3 ); } private void t進行描画・MIDIBGM() { @@ -2633,34 +2606,34 @@ namespace DTXMania this.actPanel.t進行描画( 0x150, 0x1ab ); } } - private bool t進行描画・フェードイン・アウト() - { - switch( base.eフェーズID ) - { - case CStage.Eフェーズ.共通_フェードイン: - if( this.actFI.On進行描画() != 0 ) - { - base.eフェーズID = CStage.Eフェーズ.共通_通常状態; - } - break; - - case CStage.Eフェーズ.共通_フェードアウト: - case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト: - if( this.actFO.On進行描画() != 0 ) - { - return true; - } - break; - - case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト: - if( this.actFOClear.On進行描画() == 0 ) - { - break; - } - return true; - } - return false; - } + //private bool t進行描画・フェードイン・アウト() + //{ + // switch( base.eフェーズID ) + // { + // case CStage.Eフェーズ.共通_フェードイン: + // if( this.actFI.On進行描画() != 0 ) + // { + // base.eフェーズID = CStage.Eフェーズ.共通_通常状態; + // } + // break; + + // case CStage.Eフェーズ.共通_フェードアウト: + // case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト: + // if( this.actFO.On進行描画() != 0 ) + // { + // return true; + // } + // break; + + // case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト: + // if( this.actFOClear.On進行描画() == 0 ) + // { + // break; + // } + // return true; + // } + // return false; + //} private void t進行描画・レーンフラッシュD() { if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) ) @@ -2728,26 +2701,26 @@ namespace DTXMania { this.act譜面スクロール速度.On進行描画(); } - private void t入力メソッド記憶( E楽器パート part ) - { - if( CDTXMania.Pad.st検知したデバイス.Keyboard ) - { - this.b演奏にキーボードを使った[ (int) part ] = true; - } - if( CDTXMania.Pad.st検知したデバイス.Joypad ) - { - this.b演奏にジョイパッドを使った[ (int) part ] = true; - } - if( CDTXMania.Pad.st検知したデバイス.MIDIIN ) - { - this.b演奏にMIDI入力を使った[ (int) part ] = true; - } - if( CDTXMania.Pad.st検知したデバイス.Mouse ) - { - this.b演奏にマウスを使った[ (int) part ] = true; - } - } - private void t入力処理・ギター() + //private void t入力メソッド記憶( E楽器パート part ) + //{ + // if( CDTXMania.Pad.st検知したデバイス.Keyboard ) + // { + // this.b演奏にキーボードを使った[ (int) part ] = true; + // } + // if( CDTXMania.Pad.st検知したデバイス.Joypad ) + // { + // this.b演奏にジョイパッドを使った[ (int) part ] = true; + // } + // if( CDTXMania.Pad.st検知したデバイス.MIDIIN ) + // { + // this.b演奏にMIDI入力を使った[ (int) part ] = true; + // } + // if( CDTXMania.Pad.st検知したデバイス.Mouse ) + // { + // this.b演奏にマウスを使った[ (int) part ] = true; + // } + //} + protected override void t入力処理・ギター() { if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) ) { @@ -2882,7 +2855,7 @@ namespace DTXMania } } } - private void t入力処理・ドラム() + protected override void t入力処理・ドラム() { for( int nPad = 0; nPad < 10; nPad++ ) { @@ -4093,7 +4066,7 @@ namespace DTXMania } } } - private void t入力処理・ベース() + protected override void t入力処理・ベース() { if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) ) { @@ -4315,98 +4288,98 @@ namespace DTXMania } -#if true // DAMAGELEVELTUNING - // ---------------------------------- - public float[,] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors - // drums, guitar, bass - { 0.004f, 0.006f, 0.006f }, - { 0.002f, 0.003f, 0.003f }, - { 0.000f, 0.000f, 0.000f }, - { -0.020f, -0.030f, -0.030f }, - { -0.050f, -0.050f, -0.050f } - }; - public float[] fDamageLevelFactor = { - 0.5f, 1.0f, 1.5f - }; - // ---------------------------------- -#endif - - private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 ) - { - double fDamage; - -#if true // DAMAGELEVELTUNING - switch (e今回の判定) - { - case E判定.Perfect: - case E判定.Great: - case E判定.Good: - case E判定.Poor: - fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; - break; - case E判定.Miss: - fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; - switch (CDTXMania.ConfigIni.eダメージレベル) - { - case Eダメージレベル.少ない: - case Eダメージレベル.普通: - case Eダメージレベル.大きい: - fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル]; - break; - } - break; - - default: - fDamage = 0.0f; - break; - } -#else // before applying #23625 modifications - switch (e今回の判定) - { - case E判定.Perfect: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; - break; - - case E判定.Great: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; - break; - - case E判定.Good: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; - break; - - case E判定.Poor: - fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; - break; - - case E判定.Miss: - fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; - switch( CDTXMania.ConfigIni.eダメージレベル ) - { - case Eダメージレベル.少ない: - fDamage *= 0.6; - break; - - case Eダメージレベル.普通: - fDamage *= 1.0; - break; - - case Eダメージレベル.大きい: - fDamage *= 1.6; - break; - } - break; - - default: - fDamage = 0.0; - break; - } -#endif - this.actGauge.db現在のゲージ値 += fDamage; - - if( this.actGauge.db現在のゲージ値 > 1.0 ) - this.actGauge.db現在のゲージ値 = 1.0; - } +//#if true // DAMAGELEVELTUNING +// // ---------------------------------- +// public float[,] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors +// // drums, guitar, bass +// { 0.004f, 0.006f, 0.006f }, +// { 0.002f, 0.003f, 0.003f }, +// { 0.000f, 0.000f, 0.000f }, +// { -0.020f, -0.030f, -0.030f }, +// { -0.050f, -0.050f, -0.050f } +// }; +// public float[] fDamageLevelFactor = { +// 0.5f, 1.0f, 1.5f +// }; +// // ---------------------------------- +//#endif + +// private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 ) +// { +// double fDamage; + +//#if true // DAMAGELEVELTUNING +// switch (e今回の判定) +// { +// case E判定.Perfect: +// case E判定.Great: +// case E判定.Good: +// case E判定.Poor: +// fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; +// break; +// case E判定.Miss: +// fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; +// switch (CDTXMania.ConfigIni.eダメージレベル) +// { +// case Eダメージレベル.少ない: +// case Eダメージレベル.普通: +// case Eダメージレベル.大きい: +// fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル]; +// break; +// } +// break; + +// default: +// fDamage = 0.0f; +// break; +// } +//#else // before applying #23625 modifications +// switch (e今回の判定) +// { +// case E判定.Perfect: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; +// break; + +// case E判定.Great: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; +// break; + +// case E判定.Good: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; +// break; + +// case E判定.Poor: +// fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; +// break; + +// case E判定.Miss: +// fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; +// switch( CDTXMania.ConfigIni.eダメージレベル ) +// { +// case Eダメージレベル.少ない: +// fDamage *= 0.6; +// break; + +// case Eダメージレベル.普通: +// fDamage *= 1.0; +// break; + +// case Eダメージレベル.大きい: +// fDamage *= 1.6; +// break; +// } +// break; + +// default: +// fDamage = 0.0; +// break; +// } +//#endif +// this.actGauge.db現在のゲージ値 += fDamage; + +// if( this.actGauge.db現在のゲージ値 > 1.0 ) +// this.actGauge.db現在のゲージ値 = 1.0; +// } //----------------- #endregion } -- 2.11.0