Drums.nMiss数_Auto含まない = this.nヒット数_Auto含まない.Drums.Miss;\r
Drums.n最大コンボ数 = this.actCombo.dgbコンボ数.Drums.n最高値;\r
Drums.n全チップ数 = CDTXMania.Instance.DTX.n可視チップ数.Drums;\r
- for (EPad i = EPad.Min; i < EPad.Max; i++)\r
+ for ( EPad i = EPad.Min; i < EPad.BassPadMax; i++ )\r
{\r
Drums.bAutoPlay[i] = CDTXMania.Instance.ConfigIni.bAutoPlay[i];\r
}\r
Drums.eDark = CDTXMania.Instance.ConfigIni.eDark;\r
Drums.n演奏速度分子 = CDTXMania.Instance.ConfigIni.nPlaySpeed;\r
Drums.n演奏速度分母 = 20;\r
+ Drums.e譜面レーンタイプ.Drums = CDTXMania.Instance.DTX.n使用レーン数.Drums;\r
+ Drums.e譜面レーンタイプ.Guitar= CDTXMania.Instance.DTX.n使用レーン数.Guitar;\r
+ Drums.e譜面レーンタイプ.Bass = CDTXMania.Instance.DTX.n使用レーン数.Bass;\r
Drums.eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup.Value;\r
Drums.eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup.Value;\r
Drums.eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup.Value;\r
Drums.bDrums有効 = CDTXMania.Instance.ConfigIni.bDrums有効;\r
Drums.bSTAGEFAILED有効 = CDTXMania.Instance.ConfigIni.bStageFailed;\r
Drums.eダメージレベル = CDTXMania.Instance.ConfigIni.eDamageLevel;\r
+ Drums.eMetronome = CDTXMania.Instance.ConfigIni.eClickType;\r
Drums.b演奏にキーボードを使用した = this.b演奏にキーボードを使った.Drums;\r
Drums.b演奏にMIDI入力を使用した = this.b演奏にMIDI入力を使った.Drums;\r
Drums.b演奏にジョイパッドを使用した = this.b演奏にジョイパッドを使った.Drums;\r
Guitar.nMiss数_Auto含まない = this.nヒット数_Auto含まない.Guitar.Miss;\r
Guitar.n最大コンボ数 = this.actCombo.dgbコンボ数.Guitar.n最高値;\r
Guitar.n全チップ数 = CDTXMania.Instance.DTX.n可視チップ数.Guitar;\r
- for (EPad i = EPad.Min; i < EPad.Max; i++)\r
+ for (EPad i = EPad.Min; i < EPad.BassPadMax; i++)\r
{\r
Guitar.bAutoPlay[i] = CDTXMania.Instance.ConfigIni.bAutoPlay[i];\r
}\r
Guitar.eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup;\r
Guitar.eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup;\r
Guitar.eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup;\r
+ Guitar.e譜面レーンタイプ.Drums = CDTXMania.Instance.DTX.n使用レーン数.Drums;\r
+ Guitar.e譜面レーンタイプ.Guitar = CDTXMania.Instance.DTX.n使用レーン数.Guitar;\r
+ Guitar.e譜面レーンタイプ.Bass = CDTXMania.Instance.DTX.n使用レーン数.Bass;\r
Guitar.eHitSoundPriorityHH = CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH;\r
Guitar.eHitSoundPriorityFT = CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT;\r
Guitar.eHitSoundPriorityCY = CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY;\r
Guitar.bDrums有効 = CDTXMania.Instance.ConfigIni.bDrums有効;\r
Guitar.bSTAGEFAILED有効 = CDTXMania.Instance.ConfigIni.bStageFailed;\r
Guitar.eダメージレベル = CDTXMania.Instance.ConfigIni.eDamageLevel;\r
+ Guitar.eMetronome = CDTXMania.Instance.ConfigIni.eClickType;\r
Guitar.b演奏にキーボードを使用した = this.b演奏にキーボードを使った.Guitar;\r
Guitar.b演奏にMIDI入力を使用した = this.b演奏にMIDI入力を使った.Guitar;\r
Guitar.b演奏にジョイパッドを使用した = this.b演奏にジョイパッドを使った.Guitar;\r
Bass.nMiss数_Auto含まない = this.nヒット数_Auto含まない.Bass.Miss;\r
Bass.n最大コンボ数 = this.actCombo.dgbコンボ数.Bass.n最高値;\r
Bass.n全チップ数 = CDTXMania.Instance.DTX.n可視チップ数.Bass;\r
- for (EPad i = EPad.Min; i < EPad.Max; i++)\r
+ for (EPad i = EPad.Min; i < EPad.BassPadMax; i++)\r
{\r
Bass.bAutoPlay[i] = CDTXMania.Instance.ConfigIni.bAutoPlay[i];\r
}\r
Bass.eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup;\r
Bass.eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup;\r
Bass.eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup;\r
+ Bass.e譜面レーンタイプ.Drums = CDTXMania.Instance.DTX.n使用レーン数.Drums;\r
+ Bass.e譜面レーンタイプ.Guitar = CDTXMania.Instance.DTX.n使用レーン数.Guitar;\r
+ Bass.e譜面レーンタイプ.Bass = CDTXMania.Instance.DTX.n使用レーン数.Bass;\r
Bass.eHitSoundPriorityHH = CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH;\r
Bass.eHitSoundPriorityFT = CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT;\r
Bass.eHitSoundPriorityCY = CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY;\r
Bass.bSTAGEFAILED有効 = CDTXMania.Instance.ConfigIni.bStageFailed;\r
Bass.eダメージレベル = CDTXMania.Instance.ConfigIni.eDamageLevel;\r
// #24280 2011.1.29 yyagi\r
+ Bass.eMetronome = CDTXMania.Instance.ConfigIni.eClickType;\r
Bass.b演奏にキーボードを使用した = this.b演奏にキーボードを使った.Bass;\r
Bass.b演奏にMIDI入力を使用した = this.b演奏にMIDI入力を使った.Bass;\r
Bass.b演奏にジョイパッドを使用した = this.b演奏にジョイパッドを使った.Bass;\r
}\r
\r
cInvisibleChip.Reset();\r
- string strLabel = CDTXMania.Instance.stage選曲.r確定された曲.ar難易度ラベル[CDTXMania.Instance.stage選曲.n確定された曲の難易度];\r
- string strPanel = CDTXMania.Instance.DTX.TITLE;\r
- if (!string.IsNullOrWhiteSpace(strLabel))\r
- {\r
- strPanel += "(" + strLabel + ")";\r
- }\r
- this.actPanel.SetPanelString(strPanel);\r
actGauge.Init(CDTXMania.Instance.ConfigIni.nRisky);\r
// 効果音のストリームをミキサーから解除しておく\r
CDTXMania.Instance.Skin.tRemoveMixerAll();\r
if (CDTXMania.Instance.DTX.listWAV.ContainsKey(pChip.n整数値_内部番号))\r
{\r
CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.n整数値_内部番号];\r
- for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPoliphonicSounds; i++)\r
+ for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)\r
{\r
if (wc.rSound[i] != null)\r
{\r
}\r
\r
base.On活性化();\r
+\r
+ // PANELの設定は、base.On活性化()の後に(actPanelの活性化の後)行うこと。\r
+ // さもないと、actPanelが活性化されていないため、パネル文字列の設定が機能しなくなる。\r
+ string strLabel = (CDTXMania.Instance.stage選曲.r確定された曲 == null)?\r
+ null : CDTXMania.Instance.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.Instance.stage選曲.n確定された曲の難易度 ];\r
+ string strPanel = CDTXMania.Instance.DTX.TITLE;\r
+ //string strSETDEFlabel = CDTXMania.Instance.stage選曲.r確定された曲.strタイトル;\r
+ if ( !string.IsNullOrWhiteSpace( strLabel ) && !strPanel.ToLower().Contains(strLabel.ToLower() )\r
+ // && (strPanel == strSETDEFlabel)\r
+ )\r
+ {\r
+ strPanel += " (" + strLabel + ")";\r
+ }\r
+ this.actPanel.SetPanelString( strPanel );\r
}\r
}\r
public override void On非活性化()\r
CDTXMania.Instance.Timer.tリセット();\r
if (CDTXMania.Instance.ConfigIni.bDrums有効)\r
{\r
- ctチップ模様アニメ.Drums = new CCounter(0, 0x30, 10, CDTXMania.Instance.Timer);\r
+ ctチップ模様アニメ.Drums = new CCounter(0, 48, 10, CDTXMania.Instance.Timer);\r
}\r
if (CDTXMania.Instance.ConfigIni.bGuitar有効)\r
{\r
- ctチップ模様アニメ.Guitar = new CCounter(0, 0x17, 20, CDTXMania.Instance.Timer);\r
- ctチップ模様アニメ.Bass = new CCounter(0, 0x17, 20, CDTXMania.Instance.Timer);\r
+ ctチップ模様アニメ.Guitar = new CCounter(0, 48, 20, CDTXMania.Instance.Timer);\r
+ ctチップ模様アニメ.Bass = new CCounter(0, 48, 20, CDTXMania.Instance.Timer);\r
ctWailingチップ模様アニメ = new CCounter(0, 4, 50, CDTXMania.Instance.Timer);\r
}\r
\r
//Debug.WriteLine( "☆queueLength=" + queueMixerSound.Count );\r
DateTime dtnow = DateTime.Now;\r
TimeSpan ts = dtnow - dtLastQueueOperation;\r
- if (ts.Milliseconds > 7)\r
+ int nInterval = ( CDTXMania.Instance.ConfigIni.bVSyncWait ) ? 7 : 1;\r
+ int nMaxDequeueCount = ( CDTXMania.Instance.ConfigIni.bVSyncWait ) ? 2 : 1;\r
+ if (ts.Milliseconds > nInterval)\r
{\r
- for (int i = 0; i < 2 && queueMixerSound.Count > 0; i++)\r
+ for (int i = 0; i < nMaxDequeueCount && queueMixerSound.Count > 0; i++)\r
{\r
dtLastQueueOperation = dtnow;\r
STMixer stm = queueMixerSound.Dequeue();\r
EFTGroup eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup;\r
ECYGroup eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup;\r
\r
- if (!CDTXMania.Instance.DTX.bチップがある.Ride && (eCYGroup == ECYGroup.None))\r
+ if (!CDTXMania.Instance.DTX.bチップがある.Ride && (eCYGroup == ECYGroup.Off))\r
{\r
eCYGroup = ECYGroup.Group;\r
}\r
- if (!CDTXMania.Instance.DTX.bチップがある.HHOpen && (eHHGroup == EHHGroup.None))\r
+ if (!CDTXMania.Instance.DTX.bチップがある.HHOpen && (eHHGroup == EHHGroup.Off))\r
{\r
eHHGroup = EHHGroup.LC_HH;\r
}\r
{\r
eHHGroup = EHHGroup.Group;\r
}\r
- if (!CDTXMania.Instance.DTX.bチップがある.LeftCymbal && (eHHGroup == EHHGroup.None))\r
+ if (!CDTXMania.Instance.DTX.bチップがある.LeftCymbal && (eHHGroup == EHHGroup.Off))\r
{\r
eHHGroup = EHHGroup.HO_HC;\r
}\r
EJudge e判定FT = (chipFT != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipFT, nInputAdjustTime) : EJudge.Miss;\r
switch (eFTGroup)\r
{\r
- case EFTGroup.None:\r
+ case EFTGroup.Off:\r
#region [ LTのヒット処理 ]\r
//-----------------------------\r
if (e判定LT != EJudge.Miss)\r
EJudge e判定FT = (chipFT != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipFT, nInputAdjustTime) : EJudge.Miss;\r
switch (eFTGroup)\r
{\r
- case EFTGroup.None:\r
+ case EFTGroup.Off:\r
#region [ FTのヒット処理 ]\r
//-----------------------------\r
if (e判定FT != EJudge.Miss)\r
SortChipsByNTime(chipArray, e判定Array, NumOfChips);\r
switch (eCYGroup)\r
{\r
- case ECYGroup.None:\r
+ case ECYGroup.Off:\r
if (!CDTXMania.Instance.ConfigIni.bCymbalFree)\r
{\r
if (e判定CY != EJudge.Miss)\r
EJudge e判定LC = (chipLC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLC, nInputAdjustTime) : EJudge.Miss;\r
switch (eHHGroup)\r
{\r
- case EHHGroup.None:\r
+ case EHHGroup.Off:\r
if (e判定HO != EJudge.Miss)\r
{\r
this.tドラムヒット処理(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);\r
SortChipsByNTime(chipArray, e判定Array, NumOfChips);\r
switch (eCYGroup)\r
{\r
- case ECYGroup.None:\r
+ case ECYGroup.Off:\r
if (e判定RD != EJudge.Miss)\r
{\r
this.tドラムヒット処理(nTime, EPad.RD, chipRD, inputEvent.nVelocity);\r
SortChipsByNTime(chipArray, e判定Array, NumOfChips);\r
switch (eHHGroup)\r
{\r
- case EHHGroup.None:\r
+ case EHHGroup.Off:\r
case EHHGroup.LC_HH:\r
if (!CDTXMania.Instance.ConfigIni.bCymbalFree)\r
{\r
{\r
CChip chipLT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.LowTom, nInputAdjustTime);\r
CChip chipFT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.FloorTom, nInputAdjustTime);\r
- if (CDTXMania.Instance.ConfigIni.eFTGroup != EFTGroup.None)\r
+ if (CDTXMania.Instance.ConfigIni.eFTGroup != EFTGroup.Off)\r
rChip = (chipLT != null) ? chipLT : chipFT;\r
else\r
rChip = chipLT;\r
{\r
CChip chipLT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.LowTom, nInputAdjustTime);\r
CChip chipFT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.FloorTom, nInputAdjustTime);\r
- if (CDTXMania.Instance.ConfigIni.eFTGroup != EFTGroup.None)\r
+ if (CDTXMania.Instance.ConfigIni.eFTGroup != EFTGroup.Off)\r
rChip = (chipFT != null) ? chipFT : chipLT;\r
else\r
rChip = chipFT;\r
{\r
CChip chipCY = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.Cymbal, nInputAdjustTime);\r
CChip chipRD = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.RideCymbal, nInputAdjustTime);\r
- if (CDTXMania.Instance.ConfigIni.eCYGroup != ECYGroup.None)\r
+ if (CDTXMania.Instance.ConfigIni.eCYGroup != ECYGroup.Off)\r
rChip = (chipCY != null) ? chipCY : chipRD;\r
else\r
rChip = chipCY;\r
CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.LeftCymbal, nInputAdjustTime);\r
switch (CDTXMania.Instance.ConfigIni.eHHGroup.Value)\r
{\r
- case EHHGroup.None:\r
+ case EHHGroup.Off:\r
rChip = chipHO;\r
break;\r
\r
{\r
CChip chipCY = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.Cymbal, nInputAdjustTime);\r
CChip chipRD = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.RideCymbal, nInputAdjustTime);\r
- if (CDTXMania.Instance.ConfigIni.eCYGroup != ECYGroup.None)\r
+ if (CDTXMania.Instance.ConfigIni.eCYGroup != ECYGroup.Off)\r
rChip = (chipRD != null) ? chipRD : chipCY;\r
else\r
rChip = chipRD;\r
CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, EChannel.LeftCymbal, nInputAdjustTime);\r
switch (CDTXMania.Instance.ConfigIni.eHHGroup.Value)\r
{\r
- case EHHGroup.None:\r
+ case EHHGroup.Off:\r
case EHHGroup.LC_HH:\r
rChip = chipLC;\r
break;\r
CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.n整数値_内部番号];\r
//Debug.Write( "[AddMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms );\r
\r
- for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPoliphonicSounds; i++)\r
+ for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)\r
{\r
if (wc.rSound[i] != null)\r
{\r
{\r
CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.n整数値_内部番号];\r
//Debug.Write( "[DelMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms );\r
- for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPoliphonicSounds; i++)\r
+ for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)\r
{\r
if (wc.rSound[i] != null)\r
{\r
}\r
}\r
}\r
- else if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0))\r
+ else if ( pChip[ EChannel.Click ] && !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( CDTXMania.Instance.ConfigIni.eClickType != EClickType.Off )\r
+ {\r
+ switch (pChip.n整数値)\r
+ {\r
+ case 1:\r
+ CDTXMania.Instance.Skin.soundClickHigh.t再生する();\r
+ break;\r
+ case 2:\r
+ CDTXMania.Instance.Skin.soundClickLow.t再生する();\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ else if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
{\r
// other chips\r
pChip.bHit = true;\r