X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=DTXMania%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%2F%E3%82%B3%E3%83%BC%E3%83%89%2F%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%2F07.%E6%BC%94%E5%A5%8F%2FCStage%E6%BC%94%E5%A5%8F%E7%94%BB%E9%9D%A2%E5%85%B1%E9%80%9A.cs;h=d4441fb5aabcf356a65d22a65f045d9f40452afc;hb=9bab23c402bc81b44e1142335f592d916e8e1301;hp=3b3fb7e62af031b32e0ae45a48f23ef98ca81f5c;hpb=d99376ecd38ee6a0f53a4b2ac80630df934350df;p=dtxmania%2Fdtxmania.git
diff --git a/DTXManiaããã¸ã§ã¯ã/ã³ã¼ã/ã¹ãã¼ã¸/07.æ¼å¥/CStageæ¼å¥ç»é¢å
±é.cs b/DTXManiaããã¸ã§ã¯ã/ã³ã¼ã/ã¹ãã¼ã¸/07.æ¼å¥/CStageæ¼å¥ç»é¢å
±é.cs
index 3b3fb7e6..d4441fb5 100644
--- a/DTXManiaããã¸ã§ã¯ã/ã³ã¼ã/ã¹ãã¼ã¸/07.æ¼å¥/CStageæ¼å¥ç»é¢å
±é.cs
+++ b/DTXManiaããã¸ã§ã¯ã/ã³ã¼ã/ã¹ãã¼ã¸/07.æ¼å¥/CStageæ¼å¥ç»é¢å
±é.cs
@@ -17,844 +17,987 @@ namespace DTXMania
///
/// æ¼å¥ç»é¢ã®å
±éã¯ã©ã¹ (ãã©ã æ¼å¥ç»é¢, ã®ã¿ã¼æ¼å¥ç»é¢ã®ç¶æ¿å
)
///
- internal abstract class CStageæ¼å¥ç»é¢å
±é : CStage
+ internal partial class CStageæ¼å¥ç»é¢å
±é : CStage
{
- // ããããã£
-
- public bool bAUTOã§ãªãããããï¼ã¤ã§ããã¼ãééãã // 誰ãåç
§ãã¦ããªãï¼ï¼
- {
- get;
- protected set;
- }
-
- // ã¡ã½ãã
+ #region [Member_Activities]
+ CActæ¼å¥AVI actAVI;
+ CActæ¼å¥BGA actBGA;
+ CActæ¼å¥ããããã¡ã¤ã¢GB actChipFireGB;
+ CActæ¼å¥Comboå
±é actCombo;
+ CActæ¼å¥Dangerå
±é actDANGER;
+ CActFIFOBlack actFI;
+ CActFIFOBlack actFO;
+ CActFIFOWhite actFOClear;
+ CActæ¼å¥ã²ã¼ã¸å
±é actGauge;
+ CActæ¼å¥å¤å®æååå
±é actJudgeString;
+ CActæ¼å¥Drumsã¬ã¼ã³ãã©ãã·ã¥D actLaneFlushD;
+ CActæ¼å¥ã¬ã¼ã³ãã©ãã·ã¥GBå
±é actLaneFlushGB;
+ CActãªãã·ã§ã³ããã« actOptionPanel;
+ CActæ¼å¥ããã«æåå actPanel;
+ CActæ¼å¥æ¼å¥æ
å ± actPlayInfo;
+ CActæ¼å¥RGBå
±é actRGB;
+ CActæ¼å¥ã¹ã³ã¢å
±é actScore;
+ CActæ¼å¥ã¹ãã¼ã¸å¤±æ actStageFailed;
+ CActæ¼å¥WailingBonuså
±é actWailingBonus;
+ CActæ¼å¥ã¹ã¯ãã¼ã«é度 actèé¢ã¹ã¯ãã¼ã«é度;
+ CActæ¼å¥Drumsããããã¡ã¤ã¢D actChipFireD;
+ // #24074 2011.01.23 add ikanick
+ CActæ¼å¥ã°ã©ã actGraph;
+ CActæ¼å¥Drumsããã actPad;
+ CActæ¼å¥Lane actLane;
+ #endregion
- #region [ tæ¼å¥çµæãæ ¼ç´ããã»ãã©ã () ]
- public void tæ¼å¥çµæãæ ¼ç´ããã»ãã©ã ( out CScoreIni.Cæ¼å¥è¨é² Drums )
- {
- Drums = new CScoreIni.Cæ¼å¥è¨é²();
-
- if ( CDTXMania.DTX.bãããããã.Drums && !CDTXMania.ConfigIni.bã®ã¿ã¬ãã¢ã¼ã )
- {
- Drums.nã¹ã³ã¢ = (long) this.actScore.Get( E楽å¨ãã¼ã.DRUMS );
- Drums.dbã²ã¼ã åã¹ãã«å¤ = CScoreIni.tã²ã¼ã åã¹ãã«ãè¨ç®ãã¦è¿ã( CDTXMania.DTX.LEVEL.Drums, CDTXMania.DTX.nå¯è¦ãããæ°.Drums, this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Perfect, this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Drumsæé«å¤, E楽å¨ãã¼ã.DRUMS, bIsAutoPlay );
- Drums.dbæ¼å¥åã¹ãã«å¤ = CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã( CDTXMania.DTX.nå¯è¦ãããæ°.Drums, this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Perfect, this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Great, this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Good, this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Poor, this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Miss, E楽å¨ãã¼ã.DRUMS, bIsAutoPlay );
- Drums.nPerfectæ° = CDTXMania.ConfigIni.bãã©ã ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Drums.Perfect : this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Perfect;
- Drums.nGreatæ° = CDTXMania.ConfigIni.bãã©ã ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Drums.Great : this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Great;
- Drums.nGoodæ° = CDTXMania.ConfigIni.bãã©ã ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Drums.Good : this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Good;
- Drums.nPooræ° = CDTXMania.ConfigIni.bãã©ã ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Drums.Poor : this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Poor;
- Drums.nMissæ° = CDTXMania.ConfigIni.bãã©ã ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Drums.Miss : this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Miss;
- Drums.nPerfectæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Perfect;
- Drums.nGreatæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Great;
- Drums.nGoodæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Good;
- Drums.nPooræ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Poor;
- Drums.nMissæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Miss;
- Drums.næ大ã³ã³ãæ° = this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Drumsæé«å¤;
- Drums.nå
¨ãããæ° = CDTXMania.DTX.nå¯è¦ãããæ°.Drums;
- for ( int i = 0; i < (int) Eã¬ã¼ã³.MAX; i++ )
- {
- Drums.bAutoPlay[ i ] = bIsAutoPlay[ i ];
- }
- Drums.bTight = CDTXMania.ConfigIni.bTight;
- for ( int i = 0; i < 3; i++ )
- {
- Drums.bSudden[ i ] = CDTXMania.ConfigIni.bSudden[ i ];
- Drums.bHidden[ i ] = CDTXMania.ConfigIni.bHidden[ i ];
- Drums.eInvisible[ i ] = CDTXMania.ConfigIni.eInvisible[ i ];
- Drums.bReverse[ i ] = CDTXMania.ConfigIni.bReverse[ i ];
- Drums.eRandom[ i ] = CDTXMania.ConfigIni.eRandom[ i ];
- Drums.bLight[ i ] = CDTXMania.ConfigIni.bLight[ i ];
- Drums.bLeft[ i ] = CDTXMania.ConfigIni.bLeft[ i ];
- Drums.fèé¢ã¹ã¯ãã¼ã«é度[ i ] = ( (float) ( CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[ i ] + 1 ) ) * 0.5f;
- }
- Drums.eDark = CDTXMania.ConfigIni.eDark;
- Drums.næ¼å¥é度åå = CDTXMania.ConfigIni.næ¼å¥é度;
+ bool bPAUSE;
+ STDGBSValue bæ¼å¥ã«MIDIå
¥åã使ã£ã;
+ STDGBSValue bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã;
+ STDGBSValue bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã;
+ STDGBSValue bæ¼å¥ã«ãã¦ã¹ã使ã£ã;
+
+ CCounter ctWailingããã模æ§ã¢ãã¡;
+ STDGBSValue ctããã模æ§ã¢ãã¡;
+
+ Eæ¼å¥ç»é¢ã®æ»ãå¤ eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤;
+
+ STDGBSValue nãããæ°_Autoå«ã¾ãªã;
+ STDGBSValue nãããæ°_Autoå«ã;
+ // #35411 2015.08.21 chnmr0 add
+ STDGBSValue nãããæ°_TargetGhost;
+ STDGBSValue nã³ã³ãæ°_TargetGhost;
+ STDGBSValue næ大ã³ã³ãæ°_TargetGhost;
+ int nç¾å¨ã®ãããChip = -1;
+ int[] næå¾ã«åçããBGMã®å®WAVçªå· = new int[50];
+ EChannel eæå¾ã«åçããHHã®ãã£ã³ãã«çªå·;
+ // #23921 2011.1.4 yyagi: change "int" to "List", for recording multiple wav No.
+ List Læå¾ã«åçããHHã®å®WAVçªå·;
+ // #26388 2011.11.8 yyagi: change "næå¾ã«åçããå®WAVçªå·.GUITAR" and "næå¾ã«åçããå®WAVçªå·.BASS"
+ STPadValue næå¾ã«åçããå®WAVçªå·;
+ // #24820 2013.1.21 yyagi ã¾ãã¯åç´ã«Add/Removeã1åã®ãã¥ã¼ã§ã¾ã¨ãã¦ç®¡çããããæ¹ã§è¨è¨ãã
+ volatile Queue queueMixerSound;
+ DateTime dtLastQueueOperation;
+ bool bIsDirectSound;
+ double dbåçé度;
+ bool bValidScore;
+ bool bãã£ã«ã¤ã³ä¸; // drums only
+
+ STDGBSValue> queWailing;
+ STDGBSValue rç¾å¨ã®æ声Chip;
+ STPadValue r空æã¡ãã©ã ããã = new STPadValue();
+ CChip rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip;
+ ST空æã¡ rç¾å¨ã®ç©ºãã¡ãã©ã Chip;
+ CChip rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip;
+ CChip r次ã«ããã®ã¿ã¼Chip;
+ CChip r次ã«ãããã¼ã¹Chip;
+
+ CTexture txWailingæ ;
+ CTexture txããã;
+ CTexture txãããGB;
+ CTexture txããããã¼;
+ CTexture txããããã¼GB;
+ CTexture txèæ¯;
+
+ CInvisibleChip cInvisibleChip;
+ CWailingChipå
±é[] cWailingChip;
+
+ STDGBSValue record;
+
+ public CStageæ¼å¥ç»é¢å
±é()
+ {
+ base.eã¹ãã¼ã¸ID = CStage.Eã¹ãã¼ã¸.æ¼å¥;
+ base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.å
±é_é常ç¶æ
;
+ base.bæ´»æ§åãã¦ãªã = true;
+ base.liståActivities.Add(this.actPad = new CActæ¼å¥Drumsããã());
+ base.liståActivities.Add(this.actChipFireD = new CActæ¼å¥Drumsããããã¡ã¤ã¢D());
+ base.liståActivities.Add(this.actChipFireGB = new CActæ¼å¥ããããã¡ã¤ã¢GB());
+ base.liståActivities.Add(this.actStageFailed = new CActæ¼å¥ã¹ãã¼ã¸å¤±æ());
+ base.liståActivities.Add(this.actDANGER = new CActæ¼å¥Dangerå
±é());
+ base.liståActivities.Add(this.actAVI = new CActæ¼å¥AVI());
+ base.liståActivities.Add(this.actBGA = new CActæ¼å¥BGA());
+ base.liståActivities.Add(this.actPanel = new CActæ¼å¥ããã«æåå());
+ base.liståActivities.Add(this.actèé¢ã¹ã¯ãã¼ã«é度 = new CActæ¼å¥ã¹ã¯ãã¼ã«é度());
+ base.liståActivities.Add(this.actWailingBonus = new CActæ¼å¥WailingBonuså
±é());
+ base.liståActivities.Add(this.actScore = new CActæ¼å¥ã¹ã³ã¢å
±é());
+ base.liståActivities.Add(this.actRGB = new CActæ¼å¥RGBå
±é());
+ base.liståActivities.Add(this.actLaneFlushD = new CActæ¼å¥Drumsã¬ã¼ã³ãã©ãã·ã¥D());
+ base.liståActivities.Add(this.actLaneFlushGB = new CActæ¼å¥ã¬ã¼ã³ãã©ãã·ã¥GBå
±é());
+ base.liståActivities.Add(this.actJudgeString = new CActæ¼å¥å¤å®æååå
±é());
+ base.liståActivities.Add(this.actGauge = new CActæ¼å¥ã²ã¼ã¸å
±é());
+ base.liståActivities.Add(this.actGraph = new CActæ¼å¥ã°ã©ã());
+ base.liståActivities.Add(this.actCombo = new CActæ¼å¥Comboå
±é());
+ base.liståActivities.Add(this.actPlayInfo = new CActæ¼å¥æ¼å¥æ
å ±());
+ base.liståActivities.Add(this.actFI = new CActFIFOBlack());
+ base.liståActivities.Add(this.actFO = new CActFIFOBlack());
+ base.liståActivities.Add(this.actFOClear = new CActFIFOWhite());
+ base.liståActivities.Add(this.actLane = new CActæ¼å¥Lane());
+ liståActivities.Add(actOptionPanel = new CActãªãã·ã§ã³ããã«(EOptionPanelDirection.Vertical));
+ }
+
+ #region [ PlayRecordSave ]
+ private void tæ¼å¥çµæãæ ¼ç´ãã_ãã©ã ()
+ {
+ record.Drums = new CScoreIni.Cæ¼å¥è¨é²();
+ CScoreIni.Cæ¼å¥è¨é² Drums = Record.Drums;
+ bool allauto = CDTXMania.Instance.ConfigIni.bIsAutoPlay(EPart.Drums);
+ if (CDTXMania.Instance.DTX.bãããããã.Drums && CDTXMania.Instance.ConfigIni.bDrumsæå¹)
+ {
+ Drums.nã¹ã³ã¢ = (long)this.actScore.Get(EPart.Drums);
+ Drums.dbã²ã¼ã åã¹ãã«å¤ = CScoreIni.tã²ã¼ã åã¹ãã«ãè¨ç®ãã¦è¿ã(CDTXMania.Instance.DTX.LEVEL.Drums, CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Drums, this.nãããæ°_Autoå«ã¾ãªã.Drums.Perfect,
+ this.actCombo.dgbã³ã³ãæ°.Drums.næé«å¤,
+ EPart.Drums);
+ Drums.dbæ¼å¥åã¹ãã«å¤ = CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã(CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Drums, this.nãããæ°_Autoå«ã¾ãªã.Drums.Perfect, this.nãããæ°_Autoå«ã¾ãªã.Drums.Great, this.nãããæ°_Autoå«ã¾ãªã.Drums.Good, this.nãããæ°_Autoå«ã¾ãªã.Drums.Poor, this.nãããæ°_Autoå«ã¾ãªã.Drums.Miss, EPart.Drums, true);
+ Drums.nPerfectæ° = allauto ? this.nãããæ°_Autoå«ã.Drums.Perfect : this.nãããæ°_Autoå«ã¾ãªã.Drums.Perfect;
+ Drums.nGreatæ° = allauto ? this.nãããæ°_Autoå«ã.Drums.Great : this.nãããæ°_Autoå«ã¾ãªã.Drums.Great;
+ Drums.nGoodæ° = allauto ? this.nãããæ°_Autoå«ã.Drums.Good : this.nãããæ°_Autoå«ã¾ãªã.Drums.Good;
+ Drums.nPooræ° = allauto ? this.nãããæ°_Autoå«ã.Drums.Poor : this.nãããæ°_Autoå«ã¾ãªã.Drums.Poor;
+ Drums.nMissæ° = allauto ? this.nãããæ°_Autoå«ã.Drums.Miss : this.nãããæ°_Autoå«ã¾ãªã.Drums.Miss;
+ Drums.nPerfectæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Drums.Perfect;
+ Drums.nGreatæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Drums.Great;
+ Drums.nGoodæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Drums.Good;
+ Drums.nPooræ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Drums.Poor;
+ Drums.nMissæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Drums.Miss;
+ Drums.næ大ã³ã³ãæ° = this.actCombo.dgbã³ã³ãæ°.Drums.næé«å¤;
+ Drums.nå
¨ãããæ° = CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Drums;
+ for (EPad i = EPad.Min; i < EPad.Max; i++)
+ {
+ Drums.bAutoPlay[i] = CDTXMania.Instance.ConfigIni.bAutoPlay[i];
+ }
+ Drums.bTight = CDTXMania.Instance.ConfigIni.bTight;
+ for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
+ {
+ Drums.eSudHidInv[i] = CDTXMania.Instance.ConfigIni.eSudHidInv[i];
+ Drums.bReverse[i] = CDTXMania.Instance.ConfigIni.bReverse[i];
+ Drums.eRandom[i] = CDTXMania.Instance.ConfigIni.eRandom[i];
+ Drums.bLight[i] = CDTXMania.Instance.ConfigIni.bLight[i];
+ Drums.fèé¢ã¹ã¯ãã¼ã«é度[i] = ((float)(CDTXMania.Instance.ConfigIni.nScrollSpeed[i] + 1)) * 0.5f;
+ }
+ Drums.eDark = CDTXMania.Instance.ConfigIni.eDark;
+ Drums.næ¼å¥é度åå = CDTXMania.Instance.ConfigIni.nPlaySpeed;
Drums.næ¼å¥é度åæ¯ = 20;
- Drums.eHHGroup = CDTXMania.ConfigIni.eHHGroup;
- Drums.eFTGroup = CDTXMania.ConfigIni.eFTGroup;
- Drums.eCYGroup = CDTXMania.ConfigIni.eCYGroup;
- Drums.eHitSoundPriorityHH = CDTXMania.ConfigIni.eHitSoundPriorityHH;
- Drums.eHitSoundPriorityFT = CDTXMania.ConfigIni.eHitSoundPriorityFT;
- Drums.eHitSoundPriorityCY = CDTXMania.ConfigIni.eHitSoundPriorityCY;
- Drums.bGuitaræå¹ = CDTXMania.ConfigIni.bGuitaræå¹;
- Drums.bDrumsæå¹ = CDTXMania.ConfigIni.bDrumsæå¹;
- Drums.bSTAGEFAILEDæå¹ = CDTXMania.ConfigIni.bSTAGEFAILEDæå¹;
- Drums.eãã¡ã¼ã¸ã¬ãã« = CDTXMania.ConfigIni.eãã¡ã¼ã¸ã¬ãã«;
+ Drums.eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup.Value;
+ Drums.eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup.Value;
+ Drums.eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup.Value;
+ Drums.eHitSoundPriorityHH = CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH.Value;
+ Drums.eHitSoundPriorityFT = CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT.Value;
+ Drums.eHitSoundPriorityCY = CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY.Value;
+ Drums.bGuitaræå¹ = CDTXMania.Instance.ConfigIni.bGuitaræå¹;
+ Drums.bDrumsæå¹ = CDTXMania.Instance.ConfigIni.bDrumsæå¹;
+ Drums.bSTAGEFAILEDæå¹ = CDTXMania.Instance.ConfigIni.bStageFailed;
+ Drums.eãã¡ã¼ã¸ã¬ãã« = CDTXMania.Instance.ConfigIni.eDamageLevel;
Drums.bæ¼å¥ã«ãã¼ãã¼ãã使ç¨ãã = this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã.Drums;
Drums.bæ¼å¥ã«MIDIå
¥åã使ç¨ãã = this.bæ¼å¥ã«MIDIå
¥åã使ã£ã.Drums;
Drums.bæ¼å¥ã«ã¸ã§ã¤ãããã使ç¨ãã = this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã.Drums;
Drums.bæ¼å¥ã«ãã¦ã¹ã使ç¨ãã = this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã.Drums;
- Drums.nPerfectã«ãªãç¯å²ms = CDTXMania.nPerfectç¯å²ms;
- Drums.nGreatã«ãªãç¯å²ms = CDTXMania.nGreatç¯å²ms;
- Drums.nGoodã«ãªãç¯å²ms = CDTXMania.nGoodç¯å²ms;
- Drums.nPoorã«ãªãç¯å²ms = CDTXMania.nPoorç¯å²ms;
+ Drums.nPerfectã«ãªãç¯å²ms = CDTXMania.Instance.nPerfectç¯å²ms;
+ Drums.nGreatã«ãªãç¯å²ms = CDTXMania.Instance.nGreatç¯å²ms;
+ Drums.nGoodã«ãªãç¯å²ms = CDTXMania.Instance.nGoodç¯å²ms;
+ Drums.nPoorã«ãªãç¯å²ms = CDTXMania.Instance.nPoorç¯å²ms;
Drums.strDTXManiaã®ãã¼ã¸ã§ã³ = CDTXMania.VERSION;
Drums.æçµæ´æ°æ¥æ = DateTime.Now.ToString();
- Drums.Hash = CScoreIni.tæ¼å¥ã»ã¯ã·ã§ã³ã®MD5ãæ±ãã¦è¿ã( Drums );
- }
- }
- #endregion
- #region [ tæ¼å¥çµæãæ ¼ç´ããã»ã®ã¿ã¼() ]
- public void tæ¼å¥çµæãæ ¼ç´ããã»ã®ã¿ã¼( out CScoreIni.Cæ¼å¥è¨é² Guitar )
- {
- Guitar = new CScoreIni.Cæ¼å¥è¨é²();
-
- if ( CDTXMania.DTX.bãããããã.Guitar )
- {
- Guitar.nã¹ã³ã¢ = (long) this.actScore.Get( E楽å¨ãã¼ã.GUITAR );
- Guitar.dbã²ã¼ã åã¹ãã«å¤ = CScoreIni.tã²ã¼ã åã¹ãã«ãè¨ç®ãã¦è¿ã( CDTXMania.DTX.LEVEL.Guitar, CDTXMania.DTX.nå¯è¦ãããæ°.Guitar, this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Perfect, this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Guitaræé«å¤, E楽å¨ãã¼ã.GUITAR, bIsAutoPlay );
- Guitar.dbæ¼å¥åã¹ãã«å¤ = CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã( CDTXMania.DTX.nå¯è¦ãããæ°.Guitar, this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Perfect, this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Great, this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Good, this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Poor, this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Miss, E楽å¨ãã¼ã.GUITAR, bIsAutoPlay );
- Guitar.nPerfectæ° = CDTXMania.ConfigIni.bã®ã¿ã¼ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Guitar.Perfect : this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Perfect;
- Guitar.nGreatæ° = CDTXMania.ConfigIni.bã®ã¿ã¼ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Guitar.Great : this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Great;
- Guitar.nGoodæ° = CDTXMania.ConfigIni.bã®ã¿ã¼ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Guitar.Good : this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Good;
- Guitar.nPooræ° = CDTXMania.ConfigIni.bã®ã¿ã¼ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Guitar.Poor : this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Poor;
- Guitar.nMissæ° = CDTXMania.ConfigIni.bã®ã¿ã¼ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Guitar.Miss : this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Miss;
- Guitar.nPerfectæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Perfect;
- Guitar.nGreatæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Great;
- Guitar.nGoodæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Good;
- Guitar.nPooræ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Poor;
- Guitar.nMissæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Guitar.Miss;
- Guitar.næ大ã³ã³ãæ° = this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Guitaræé«å¤;
- Guitar.nå
¨ãããæ° = CDTXMania.DTX.nå¯è¦ãããæ°.Guitar;
- for ( int i = 0; i < (int) Eã¬ã¼ã³.MAX; i++ )
- {
- Guitar.bAutoPlay[ i ] = bIsAutoPlay[ i ];
- }
- Guitar.bTight = CDTXMania.ConfigIni.bTight;
- for ( int i = 0; i < 3; i++ )
- {
- Guitar.bSudden[ i ] = CDTXMania.ConfigIni.bSudden[ i ];
- Guitar.bHidden[ i ] = CDTXMania.ConfigIni.bHidden[ i ];
- Guitar.eInvisible[ i ] = CDTXMania.ConfigIni.eInvisible[ i ];
- Guitar.bReverse[ i ] = CDTXMania.ConfigIni.bReverse[ i ];
- Guitar.eRandom[ i ] = CDTXMania.ConfigIni.eRandom[ i ];
- Guitar.bLight[ i ] = CDTXMania.ConfigIni.bLight[ i ];
- Guitar.bLeft[ i ] = CDTXMania.ConfigIni.bLeft[ i ];
- Guitar.fèé¢ã¹ã¯ãã¼ã«é度[ i ] = ( (float) ( CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[ i ] + 1 ) ) * 0.5f;
- }
- Guitar.eDark = CDTXMania.ConfigIni.eDark;
- Guitar.næ¼å¥é度åå = CDTXMania.ConfigIni.næ¼å¥é度;
+ // #35461 chnmr0 add
+ Drums.nRisky = CDTXMania.Instance.ConfigIni.nRisky;
+ // #35417 chnmr0 add
+ Drums.bã®ã¿ã¼ã¨ãã¼ã¹ãå
¥ãæ¿ãã = CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass;
+ }
+ }
+ private void tæ¼å¥çµæãæ ¼ç´ãã_ã®ã¿ã¼()
+ {
+ record.Guitar = new CScoreIni.Cæ¼å¥è¨é²();
+ CScoreIni.Cæ¼å¥è¨é² Guitar = Record.Guitar;
+ bool allauto = CDTXMania.Instance.ConfigIni.bIsAutoPlay(EPart.Guitar);
+ if (CDTXMania.Instance.DTX.bãããããã.Guitar)
+ {
+ Guitar.nã¹ã³ã¢ = (long)this.actScore.Get(EPart.Guitar);
+ Guitar.dbã²ã¼ã åã¹ãã«å¤ = CScoreIni.tã²ã¼ã åã¹ãã«ãè¨ç®ãã¦è¿ã(CDTXMania.Instance.DTX.LEVEL.Guitar, CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Guitar, this.nãããæ°_Autoå«ã¾ãªã.Guitar.Perfect, this.actCombo.dgbã³ã³ãæ°.Guitar.næé«å¤, EPart.Guitar);
+ Guitar.dbæ¼å¥åã¹ãã«å¤ = CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã(CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Guitar, this.nãããæ°_Autoå«ã¾ãªã.Guitar.Perfect, this.nãããæ°_Autoå«ã¾ãªã.Guitar.Great, this.nãããæ°_Autoå«ã¾ãªã.Guitar.Good, this.nãããæ°_Autoå«ã¾ãªã.Guitar.Poor, this.nãããæ°_Autoå«ã¾ãªã.Guitar.Miss, EPart.Guitar, true);
+ Guitar.nPerfectæ° = allauto ? this.nãããæ°_Autoå«ã.Guitar.Perfect : this.nãããæ°_Autoå«ã¾ãªã.Guitar.Perfect;
+ Guitar.nGreatæ° = allauto ? this.nãããæ°_Autoå«ã.Guitar.Great : this.nãããæ°_Autoå«ã¾ãªã.Guitar.Great;
+ Guitar.nGoodæ° = allauto ? this.nãããæ°_Autoå«ã.Guitar.Good : this.nãããæ°_Autoå«ã¾ãªã.Guitar.Good;
+ Guitar.nPooræ° = allauto ? this.nãããæ°_Autoå«ã.Guitar.Poor : this.nãããæ°_Autoå«ã¾ãªã.Guitar.Poor;
+ Guitar.nMissæ° = allauto ? this.nãããæ°_Autoå«ã.Guitar.Miss : this.nãããæ°_Autoå«ã¾ãªã.Guitar.Miss;
+ Guitar.nPerfectæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Guitar.Perfect;
+ Guitar.nGreatæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Guitar.Great;
+ Guitar.nGoodæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Guitar.Good;
+ Guitar.nPooræ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Guitar.Poor;
+ Guitar.nMissæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Guitar.Miss;
+ Guitar.næ大ã³ã³ãæ° = this.actCombo.dgbã³ã³ãæ°.Guitar.næé«å¤;
+ Guitar.nå
¨ãããæ° = CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Guitar;
+ for (EPad i = EPad.Min; i < EPad.Max; i++)
+ {
+ Guitar.bAutoPlay[i] = CDTXMania.Instance.ConfigIni.bAutoPlay[i];
+ }
+ Guitar.bTight = CDTXMania.Instance.ConfigIni.bTight;
+ for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
+ {
+ Guitar.eSudHidInv[i] = CDTXMania.Instance.ConfigIni.eSudHidInv[i];
+ Guitar.bReverse[i] = CDTXMania.Instance.ConfigIni.bReverse[i];
+ Guitar.eRandom[i] = CDTXMania.Instance.ConfigIni.eRandom[i];
+ Guitar.bLight[i] = CDTXMania.Instance.ConfigIni.bLight[i];
+ Guitar.fèé¢ã¹ã¯ãã¼ã«é度[i] = ((float)(CDTXMania.Instance.ConfigIni.nScrollSpeed[i] + 1)) * 0.5f;
+ }
+ Guitar.eDark = CDTXMania.Instance.ConfigIni.eDark;
+ Guitar.næ¼å¥é度åå = CDTXMania.Instance.ConfigIni.nPlaySpeed;
Guitar.næ¼å¥é度åæ¯ = 20;
- Guitar.eHHGroup = CDTXMania.ConfigIni.eHHGroup;
- Guitar.eFTGroup = CDTXMania.ConfigIni.eFTGroup;
- Guitar.eCYGroup = CDTXMania.ConfigIni.eCYGroup;
- Guitar.eHitSoundPriorityHH = CDTXMania.ConfigIni.eHitSoundPriorityHH;
- Guitar.eHitSoundPriorityFT = CDTXMania.ConfigIni.eHitSoundPriorityFT;
- Guitar.eHitSoundPriorityCY = CDTXMania.ConfigIni.eHitSoundPriorityCY;
- Guitar.bGuitaræå¹ = CDTXMania.ConfigIni.bGuitaræå¹;
- Guitar.bDrumsæå¹ = CDTXMania.ConfigIni.bDrumsæå¹;
- Guitar.bSTAGEFAILEDæå¹ = CDTXMania.ConfigIni.bSTAGEFAILEDæå¹;
- Guitar.eãã¡ã¼ã¸ã¬ãã« = CDTXMania.ConfigIni.eãã¡ã¼ã¸ã¬ãã«;
+ Guitar.eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup;
+ Guitar.eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup;
+ Guitar.eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup;
+ Guitar.eHitSoundPriorityHH = CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH;
+ Guitar.eHitSoundPriorityFT = CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT;
+ Guitar.eHitSoundPriorityCY = CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY;
+ Guitar.bGuitaræå¹ = CDTXMania.Instance.ConfigIni.bGuitaræå¹;
+ Guitar.bDrumsæå¹ = CDTXMania.Instance.ConfigIni.bDrumsæå¹;
+ Guitar.bSTAGEFAILEDæå¹ = CDTXMania.Instance.ConfigIni.bStageFailed;
+ Guitar.eãã¡ã¼ã¸ã¬ãã« = CDTXMania.Instance.ConfigIni.eDamageLevel;
Guitar.bæ¼å¥ã«ãã¼ãã¼ãã使ç¨ãã = this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã.Guitar;
Guitar.bæ¼å¥ã«MIDIå
¥åã使ç¨ãã = this.bæ¼å¥ã«MIDIå
¥åã使ã£ã.Guitar;
Guitar.bæ¼å¥ã«ã¸ã§ã¤ãããã使ç¨ãã = this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã.Guitar;
Guitar.bæ¼å¥ã«ãã¦ã¹ã使ç¨ãã = this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã.Guitar;
- Guitar.nPerfectã«ãªãç¯å²ms = CDTXMania.nPerfectç¯å²ms;
- Guitar.nGreatã«ãªãç¯å²ms = CDTXMania.nGreatç¯å²ms;
- Guitar.nGoodã«ãªãç¯å²ms = CDTXMania.nGoodç¯å²ms;
- Guitar.nPoorã«ãªãç¯å²ms = CDTXMania.nPoorç¯å²ms;
+ Guitar.nPerfectã«ãªãç¯å²ms = CDTXMania.Instance.nPerfectç¯å²ms;
+ Guitar.nGreatã«ãªãç¯å²ms = CDTXMania.Instance.nGreatç¯å²ms;
+ Guitar.nGoodã«ãªãç¯å²ms = CDTXMania.Instance.nGoodç¯å²ms;
+ Guitar.nPoorã«ãªãç¯å²ms = CDTXMania.Instance.nPoorç¯å²ms;
Guitar.strDTXManiaã®ãã¼ã¸ã§ã³ = CDTXMania.VERSION;
Guitar.æçµæ´æ°æ¥æ = DateTime.Now.ToString();
- Guitar.Hash = CScoreIni.tæ¼å¥ã»ã¯ã·ã§ã³ã®MD5ãæ±ãã¦è¿ã( Guitar );
- }
- }
- #endregion
- #region [ tæ¼å¥çµæãæ ¼ç´ããã»ãã¼ã¹() ]
- public void tæ¼å¥çµæãæ ¼ç´ããã»ãã¼ã¹( out CScoreIni.Cæ¼å¥è¨é² Bass )
- {
- Bass = new CScoreIni.Cæ¼å¥è¨é²();
-
- if ( CDTXMania.DTX.bãããããã.Bass )
- {
- Bass.nã¹ã³ã¢ = (long) this.actScore.Get( E楽å¨ãã¼ã.BASS );
- Bass.dbã²ã¼ã åã¹ãã«å¤ = CScoreIni.tã²ã¼ã åã¹ãã«ãè¨ç®ãã¦è¿ã( CDTXMania.DTX.LEVEL.Bass, CDTXMania.DTX.nå¯è¦ãããæ°.Bass, this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Perfect, this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Bassæé«å¤, E楽å¨ãã¼ã.BASS, bIsAutoPlay );
- Bass.dbæ¼å¥åã¹ãã«å¤ = CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã( CDTXMania.DTX.nå¯è¦ãããæ°.Bass, this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Perfect, this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Great, this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Good, this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Poor, this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Miss, E楽å¨ãã¼ã.BASS, bIsAutoPlay );
- Bass.nPerfectæ° = CDTXMania.ConfigIni.bãã¼ã¹ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Bass.Perfect : this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Perfect;
- Bass.nGreatæ° = CDTXMania.ConfigIni.bãã¼ã¹ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Bass.Great : this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Great;
- Bass.nGoodæ° = CDTXMania.ConfigIni.bãã¼ã¹ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Bass.Good : this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Good;
- Bass.nPooræ° = CDTXMania.ConfigIni.bãã¼ã¹ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Bass.Poor : this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Poor;
- Bass.nMissæ° = CDTXMania.ConfigIni.bãã¼ã¹ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã ? this.nãããæ°ã»Autoå«ã.Bass.Miss : this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Miss;
- Bass.nPerfectæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Perfect;
- Bass.nGreatæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Great;
- Bass.nGoodæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Good;
- Bass.nPooræ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Poor;
- Bass.nMissæ°ã»Autoå«ã¾ãªã = this.nãããæ°ã»Autoå«ã¾ãªã.Bass.Miss;
- Bass.næ大ã³ã³ãæ° = this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Bassæé«å¤;
- Bass.nå
¨ãããæ° = CDTXMania.DTX.nå¯è¦ãããæ°.Bass;
- for ( int i = 0; i < (int) Eã¬ã¼ã³.MAX; i++ )
- {
- Bass.bAutoPlay[ i ] = bIsAutoPlay[ i ];
- }
- Bass.bTight = CDTXMania.ConfigIni.bTight;
- for ( int i = 0; i < 3; i++ )
- {
- Bass.bSudden[ i ] = CDTXMania.ConfigIni.bSudden[ i ];
- Bass.bHidden[ i ] = CDTXMania.ConfigIni.bHidden[ i ];
- Bass.eInvisible[ i ] = CDTXMania.ConfigIni.eInvisible[ i ];
- Bass.bReverse[ i ] = CDTXMania.ConfigIni.bReverse[ i ];
- Bass.eRandom[ i ] = CDTXMania.ConfigIni.eRandom[ i ];
- Bass.bLight[ i ] = CDTXMania.ConfigIni.bLight[ i ];
- Bass.bLeft[ i ] = CDTXMania.ConfigIni.bLeft[ i ];
- Bass.fèé¢ã¹ã¯ãã¼ã«é度[ i ] = ( (float) ( CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[ i ] + 1 ) ) * 0.5f;
- }
- Bass.eDark = CDTXMania.ConfigIni.eDark;
- Bass.næ¼å¥é度åå = CDTXMania.ConfigIni.næ¼å¥é度;
+ // #35417 chnmr0 add
+ Guitar.bã®ã¿ã¼ã¨ãã¼ã¹ãå
¥ãæ¿ãã = CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass;
+ }
+ }
+ private void tæ¼å¥çµæãæ ¼ç´ãã_ãã¼ã¹()
+ {
+ record.Bass = new CScoreIni.Cæ¼å¥è¨é²();
+ CScoreIni.Cæ¼å¥è¨é² Bass = Record.Bass;
+ bool allauto = CDTXMania.Instance.ConfigIni.bIsAutoPlay(EPart.Bass);
+ if (CDTXMania.Instance.DTX.bãããããã.Bass)
+ {
+ Bass.nã¹ã³ã¢ = (long)this.actScore.Get(EPart.Bass);
+ Bass.dbã²ã¼ã åã¹ãã«å¤ = CScoreIni.tã²ã¼ã åã¹ãã«ãè¨ç®ãã¦è¿ã(CDTXMania.Instance.DTX.LEVEL.Bass, CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Bass, this.nãããæ°_Autoå«ã¾ãªã.Bass.Perfect, this.actCombo.dgbã³ã³ãæ°.Bass.næé«å¤, EPart.Bass);
+ Bass.dbæ¼å¥åã¹ãã«å¤ = CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã(CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Bass, this.nãããæ°_Autoå«ã¾ãªã.Bass.Perfect, this.nãããæ°_Autoå«ã¾ãªã.Bass.Great, this.nãããæ°_Autoå«ã¾ãªã.Bass.Good, this.nãããæ°_Autoå«ã¾ãªã.Bass.Poor, this.nãããæ°_Autoå«ã¾ãªã.Bass.Miss, EPart.Bass, true);
+ Bass.nPerfectæ° = allauto ? this.nãããæ°_Autoå«ã.Bass.Perfect : this.nãããæ°_Autoå«ã¾ãªã.Bass.Perfect;
+ Bass.nGreatæ° = allauto ? this.nãããæ°_Autoå«ã.Bass.Great : this.nãããæ°_Autoå«ã¾ãªã.Bass.Great;
+ Bass.nGoodæ° = allauto ? this.nãããæ°_Autoå«ã.Bass.Good : this.nãããæ°_Autoå«ã¾ãªã.Bass.Good;
+ Bass.nPooræ° = allauto ? this.nãããæ°_Autoå«ã.Bass.Poor : this.nãããæ°_Autoå«ã¾ãªã.Bass.Poor;
+ Bass.nMissæ° = allauto ? this.nãããæ°_Autoå«ã.Bass.Miss : this.nãããæ°_Autoå«ã¾ãªã.Bass.Miss;
+ Bass.nPerfectæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Bass.Perfect;
+ Bass.nGreatæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Bass.Great;
+ Bass.nGoodæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Bass.Good;
+ Bass.nPooræ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Bass.Poor;
+ Bass.nMissæ°_Autoå«ã¾ãªã = this.nãããæ°_Autoå«ã¾ãªã.Bass.Miss;
+ Bass.næ大ã³ã³ãæ° = this.actCombo.dgbã³ã³ãæ°.Bass.næé«å¤;
+ Bass.nå
¨ãããæ° = CDTXMania.Instance.DTX.nå¯è¦ãããæ°.Bass;
+ for (EPad i = EPad.Min; i < EPad.Max; i++)
+ {
+ Bass.bAutoPlay[i] = CDTXMania.Instance.ConfigIni.bAutoPlay[i];
+ }
+ Bass.bTight = CDTXMania.Instance.ConfigIni.bTight;
+ for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
+ {
+ Bass.eSudHidInv[i] = CDTXMania.Instance.ConfigIni.eSudHidInv[i];
+ Bass.bReverse[i] = CDTXMania.Instance.ConfigIni.bReverse[i];
+ Bass.eRandom[i] = CDTXMania.Instance.ConfigIni.eRandom[i];
+ Bass.bLight[i] = CDTXMania.Instance.ConfigIni.bLight[i];
+ Bass.fèé¢ã¹ã¯ãã¼ã«é度[i] = ((float)(CDTXMania.Instance.ConfigIni.nScrollSpeed[i] + 1)) * 0.5f;
+ }
+ Bass.eDark = CDTXMania.Instance.ConfigIni.eDark;
+ Bass.næ¼å¥é度åå = CDTXMania.Instance.ConfigIni.nPlaySpeed;
Bass.næ¼å¥é度åæ¯ = 20;
- Bass.eHHGroup = CDTXMania.ConfigIni.eHHGroup;
- Bass.eFTGroup = CDTXMania.ConfigIni.eFTGroup;
- Bass.eCYGroup = CDTXMania.ConfigIni.eCYGroup;
- Bass.eHitSoundPriorityHH = CDTXMania.ConfigIni.eHitSoundPriorityHH;
- Bass.eHitSoundPriorityFT = CDTXMania.ConfigIni.eHitSoundPriorityFT;
- Bass.eHitSoundPriorityCY = CDTXMania.ConfigIni.eHitSoundPriorityCY;
- Bass.bGuitaræå¹ = CDTXMania.ConfigIni.bGuitaræå¹;
- Bass.bDrumsæå¹ = CDTXMania.ConfigIni.bDrumsæå¹;
- Bass.bSTAGEFAILEDæå¹ = CDTXMania.ConfigIni.bSTAGEFAILEDæå¹;
- Bass.eãã¡ã¼ã¸ã¬ãã« = CDTXMania.ConfigIni.eãã¡ã¼ã¸ã¬ãã«;
- Bass.bæ¼å¥ã«ãã¼ãã¼ãã使ç¨ãã = this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã.Bass; // #24280 2011.1.29 yyagi
- Bass.bæ¼å¥ã«MIDIå
¥åã使ç¨ãã = this.bæ¼å¥ã«MIDIå
¥åã使ã£ã.Bass; //
- Bass.bæ¼å¥ã«ã¸ã§ã¤ãããã使ç¨ãã = this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã.Bass; //
- Bass.bæ¼å¥ã«ãã¦ã¹ã使ç¨ãã = this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã.Bass; //
- Bass.nPerfectã«ãªãç¯å²ms = CDTXMania.nPerfectç¯å²ms;
- Bass.nGreatã«ãªãç¯å²ms = CDTXMania.nGreatç¯å²ms;
- Bass.nGoodã«ãªãç¯å²ms = CDTXMania.nGoodç¯å²ms;
- Bass.nPoorã«ãªãç¯å²ms = CDTXMania.nPoorç¯å²ms;
+ Bass.eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup;
+ Bass.eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup;
+ Bass.eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup;
+ Bass.eHitSoundPriorityHH = CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH;
+ Bass.eHitSoundPriorityFT = CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT;
+ Bass.eHitSoundPriorityCY = CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY;
+ Bass.bGuitaræå¹ = CDTXMania.Instance.ConfigIni.bGuitaræå¹;
+ Bass.bDrumsæå¹ = CDTXMania.Instance.ConfigIni.bDrumsæå¹;
+ Bass.bSTAGEFAILEDæå¹ = CDTXMania.Instance.ConfigIni.bStageFailed;
+ Bass.eãã¡ã¼ã¸ã¬ãã« = CDTXMania.Instance.ConfigIni.eDamageLevel;
+ // #24280 2011.1.29 yyagi
+ Bass.bæ¼å¥ã«ãã¼ãã¼ãã使ç¨ãã = this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã.Bass;
+ Bass.bæ¼å¥ã«MIDIå
¥åã使ç¨ãã = this.bæ¼å¥ã«MIDIå
¥åã使ã£ã.Bass;
+ Bass.bæ¼å¥ã«ã¸ã§ã¤ãããã使ç¨ãã = this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã.Bass;
+ Bass.bæ¼å¥ã«ãã¦ã¹ã使ç¨ãã = this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã.Bass;
+ Bass.nPerfectã«ãªãç¯å²ms = CDTXMania.Instance.nPerfectç¯å²ms;
+ Bass.nGreatã«ãªãç¯å²ms = CDTXMania.Instance.nGreatç¯å²ms;
+ Bass.nGoodã«ãªãç¯å²ms = CDTXMania.Instance.nGoodç¯å²ms;
+ Bass.nPoorã«ãªãç¯å²ms = CDTXMania.Instance.nPoorç¯å²ms;
Bass.strDTXManiaã®ãã¼ã¸ã§ã³ = CDTXMania.VERSION;
Bass.æçµæ´æ°æ¥æ = DateTime.Now.ToString();
- Bass.Hash = CScoreIni.tæ¼å¥ã»ã¯ã·ã§ã³ã®MD5ãæ±ãã¦è¿ã( Bass );
+ // #35417 chnmr0 add
+ Bass.bã®ã¿ã¼ã¨ãã¼ã¹ãå
¥ãæ¿ãã = CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass;
}
}
#endregion
// CStage å®è£
-
public override void Onæ´»æ§å()
{
- listChip = CDTXMania.DTX.listChip;
- listWAV = CDTXMania.DTX.listWAV;
-
- this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.ç¶ç¶;
- this.nç¾å¨ã®ãããChip = ( listChip.Count > 0 ) ? 0 : -1;
- this.Læå¾ã«åçããHHã®å®WAVçªå· = new List( 16 );
- this.næå¾ã«åçããHHã®ãã£ã³ãã«çªå· = 0;
- this.næå¾ã«åçããå®WAVçªå·.Guitar = -1;
- this.næå¾ã«åçããå®WAVçªå·.Bass = -1;
- for ( int i = 0; i < 50; i++ )
- {
- this.næå¾ã«åçããBGMã®å®WAVçªå·[ i ] = -1;
- }
- 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;
- cInvisibleChip = new CInvisibleChip( CDTXMania.ConfigIni.nDisplayTimesMs, CDTXMania.ConfigIni.nFadeoutTimeMs );
- this.æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ = new Cæ¼å¥å¤å®ã©ã¤ã³åº§æ¨å
±é();
- for ( int k = 0; k < 3; k++ )
- {
- //for ( int n = 0; n < 5; n++ )
- //{
- this.nãããæ°ã»Autoå«ã¾ãªã[ k ] = new CHITCOUNTOFRANK();
- this.nãããæ°ã»Autoå«ã[ k ] = new CHITCOUNTOFRANK();
- //}
- this.queWailing[ k ] = new Queue();
- this.rç¾å¨ã®æ声Chip[ k ] = null;
- cInvisibleChip.eInvisibleMode[ k ] = CDTXMania.ConfigIni.eInvisible[ k ];
- if ( CDTXMania.DTXVmode.Enabled )
- {
- CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[ k ] = CDTXMania.ConfigIni.nViewerScrollSpeed[ k ];
- }
-
- this.nInputAdjustTimeMs[ k ] = CDTXMania.ConfigIni.nInputAdjustTimeMs[ k ]; // #23580 2011.1.3 yyagi
- // 2011.1.7 ikanick ä¿®æ£
- //this.nJudgeLinePosY_delta[ k ] = CDTXMania.ConfigIni.nJudgeLinePosOffset[ k ]; // #31602 2013.6.23 yyagi
-
- this.æ¼å¥å¤å®ã©ã¤ã³åº§æ¨.nå¤å®ä½ç½®[ k ] = CDTXMania.ConfigIni.eå¤å®ä½ç½®[ k ];
- this.æ¼å¥å¤å®ã©ã¤ã³åº§æ¨.nJudgeLinePosY_delta[ k ] = CDTXMania.ConfigIni.nJudgeLinePosOffset[ k ];
- this.bReverse[ k ] = CDTXMania.ConfigIni.bReverse[ k ]; //
-
- }
- actCombo.æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ = æ¼å¥å¤å®ã©ã¤ã³åº§æ¨;
- for ( int i = 0; i < 3; i++ )
- {
- this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã[ i ] = false;
- this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã[ i ] = false;
- this.bæ¼å¥ã«MIDIå
¥åã使ã£ã[ i ] = false;
- this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã[ i ] = false;
- }
- this.bAUTOã§ãªãããããï¼ã¤ã§ããã¼ãééãã = false;
- cInvisibleChip.Reset();
- base.Onæ´»æ§å();
- this.tã¹ãã¼ã¿ã¹ããã«ã®é¸æ();
- this.tããã«æååã®è¨å®();
- //this.æ¼å¥å¤å®ã©ã¤ã³åº§æ¨();
-
- this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi
-
-
- //this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bã®ã¿ã¼ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã;
- //this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bãã¼ã¹ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã;
-// this.nRisky = CDTXMania.ConfigIni.nRisky; // #23559 2011.7.28 yyagi
- actGauge.Init( CDTXMania.ConfigIni.nRisky ); // #23559 2011.7.28 yyagi
- this.nPolyphonicSounds = CDTXMania.ConfigIni.nPoliphonicSounds;
- eå¤å®è¡¨ç¤ºåªå
度 = CDTXMania.ConfigIni.eå¤å®è¡¨ç¤ºåªå
度;
-
- CDTXMania.Skin.tRemoveMixerAll(); // å¹æé³ã®ã¹ããªã¼ã ããããµã¼ãã解é¤ãã¦ãã
-
- queueMixerSound = new Queue( 64 );
- bIsDirectSound = ( CDTXMania.Sound管ç.GetCurrentSoundDeviceType() == "DirectSound" );
- bUseOSTimer = CDTXMania.ConfigIni.bUseOSTimer;
- this.bPAUSE = false;
- if ( CDTXMania.DTXVmode.Enabled )
+ if (base.bæ´»æ§åãã¦ãªã)
{
- dbåçé度 = CDTXMania.DTX.dbDTXVPlaySpeed;
- CDTXMania.ConfigIni.næ¼å¥é度 = (int) (CDTXMania.DTX.dbDTXVPlaySpeed * 20 + 0.5 );
- }
- else
- {
- dbåçé度 = ( (double) CDTXMania.ConfigIni.næ¼å¥é度 ) / 20.0;
- }
- bValidScore = ( CDTXMania.DTXVmode.Enabled ) ? false : true;
+ this.bãã£ã«ã¤ã³ä¸ = false;
+ this.dtLastQueueOperation = DateTime.MinValue;
+ this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.ç¶ç¶;
+ this.nç¾å¨ã®ãããChip = (CDTXMania.Instance.DTX.listChip.Count > 0) ? 0 : -1;
+ næå¾ã«åçããå®WAVçªå· = new STPadValue();
+ this.Læå¾ã«åçããHHã®å®WAVçªå· = new List(16);
+ this.eæå¾ã«åçããHHã®ãã£ã³ãã«çªå· = 0;
+ this.næå¾ã«åçããå®WAVçªå·.GtPick = -1;
+ this.næå¾ã«åçããå®WAVçªå·.BsPick = -1;
+ for (int i = 0; i < 50; i++)
+ {
+ this.næå¾ã«åçããBGMã®å®WAVçªå·[i] = -1;
+ }
+ 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;
+ cInvisibleChip = new CInvisibleChip(CDTXMania.Instance.ConfigIni.nChipDisplayTimeMs, CDTXMania.Instance.ConfigIni.nChipFadeoutTimeMs);
+ this.næ大ã³ã³ãæ°_TargetGhost = new STDGBSValue();
- cWailingChip = new CWailingChipå
±é[ 3 ]; // 0:æªä½¿ç¨, 1:Gutiar, 2:Bass
- if ( CDTXMania.ConfigIni.bDrumsæå¹ )
- {
- cWailingChip[ 1 ] = new CWailngChip_Guitar_Drumç»é¢( ref æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- cWailingChip[ 2 ] = new CWailngChip_Bass_Drumç»é¢( ref æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- else
- {
- cWailingChip[ 1 ] = new CWailngChip_Guitar_GRç»é¢( ref æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- cWailingChip[ 2 ] = new CWailngChip_Bass_GRç»é¢( ref æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
+ for (EPart k = EPart.Drums; k <= EPart.Bass; k++)
+ {
+ this.nãããæ°_Autoå«ã¾ãªã[k] = new CHitCountOfRank();
+ this.nãããæ°_Autoå«ã[k] = new CHitCountOfRank();
+ this.nãããæ°_TargetGhost[k] = new CHitCountOfRank();
+ this.queWailing[k] = new Queue();
+ this.rç¾å¨ã®æ声Chip[k] = null;
+ if (CDTXMania.Instance.DTXVmode.Enabled)
+ {
+ CDTXMania.Instance.ConfigIni.nScrollSpeed[k] = CDTXMania.Instance.ConfigIni.nViewerScrollSpeed[k];
+ }
- #region [ æ¼å¥éå§åã«mixerç»é²ãã¦ããã¹ããµã¦ã³ã(éå¹ãã¦ããã«é³´ãããã¨ã«ãªããããé³)ãç»é²ãã¦ãã ]
- foreach ( CDTX.CChip pChip in listChip )
- {
-// Debug.WriteLine( "CH=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", æ´æ°å¤=" + pChip.næ´æ°å¤ + ", time=" + pChip.nçºå£°æå»ms );
- if ( pChip.nçºå£°æå»ms <= 0 )
+ this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã[k] = false;
+ this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã[k] = false;
+ this.bæ¼å¥ã«MIDIå
¥åã使ã£ã[k] = false;
+ this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã[k] = false;
+ }
+
+ cInvisibleChip.Reset();
+ actGauge.Init(CDTXMania.Instance.ConfigIni.nRisky);
+ // å¹æé³ã®ã¹ããªã¼ã ããããµã¼ãã解é¤ãã¦ãã
+ CDTXMania.Instance.Skin.tRemoveMixerAll();
+ queueMixerSound = new Queue(64);
+ bIsDirectSound = (CDTXMania.Instance.Sound管ç.GetCurrentSoundDeviceType() == "DirectSound");
+ this.bPAUSE = false;
+
+ if (CDTXMania.Instance.DTXVmode.Enabled)
+ {
+ dbåçé度 = CDTXMania.Instance.DTX.dbDTXVPlaySpeed;
+ CDTXMania.Instance.ConfigIni.nPlaySpeed.Value = (int)(CDTXMania.Instance.DTX.dbDTXVPlaySpeed * 20 + 0.5);
+ }
+ else
+ {
+ dbåçé度 = ((double)CDTXMania.Instance.ConfigIni.nPlaySpeed) / 20.0;
+ }
+
+ bValidScore = (CDTXMania.Instance.DTXVmode.Enabled) ? false : true;
+
+ cWailingChip = new CWailingChipå
±é[3];
+ // 0:æªä½¿ç¨, 1:Gutiar, 2:Bass
+ cWailingChip[1] = new CWailingChipå
±é();
+ cWailingChip[2] = new CWailingChipå
±é();
+
+ #region [ æ¼å¥éå§åã«mixerç»é²ãã¦ããã¹ããµã¦ã³ã(éå¹ãã¦ããã«é³´ãããã¨ã«ãªããããé³)ãç»é²ãã¦ãã ]
+ foreach (CChip pChip in CDTXMania.Instance.DTX.listChip)
{
- if ( pChip.nãã£ã³ãã«çªå· == 0xDA )
+ // Debug.WriteLine( "CH=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", æ´æ°å¤=" + pChip.næ´æ°å¤ + ", time=" + pChip.nçºå£°æå»ms );
+ if (pChip.nçºå£°æå»ms <= 0)
{
- pChip.bHit = true;
-// Trace.TraceInformation( "first [DA] BAR=" + pChip.nçºå£°ä½ç½® / 384 + " ch=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", wav=" + pChip.næ´æ°å¤ + ", time=" + pChip.nçºå£°æå»ms );
- if ( listWAV.ContainsKey( pChip.næ´æ°å¤ã»å
é¨çªå· ) )
+ if (pChip.eãã£ã³ãã«çªå· == EChannel.MixerAdd)
{
- CDTX.CWAV wc = listWAV[ pChip.næ´æ°å¤ã»å
é¨çªå· ];
- for ( int i = 0; i < nPolyphonicSounds; i++ )
+ pChip.bHit = true;
+ // Trace.TraceInformation( "first [DA] BAR=" + pChip.nçºå£°ä½ç½® / 384 + " ch=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", wav=" + pChip.næ´æ°å¤ + ", time=" + pChip.nçºå£°æå»ms );
+ if (CDTXMania.Instance.DTX.listWAV.ContainsKey(pChip.næ´æ°å¤_å
é¨çªå·))
{
- if ( wc.rSound[ i ] != null )
+ CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.næ´æ°å¤_å
é¨çªå·];
+ for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)
{
- CDTXMania.Sound管ç.AddMixer( wc.rSound[ i ], dbåçé度, pChip.bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã );
- //AddMixer( wc.rSound[ i ] ); // æåã¯queueãä»ããç´æ¥ãããµã¼ç»é²ãã
+ if (wc.rSound[i] != null)
+ {
+ CDTXMania.Instance.Sound管ç.AddMixer(wc.rSound[i], dbåçé度, pChip.bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã);
+ //AddMixer( wc.rSound[ i ] ); // æåã¯queueãä»ããç´æ¥ãããµã¼ç»é²ãã
+ }
}
}
}
}
+ else
+ {
+ break;
+ }
}
- else
+ #endregion
+
+ if (CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass) // #24063 2011.1.24 yyagi Gt/Bsã®èé¢æ
å ±å
¥ãæ¿ã
{
- break;
+ CDTXMania.Instance.DTX.SwapGuitarBassInfos();
}
- }
- #endregion
- if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsã®èé¢æ
å ±å
¥ãæ¿ã
- {
- CDTXMania.DTX.SwapGuitarBassInfos();
+
+ for (EPart inst = EPart.Drums; inst <= EPart.Bass; ++inst)
+ {
+ // MODIFY_BEGIN #25398 2011.06.07 FROM
+ if (CDTXMania.Instance.bã³ã³ãã¯ãã¢ã¼ã)
+ {
+ var score = new Cã¹ã³ã¢();
+ CDTXMania.Instance.Songs管ç.tScoreIniãèªã¿è¾¼ãã§èé¢æ
å ±ãè¨å®ãã(CDTXMania.Instance.strã³ã³ãã¯ãã¢ã¼ããã¡ã¤ã« + ".score.ini", ref score);
+ this.actGraph.dbTarget[inst] = score.èé¢æ
å ±.æ大ã¹ãã«[inst];
+ }
+ else
+ {
+ if (CDTXMania.Instance.ConfigIni.b楽å¨æå¹(inst))
+ {
+ this.actGraph.dbTarget[inst] = CDTXMania.Instance.stageé¸æ².r確å®ãããã¹ã³ã¢.èé¢æ
å ±.æ大ã¹ãã«[inst]; // #24074 2011.01.23 add ikanick
+
+ // ã´ã¼ã¹ãå©ç¨å¯ã®ãªã¨ãã0ã§åæå
+ if (CDTXMania.Instance.ConfigIni.eTargetGhost[inst] != ETargetGhostData.None)
+ {
+ if (CDTXMania.Instance.DTX.listTargetGhsotLag[inst] != null)
+ {
+ this.actGraph.dbTarget[inst] = 0;
+ }
+ }
+ }
+ }
+ // MODIFY_END #25398
+ }
+
+ for (EPart part = EPart.Drums; part <= EPart.Bass; ++part)
+ {
+ if (CDTXMania.Instance.ConfigIni.b楽å¨æå¹(part))
+ {
+ actOptionPanel.Pos[part] = new Coordinates.CXY(CDTXMania.Instance.ConfigIni.cdInstX[part][CDTXMania.Instance.ConfigIni.eActiveInst]
+ - CDTXMania.Instance.Coordinates.ImgOptionPanel.W, 0);
+ }
+ }
+
+ base.Onæ´»æ§å();
+
+ // PANELã®è¨å®ã¯ãbase.Onæ´»æ§å()ã®å¾ã«(actPanelã®æ´»æ§åã®å¾)è¡ããã¨ã
+ // ãããªãã¨ãactPanelãæ´»æ§åããã¦ããªããããããã«æååã®è¨å®ãæ©è½ããªããªãã
+ string strLabel = CDTXMania.Instance.stageé¸æ².r確å®ãããæ².aré£æ度ã©ãã«[ CDTXMania.Instance.stageé¸æ².n確å®ãããæ²ã®é£æ度 ];
+ string strPanel = CDTXMania.Instance.DTX.TITLE;
+ //string strSETDEFlabel = CDTXMania.Instance.stageé¸æ².r確å®ãããæ².strã¿ã¤ãã«;
+ if ( !string.IsNullOrWhiteSpace( strLabel ) && !strPanel.Contains(strLabel)
+ // && (strPanel == strSETDEFlabel)
+ )
+ {
+ strPanel += " (" + strLabel + ")";
+ }
+ this.actPanel.SetPanelString( strPanel );
}
- this.sw = new Stopwatch();
- this.sw2 = new Stopwatch();
-// this.gclatencymode = GCSettings.LatencyMode;
-// GCSettings.LatencyMode = GCLatencyMode.Batch; // æ¼å¥ç»é¢ä¸ã¯GCãææ¢ãã
}
public override void Onéæ´»æ§å()
{
- this.Læå¾ã«åçããHHã®å®WAVçªå·.Clear(); // #23921 2011.1.4 yyagi
- this.Læå¾ã«åçããHHã®å®WAVçªå· = null; //
- for ( int i = 0; i < 3; i++ )
- {
- this.queWailing[ i ].Clear();
- this.queWailing[ i ] = null;
- }
- this.ctWailingããã模æ§ã¢ãã¡ = null;
- this.ctããã模æ§ã¢ãã¡.Drums = null;
- this.ctããã模æ§ã¢ãã¡.Guitar = null;
- this.ctããã模æ§ã¢ãã¡.Bass = null;
- //listWAV.Clear();
- listWAV = null;
- listChip = null;
- queueMixerSound.Clear();
- queueMixerSound = null;
- cInvisibleChip.Dispose();
- cInvisibleChip = null;
-// GCSettings.LatencyMode = this.gclatencymode;
- base.Onéæ´»æ§å();
+ if (bæ´»æ§åãã¦ã)
+ {
+ // #23921 2011.1.4 yyagi
+ Læå¾ã«åçããHHã®å®WAVçªå·.Clear();
+ Læå¾ã«åçããHHã®å®WAVçªå· = null;
+ for (EPart i = 0; i <= EPart.Bass; i++)
+ {
+ queWailing[i].Clear();
+ queWailing[i] = null;
+ }
+ ctWailingããã模æ§ã¢ãã¡ = null;
+ ctããã模æ§ã¢ãã¡.Drums = null;
+ ctããã模æ§ã¢ãã¡.Guitar = null;
+ ctããã模æ§ã¢ãã¡.Bass = null;
+ queueMixerSound.Clear();
+ queueMixerSound = null;
+ cInvisibleChip.Dispose();
+ cInvisibleChip = null;
+ base.Onéæ´»æ§å();
+ }
}
public override void OnManagedãªã½ã¼ã¹ã®ä½æ()
{
- if ( !base.bæ´»æ§åãã¦ãªã )
+ if (bæ´»æ§åãã¦ã)
{
- this.tèæ¯ãã¯ã¹ãã£ã®çæ();
-
- this.txWailingæ = CDTXMania.tãã¯ã¹ãã£ã®çæ( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) );
-
+ txããã = TextureFactory.tãã¯ã¹ãã£ã®çæ(CSkin.Path(@"Graphics\ScreenPlayDrums chips.png"));
+ txãããGB = TextureFactory.tãã¯ã¹ãã£ã®çæ(CSkin.Path(@"Graphics\ScreenPlayGuitar chips.png"));
+ txããããã¼ = TextureFactory.tãã¯ã¹ãã£ã®çæ(CSkin.Path(@"Graphics\ScreenPlayDrums hit-bar.png"));
+ txããããã¼GB = TextureFactory.tãã¯ã¹ãã£ã®çæ(CSkin.Path(@"Graphics\ScreenPlayDrums hit-bar guitar.png"));
+ txWailingæ = TextureFactory.tãã¯ã¹ãã£ã®çæ(CSkin.Path(@"Graphics\ScreenPlay wailing cursor.png"));
+ tèæ¯ãã¯ã¹ãã£ã®çæ();
base.OnManagedãªã½ã¼ã¹ã®ä½æ();
}
+
}
public override void OnManagedãªã½ã¼ã¹ã®è§£æ¾()
{
- if ( !base.bæ´»æ§åãã¦ãªã )
+ if (bæ´»æ§åãã¦ã)
{
- CDTXMania.tãã¯ã¹ãã£ã®è§£æ¾( ref this.txèæ¯ );
-
- CDTXMania.tãã¯ã¹ãã£ã®è§£æ¾( ref this.txWailingæ );
+ TextureFactory.tãã¯ã¹ãã£ã®è§£æ¾(ref this.txèæ¯);
+ TextureFactory.tãã¯ã¹ãã£ã®è§£æ¾(ref this.txWailingæ );
+ TextureFactory.tãã¯ã¹ãã£ã®è§£æ¾(ref this.txããããã¼GB);
+ TextureFactory.tãã¯ã¹ãã£ã®è§£æ¾(ref this.txããããã¼);
+ TextureFactory.tãã¯ã¹ãã£ã®è§£æ¾(ref this.txãããGB);
+ TextureFactory.tãã¯ã¹ãã£ã®è§£æ¾(ref this.txããã);
base.OnManagedãªã½ã¼ã¹ã®è§£æ¾();
}
}
-
- // ãã®ä»
-
- #region [ protected ]
- //-----------------
- protected class CHITCOUNTOFRANK
+ public override int Oné²è¡æç»()
{
- // Fields
- public int Good;
- public int Great;
- public int Miss;
- public int Perfect;
- public int Poor;
-
- // Properties
- public int this[ int index ]
+ if (bæ´»æ§åãã¦ã)
{
- get
+ bool bIsFinishedPlaying = false;
+ bool bIsFinishedFadeout = false;
+
+ if (båãã¦ã®é²è¡æç»)
{
- switch ( index )
- {
- case 0:
- return this.Perfect;
+ PrepareAVITexture();
- case 1:
- return this.Great;
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tãªã»ãã();
+ CDTXMania.Instance.Timer.tãªã»ãã();
+ if (CDTXMania.Instance.ConfigIni.bDrumsæå¹)
+ {
+ ctããã模æ§ã¢ãã¡.Drums = new CCounter(0, 48, 10, CDTXMania.Instance.Timer);
+ }
+ if (CDTXMania.Instance.ConfigIni.bGuitaræå¹)
+ {
+ ctããã模æ§ã¢ãã¡.Guitar = new CCounter(0, 48, 20, CDTXMania.Instance.Timer);
+ ctããã模æ§ã¢ãã¡.Bass = new CCounter(0, 48, 20, CDTXMania.Instance.Timer);
+ ctWailingããã模æ§ã¢ãã¡ = new CCounter(0, 4, 50, CDTXMania.Instance.Timer);
+ }
- case 2:
- return this.Good;
+ // this.actChipFireD.Start( Eã¬ã¼ã³.HH ); // #31554 2013.6.12 yyagi
+ // åããããããæã®ããã¤ãåé¿ãæåã«actChipFireD.Start()ããã¨ãã«JITãæãã£ã¦ï¼
+ // ãã®ãããå¾
ãããã(2åç®ä»¥éã¨æ¯ã¹ãã¨2,3æ¡tickéã)ãããã§æåã®ç»é¢ãã§ã¼ãã¤ã³ã®éã«
+ // ä¸çºStart()ãæãã¦JITã®çµæãçæããã¦ããã
- case 3:
- return this.Poor;
+ base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.å
±é_ãã§ã¼ãã¤ã³;
+ actFI.tãã§ã¼ãã¤ã³éå§();
- case 4:
- return this.Miss;
+ if (CDTXMania.Instance.DTXVmode.Enabled)
+ {
+ #region [ DTXVç¨ã®åçè¨å®ã«ãã(å
¨AUTOãªã©) ]
+ tDTXVç¨ã®è¨å®();
+ #endregion
+ tæ¼å¥ä½ç½®ã®å¤æ´(CDTXMania.Instance.DTXVmode.nStartBar);
}
- throw new IndexOutOfRangeException();
+
+ CDTXMania.Instance.Sound管ç.tDisableUpdateBufferAutomatically();
+ båãã¦ã®é²è¡æç» = false;
}
- set
+
+ #region [ stage failed ]
+ if (CDTXMania.Instance.ConfigIni.bStageFailed && (base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.å
±é_é常ç¶æ
))
{
- switch ( index )
+ if (actGauge.IsFailed)
{
- 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;
+ actStageFailed.Start();
+ CDTXMania.Instance.DTX.tå
¨ãããã®åçåæ¢();
+ base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED;
}
- throw new IndexOutOfRangeException();
}
- }
- }
+ #endregion
- [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
+ // Background
+ if (CDTXMania.Instance.ConfigIni.eDark == EDark.Off)
{
- switch ( index )
+ if (txèæ¯ != null)
{
- 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;
+ txèæ¯.t2Dæç»(CDTXMania.Instance.Device, 0, 0);
}
- throw new IndexOutOfRangeException();
}
- set
+
+ // AVI / BGA
+ if (base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED &&
+ base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã)
{
- switch ( index )
+ actAVI.té²è¡æç»(
+ CDTXMania.Instance.ConfigIni.cdMovieX[CDTXMania.Instance.ConfigIni.eActiveInst],
+ CDTXMania.Instance.ConfigIni.cdMovieY[CDTXMania.Instance.ConfigIni.eActiveInst],
+ CDTXMania.Instance.Coordinates.Movie.W,
+ CDTXMania.Instance.Coordinates.Movie.H);
+ actBGA.Oné²è¡æç»();
+ #region [MIDIBGM å¦ç?]
+ if (base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED)
{
- case 0:
- this.HH = value;
- return;
+ CStage.Eãã§ã¼ãº eãã§ã¼ãºid1 = base.eãã§ã¼ãºID;
+ }
+ #endregion
+ actLane.Oné²è¡æç»();
+ actLaneFlushGB.Oné²è¡æç»();
+ actPanel.Oné²è¡æç»();
+ actScore.Oné²è¡æç»();
+ actOptionPanel.Oné²è¡æç»();
+ actGauge.Oné²è¡æç»();
+ actGraph.Oné²è¡æç»();
+ actLaneFlushD.Oné²è¡æç»();
+ actDANGER.té²è¡æç»(actGauge.IsDanger);
+ actèé¢ã¹ã¯ãã¼ã«é度.Oné²è¡æç»();
+ té²è¡æç»_å¤å®ã©ã¤ã³();
+ actWailingBonus.Oné²è¡æç»();
+
+ // RGB, Judge, Combo (Priority Under Chip)
+ if (CDTXMania.Instance.ConfigIni.eJudgePriority == EJudgeDisplayPriority.Under)
+ {
+ actRGB.Oné²è¡æç»();
+ actJudgeString.Oné²è¡æç»();
+ actCombo.Oné²è¡æç»();
+ }
+ té²è¡æç»_ãããã¢ãã¡();
+ bIsFinishedPlaying = té²è¡æç»_ããã();
+ actPad.Oné²è¡æç»();
- case 1:
- this.SD = value;
- return;
+ // RGB, Judge, Combo (Priority Over Chip)
+ if (CDTXMania.Instance.ConfigIni.eJudgePriority == EJudgeDisplayPriority.Over)
+ {
+ actRGB.Oné²è¡æç»();
+ actJudgeString.Oné²è¡æç»();
+ actCombo.Oné²è¡æç»();
+ }
- case 2:
- this.BD = value;
- return;
+ actChipFireD.Oné²è¡æç»();
+ actChipFireGB.Oné²è¡æç»();
+ actPlayInfo.Oné²è¡æç»();
- case 3:
- this.HT = value;
- return;
+ // Wailing
+ if ((CDTXMania.Instance.ConfigIni.eDark != EDark.Full) &&
+ CDTXMania.Instance.ConfigIni.bGuitaræå¹)
+ {
+ int GtWailingFrameX = CDTXMania.Instance.ConfigIni.GetLaneX(ELane.GtW) +
+ (CDTXMania.Instance.ConfigIni.GetLaneW(ELane.GtW) - CDTXMania.Instance.Coordinates.ImgGtWailingFrame.W) / 2;
+ int BsWailingFrameX = CDTXMania.Instance.ConfigIni.GetLaneX(ELane.BsW) +
+ (CDTXMania.Instance.ConfigIni.GetLaneW(ELane.BsW) - CDTXMania.Instance.Coordinates.ImgGtWailingFrame.W) / 2;
+ int GtWailingFrameY = Cæ¼å¥å¤å®ã©ã¤ã³åº§æ¨å
±é.nå¤å®ã©ã¤ã³Y座æ¨(EPart.Guitar, true, true);
+ int BsWailingFrameY = Cæ¼å¥å¤å®ã©ã¤ã³åº§æ¨å
±é.nå¤å®ã©ã¤ã³Y座æ¨(EPart.Bass, true, true);
+
+ if (txWailingæ != null)
+ {
+ if (CDTXMania.Instance.DTX.bãããããã.Guitar)
+ {
+ txWailingæ .t2Dæç»(CDTXMania.Instance.Device, GtWailingFrameX, GtWailingFrameY);
+ }
+ if (CDTXMania.Instance.DTX.bãããããã.Bass)
+ {
+ txWailingæ .t2Dæç»(CDTXMania.Instance.Device, BsWailingFrameX, BsWailingFrameY);
+ }
+ }
+ }
+ }
- case 4:
- this.LT = value;
- return;
+ // Stage Failed
+ if (((base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED) ||
+ (base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã)) &&
+ ((actStageFailed.Oné²è¡æç»() != 0) &&
+ (base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã)))
+ {
+ eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.ã¹ãã¼ã¸å¤±æ;
+ base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã;
+ actFO.tãã§ã¼ãã¢ã¦ãéå§();
+ }
- case 5:
- this.FT = value;
- return;
+ bIsFinishedFadeout = this.té²è¡æç»_ãã§ã¼ãã¤ã³_ã¢ã¦ã();
+ if (bIsFinishedPlaying && (base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.å
±é_é常ç¶æ
))
+ {
+ if (CDTXMania.Instance.DTXVmode.Enabled)
+ {
+ if (CDTXMania.Instance.Timer.båæ¢ãã¦ããªã)
+ {
+ actPanel.Stop();
+ CDTXMania.Instance.Timer.tä¸æåæ¢();
+ }
+ Thread.Sleep(5);
+ // DTXCããã®æ¬¡ã®ã¡ãã»ã¼ã¸ãå¾
ã¡ç¶ãã
+ }
+ else
+ {
+ this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.ã¹ãã¼ã¸ã¯ãªã¢;
+ base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_CLEAR_ãã§ã¼ãã¢ã¦ã;
+ this.actFOClear.tãã§ã¼ãã¢ã¦ãéå§();
+ tæ¼å¥çµæãæ ¼ç´ãã_ãã©ã ();
+ tæ¼å¥çµæãæ ¼ç´ãã_ã®ã¿ã¼();
+ tæ¼å¥çµæãæ ¼ç´ãã_ãã¼ã¹();
+
+ if (CDTXMania.Instance.ConfigIni.bDrumsæå¹)
+ {
+ for (EPad pad = EPad.DrumsPadMin; pad < EPad.DrumsPadMax; pad++)
+ {
+ r空æã¡ãã©ã ããã[pad] = r空ãã¡Chip(EPart.Drums, pad);
+ if (r空æã¡ãã©ã ããã[pad] == null)
+ {
+ r空æã¡ãã©ã ããã[pad] = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå»,
+ EnumConverter.ChannelFromPad(pad),
+ CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Drums);
+ }
+ }
+ }
- case 6:
- this.CY = value;
- return;
+ if (CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass) // #24063 2011.1.24 yyagi Gt/Bsãå
¥ãæ¿ãã¦ãããªããæ¼å¥çµæãå
¥ãæ¿ãã
+ {
+ CScoreIni.Cæ¼å¥è¨é² t;
+ t = record.Guitar;
+ record.Guitar = record.Bass;
+ record.Bass = t;
+
+ // èé¢æ
å ±ãå
ã«æ»ã
+ // #35417 2015.08.30 changed ãã©ã°ã«ã¢ã¯ã»ã¹ãã¦ããç®æãè¦ã¤ãã£ãããæå¹å
+ // #35417 2015.8.18 yyagi: AUTOç³»ã®ãã©ã°å
¥ãæ¿ãã¯åé¤å¯è½!?ã以å¾AUTOãã©ã°ã«å
¨ãã¢ã¯ã»ã¹ãã¦ããããæå³ããªãããã
+ // (ç´ä¸ã§bå
¨AUTOã§ãã ã«ã¢ã¯ã»ã¹ãã¦ããããæ¢ã«è¨ç®æ¸ã¿ã®ã¯ã©ã¹ã¸ã®ã¢ã¯ã»ã¹ã§ãããããã§ã®äº¤æ対象ã§ã¯ãªã)
+ CDTXMania.Instance.DTX.SwapGuitarBassInfos();
+ // #24415 2011.2.27 yyagi
+ // ãªã¶ã«ãéè¨æã®ã¿ãAutoç³»ã®ãã©ã°ãå
ã«æ»ãã
+ // ãããæ»ãã®ã¯ããªã¶ã«ãéè¨å¾ã
+ // "case CStage.Eã¹ãã¼ã¸.çµæ:"ã®ã¨ããã
+ CDTXMania.Instance.ConfigIni.SwapGuitarBassInfos_AutoFlags();
+ }
+ }
+ }
+ if (this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ == Eæ¼å¥ç»é¢ã®æ»ãå¤.åèªè¾¼_åæ¼å¥)
+ {
+ bIsFinishedFadeout = true;
+ }
+ if (bIsFinishedFadeout)
+ {
+ return (int)this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤;
+ }
- case 7:
- this.HHO = value;
- return;
+ ManageMixerQueue();
- case 8:
- this.RD = value;
- return;
+ // ãã¼å
¥å
- case 9:
- this.LC = value;
- return;
- }
- throw new IndexOutOfRangeException();
+ if (CDTXMania.Instance.actç¾å¨å
¥åãå æä¸ã®ãã©ã°ã¤ã³ == null)
+ {
+ this.tãã¼å
¥å();
}
}
+ return 0;
}
- protected struct stmixer
+ // ãã®ä»
+ public STPadValue GetNoChipDrums()
+ {
+ return r空æã¡ãã©ã ããã;
+ }
+ public STDGBSValue Record
{
- internal bool bIsAdd;
- internal CSound csound;
- internal bool bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã;
- };
-
- protected CActæ¼å¥AVI actAVI;
- protected CActæ¼å¥BGA actBGA;
-
- protected CActæ¼å¥ããããã¡ã¤ã¢GB actChipFireGB;
- protected CActæ¼å¥Comboå
±é actCombo;
- protected CActæ¼å¥Dangerå
±é actDANGER;
- protected CActFIFOBlack actFI;
- protected CActFIFOBlack actFO;
- protected CActFIFOWhite actFOClear;
- protected CActæ¼å¥ã²ã¼ã¸å
±é actGauge;
-
- protected CActæ¼å¥å¤å®æååå
±é actJudgeString;
- protected CActæ¼å¥Drumsã¬ã¼ã³ãã©ãã·ã¥D actLaneFlushD;
- protected CActæ¼å¥ã¬ã¼ã³ãã©ãã·ã¥GBå
±é actLaneFlushGB;
- protected CActæ¼å¥ããã«æåå actPanel;
- protected CActæ¼å¥æ¼å¥æ
å ± actPlayInfo;
- protected CActæ¼å¥RGBå
±é actRGB;
- protected CActæ¼å¥ã¹ã³ã¢å
±é actScore;
- protected CActæ¼å¥ã¹ãã¼ã¸å¤±æ actStageFailed;
- protected CActæ¼å¥ã¹ãã¼ã¿ã¹ããã«å
±é actStatusPanels;
- protected CActæ¼å¥WailingBonuså
±é actWailingBonus;
- protected CActæ¼å¥ã¹ã¯ãã¼ã«é度 actèé¢ã¹ã¯ãã¼ã«é度;
- public Cæ¼å¥å¤å®ã©ã¤ã³åº§æ¨å
±é æ¼å¥å¤å®ã©ã¤ã³åº§æ¨;
- protected bool bPAUSE;
- protected STDGBVALUE bæ¼å¥ã«MIDIå
¥åã使ã£ã;
- protected STDGBVALUE bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã;
- protected STDGBVALUE bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã;
- protected STDGBVALUE bæ¼å¥ã«ãã¦ã¹ã使ã£ã;
- protected CCounter ctWailingããã模æ§ã¢ãã¡;
- protected STDGBVALUE ctããã模æ§ã¢ãã¡;
-
- protected Eæ¼å¥ç»é¢ã®æ»ãå¤ eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤;
- protected readonly int[,] nBGAã¹ã³ã¼ããã£ã³ãã«ããã = new int[ , ] { { 0xc4, 0xc7, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe0 }, { 4, 7, 0x55, 0x56, 0x57, 0x58, 0x59, 0x60 } };
- protected readonly int[] nãã£ã³ãã«0Atoããã08 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 8, 0 };
- protected readonly int[] nãã£ã³ãã«0Atoã¬ã¼ã³07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 };
- protected readonly int[] nããã0Atoãã£ã³ãã«0A = new int[] { 0x11, 0x12, 0x13, 20, 0x15, 0x17, 0x16, 0x18, 0x19, 0x1a };
- protected readonly int[] nããã0Atoããã08 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 8, 0 }; // ãããç»åã®ãããå¦çç¨
- protected readonly int[] nããã0Atoã¬ã¼ã³07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 };
- protected STDGBVALUE nãããæ°ã»Autoå«ã¾ãªã;
- protected STDGBVALUE nãããæ°ã»Autoå«ã;
- protected int nç¾å¨ã®ãããChip = -1;
- protected int[] næå¾ã«åçããBGMã®å®WAVçªå· = new int[ 50 ];
- protected int næå¾ã«åçããHHã®ãã£ã³ãã«çªå·;
- protected List Læå¾ã«åçããHHã®å®WAVçªå·; // #23921 2011.1.4 yyagi: change "int" to "List", for recording multiple wav No.
- protected STLANEVALUE næå¾ã«åçããå®WAVçªå·; // #26388 2011.11.8 yyagi: change "næå¾ã«åçããå®WAVçªå·.GUITAR" and "næå¾ã«åçããå®WAVçªå·.BASS"
- // into "næå¾ã«åçããå®WAVçªå·";
-// protected int næå¾ã«åçããå®WAVçªå·.GUITAR;
-// protected int næå¾ã«åçããå®WAVçªå·.BASS;
-
- protected volatile Queue queueMixerSound; // #24820 2013.1.21 yyagi ã¾ãã¯åç´ã«Add/Removeã1åã®ãã¥ã¼ã§ã¾ã¨ãã¦ç®¡çããããæ¹ã§è¨è¨ãã
- protected DateTime dtLastQueueOperation; //
- protected bool bIsDirectSound; //
- protected double dbåçé度;
- protected bool bValidScore;
-// protected bool bDTXVmode;
-// protected STDGBVALUE nJudgeLinePosY_delta; // #31602 2013.6.23 yyagi 表示é
延対çã¨ãã¦ãå¤å®ã©ã¤ã³ã®è¡¨ç¤ºä½ç½®ããããæ©è½ã追å ãã
- protected STDGBVALUE bReverse;
-
- protected STDGBVALUE> queWailing;
- protected STDGBVALUE rç¾å¨ã®æ声Chip;
- protected CDTX.CChip rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip;
- protected STKARAUCHI rç¾å¨ã®ç©ºãã¡ãã©ã Chip;
- protected CDTX.CChip rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip;
- protected CDTX.CChip r次ã«ããã®ã¿ã¼Chip;
- protected CDTX.CChip r次ã«ãããã¼ã¹Chip;
- protected CTexture txWailingæ ;
- protected CTexture txããã;
- protected CTexture txããããã¼;
-
- protected CTexture txèæ¯;
-
- protected STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi
- protected STAUTOPLAY bIsAutoPlay; // #24239 2011.1.23 yyagi
-// protected int nRisky_InitialVar, nRiskyTime; // #23559 2011.7.28 yyagi â CActæ¼å¥ã²ã¼ã¸å
±éã¯ã©ã¹ã«é è½
- protected int nPolyphonicSounds;
- protected List listChip;
- protected Dictionary listWAV;
- protected CInvisibleChip cInvisibleChip;
- protected bool bUseOSTimer;
- protected Eå¤å®è¡¨ç¤ºåªå
度 eå¤å®è¡¨ç¤ºåªå
度;
- protected CWailingChipå
±é[] cWailingChip;
-
- protected Stopwatch sw; // 2011.6.13 æé©åæ¤è¨ç¨ã®ã¹ãããã¦ã©ãã
- protected Stopwatch sw2;
-// protected GCLatencyMode gclatencymode;
-
- public void AddMixer( CSound cs, bool _bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã )
+ get
+ {
+ return record;
+ }
+ }
+ public void AddMixer(CSound cs, bool _bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã)
{
- stmixer stm = new stmixer()
+ STMixer stm = new STMixer()
{
bIsAdd = true,
csound = cs,
bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã = _bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã
};
- queueMixerSound.Enqueue( stm );
-// Debug.WriteLine( "â
Queue: add " + Path.GetFileName( stm.csound.strãã¡ã¤ã«å ));
+ queueMixerSound.Enqueue(stm);
+ // Debug.WriteLine( "â
Queue: add " + Path.GetFileName( stm.csound.strãã¡ã¤ã«å ));
}
- public void RemoveMixer( CSound cs )
+ public void RemoveMixer(CSound cs)
{
- stmixer stm = new stmixer()
+ STMixer stm = new STMixer()
{
bIsAdd = false,
csound = cs,
bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã = false
};
- queueMixerSound.Enqueue( stm );
-// Debug.WriteLine( "â
Queue: remove " + Path.GetFileName( stm.csound.strãã¡ã¤ã«å ));
+ queueMixerSound.Enqueue(stm);
+ // Debug.WriteLine( "â
Queue: remove " + Path.GetFileName( stm.csound.strãã¡ã¤ã«å ));
}
public void ManageMixerQueue()
{
// ãããµã¦ã³ãã®ç»é²/åé¤ãå¿
è¦ãªããå®è¡ãã
- if ( queueMixerSound.Count > 0 )
+ if (queueMixerSound.Count > 0)
{
//Debug.WriteLine( "âqueueLength=" + queueMixerSound.Count );
DateTime dtnow = DateTime.Now;
TimeSpan ts = dtnow - dtLastQueueOperation;
- if ( ts.Milliseconds > 7 )
+ int nInterval = ( CDTXMania.Instance.ConfigIni.bVSyncWait ) ? 7 : 1;
+ int nMaxDequeueCount = ( CDTXMania.Instance.ConfigIni.bVSyncWait ) ? 2 : 1;
+ if (ts.Milliseconds > nInterval)
{
- for ( int i = 0; i < 2 && queueMixerSound.Count > 0; i++ )
+ for (int i = 0; i < nMaxDequeueCount && queueMixerSound.Count > 0; i++)
{
dtLastQueueOperation = dtnow;
- stmixer stm = queueMixerSound.Dequeue();
- if ( stm.bIsAdd )
+ STMixer stm = queueMixerSound.Dequeue();
+ if (stm.bIsAdd)
{
- CDTXMania.Sound管ç.AddMixer( stm.csound, dbåçé度, stm.bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã );
+ CDTXMania.Instance.Sound管ç.AddMixer(stm.csound, dbåçé度, stm.bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã);
}
else
{
- CDTXMania.Sound管ç.RemoveMixer( stm.csound );
+ CDTXMania.Instance.Sound管ç.RemoveMixer(stm.csound);
+ }
+ }
+ }
+ }
+ }
+
+ ///
+ /// æ¼å¥éå§åã«é©åãªãµã¤ãºã®AVIãã¯ã¹ãã£ãä½æãã¦ãããã¨ã§ãAVIåçéå§æã®ããã¤ãããªãã
+ ///
+ protected void PrepareAVITexture()
+ {
+ if (CDTXMania.Instance.ConfigIni.bAVI)
+ {
+ foreach (CChip pChip in CDTXMania.Instance.DTX.listChip)
+ {
+ if (pChip.eãã£ã³ãã«çªå· == EChannel.Movie || pChip.eãã£ã³ãã«çªå· == EChannel.MovieFull)
+ {
+ // æåã«åçããAVIãããã«åããã¦ããã¯ã¹ãã£ãæºåãã¦ãã
+ if (pChip.rAVI != null)
+ {
+ this.actAVI.PrepareProperSizeTexture((int)pChip.rAVI.avi.nãã¬ã¼ã å¹
, (int)pChip.rAVI.avi.nãã¬ã¼ã é«ã);
}
+ break;
}
}
}
}
- protected Eå¤å® eæå®æå»ããChipã®JUDGEãè¿ã( long nTime, CDTX.CChip pChip, int nInputAdjustTime )
+ protected EJudge eæå®æå»ããChipã®JUDGEãè¿ã(long nTime, CChip pChip, int nInputAdjustTime, bool saveLag = true)
{
- if ( pChip != null )
+ 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 );
+ // #35411 2015.08.22 chnmr0 modified add check save lag flag for ghost
+ int lag = (int)(nTime + nInputAdjustTime - pChip.nçºå£°æå»ms);
+ if (saveLag)
+ {
+ pChip.nLag = lag;
+ // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature
+ if (pChip.e楽å¨ãã¼ã != EPart.Unknown)
+ {
+ pChip.extendInfoForGhost = this.actCombo.dgbã³ã³ãæ°[pChip.e楽å¨ãã¼ã].nç¾å¨å¤ > 0 ? true : false;
+ }
+ }
+ // #35411 modify end
+
+ int nDeltaTime = Math.Abs(lag);
//Debug.WriteLine("nAbsTime=" + (nTime - pChip.nçºå£°æå»ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.nçºå£°æå»ms));
- if ( nDeltaTime <= CDTXMania.nPerfectç¯å²ms )
+ if (nDeltaTime <= CDTXMania.Instance.nPerfectç¯å²ms)
{
- return Eå¤å®.Perfect;
+ return EJudge.Perfect;
}
- if ( nDeltaTime <= CDTXMania.nGreatç¯å²ms )
+ if (nDeltaTime <= CDTXMania.Instance.nGreatç¯å²ms)
{
- return Eå¤å®.Great;
+ return EJudge.Great;
}
- if ( nDeltaTime <= CDTXMania.nGoodç¯å²ms )
+ if (nDeltaTime <= CDTXMania.Instance.nGoodç¯å²ms)
{
- return Eå¤å®.Good;
+ return EJudge.Good;
}
- if ( nDeltaTime <= CDTXMania.nPoorç¯å²ms )
+ if (nDeltaTime <= CDTXMania.Instance.nPoorç¯å²ms)
{
- return Eå¤å®.Poor;
+ return EJudge.Poor;
}
}
- return Eå¤å®.Miss;
+ return EJudge.Miss;
}
- protected CDTX.CChip r空ãã¡Chip( E楽å¨ãã¼ã part, Eããã pad )
+
+ protected CChip r空ãã¡Chip(EPart part, EPad pad)
{
- switch ( part )
+ switch (part)
{
- case E楽å¨ãã¼ã.DRUMS:
- switch ( pad )
+ case EPart.Drums:
+ switch (pad)
{
- case Eããã.HH:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH != null )
+ case EPad.HH:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH;
}
- if ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ãã¤ãããã®ã¿æã¡åãã )
+ if (CDTXMania.Instance.ConfigIni.eHHGroup != EHHGroup.HO_HC)
{
- if ( CDTXMania.ConfigIni.eHHGroup == EHHGroup.å·¦ã·ã³ãã«ã®ã¿æã¡åãã )
+ if (CDTXMania.Instance.ConfigIni.eHHGroup == EHHGroup.LC_HH)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO;
}
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO != null )
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO;
}
}
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LC;
- case Eããã.SD:
+ case EPad.SD:
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.SD;
- case Eããã.BD:
+ case EPad.BD:
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.BD;
- case Eããã.HT:
+ case EPad.HT:
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HT;
- case Eããã.LT:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LT != null )
+ case EPad.LT:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LT != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LT;
}
- if ( CDTXMania.ConfigIni.eFTGroup == EFTGroup.å
±é )
+ if (CDTXMania.Instance.ConfigIni.eFTGroup == EFTGroup.Group)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.FT;
}
return null;
- case Eããã.FT:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.FT != null )
+ case EPad.FT:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.FT != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.FT;
}
- if ( CDTXMania.ConfigIni.eFTGroup == EFTGroup.å
±é )
+ if (CDTXMania.Instance.ConfigIni.eFTGroup == EFTGroup.Group)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LT;
}
return null;
- case Eããã.CY:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.CY != null )
+ case EPad.CY:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.CY != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.CY;
}
- if ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.å
±é )
+ if (CDTXMania.Instance.ConfigIni.eCYGroup == ECYGroup.Group)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.RD;
}
return null;
- case Eããã.HHO:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO != null )
+ case EPad.HHO:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HHO;
}
- if ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ãã¤ãããã®ã¿æã¡åãã )
+ if (CDTXMania.Instance.ConfigIni.eHHGroup != EHHGroup.HO_HC)
{
- if ( CDTXMania.ConfigIni.eHHGroup == EHHGroup.å·¦ã·ã³ãã«ã®ã¿æã¡åãã )
+ if (CDTXMania.Instance.ConfigIni.eHHGroup == EHHGroup.LC_HH)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH;
}
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH != null )
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH;
}
}
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LC;
- case Eããã.RD:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.RD != null )
+ case EPad.RD:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.RD != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.RD;
}
- if ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.å
±é )
+ if (CDTXMania.Instance.ConfigIni.eCYGroup == ECYGroup.Group)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.CY;
}
return null;
- case Eããã.LC:
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LC != null )
+ case EPad.LC:
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LC != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.LC;
}
- if ( ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ãã¤ãããã®ã¿æã¡åãã ) && ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.å
¨é¨å
±é ) )
+ if ((CDTXMania.Instance.ConfigIni.eHHGroup != EHHGroup.HO_HC) && (CDTXMania.Instance.ConfigIni.eHHGroup != EHHGroup.Group))
{
return null;
}
- if ( this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH != null )
+ if (this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH != null)
{
return this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip.HH;
}
@@ -862,171 +1005,52 @@ namespace DTXMania
}
break;
- case E楽å¨ãã¼ã.GUITAR:
+ case EPart.Guitar:
return this.rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip;
- case E楽å¨ãã¼ã.BASS:
+ case EPart.Bass:
return this.rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip;
}
return null;
}
- protected CDTX.CChip ræå®æå»ã«ä¸çªè¿ãChipã»ãããæªæ¸åããä¸å¯è¦èæ
®( long nTime, int nChannel, int nInputAdjustTime )
+
+ protected CChip ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(long nTime, EChannel eChannel, int nInputAdjustTime)
{
- sw2.Start();
-//Trace.TraceInformation( "NTime={0}, nChannel={1:x2}", nTime, nChannel );
- nTime += nInputAdjustTime; // #24239 2011.1.23 yyagi InputAdjust
+ return ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, eChannel, nInputAdjustTime, 0, HitState.DontCare);
+ }
- int nIndex_InitialPositionSearchingToPast;
- if ( this.nç¾å¨ã®ãããChip == -1 ) // æ¼å¥ãã¼ã¿ã¨ãã¦1åããããããªãå ´åã¯
- {
- sw2.Stop();
- return null;
- }
- int count = listChip.Count;
- int nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = this.nç¾å¨ã®ãããChip;
- if ( this.nç¾å¨ã®ãããChip >= count ) // ãã®æç¹ã§æ¼å¥ãã¹ãããããæ¢ã«å
¨é¨ç¡ããªã£ã¦ããã
- {
- nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = count - 1;
- }
- //int nIndex_NearestChip_Future; // = nIndex_InitialPositionSearchingToFuture;
- //while ( nIndex_NearestChip_Future < count ) // æªæ¥æ¹åã¸ã®æ¤ç´¢
- for ( ; nIndex_NearestChip_Future < count; nIndex_NearestChip_Future++)
+ protected void tãµã¦ã³ãåç(CChip rChip, long nåçéå§ã·ã¹ãã æå»ms, EPart part)
+ {
+ this.tãµã¦ã³ãåç(rChip, nåçéå§ã·ã¹ãã æå»ms, part, CDTXMania.Instance.ConfigIni.nChipVolume);
+ }
+
+ protected void tãµã¦ã³ãåç(CChip pChip, long nåçéå§ã·ã¹ãã æå»ms, EPart part, int né³é, bool bã¢ãã¿ = false, bool bé³ç¨ããããã¦åç = false)
+ {
+ // mute sound (auto)
+ // 4A: HH
+ // 4B: CY
+ // 4C: RD
+ // 4D: LC
+ // 2A: Gt
+ // AA: Bs
+ //
+
+ if (pChip != null)
{
- CDTX.CChip chip = listChip[ nIndex_NearestChip_Future ];
- if ( chip.b空æã¡ãããã§ãã )
- {
- continue;
- }
- if ( ( ( 0x11 <= nChannel ) && ( nChannel <= 0x1a ) ) )
+ bool overwrite = false;
+ switch (part)
{
- if ( ( chip.nãã£ã³ãã«çªå· == nChannel ) || ( chip.nãã£ã³ãã«çªå· == ( nChannel + 0x20 ) ) )
- {
- if ( chip.nçºå£°æå»ms > nTime )
+ case EPart.Drums:
+ #region [ DRUMS ]
{
- break;
- }
- nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future;
- }
- continue; // ã»ãã®å
ããªããé«éå
- }
- else if ( ( ( nChannel == 0x2f ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR ) ) || ( ( ( 0x20 <= nChannel ) && ( nChannel <= 0x28 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) ) )
- {
- if ( chip.nçºå£°æå»ms > nTime )
- {
- break;
- }
- nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future;
- }
- else if ( ( ( nChannel == 0xaf ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS ) ) || ( ( ( 0xa0 <= nChannel ) && ( nChannel <= 0xa8 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) ) )
- {
- if ( chip.nçºå£°æå»ms > nTime )
- {
- break;
- }
- nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future;
- }
- // nIndex_NearestChip_Future++;
- }
- int nIndex_NearestChip_Past = nIndex_InitialPositionSearchingToPast;
- //while ( nIndex_NearestChip_Past >= 0 ) // éå»æ¹åã¸ã®æ¤ç´¢
- for ( ; nIndex_NearestChip_Past >= 0; nIndex_NearestChip_Past-- )
- {
- CDTX.CChip chip = listChip[ nIndex_NearestChip_Past ];
- if ( chip.b空æã¡ãããã§ãã )
- {
- continue;
- }
- if ( ( 0x11 <= nChannel ) && ( nChannel <= 0x1a ) )
- {
- if ( ( chip.nãã£ã³ãã«çªå· == nChannel ) || ( chip.nãã£ã³ãã«çªå· == ( nChannel + 0x20 ) ) )
- {
- break;
- }
- }
- else if ( ( ( nChannel == 0x2f ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR ) ) || ( ( ( 0x20 <= nChannel ) && ( nChannel <= 0x28 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) ) )
- {
- if ( ( 0x20 <= chip.nãã£ã³ãã«çªå· ) && ( chip.nãã£ã³ãã«çªå· <= 0x28 ) )
- {
- break;
- }
- }
- else if ( ( ( ( nChannel == 0xaf ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS ) ) || ( ( ( 0xa0 <= nChannel ) && ( nChannel <= 0xa8 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) ) )
- && ( ( 0xa0 <= chip.nãã£ã³ãã«çªå· ) && ( chip.nãã£ã³ãã«çªå· <= 0xa8 ) ) )
- {
- break;
- }
- // nIndex_NearestChip_Past--;
- }
-
- if ( nIndex_NearestChip_Future >= count )
- {
- if ( nIndex_NearestChip_Past < 0 ) // æ¤ç´¢å¯¾è±¡ãéå»æªæ¥ã©ã¡ãã«ãè¦ã¤ãããªãã£ãå ´å
- {
- return null;
- }
- else // æ¤ç´¢å¯¾è±¡ãæªæ¥æ¹åã«ã¯è¦ã¤ãããªãã£ã(ãããéå»æ¹åã«ã¯è¦ã¤ãã£ã)å ´å
- {
- sw2.Stop();
- return listChip[ nIndex_NearestChip_Past ];
- }
- }
- else if ( nIndex_NearestChip_Past < 0 ) // æ¤ç´¢å¯¾è±¡ãéå»æ¹åã«ã¯è¦ã¤ãããªãã£ã(ãããæªæ¥æ¹åã«ã¯è¦ã¤ãã£ã)å ´å
- {
- sw2.Stop();
- return listChip[ nIndex_NearestChip_Future ];
- }
- // æ¤ç´¢å¯¾è±¡ãéå»æªæ¥ã®åæ¹ã«è¦ã¤ãã£ããªããããè¿ãæ¹ãæ¡ç¨ãã
- CDTX.CChip nearestChip_Future = listChip[ nIndex_NearestChip_Future ];
- CDTX.CChip nearestChip_Past = listChip[ nIndex_NearestChip_Past ];
- int nDiffTime_Future = Math.Abs( (int) ( nTime - nearestChip_Future.nçºå£°æå»ms ) );
- int nDiffTime_Past = Math.Abs( (int) ( nTime - nearestChip_Past.nçºå£°æå»ms ) );
- if ( nDiffTime_Future >= nDiffTime_Past )
- {
- sw2.Stop();
- return nearestChip_Past;
- }
- sw2.Stop();
- return nearestChip_Future;
- }
- protected void tãµã¦ã³ãåç( CDTX.CChip rChip, long nåçéå§ã·ã¹ãã æå»ms, E楽å¨ãã¼ã part )
- {
- this.tãµã¦ã³ãåç( rChip, nåçéå§ã·ã¹ãã æå»ms, part, CDTXMania.ConfigIni.næååçé³é, false, false );
- }
- protected void tãµã¦ã³ãåç( CDTX.CChip rChip, long nåçéå§ã·ã¹ãã æå»ms, E楽å¨ãã¼ã part, int né³é )
- {
- this.tãµã¦ã³ãåç( rChip, nåçéå§ã·ã¹ãã æå»ms, part, né³é, false, false );
- }
- protected void tãµã¦ã³ãåç( CDTX.CChip rChip, long nåçéå§ã·ã¹ãã æå»ms, E楽å¨ãã¼ã part, int né³é, bool bã¢ãã¿ )
- {
- this.tãµã¦ã³ãåç( rChip, nåçéå§ã·ã¹ãã æå»ms, part, né³é, bã¢ãã¿, false );
- }
- protected void tãµã¦ã³ãåç( CDTX.CChip pChip, long nåçéå§ã·ã¹ãã æå»ms, E楽å¨ãã¼ã part, int né³é, bool bã¢ãã¿, bool bé³ç¨ããããã¦åç )
- {
- // mute sound (auto)
- // 4A: HH
- // 4B: CY
- // 4C: RD
- // 4D: LC
- // 2A: Gt
- // AA: Bs
- //
-
- if ( pChip != null )
- {
- bool overwrite = false;
- switch ( part )
- {
- case E楽å¨ãã¼ã.DRUMS:
- #region [ DRUMS ]
- {
- int index = pChip.nãã£ã³ãã«çªå·;
- if ( ( 0x11 <= index ) && ( index <= 0x1a ) )
+ int index = -1;
+ if (pChip.bDrumså¯è¦ããã_LP_LBDå«ã¾ãªã)
{
- index -= 0x11;
+ index = pChip.nDrumsIndex;
}
- else if ( ( 0x31 <= index ) && ( index <= 0x3a ) )
+ else if (pChip.bDrumsä¸å¯è¦ããã_LP_LBDå«ã¾ãªã)
{
- index -= 0x31;
+ index = pChip.nDrumsIndexHidden;
}
// mute sound (auto)
// 4A: 84: HH (HO/HC)
@@ -1035,26 +1059,27 @@ namespace DTXMania
// 4D: 87: LC
// 2A: 88: Gt
// AA: 89: Bs
- else if ( 0x84 == index ) // ä»®ã«ä»ã ã追å HHã¯æ¶é³å¦çãããã®ã§ overwriteãã©ã°ç³»ã®å¦çã¯æ¹ãã¦ä¸è¦
+ else if (EChannel.SE24 == pChip.eãã£ã³ãã«çªå·) // ä»®ã«ä»ã ã追å HHã¯æ¶é³å¦çãããã®ã§ overwriteãã©ã°ç³»ã®å¦çã¯æ¹ãã¦ä¸è¦
{
index = 0;
}
- else if ( ( 0x85 <= index ) && ( index <= 0x87 ) ) // ä»®ã«ä»ã ã追å
+ else if ((EChannel.SE25 <= pChip.eãã£ã³ãã«çªå·) && (pChip.eãã£ã³ãã«çªå· <= EChannel.SE27)) // ä»®ã«ä»ã ã追å
{
- // CY RD LC
- int[] ch = { 0x16, 0x19, 0x1A };
- pChip.nãã£ã³ãã«çªå· = ch[ pChip.nãã£ã³ãã«çªå· - 0x85 ];
- index = pChip.nãã£ã³ãã«çªå· - 0x11;
+ pChip.ConvertSE25_26_27toCY_RCY_LCY();
+ index = pChip.nDrumsIndex;
overwrite = true;
}
else
{
return;
}
- int nLane = this.nãã£ã³ãã«0Atoã¬ã¼ã³07[ index ];
- if ( ( nLane == 1 ) && // ä»åæ¼å¥ããã®ãHC or HO
- ( index == 0 || ( index == 7 && this.næå¾ã«åçããHHã®ãã£ã³ãã«çªå· != 0x18 && this.næå¾ã«åçããHHã®ãã£ã³ãã«çªå· != 0x38 ) )
- // HCãæ¼å¥ããããã¾ãã¯HOæ¼å¥ï¼ä»¥åHOæ¼å¥ã§ãªãï¼ä»¥åä¸å¯è¦HOæ¼å¥ã§ãªã
+ EChannel actChannel = EChannel.HiHatClose + index;
+ ELane nLane = EnumConverter.LaneFromChannel(actChannel);
+ if ((nLane == ELane.HH) && // ä»åæ¼å¥ããã®ãHC or HO
+ (index == 0 || (index == 7 &&
+ this.eæå¾ã«åçããHHã®ãã£ã³ãã«çªå· != EChannel.HiHatOpen &&
+ this.eæå¾ã«åçããHHã®ãã£ã³ãã«çªå· != EChannel.HiHatOpen_Hidden))
+ // HCãæ¼å¥ããããã¾ãã¯HOæ¼å¥ï¼ä»¥åHOæ¼å¥ã§ãªãï¼ä»¥åä¸å¯è¦HOæ¼å¥ã§ãªã
)
// #24772 2011.4.4 yyagi
// == HH mute condition ==
@@ -1064,73 +1089,52 @@ namespace DTXMania
// HO Yes No
{
// #23921 2011.1.4 yyagi: 2種é¡ä»¥ä¸ã®ãªã¼ãã³ãã¤ããããçºé³æ¸ã¿ã ã¨ãæå¾ã®HHOããæ¶ããªãåé¡ã«å¯¾å¿ã
-#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test
- if (CDTXMania.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.HH)
- {
-#endif
- for ( int i = 0; i < this.Læå¾ã«åçããHHã®å®WAVçªå·.Count; i++ ) // #23921 2011.1.4 yyagi
+ for (int i = 0; i < this.Læå¾ã«åçããHHã®å®WAVçªå·.Count; i++) // #23921 2011.1.4 yyagi
{
- // CDTXMania.DTX.tWavã®åçåæ¢(this.Læå¾ã«åçããHHã®å®WAVçªå·);
- CDTXMania.DTX.tWavã®åçåæ¢( this.Læå¾ã«åçããHHã®å®WAVçªå·[ i ] ); // #23921 yyagi ã¹ããã¯åå
¨ã¦æ¶é³ãã
+ CDTXMania.Instance.DTX.tWavã®åçåæ¢(this.Læå¾ã«åçããHHã®å®WAVçªå·[i]); // #23921 yyagi ã¹ããã¯åå
¨ã¦æ¶é³ãã
}
this.Læå¾ã«åçããHHã®å®WAVçªå·.Clear();
-#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test
- }
-#endif
- //this.næå¾ã«åçããHHã®å®WAVçªå· = pChip.næ´æ°å¤ã»å
é¨çªå·;
- this.næå¾ã«åçããHHã®ãã£ã³ãã«çªå· = pChip.nãã£ã³ãã«çªå·;
+ this.eæå¾ã«åçããHHã®ãã£ã³ãã«çªå· = pChip.eãã£ã³ãã«çªå·;
}
-#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test
- if (CDTXMania.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.HH)
+ if (index == 0 || index == 7)
{
-#endif
- if ( index == 0 || index == 7 || index == 0x20 || index == 0x27 ) // #23921 HOã¾ãã¯ä¸å¯è¦HOæ¼å¥æã¯ãã®ãããçªå·ãã¹ããã¯ãã¦ãã
- { // #24772 HC, ä¸å¯è¦HCãæ¶é³ãã¥ã¼ã«è¿½å
- if ( this.Læå¾ã«åçããHHã®å®WAVçªå·.Count >= 16 ) // #23921 ãã ãã¹ããã¯æ°ã16以ä¸ã«ãªããããªããé ã®1åãåã£ã¦å¸¸ã«16æªæºã«æãã
- { // (ã¹ããã¯ãå¢ãã¦List<>ã®realloc()ãçºçããã®ãäºé²ãã)
- this.Læå¾ã«åçããHHã®å®WAVçªå·.RemoveAt( 0 );
+ // #23921 HOã¾ãã¯ä¸å¯è¦HOæ¼å¥æã¯ãã®ãããçªå·ãã¹ããã¯ãã¦ãã
+ // #24772 HC, ä¸å¯è¦HCãæ¶é³ãã¥ã¼ã«è¿½å
+ if (this.Læå¾ã«åçããHHã®å®WAVçªå·.Count >= 16)
+ {
+ // #23921 ãã ãã¹ããã¯æ°ã16以ä¸ã«ãªããããªããé ã®1åãåã£ã¦å¸¸ã«16æªæºã«æãã
+ // (ã¹ããã¯ãå¢ãã¦List<>ã®realloc()ãçºçããã®ãäºé²ãã)
+ this.Læå¾ã«åçããHHã®å®WAVçªå·.RemoveAt(0);
}
- if ( !this.Læå¾ã«åçããHHã®å®WAVçªå·.Contains( pChip.næ´æ°å¤ã»å
é¨çªå· ) ) // ãããé³ãã¾ã ã¹ããã¯ããã¦ãªããã°
+ if (!this.Læå¾ã«åçããHHã®å®WAVçªå·.Contains(pChip.næ´æ°å¤_å
é¨çªå·))
{
- this.Læå¾ã«åçããHHã®å®WAVçªå·.Add( pChip.næ´æ°å¤ã»å
é¨çªå· ); // ã¹ããã¯ãã
+ // ãããé³ãã¾ã ã¹ããã¯ããã¦ãªããã°ã¹ããã¯ãã
+ this.Læå¾ã«åçããHHã®å®WAVçªå·.Add(pChip.næ´æ°å¤_å
é¨çªå·);
}
}
-#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test
- }
-#endif
- if ( overwrite )
+ if (overwrite)
{
- CDTXMania.DTX.tWavã®åçåæ¢( this.næå¾ã«åçããå®WAVçªå·[index] );
+
+ CDTXMania.Instance.DTX.tWavã®åçåæ¢(this.næå¾ã«åçããå®WAVçªå·[EnumConverter.PadFromChannel(actChannel)]);
}
- CDTXMania.DTX.tãããã®åç( pChip, nåçéå§ã·ã¹ãã æå»ms, nLane, né³é, bã¢ãã¿ );
- this.næå¾ã«åçããå®WAVçªå·[ nLane ] = pChip.næ´æ°å¤ã»å
é¨çªå·; // nLaneã§ãªãindexã«ããã¨ãLC(1A-11=09)ã¨ã®ã¿ã¼(enumã§09)ããã¶ã£ã¦LCé³ãæ¶ãããã®ã§æ³¨æ
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, nåçéå§ã·ã¹ãã æå»ms, né³é, bã¢ãã¿);
+ this.næå¾ã«åçããå®WAVçªå·[EnumConverter.PadFromLane(nLane)] = pChip.næ´æ°å¤_å
é¨çªå·;
+ // nLaneã§ãªãindexã«ããã¨ãLC(1A-11=09)ã¨ã®ã¿ã¼(enumã§09)ããã¶ã£ã¦LCé³ãæ¶ãããã®ã§æ³¨æ
return;
}
#endregion
- case E楽å¨ãã¼ã.GUITAR:
- #region [ GUITAR ]
-#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test
- if (CDTXMania.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.Guitar) {
-#endif
- CDTXMania.DTX.tWavã®åçåæ¢( this.næå¾ã«åçããå®WAVçªå·.Guitar );
-#if TEST_NOTEOFFMODE
- }
-#endif
- CDTXMania.DTX.tãããã®åç( pChip, nåçéå§ã·ã¹ãã æå»ms, (int) Eã¬ã¼ã³.Guitar, né³é, bã¢ãã¿, bé³ç¨ããããã¦åç );
- this.næå¾ã«åçããå®WAVçªå·.Guitar = pChip.næ´æ°å¤ã»å
é¨çªå·;
+ case EPart.Guitar:
+ #region [ GUITAR ]
+ CDTXMania.Instance.DTX.tWavã®åçåæ¢(this.næå¾ã«åçããå®WAVçªå·.GtPick);
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, nåçéå§ã·ã¹ãã æå»ms, né³é, bã¢ãã¿, bé³ç¨ããããã¦åç);
+ this.næå¾ã«åçããå®WAVçªå·.GtPick = pChip.næ´æ°å¤_å
é¨çªå·;
return;
#endregion
- case E楽å¨ãã¼ã.BASS:
- #region [ BASS ]
-#if TEST_NOTEOFFMODE
- if (CDTXMania.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.Bass) {
-#endif
- CDTXMania.DTX.tWavã®åçåæ¢( this.næå¾ã«åçããå®WAVçªå·.Bass );
-#if TEST_NOTEOFFMODE
- }
-#endif
- CDTXMania.DTX.tãããã®åç( pChip, nåçéå§ã·ã¹ãã æå»ms, (int) Eã¬ã¼ã³.Bass, né³é, bã¢ãã¿, bé³ç¨ããããã¦åç );
- this.næå¾ã«åçããå®WAVçªå·.Bass = pChip.næ´æ°å¤ã»å
é¨çªå·;
+ case EPart.Bass:
+ #region [ BASS ]
+ CDTXMania.Instance.DTX.tWavã®åçåæ¢(this.næå¾ã«åçããå®WAVçªå·.BsPick);
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, nåçéå§ã·ã¹ãã æå»ms, né³é, bã¢ãã¿, bé³ç¨ããããã¦åç);
+ this.næå¾ã«åçããå®WAVçªå·.BsPick = pChip.næ´æ°å¤_å
é¨çªå·;
return;
#endregion
@@ -1139,990 +1143,1902 @@ namespace DTXMania
}
}
}
- protected void tã¹ãã¼ã¿ã¹ããã«ã®é¸æ()
- {
- if ( CDTXMania.bã³ã³ãã¯ãã¢ã¼ã )
- {
- this.actStatusPanels.tã©ãã«åããã¹ãã¼ã¿ã¹ããã«ã決å®ãã( null );
- }
- else if ( CDTXMania.stageé¸æ².r確å®ãããæ² != null )
- {
- this.actStatusPanels.tã©ãã«åããã¹ãã¼ã¿ã¹ããã«ã決å®ãã( CDTXMania.stageé¸æ².r確å®ãããæ².aré£æ度ã©ãã«[ CDTXMania.stageé¸æ².n確å®ãããæ²ã®é£æ度 ] );
- }
- }
- protected Eå¤å® tãããã®ãããå¦ç( long nHitTime, CDTX.CChip pChip )
- {
- return tãããã®ãããå¦ç( nHitTime, pChip, true );
- }
- protected abstract Eå¤å® tãããã®ãããå¦ç( long nHitTime, CDTX.CChip pChip, bool bCorrectLane );
- protected Eå¤å® tãããã®ãããå¦ç( long nHitTime, CDTX.CChip pChip, E楽å¨ãã¼ã screenmode ) // E楽å¨ãã¼ã screenmode
- {
- return tãããã®ãããå¦ç( nHitTime, pChip, screenmode, true );
- }
- protected Eå¤å® tãããã®ãããå¦ç( long nHitTime, CDTX.CChip pChip, E楽å¨ãã¼ã screenmode, bool bCorrectLane )
+
+ protected EJudge tãããã®ãããå¦ç(long nHitTime, CChip pChip, bool bCorrectLane = true)
{
pChip.bHit = true;
-#region [ã¡ã½ããåããåã®è¨è¿°(注éå)]
-// bool bPChipIsAutoPlay = false;
-// bool bGtBsR = ( ( pChip.nãã£ã³ãã«çªå· & 4 ) > 0 );
-// bool bGtBsG = ( ( pChip.nãã£ã³ãã«çªå· & 2 ) > 0 );
-// bool bGtBsB = ( ( pChip.nãã£ã³ãã«çªå· & 1 ) > 0 );
-// bool bGtBsW = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x08 );
-// bool bGtBsO = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x00 );
-// if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.DRUMS )
-// {
-// if ( bIsAutoPlay[ this.nãã£ã³ãã«0Atoã¬ã¼ã³07[ pChip.nãã£ã³ãã«çªå· - 0x11 ] ] )
-// {
-// bPChipIsAutoPlay = true;
-// }
-// }
-// else if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR )
-// {
-////Trace.TraceInformation( "chip:{0}{1}{2} ", bGtBsR, bGtBsG, bGtBsB );
-////Trace.TraceInformation( "auto:{0}{1}{2} ", bIsAutoPlay[ (int) Eã¬ã¼ã³.GtR ], bIsAutoPlay[ (int) Eã¬ã¼ã³.GtG ], bIsAutoPlay[ (int) Eã¬ã¼ã³.GtB ]);
-// bPChipIsAutoPlay = true;
-// if ( !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtPick ] ) bPChipIsAutoPlay = false;
-// else
-// {
-// if ( bGtBsR && !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtR ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsG && !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtG ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsB && !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtB ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsW && !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtW ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsO &&
-// ( !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtR] || !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtG] || !bIsAutoPlay[ (int) Eã¬ã¼ã³.GtB] ) )
-// bPChipIsAutoPlay = false;
-// }
-// }
-// else if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS )
-// {
-// bPChipIsAutoPlay = true;
-// if ( !bIsAutoPlay[ (int) Eã¬ã¼ã³.BsPick ] ) bPChipIsAutoPlay = false;
-// else
-// {
-// if ( bGtBsR && !bIsAutoPlay[ (int) Eã¬ã¼ã³.BsR ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsG && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsG ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsB && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsB ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsW && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsW ] ) bPChipIsAutoPlay = false;
-// else if ( bGtBsO &&
-// ( !bIsAutoPlay[ (int) Eã¬ã¼ã³.BsR ] || !bIsAutoPlay[ (int) Eã¬ã¼ã³.BsG ] || !bIsAutoPlay[ (int) Eã¬ã¼ã³.BsB ] ) )
-// bPChipIsAutoPlay = false;
-// }
-// }
-// else
-// {
-// this.bAUTOã§ãªãããããï¼ã¤ã§ããã¼ãééãã = true;
-// }
-////Trace.TraceInformation( "ch={0:x2}, flag={1}", pChip.nãã£ã³ãã«çªå·, bPChipIsAutoPlay.ToString() );
-#endregion
- if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.UNKNOWN )
- {
- this.bAUTOã§ãªãããããï¼ã¤ã§ããã¼ãééãã = true;
- }
- else
+ if (pChip.e楽å¨ãã¼ã != EPart.Unknown)
{
- cInvisibleChip.StartSemiInvisible( pChip.e楽å¨ãã¼ã );
+ cInvisibleChip.StartSemiInvisible(pChip.e楽å¨ãã¼ã);
}
- bool bPChipIsAutoPlay = bCheckAutoPlay( pChip );
+ bool bPChipIsAutoPlay = pChip.bAssignAutoPlayState();// 2011.6.10 yyagi
+ EJudge eJudgeResult = EJudge.Auto;
- pChip.bIsAutoPlayed = bPChipIsAutoPlay; // 2011.6.10 yyagi
- Eå¤å® eJudgeResult = Eå¤å®.Auto;
- switch ( pChip.e楽å¨ãã¼ã )
- {
- case E楽å¨ãã¼ã.DRUMS:
- {
- int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Drums;
- eJudgeResult = (bCorrectLane)? this.eæå®æå»ããChipã®JUDGEãè¿ã( nHitTime, pChip, nInputAdjustTime ) : Eå¤å®.Miss;
- this.actJudgeString.Start( this.nãã£ã³ãã«0Atoã¬ã¼ã³07[ pChip.nãã£ã³ãã«çªå· - 0x11 ], bPChipIsAutoPlay ? Eå¤å®.Auto : eJudgeResult, pChip.nLag );
- }
- break;
+ // ã´ã¼ã¹ãå¦ç #35411 2015.08.20 chnmr0
+ bool bIsPerfectGhost = CDTXMania.Instance.ConfigIni.eAutoGhost[pChip.e楽å¨ãã¼ã] == EAutoGhostData.Perfect ||
+ CDTXMania.Instance.DTX.listAutoGhostLag[pChip.e楽å¨ãã¼ã] == null;
+ int nInputAdjustTime = bPChipIsAutoPlay && bIsPerfectGhost ? 0 : CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[pChip.e楽å¨ãã¼ã];
+ eJudgeResult = (bCorrectLane) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nHitTime, pChip, nInputAdjustTime) : EJudge.Miss;
- case E楽å¨ãã¼ã.GUITAR:
- {
- int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Guitar;
- eJudgeResult = (bCorrectLane)? this.eæå®æå»ããChipã®JUDGEãè¿ã( nHitTime, pChip, nInputAdjustTime ) : Eå¤å®.Miss;
- this.actJudgeString.Start( 10, bPChipIsAutoPlay ? Eå¤å®.Auto : eJudgeResult, pChip.nLag );
+ if (pChip.e楽å¨ãã¼ã != EPart.Unknown)
+ {
+ ELane nLane = ELane.Max;
+ switch (pChip.e楽å¨ãã¼ã)
+ {
+ case EPart.Drums:
+ nLane = EnumConverter.LaneFromChannel(pChip.eãã£ã³ãã«çªå·);
break;
- }
-
- case E楽å¨ãã¼ã.BASS:
- {
- int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Bass;
- eJudgeResult = (bCorrectLane)? this.eæå®æå»ããChipã®JUDGEãè¿ã( nHitTime, pChip, nInputAdjustTime ) : Eå¤å®.Miss;
- this.actJudgeString.Start( 11, bPChipIsAutoPlay ? Eå¤å®.Auto : eJudgeResult, pChip.nLag );
- }
- break;
+ case EPart.Guitar:
+ nLane = ELane.GtR;
+ break;
+ case EPart.Bass:
+ nLane = ELane.BsR;
+ break;
+ }
+ this.actJudgeString.Start(nLane, bPChipIsAutoPlay && bIsPerfectGhost ? EJudge.Auto : eJudgeResult, pChip.nLag);
}
- if ( !bPChipIsAutoPlay && ( pChip.e楽å¨ãã¼ã != E楽å¨ãã¼ã.UNKNOWN ) )
+
+ // ãã¡ã¼ã¸
+ if (!bPChipIsAutoPlay && (pChip.e楽å¨ãã¼ã != EPart.Unknown))
{
- // this.tå¤å®ã«ãããã¦ã²ã¼ã¸ãå¢æ¸ãã( screenmode, pChip.e楽å¨ãã¼ã, eJudgeResult );
- actGauge.Damage( screenmode, pChip.e楽å¨ãã¼ã, eJudgeResult );
+ actGauge.Damage(pChip.e楽å¨ãã¼ã, eJudgeResult);
}
- if ( eJudgeResult == Eå¤å®.Poor || eJudgeResult == Eå¤å®.Miss || eJudgeResult == Eå¤å®.Bad )
+
+ // ã¤ã³ãã¸ãã«
+ if (eJudgeResult == EJudge.Poor || eJudgeResult == EJudge.Miss || eJudgeResult == EJudge.Bad)
{
- cInvisibleChip.ShowChipTemporally( pChip.e楽å¨ãã¼ã );
+ cInvisibleChip.ShowChipTemporally(pChip.e楽å¨ãã¼ã);
}
- switch ( pChip.e楽å¨ãã¼ã )
- {
- case E楽å¨ãã¼ã.DRUMS:
- switch ( eJudgeResult )
- {
- case Eå¤å®.Miss:
- case Eå¤å®.Bad:
- this.nãããæ°ã»Autoå«ã.Drums.Miss++;
- if ( !bPChipIsAutoPlay )
- {
- this.nãããæ°ã»Autoå«ã¾ãªã.Drums.Miss++;
- }
- break;
- default:
- this.nãããæ°ã»Autoå«ã.Drums[ (int) eJudgeResult ]++;
- if ( !bPChipIsAutoPlay )
- {
- this.nãããæ°ã»Autoå«ã¾ãªã.Drums[ (int) eJudgeResult ]++;
- }
- break;
- }
- if ( CDTXMania.ConfigIni.bãã©ã ãå
¨é¨ãªã¼ããã¬ã¤ã§ãã || !bPChipIsAutoPlay )
- {
- switch ( eJudgeResult )
+ // ã³ã³ã
+ if (pChip.e楽å¨ãã¼ã != EPart.Unknown)
+ {
+ switch (eJudgeResult)
+ {
+ case EJudge.Miss:
+ case EJudge.Bad:
+ this.nãããæ°_Autoå«ã[pChip.e楽å¨ãã¼ã].Miss++;
+ if (!bPChipIsAutoPlay)
{
- case Eå¤å®.Perfect:
- case Eå¤å®.Great:
- case Eå¤å®.Good:
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Drums++;
- break;
-
- default:
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Drums = 0;
- break;
+ this.nãããæ°_Autoå«ã¾ãªã[pChip.e楽å¨ãã¼ã].Miss++;
}
- }
- break;
+ break;
+ default:
+ // #24068 2011.1.10 ikanick changed (for Gt./Bs.)
+ // #24167 2011.1.16 yyagi changed (for Gt./Bs.)
+ this.nãããæ°_Autoå«ã[pChip.e楽å¨ãã¼ã][(int)eJudgeResult]++;
+ if (!bPChipIsAutoPlay)
+ {
+ this.nãããæ°_Autoå«ã¾ãªã[pChip.e楽å¨ãã¼ã][(int)eJudgeResult]++;
+ }
+ break;
+ }
- case E楽å¨ãã¼ã.GUITAR:
- case E楽å¨ãã¼ã.BASS:
- int indexInst = (int) pChip.e楽å¨ãã¼ã;
- switch ( eJudgeResult )
+ bool incrementCombo = false;
+
+ if (pChip.e楽å¨ãã¼ã == EPart.Drums)
+ {
+ if (CDTXMania.Instance.ConfigIni.bIsAutoPlay(EPart.Drums) || !bPChipIsAutoPlay)
{
- case Eå¤å®.Miss:
- case Eå¤å®.Bad:
- this.nãããæ°ã»Autoå«ã[ indexInst ].Miss++;
- if ( !bPChipIsAutoPlay )
- {
- this.nãããæ°ã»Autoå«ã¾ãªã[ indexInst ].Miss++;
- }
- break;
- default: // #24068 2011.1.10 ikanick changed
- // #24167 2011.1.16 yyagi changed
- this.nãããæ°ã»Autoå«ã[ indexInst ][ (int) eJudgeResult ]++;
- if ( !bPChipIsAutoPlay )
- {
- this.nãããæ°ã»Autoå«ã¾ãªã[ indexInst ][ (int) eJudgeResult ]++;
- }
- break;
+ // Dr. : æ¼å¥ããã¬ã¼ã³ã ãã³ã³ããå¢ãã
+ incrementCombo = true;
}
- switch ( eJudgeResult )
- {
- case Eå¤å®.Perfect:
- case Eå¤å®.Great:
- case Eå¤å®.Good:
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°[ indexInst ]++;
- break;
+ }
+ else if (pChip.e楽å¨ãã¼ã == EPart.Guitar || pChip.e楽å¨ãã¼ã == EPart.Bass)
+ {
+ incrementCombo = true;
+ }
- default:
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°[ indexInst ] = 0;
- break;
- }
- break;
+ if( incrementCombo == true )
+ {
+ switch (eJudgeResult)
+ {
+ case EJudge.Perfect:
+ case EJudge.Great:
+ case EJudge.Good:
+ this.actCombo.dgbã³ã³ãæ°[pChip.e楽å¨ãã¼ã].IncrementCombo();
+ break;
- default:
- break;
+ default:
+ this.actCombo.dgbã³ã³ãæ°[pChip.e楽å¨ãã¼ã].ResetCombo();
+ break;
+ }
+ }
}
- if ( ( !bPChipIsAutoPlay && ( pChip.e楽å¨ãã¼ã != E楽å¨ãã¼ã.UNKNOWN ) ) && ( eJudgeResult != Eå¤å®.Miss ) && ( eJudgeResult != Eå¤å®.Bad ) )
+
+ // ã¹ã³ã¢
+ if ((!bPChipIsAutoPlay && (pChip.e楽å¨ãã¼ã != EPart.Unknown)) && (eJudgeResult != EJudge.Miss) && (eJudgeResult != EJudge.Bad))
{
- int nCombos = this.actCombo.nç¾å¨ã®ã³ã³ãæ°[ (int) pChip.e楽å¨ãã¼ã ];
+ int nCombos = this.actCombo.dgbã³ã³ãæ°[pChip.e楽å¨ãã¼ã].nç¾å¨å¤;
long nScoreDelta = 0;
long[] nComboScoreDelta = new long[] { 350L, 200L, 50L, 0L };
- if ( ( nCombos <= 500 ) || ( eJudgeResult == Eå¤å®.Good ) )
+ if ((nCombos <= 500) || (eJudgeResult == EJudge.Good))
+ {
+ nScoreDelta = nComboScoreDelta[(int)eJudgeResult] * nCombos;
+ }
+ else if ((eJudgeResult == EJudge.Perfect) || (eJudgeResult == EJudge.Great))
{
- nScoreDelta = nComboScoreDelta[ (int) eJudgeResult ] * nCombos;
+ nScoreDelta = nComboScoreDelta[(int)eJudgeResult] * 500L;
}
- else if ( ( eJudgeResult == Eå¤å®.Perfect ) || ( eJudgeResult == Eå¤å®.Great ) )
+ this.actScore.Add(pChip.e楽å¨ãã¼ã, nScoreDelta);
+ }
+
+ // ã°ã©ã
+ if (pChip.e楽å¨ãã¼ã != EPart.Unknown)
+ {
+ EPart inst = pChip.e楽å¨ãã¼ã;
+ // #24074 2011.01.23 add ikanick
+ this.actGraph.dbCurrent[inst] =
+ CScoreIni.tæ¼å¥åã¹ãã«ãè¨ç®ãã¦è¿ã(
+ CDTXMania.Instance.DTX.nå¯è¦ãããæ°[inst],
+ this.nãããæ°_Autoå«ã¾ãªã[inst].Perfect,
+ this.nãããæ°_Autoå«ã¾ãªã[inst].Great,
+ this.nãããæ°_Autoå«ã¾ãªã[inst].Good,
+ this.nãããæ°_Autoå«ã¾ãªã[inst].Poor,
+ this.nãããæ°_Autoå«ã¾ãªã[inst].Miss,
+ inst, true);
+
+ // #35411 2015.09.07 add chnmr0
+ if (
+ CDTXMania.Instance.DTX.listTargetGhsotLag[inst] != null &&
+ CDTXMania.Instance.ConfigIni.eTargetGhost[inst] == ETargetGhostData.Online &&
+ CDTXMania.Instance.DTX.nå¯è¦ãããæ°[inst] > 0)
{
- nScoreDelta = nComboScoreDelta[ (int) eJudgeResult ] * 500L;
+ // Online Stats ã®è¨ç®å¼
+ this.actGraph.dbTarget[inst] = 100 *
+ (this.nãããæ°_Autoå«ã¾ãªã[inst].Perfect * 17 +
+ this.nãããæ°_Autoå«ã¾ãªã[inst].Great * 7 +
+ this.actCombo.dgbã³ã³ãæ°[inst].næé«å¤ * 3) /
+ (20.0 * CDTXMania.Instance.DTX.nå¯è¦ãããæ°[inst]);
}
- this.actScore.Add( pChip.e楽å¨ãã¼ã, bIsAutoPlay, nScoreDelta );
}
return eJudgeResult;
}
- protected abstract void tãããã®ãããå¦çã»Badãªãã³ã«Tightæã®Miss( E楽å¨ãã¼ã part );
- protected abstract void tãããã®ãããå¦çã»Badãªãã³ã«Tightæã®Miss( E楽å¨ãã¼ã part, int nLane );
- protected void tãããã®ãããå¦çã»Badãªãã³ã«Tightæã®Miss( E楽å¨ãã¼ã part, E楽å¨ãã¼ã screenmode )
- {
- this.tãããã®ãããå¦çã»Badãªãã³ã«Tightæã®Miss( part, 0, screenmode );
- }
- protected void tãããã®ãããå¦çã»Badãªãã³ã«Tightæã®Miss( E楽å¨ãã¼ã part, int nLane, E楽å¨ãã¼ã screenmode )
+
+ private void tãããã®ãããå¦ç_Badãªãã³ã«Tightæã®Miss(EPart part, ELane nLane = ELane.LC)
{
- this.bAUTOã§ãªãããããï¼ã¤ã§ããã¼ãééãã = true;
- cInvisibleChip.StartSemiInvisible( part );
- cInvisibleChip.ShowChipTemporally( part );
- //this.tå¤å®ã«ãããã¦ã²ã¼ã¸ãå¢æ¸ãã( screenmode, part, Eå¤å®.Miss );
- actGauge.Damage( screenmode, part, Eå¤å®.Miss );
- switch ( part )
+ cInvisibleChip.StartSemiInvisible(part);
+ cInvisibleChip.ShowChipTemporally(part);
+ actGauge.Damage(part, EJudge.Miss);
+ switch (part)
{
- case E楽å¨ãã¼ã.DRUMS:
- if ( ( nLane >= 0 ) && ( nLane <= 7 ) )
- {
- this.actJudgeString.Start( nLane, bIsAutoPlay[ nLane ] ? Eå¤å®.Auto : Eå¤å®.Miss, 999 );
- }
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Drums = 0;
+ case EPart.Drums:
+ this.actJudgeString.Start(nLane, CDTXMania.Instance.ConfigIni.bAutoPlay[EnumConverter.PadFromLane(nLane)] ?
+ EJudge.Auto : EJudge.Miss, 999);
+ this.actCombo.dgbã³ã³ãæ°.Drums.ResetCombo();
return;
- case E楽å¨ãã¼ã.GUITAR:
- this.actJudgeString.Start( 10, Eå¤å®.Bad, 999 );
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Guitar = 0;
+ case EPart.Guitar:
+ this.actJudgeString.Start(ELane.GtR, EJudge.Bad, 999);
+ this.actCombo.dgbã³ã³ãæ°.Guitar.ResetCombo();
return;
- case E楽å¨ãã¼ã.BASS:
- this.actJudgeString.Start( 11, Eå¤å®.Bad, 999 );
- this.actCombo.nç¾å¨ã®ã³ã³ãæ°.Bass = 0;
+ case EPart.Bass:
+ this.actJudgeString.Start(ELane.BsR, EJudge.Bad, 999);
+ this.actCombo.dgbã³ã³ãæ°.Bass.ResetCombo();
break;
default:
return;
}
}
-
- protected CDTX.CChip ræå®æå»ã«ä¸çªè¿ãæªãããChip( long nTime, int nChannelFlag, int nInputAdjustTime )
- {
- return this.ræå®æå»ã«ä¸çªè¿ãæªãããChip( nTime, nChannelFlag, nInputAdjustTime, 0 );
- }
- protected CDTX.CChip ræå®æå»ã«ä¸çªè¿ãæªãããChip( long nTime, int nChannel, int nInputAdjustTime, int næ¤ç´¢ç¯å²æéms )
+
+ ///
+ /// æå®æå»ã«ä¸çªè¿ãã¾ã ããããã¦ããªãããããè¿ãã
+ ///
+ /// æå®æå»
+ /// æ¤ç´¢ãããã£ãã«ãGt.WailingSound/Bs.WailingSoundã渡ããå ´åãOpen~RGBãæ¤ç´¢å¯¾è±¡ã«ãªãã
+ ///
+ /// æå®æå»ããæ¤ç´¢ããç¯å²ms
+ ///
+ protected CChip ræå®æå»ã«ä¸çªè¿ãæªãããChip(long nTime, EChannel search, int nInputAdjustTime, int næ¤ç´¢ç¯å²æéms = 0, HitState hs = HitState.NotHit)
{
- sw2.Start();
-//Trace.TraceInformation( "nTime={0}, nChannel={1:x2}, ç¾å¨ã®Top={2}", nTime, nChannel,CDTXMania.DTX.listChip[ this.nç¾å¨ã®ãããChip ].nçºå£°æå»ms );
- nTime += nInputAdjustTime;
+ CChip ret = null;
- int nIndex_InitialPositionSearchingToPast;
- int nTimeDiff;
- if ( this.nç¾å¨ã®ãããChip == -1 ) // æ¼å¥ãã¼ã¿ã¨ãã¦1åããããããªãå ´åã¯
- {
- sw2.Stop();
- return null;
- }
- int count = listChip.Count;
- int nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = this.nç¾å¨ã®ãããChip;
- if ( this.nç¾å¨ã®ãããChip >= count ) // ãã®æç¹ã§æ¼å¥ãã¹ãããããæ¢ã«å
¨é¨ç¡ããªã£ã¦ããã
- {
- nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = count - 1;
- }
- // int nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToFuture;
-// while ( nIndex_NearestChip_Future < count ) // æªæ¥æ¹åã¸ã®æ¤ç´¢
- for ( ; nIndex_NearestChip_Future < count; nIndex_NearestChip_Future++ )
+ nTime += nInputAdjustTime;
+ if (this.nç¾å¨ã®ãããChip >= 0 && this.nç¾å¨ã®ãããChip <= CDTXMania.Instance.DTX.listChip.Count)
{
- CDTX.CChip chip = listChip[ nIndex_NearestChip_Future ];
- if ( !chip.bHit )
+ int idxFuture = -1;
+ int idxPast = -1;
+ int idxPastStart = CDTXMania.Instance.DTX.listChip.Count - 1;
+ Func, bool> Found = (chip, futureOrPast) =>
+ {
+ return futureOrPast(chip) &&
+ ((hs == HitState.NotHit && !chip.bHit) || (hs == HitState.Hit && chip.bHit) || (hs == HitState.DontCare)) &&
+ !chip.b空æã¡ãããã§ãã &&
+ (
+ ((search == chip.eãã£ã³ãã«çªå· || search + 0x20 == chip.eãã£ã³ãã«çªå·) && chip.bDrumså¯è¦ããã_LP_LBDå«ã¾ãªã) ||
+ (search == chip.eãã£ã³ãã«çªå· && chip.bGuitarå¯è¦ããã_Wailingå«ã) ||
+ (search == chip.eãã£ã³ãã«çªå· && chip.bBasså¯è¦ããã_Wailingå«ã) ||
+ (search == EChannel.Guitar_WailingSound && chip.bGuitarå¯è¦ããã) ||
+ (search == EChannel.Bass_WailingSound && chip.bBasså¯è¦ããã)
+ );
+ };
+ Func Future = (chip) => { return chip.nçºå£°æå»ms > nTime; };
+ Func Past = (chip) => { return chip.nçºå£°æå»ms <= nTime; };
+ Func OutOfRange = (chip) => { return næ¤ç´¢ç¯å²æéms > 0 && Math.Abs(nTime - chip.nçºå£°æå»ms) > næ¤ç´¢ç¯å²æéms; };
+
+ // // æªæ¥æ¹åã¸ã®æ¤ç´¢
+ for (int i = this.nç¾å¨ã®ãããChip; i < CDTXMania.Instance.DTX.listChip.Count; ++i)
{
- if ( chip.b空æã¡ãããã§ãã )
+ CChip chip = CDTXMania.Instance.DTX.listChip[i];
+ if (Future(chip) && OutOfRange(chip))
{
- continue;
+ //break;
}
- if ( ( 0x11 <= nChannel ) && ( nChannel <= 0x1a ) )
+ if (Found(chip, Future))
{
- if ( ( chip.nãã£ã³ãã«çªå· == nChannel ) || ( chip.nãã£ã³ãã«çªå· == ( nChannel + 0x20 ) ) )
- {
- if ( chip.nçºå£°æå»ms > nTime )
- {
- break;
- }
- nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future;
- }
- continue;
+ idxFuture = i;
+ idxPastStart = i;
+ break;
}
- else if ( ( ( ( nChannel == 0x2f ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR ) ) || ( ( ( 0x20 <= nChannel ) && ( nChannel <= 0x28 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) ) ) )
+ }
+
+ // éå»æ¹åã¸ã®æ¤ç´¢
+ for (int i = idxPastStart; i >= 0; i--)
+ {
+ CChip chip = CDTXMania.Instance.DTX.listChip[i];
+ if (Past(chip) && OutOfRange(chip))
{
- if ( chip.nçºå£°æå»ms > nTime )
- {
- break;
- }
- nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future;
+ //break;
}
- else if ( ( ( ( nChannel == 0xaf ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS ) ) || ( ( ( 0xa0 <= nChannel ) && ( nChannel <= 0xa8 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) ) ) )
+ if (Found(chip, Past))
{
- if ( chip.nçºå£°æå»ms > nTime )
- {
- break;
- }
- nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future;
+ idxPast = i;
+ break;
}
}
-// nIndex_NearestChip_Future++;
- }
- int nIndex_NearestChip_Past = nIndex_InitialPositionSearchingToPast;
-// while ( nIndex_NearestChip_Past >= 0 ) // éå»æ¹åã¸ã®æ¤ç´¢
- for ( ; nIndex_NearestChip_Past >= 0; nIndex_NearestChip_Past-- )
- {
- CDTX.CChip chip = listChip[ nIndex_NearestChip_Past ];
- if ( chip.b空æã¡ãããã§ãã )
+
+ if (idxFuture < 0 && idxPast < 0)
{
- continue;
+ // æ¤ç´¢å¯¾è±¡ãéå»æªæ¥ã©ã¡ãã«ãè¦ã¤ãããªãã£ã
}
- if ( ( !chip.bHit ) &&
- (
- ( ( nChannel >= 0x11 ) && ( nChannel <= 0x1a ) &&
- ( ( chip.nãã£ã³ãã«çªå· == nChannel ) || ( chip.nãã£ã³ãã«çªå· == ( nChannel + 0x20 ) ) )
- )
- ||
- (
- ( ( nChannel == 0x2f ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR ) ) ||
- ( ( ( nChannel >= 0x20 ) && ( nChannel <= 0x28 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) )
- )
- ||
- (
- ( ( nChannel == 0xaf ) && ( chip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS ) ) ||
- ( ( ( nChannel >= 0xA0 ) && ( nChannel <= 0xa8 ) ) && ( chip.nãã£ã³ãã«çªå· == nChannel ) )
- )
- )
- )
- {
- break;
- }
-// nIndex_NearestChip_Past--;
- }
- if ( ( nIndex_NearestChip_Future >= count ) && ( nIndex_NearestChip_Past < 0 ) ) // æ¤ç´¢å¯¾è±¡ãéå»æªæ¥ã©ã¡ãã«ãè¦ã¤ãããªãã£ãå ´å
- {
- sw2.Stop();
- return null;
- }
- CDTX.CChip nearestChip; // = null; // 以ä¸ã®ifãããã¯ã®ããããã§å¿
ãnearestChipã«ã¯énullã代å
¥ãããã®ã§ãnullåæåãåé¤
- if ( nIndex_NearestChip_Future >= count ) // æ¤ç´¢å¯¾è±¡ãæªæ¥æ¹åã«ã¯è¦ã¤ãããªãã£ã(ãããéå»æ¹åã«ã¯è¦ã¤ãã£ã)å ´å
- {
- nearestChip = listChip[ nIndex_NearestChip_Past ];
-// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.nçºå£°æå»ms ) );
- }
- else if ( nIndex_NearestChip_Past < 0 ) // æ¤ç´¢å¯¾è±¡ãéå»æ¹åã«ã¯è¦ã¤ãããªãã£ã(ãããæªæ¥æ¹åã«ã¯è¦ã¤ãã£ã)å ´å
- {
- nearestChip = listChip[ nIndex_NearestChip_Future ];
-// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.nçºå£°æå»ms ) );
- }
- else
- {
- int nTimeDiff_Future = Math.Abs( (int) ( nTime - listChip[ nIndex_NearestChip_Future ].nçºå£°æå»ms ) );
- int nTimeDiff_Past = Math.Abs( (int) ( nTime - listChip[ nIndex_NearestChip_Past ].nçºå£°æå»ms ) );
- if ( nTimeDiff_Future < nTimeDiff_Past )
+ else if (idxPast >= 0)
+ {
+ // éå»æ¹åã«ã¯è¦ã¤ãã£ã
+ ret = CDTXMania.Instance.DTX.listChip[idxPast];
+ }
+ else if (idxFuture >= 0)
{
- nearestChip = listChip[ nIndex_NearestChip_Future ];
-// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.nçºå£°æå»ms ) );
+ // æªæ¥æ¹åã«ã¯è¦ã¤ãã£ã
+ ret = CDTXMania.Instance.DTX.listChip[idxFuture];
}
else
{
- nearestChip = listChip[ nIndex_NearestChip_Past ];
-// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.nçºå£°æå»ms ) );
+ // ã©ã¡ãã«ãè¦ã¤ãã£ã
+ long nTimeDiff_Future = Math.Abs(nTime - CDTXMania.Instance.DTX.listChip[idxFuture].nçºå£°æå»ms);
+ long nTimeDiff_Past = Math.Abs(nTime - CDTXMania.Instance.DTX.listChip[idxPast].nçºå£°æå»ms);
+ if (nTimeDiff_Future < nTimeDiff_Past)
+ {
+ ret = CDTXMania.Instance.DTX.listChip[idxFuture];
+ }
+ else
+ {
+ ret = CDTXMania.Instance.DTX.listChip[idxPast];
+ }
+ }
+
+ if (ret != null)
+ {
+ if (OutOfRange(ret))
+ {
+ // ãããã¯è¦ã¤ãã£ãããæ¤ç´¢ç¯å²æéå¤ã ã£ãå ´å
+ ret = null;
+ }
}
}
- nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.nçºå£°æå»ms ) );
- if ( ( næ¤ç´¢ç¯å²æéms > 0 ) && ( nTimeDiff > næ¤ç´¢ç¯å²æéms ) ) // ãããã¯è¦ã¤ãã£ãããæ¤ç´¢ç¯å²æéå¤ã ã£ãå ´å
- {
- sw2.Stop();
- return null;
- }
- sw2.Stop();
- return nearestChip;
+ return ret;
}
- protected CDTX.CChip r次ã«æ¥ãæå®æ¥½å¨Chipãæ´æ°ãã¦è¿ã( E楽å¨ãã¼ã inst )
+ protected CChip r次ã«æ¥ãæå®æ¥½å¨Chipãæ´æ°ãã¦è¿ã(EPart inst)
{
- switch ( (int) inst )
+ CChip ret = null;
+ int nInputAdjustTime;
+ if (inst == EPart.Guitar)
{
- case (int)E楽å¨ãã¼ã.GUITAR:
- return r次ã«ããã®ã¿ã¼Chipãæ´æ°ãã¦è¿ã();
- case (int)E楽å¨ãã¼ã.BASS:
- return r次ã«ãããã¼ã¹Chipãæ´æ°ãã¦è¿ã();
- default:
- return null;
+ nInputAdjustTime = CDTXMania.Instance.ConfigIni.bAutoPlay.GtPick ?
+ 0 : CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Guitar;
+ ret = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», EChannel.Guitar_WailingSound, nInputAdjustTime, 500);
+ this.r次ã«ããã®ã¿ã¼Chip = ret;
}
- }
- protected CDTX.CChip r次ã«ããã®ã¿ã¼Chipãæ´æ°ãã¦è¿ã()
- {
- int nInputAdjustTime = this.bIsAutoPlay.GtPick ? 0 : this.nInputAdjustTimeMs.Guitar;
- this.r次ã«ããã®ã¿ã¼Chip = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip( CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», 0x2f, nInputAdjustTime, 500 );
- return this.r次ã«ããã®ã¿ã¼Chip;
- }
- protected CDTX.CChip r次ã«ãããã¼ã¹Chipãæ´æ°ãã¦è¿ã()
- {
- int nInputAdjustTime = this.bIsAutoPlay.BsPick ? 0 : this.nInputAdjustTimeMs.Bass;
- this.r次ã«ãããã¼ã¹Chip = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip( CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», 0xaf, nInputAdjustTime, 500 );
- return this.r次ã«ãããã¼ã¹Chip;
+ else if (inst == EPart.Bass)
+ {
+ nInputAdjustTime = CDTXMania.Instance.ConfigIni.bAutoPlay.BsPick ?
+ 0 : CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Bass;
+ ret = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», EChannel.Bass_WailingSound, nInputAdjustTime, 500);
+ this.r次ã«ãããã¼ã¹Chip = ret;
+ }
+ return ret;
}
- protected void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.
+ 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
+ EPart part;
+ int offset = plusminus;
+ if (keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.LeftShift) || keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.RightShift)) // Guitar InputAdjustTime
{
- part = (int) E楽å¨ãã¼ã.GUITAR;
+ part = EPart.Guitar;
}
- else if ( keyboard.bãã¼ãæ¼ããã¦ãã( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bãã¼ãæ¼ããã¦ãã( (int) SlimDX.DirectInput.Key.RightAlt ) ) // Bass InputAdjustTime
+ else if (keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.LeftAlt) || keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.RightAlt)) // Bass InputAdjustTime
{
- part = (int) E楽å¨ãã¼ã.BASS;
+ part = EPart.Bass;
}
- else // Drums InputAdjustTime
+ else
{
- part = (int) E楽å¨ãã¼ã.DRUMS;
+ // Drums InputAdjustTime
+ part = EPart.Drums;
}
- if ( !keyboard.bãã¼ãæ¼ããã¦ãã( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bãã¼ãæ¼ããã¦ãã( (int) SlimDX.DirectInput.Key.RightControl ) )
+ 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 ] > 99 )
- {
- this.nInputAdjustTimeMs[ part ] = 99;
- }
- else if ( this.nInputAdjustTimeMs[ part ] < -99 )
- {
- this.nInputAdjustTimeMs[ part ] = -99;
- }
- CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ];
+ CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[part].Value = CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[part] + offset;
}
- protected abstract void tå
¥åå¦çã»ãã©ã ();
- protected abstract void ãã©ã ã¹ã¯ãã¼ã«é度ã¢ãã();
- protected abstract void ãã©ã ã¹ã¯ãã¼ã«é度ãã¦ã³();
- protected 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 )
+ for (EPad ePad = EPad.DrumsPadMin; ePad < EPad.DrumsPadMax; ePad++) // #27029 2012.1.4 from: <10 to <=10; Eãããã®è¦ç´ ãï¼ã¤ï¼HPï¼å¢ããããã
+ // 2012.1.5 yyagi: (int)Eããã.MAX ã«å¤æ´ãEãããã®è¦ç´ æ°ã¸ã®ä¾åãç¡ããããã
+ {
+ List listInputEvent = CDTXMania.Instance.Pad.GetEvents(ePad);
+
+ if ((listInputEvent == null) || (listInputEvent.Count == 0))
{
- CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tä¸æåæ¢();
- CDTXMania.Timer.tä¸æåæ¢();
- CDTXMania.DTX.tå
¨ãããã®åçä¸æåæ¢();
+ continue;
}
- else
+
+ this.tå
¥åã¡ã½ããè¨æ¶(EPart.Drums);
+
+ #region [ æã¡åãã°ã«ã¼ãèª¿æ´ ]
+ //-----------------------------
+ EHHGroup eHHGroup = CDTXMania.Instance.ConfigIni.eHHGroup;
+ EFTGroup eFTGroup = CDTXMania.Instance.ConfigIni.eFTGroup;
+ ECYGroup eCYGroup = CDTXMania.Instance.ConfigIni.eCYGroup;
+
+ if (!CDTXMania.Instance.DTX.bãããããã.Ride && (eCYGroup == ECYGroup.None))
{
- CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tåé();
- 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å
¥åå¦çã»ã®ã¿ã¼ãã¼ã¹( E楽å¨ãã¼ã.GUITAR );
- this.tå
¥åå¦çã»ã®ã¿ã¼ãã¼ã¹( E楽å¨ãã¼ã.BASS );
- 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)
- ãã©ã ã¹ã¯ãã¼ã«é度ãã¦ã³();
+ eCYGroup = ECYGroup.Group;
}
- else if ( keyboard.bãã¼ãæ¼ããã( (int) SlimDX.DirectInput.Key.Delete ) )
- { // del (debug info)
- CDTXMania.ConfigIni.bæ¼å¥æ
å ±ã表示ãã = !CDTXMania.ConfigIni.bæ¼å¥æ
å ±ã表示ãã;
+ if (!CDTXMania.Instance.DTX.bãããããã.HHOpen && (eHHGroup == EHHGroup.None))
+ {
+ eHHGroup = EHHGroup.LC_HH;
}
- else if ( keyboard.bãã¼ãæ¼ããã( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.
+ if (!CDTXMania.Instance.DTX.bãããããã.HHOpen && (eHHGroup == EHHGroup.HO_HC))
{
- ChangeInputAdjustTimeInPlaying( keyboard, -1 );
+ eHHGroup = EHHGroup.Group;
}
- else if ( keyboard.bãã¼ãæ¼ããã( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.
+ if (!CDTXMania.Instance.DTX.bãããããã.LeftCymbal && (eHHGroup == EHHGroup.None))
{
- ChangeInputAdjustTimeInPlaying( keyboard, +1 );
+ eHHGroup = EHHGroup.HO_HC;
}
- 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æ¼å¥ç»é¢ã®æ»ãå¤.æ¼å¥ä¸æ;
+ if (!CDTXMania.Instance.DTX.bãããããã.LeftCymbal && (eHHGroup == EHHGroup.LC_HH))
+ {
+ eHHGroup = EHHGroup.Group;
}
- }
- }
+ //-----------------------------
+ #endregion
- 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;
- }
- }
+ foreach (STInputEvent inputEvent in listInputEvent)
+ {
+ if (!inputEvent.bæ¼ããã)
+ continue;
+ long nTime = inputEvent.nTimeStamp - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå»;
+ EPad nPad09 = (ePad == EPad.HP) ? EPad.BD : ePad; // #27029 2012.1.5 yyagi
+ int nInputAdjustTime = CDTXMania.Instance.ConfigIni.bAutoPlay[nPad09] ? 0 : CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Drums;
+ bool bHitted = false;
- protected abstract void té²è¡æç»ã»AVI();
- protected void té²è¡æç»ã»AVI(int x, int y)
- {
- if ( ( ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) ) && ( !CDTXMania.ConfigIni.bã¹ãã¤ãã¯ã¢ã¼ã && CDTXMania.ConfigIni.bAVIæå¹ ) )
- {
- this.actAVI.té²è¡æç»( (int) ( x * Scale.X ), (int) ( y * Scale.Y ) );
- }
- }
- protected abstract void té²è¡æç»ã»BGA();
- protected void té²è¡æç»ã»BGA(int x, int y)
- {
- if ( ( ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) ) && ( !CDTXMania.ConfigIni.bã¹ãã¤ãã¯ã¢ã¼ã && CDTXMania.ConfigIni.bBGAæå¹ ) )
- {
- this.actBGA.té²è¡æç»( x, y );
- }
- }
- protected abstract void té²è¡æç»ã»DANGER();
- protected void té²è¡æç»ã»MIDIBGM()
- {
- if ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED )
- {
- CStage.Eãã§ã¼ãº eãã§ã¼ãºid1 = base.eãã§ã¼ãºID;
- }
- }
- protected void té²è¡æç»ã»RGBãã¿ã³()
- {
- if ( CDTXMania.ConfigIni.eDark != Eãã¼ã¯ã¢ã¼ã.FULL )
- {
- this.actRGB.té²è¡æç»( æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
+ #region [ (A) ããããã¦ããã°ãããå¦çãã¦æ¬¡ã® inputEvent 㸠]
+ //-----------------------------
+ switch (ePad)
+ {
+ case EPad.HH:
+ #region [ HHã¨LC(groupingãã¦ããå ´å) ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.HH)
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+
+ CChip chipHC = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HiHatClose, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1); // HiHat Close
+ CChip chipHO = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HiHatOpen, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1); // HiHat Open
+ CChip chipLC = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LeftCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1); // LC
+ EJudge eå¤å®HC = (chipHC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipHC, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®HO = (chipHO != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipHO, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®LC = (chipLC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLC, nInputAdjustTime) : EJudge.Miss;
+ switch (eHHGroup)
+ {
+ case EHHGroup.HO_HC:
+ #region [ HCã¨LCã®ãããå¦ç ]
+ //-----------------------------
+ if ((eå¤å®HC != EJudge.Miss) && (eå¤å®LC != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®HC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®LC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ //-----------------------------
+ #endregion
+
+ case EHHGroup.LC_HH:
+ #region [ HCã¨HOã®ãããå¦ç ]
+ //-----------------------------
+ if ((eå¤å®HC != EJudge.Miss) && (eå¤å®HO != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®HC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®HO != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ //-----------------------------
+ #endregion
+
+ case EHHGroup.Group:
+ #region [ HC,HO,LCã®ãããå¦ç ]
+ //-----------------------------
+ if (((eå¤å®HC != EJudge.Miss) && (eå¤å®HO != EJudge.Miss)) && (eå¤å®LC != EJudge.Miss))
+ {
+ CChip chip;
+ CChip[] chipArray = new CChip[] { chipHC, chipHO, chipLC };
+ // ãããããchipArrayãnçºçä½ç½®ã®å°ããé ã«ä¸¦ã³æ¿ãã
+ if (chipArray[1].nçºå£°ä½ç½® > chipArray[2].nçºå£°ä½ç½®)
+ {
+ chip = chipArray[1];
+ chipArray[1] = chipArray[2];
+ chipArray[2] = chip;
+ }
+ if (chipArray[0].nçºå£°ä½ç½® > chipArray[1].nçºå£°ä½ç½®)
+ {
+ chip = chipArray[0];
+ chipArray[0] = chipArray[1];
+ chipArray[1] = chip;
+ }
+ if (chipArray[1].nçºå£°ä½ç½® > chipArray[2].nçºå£°ä½ç½®)
+ {
+ chip = chipArray[1];
+ chipArray[1] = chipArray[2];
+ chipArray[2] = chip;
+ }
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipArray[0], inputEvent.nVelocity);
+ if (chipArray[0].nçºå£°ä½ç½® == chipArray[1].nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipArray[1], inputEvent.nVelocity);
+ }
+ if (chipArray[0].nçºå£°ä½ç½® == chipArray[2].nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipArray[2], inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if ((eå¤å®HC != EJudge.Miss) && (eå¤å®HO != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if ((eå¤å®HC != EJudge.Miss) && (eå¤å®LC != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if ((eå¤å®HO != EJudge.Miss) && (eå¤å®LC != EJudge.Miss))
+ {
+ if (chipHO.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ }
+ else if (chipHO.nçºå£°ä½ç½® > chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®HC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®HO != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHO, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®LC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipLC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ //-----------------------------
+ #endregion
+
+ default:
+ #region [ å
¨é¨æã¡åãæã®ãããå¦ç ]
+ //-----------------------------
+ if (eå¤å®HC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HH, chipHC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ //-----------------------------
+ #endregion
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.SD:
+ #region [ SDã®ãããå¦ç ]
+ //-----------------------------
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.SD) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ if (!this.tãã©ã ãããå¦ç(nTime, EPad.SD, this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.Snare, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1), inputEvent.nVelocity))
+ break;
+ continue;
+ //-----------------------------
+ #endregion
+
+ case EPad.BD:
+ #region [ BDã®ãããå¦ç ]
+ //-----------------------------
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.BD) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ if (!this.tãã©ã ãããå¦ç(nTime, EPad.BD, this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.BassDrum, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1), inputEvent.nVelocity))
+ break;
+ continue;
+ //-----------------------------
+ #endregion
+
+ case EPad.HT:
+ #region [ HTã®ãããå¦ç ]
+ //-----------------------------
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.HT) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ if (this.tãã©ã ãããå¦ç(nTime, EPad.HT, this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HighTom, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1), inputEvent.nVelocity))
+ continue;
+ break;
+ //-----------------------------
+ #endregion
+
+ case EPad.LT:
+ #region [ LTã¨FT(groupingãã¦ããå ´å)ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.LT) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ CChip chipLT = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LowTom, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipFT = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.FloorTom, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ EJudge eå¤å®LT = (chipLT != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLT, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®FT = (chipFT != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipFT, nInputAdjustTime) : EJudge.Miss;
+ switch (eFTGroup)
+ {
+ case EFTGroup.None:
+ #region [ LTã®ãããå¦ç ]
+ //-----------------------------
+ if (eå¤å®LT != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipLT, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ break;
+ //-----------------------------
+ #endregion
+
+ case EFTGroup.Group:
+ #region [ LTã¨FTã®ãããå¦ç ]
+ //-----------------------------
+ if ((eå¤å®LT != EJudge.Miss) && (eå¤å®FT != EJudge.Miss))
+ {
+ if (chipLT.nçºå£°ä½ç½® < chipFT.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipLT, inputEvent.nVelocity);
+ }
+ else if (chipLT.nçºå£°ä½ç½® > chipFT.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipFT, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipLT, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipFT, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®LT != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipLT, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®FT != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LT, chipFT, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ break;
+ //-----------------------------
+ #endregion
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.FT:
+ #region [ FTã¨LT(groupingãã¦ããå ´å)ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.FT) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ CChip chipLT = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LowTom, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipFT = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.FloorTom, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ EJudge eå¤å®LT = (chipLT != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLT, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®FT = (chipFT != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipFT, nInputAdjustTime) : EJudge.Miss;
+ switch (eFTGroup)
+ {
+ case EFTGroup.None:
+ #region [ FTã®ãããå¦ç ]
+ //-----------------------------
+ if (eå¤å®FT != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipFT, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ //-----------------------------
+ #endregion
+ break;
+
+ case EFTGroup.Group:
+ #region [ FTã¨LTã®ãããå¦ç ]
+ //-----------------------------
+ if ((eå¤å®LT != EJudge.Miss) && (eå¤å®FT != EJudge.Miss))
+ {
+ if (chipLT.nçºå£°ä½ç½® < chipFT.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipLT, inputEvent.nVelocity);
+ }
+ else if (chipLT.nçºå£°ä½ç½® > chipFT.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipFT, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipLT, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipFT, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®LT != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipLT, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®FT != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.FT, chipFT, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ //-----------------------------
+ #endregion
+ break;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.CY:
+ #region [ CY(ã¨LCã¨RD:groupingãã¦ããå ´å)ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.CY) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ CChip chipCY = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.Cymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipRD = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.RideCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipLC = CDTXMania.Instance.ConfigIni.bCymbalFree ? this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LeftCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1) : null;
+ EJudge eå¤å®CY = (chipCY != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipCY, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®RD = (chipRD != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipRD, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®LC = (chipLC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLC, nInputAdjustTime) : EJudge.Miss;
+ CChip[] chipArray = new CChip[] { chipCY, chipRD, chipLC };
+ EJudge[] eå¤å®Array = new EJudge[] { eå¤å®CY, eå¤å®RD, eå¤å®LC };
+ const int NumOfChips = 3; // chipArray.GetLength(0)
+
+ // CY/RD/LC群ã, nçºçä½ç½®ã®å°ããé ã«ä¸¦ã¹ã + nullã大ããæ¹ã«éãã
+ SortChipsByNTime(chipArray, eå¤å®Array, NumOfChips);
+ switch (eCYGroup)
+ {
+ case ECYGroup.None:
+ if (!CDTXMania.Instance.ConfigIni.bCymbalFree)
+ {
+ if (eå¤å®CY != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipCY, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if ((eå¤å®Array[i] != EJudge.Miss) && ((chipArray[i] == chipCY) || (chipArray[i] == chipLC)))
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ //num10++;
+ }
+ if (eå¤å®CY != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipCY, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+
+ case ECYGroup.Group:
+ if (!CDTXMania.Instance.ConfigIni.bCymbalFree)
+ {
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if ((eå¤å®Array[i] != EJudge.Miss) && ((chipArray[i] == chipCY) || (chipArray[i] == chipRD)))
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if (eå¤å®Array[i] != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.HHO:
+ #region [ HO(ã¨HCã¨LC:groupingãã¦ããå ´å)ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.HH)
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+
+ CChip chipHC = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HiHatClose, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipHO = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HiHatOpen, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipLC = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LeftCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ EJudge eå¤å®HC = (chipHC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipHC, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®HO = (chipHO != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipHO, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®LC = (chipLC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLC, nInputAdjustTime) : EJudge.Miss;
+ switch (eHHGroup)
+ {
+ case EHHGroup.None:
+ if (eå¤å®HO != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+
+ case EHHGroup.HO_HC:
+ if ((eå¤å®HO != EJudge.Miss) && (eå¤å®LC != EJudge.Miss))
+ {
+ if (chipHO.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ }
+ else if (chipHO.nçºå£°ä½ç½® > chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®HO != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®LC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+
+ case EHHGroup.LC_HH:
+ if ((eå¤å®HC != EJudge.Miss) && (eå¤å®HO != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®HC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®HO != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+
+ case EHHGroup.Group:
+ if (((eå¤å®HC != EJudge.Miss) && (eå¤å®HO != EJudge.Miss)) && (eå¤å®LC != EJudge.Miss))
+ {
+ CChip chip;
+ CChip[] chipArray = new CChip[] { chipHC, chipHO, chipLC };
+ // ãããããchipArrayãnçºçä½ç½®ã®å°ããé ã«ä¸¦ã³æ¿ãã
+ if (chipArray[1].nçºå£°ä½ç½® > chipArray[2].nçºå£°ä½ç½®)
+ {
+ chip = chipArray[1];
+ chipArray[1] = chipArray[2];
+ chipArray[2] = chip;
+ }
+ if (chipArray[0].nçºå£°ä½ç½® > chipArray[1].nçºå£°ä½ç½®)
+ {
+ chip = chipArray[0];
+ chipArray[0] = chipArray[1];
+ chipArray[1] = chip;
+ }
+ if (chipArray[1].nçºå£°ä½ç½® > chipArray[2].nçºå£°ä½ç½®)
+ {
+ chip = chipArray[1];
+ chipArray[1] = chipArray[2];
+ chipArray[2] = chip;
+ }
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipArray[0], inputEvent.nVelocity);
+ if (chipArray[0].nçºå£°ä½ç½® == chipArray[1].nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipArray[1], inputEvent.nVelocity);
+ }
+ if (chipArray[0].nçºå£°ä½ç½® == chipArray[2].nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipArray[2], inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if ((eå¤å®HC != EJudge.Miss) && (eå¤å®HO != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipHO.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if ((eå¤å®HC != EJudge.Miss) && (eå¤å®LC != EJudge.Miss))
+ {
+ if (chipHC.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ }
+ else if (chipHC.nçºå£°ä½ç½® > chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if ((eå¤å®HO != EJudge.Miss) && (eå¤å®LC != EJudge.Miss))
+ {
+ if (chipHO.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ }
+ else if (chipHO.nçºå£°ä½ç½® > chipLC.nçºå£°ä½ç½®)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ }
+ else
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ }
+ bHitted = true;
+ }
+ else if (eå¤å®HC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®HO != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipHO, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ else if (eå¤å®LC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.HHO, chipLC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.RD:
+ #region [ RD(ã¨CYã¨LC:groupingãã¦ããå ´å)ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.RD) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ CChip chipCY = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.Cymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipRD = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.RideCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1);
+ CChip chipLC = CDTXMania.Instance.ConfigIni.bCymbalFree ? this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LeftCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1) : null;
+ EJudge eå¤å®CY = (chipCY != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipCY, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®RD = (chipRD != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipRD, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®LC = (chipLC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLC, nInputAdjustTime) : EJudge.Miss;
+ CChip[] chipArray = new CChip[] { chipCY, chipRD, chipLC };
+ EJudge[] eå¤å®Array = new EJudge[] { eå¤å®CY, eå¤å®RD, eå¤å®LC };
+ const int NumOfChips = 3; // chipArray.GetLength(0)
+
+ // HH/CY群ã, nçºçä½ç½®ã®å°ããé ã«ä¸¦ã¹ã + nullã大ããæ¹ã«éãã
+ SortChipsByNTime(chipArray, eå¤å®Array, NumOfChips);
+ switch (eCYGroup)
+ {
+ case ECYGroup.None:
+ if (eå¤å®RD != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.RD, chipRD, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ break;
+
+ case ECYGroup.Group:
+ if (!CDTXMania.Instance.ConfigIni.bCymbalFree)
+ {
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if ((eå¤å®Array[i] != EJudge.Miss) && ((chipArray[i] == chipCY) || (chipArray[i] == chipRD)))
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ break;
+ }
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if (eå¤å®Array[i] != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.CY, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ break;
+ }
+ if (bHitted)
+ {
+ continue;
+ }
+ break;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.LC:
+ #region [ LC(ã¨HC/HOã¨CYã¨:groupingãã¦ããå ´å)ã®ãããå¦ç ]
+ //-----------------------------
+ {
+ if (inputEvent.nVelocity <= CDTXMania.Instance.ConfigIni.nVelocityMin.LC) // #23857 2010.12.12 yyagi: to support VelocityMin
+ continue; // é»åãã©ã ã«ããæå³çãªã¯ãã¹ãã¼ã¯ãç¡å¹ã«ãã
+ CChip chipHC = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HiHatClose, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1); // HC
+ CChip chipHO = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.HiHatOpen, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1); // HO
+ CChip chipLC = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.LeftCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1); // LC
+ CChip chipCY = CDTXMania.Instance.ConfigIni.bCymbalFree ? this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.Cymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1) : null;
+ CChip chipRD = CDTXMania.Instance.ConfigIni.bCymbalFree ? this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.RideCymbal, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1) : null;
+ EJudge eå¤å®HC = (chipHC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipHC, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®HO = (chipHO != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipHO, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®LC = (chipLC != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipLC, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®CY = (chipCY != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipCY, nInputAdjustTime) : EJudge.Miss;
+ EJudge eå¤å®RD = (chipRD != null) ? this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, chipRD, nInputAdjustTime) : EJudge.Miss;
+ CChip[] chipArray = new CChip[] { chipHC, chipHO, chipLC, chipCY, chipRD };
+ EJudge[] eå¤å®Array = new EJudge[] { eå¤å®HC, eå¤å®HO, eå¤å®LC, eå¤å®CY, eå¤å®RD };
+ const int NumOfChips = 5; // chipArray.GetLength(0)
+
+ // HH/CY群ã, nçºçä½ç½®ã®å°ããé ã«ä¸¦ã¹ã + nullã大ããæ¹ã«éãã
+ SortChipsByNTime(chipArray, eå¤å®Array, NumOfChips);
+ switch (eHHGroup)
+ {
+ case EHHGroup.None:
+ case EHHGroup.LC_HH:
+ if (!CDTXMania.Instance.ConfigIni.bCymbalFree)
+ {
+ if (eå¤å®LC != EJudge.Miss)
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LC, chipLC, inputEvent.nVelocity);
+ bHitted = true;
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if ((eå¤å®Array[i] != EJudge.Miss) && (((chipArray[i] == chipLC) || (chipArray[i] == chipCY)) || ((chipArray[i] == chipRD) && (CDTXMania.Instance.ConfigIni.eCYGroup == ECYGroup.Group))))
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LC, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ if (!bHitted)
+ break;
+ continue;
+
+ case EHHGroup.HO_HC:
+ case EHHGroup.Group:
+ if (!CDTXMania.Instance.ConfigIni.bCymbalFree)
+ {
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if ((eå¤å®Array[i] != EJudge.Miss) && (((chipArray[i] == chipLC) || (chipArray[i] == chipHC)) || (chipArray[i] == chipHO)))
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LC, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ for (int i = 0; i < NumOfChips; i++)
+ {
+ if ((eå¤å®Array[i] != EJudge.Miss) && ((chipArray[i] != chipRD) || (CDTXMania.Instance.ConfigIni.eCYGroup == ECYGroup.Group)))
+ {
+ this.tãã©ã ãããå¦ç(nTime, EPad.LC, chipArray[i], inputEvent.nVelocity);
+ bHitted = true;
+ break;
+ }
+ }
+ if (!bHitted)
+ break;
+ continue;
+ }
+ if (!bHitted)
+ break;
+
+ break;
+ }
+ //-----------------------------
+ #endregion
+
+ case EPad.HP: // #27029 2012.1.4 from
+ #region [ HPã®ãããå¦ç ]
+ //-----------------
+ if (CDTXMania.Instance.ConfigIni.eBDGroup == EBDGroup.Group)
+ {
+ #region [ BDã¨ã¿ãªãã¦ãããå¦ç ]
+ //-----------------
+ if (!this.tãã©ã ãããå¦ç(nTime, EPad.BD, this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, EChannel.BassDrum, nInputAdjustTime, CDTXMania.Instance.nPoorç¯å²ms + 1), inputEvent.nVelocity))
+ break;
+ continue;
+ //-----------------
+ #endregion
+ }
+ else
+ {
+ #region [ HPã®ãããå¦ç ]
+ //-----------------
+ continue; // ä½ãããªãããã®å
¥åãå®å
¨ã«ç¡è¦ããã®ã§ãbreak ããªããã¨ã
+ //-----------------
+ #endregion
+ }
+ //-----------------
+ #endregion
+ }
+ //-----------------------------
+ #endregion
+ #region [ (B) ããããã¦ãªãã£ãå ´åã¯ãã¬ã¼ã³ãã©ãã·ã¥ããããã¢ãã¡ã空æã¡é³åçãå®è¡ ]
+ //-----------------------------
+ EPad pad = ePad; // 以ä¸ãnPad ã®ä»£ããã« pad ãç¨ãããï¼æããã¾ãç¨ï¼
+
+ if (ePad == EPad.HP)
+ {
+ // #27029 2012.1.4 from: HP&BD æã® HiHatPedal ã®å ´å㯠BD ã«æããã¾ãã
+ pad = EPad.BD;
+ //ï¼ HP|BD æã®HPå
¥åã¯ããã¾ã§ããªãã®ã§ç¡è¦ãï¼
+ }
+
+ // ã¬ã¼ã³ãã©ãã·ã¥
+ this.actLaneFlushD.Start(EnumConverter.LaneFromPad(pad), ((float)inputEvent.nVelocity) / 127f);
+
+ // ãããç»åã®ãããå¦çç¨
+
+ // ãããã¢ãã¡
+ this.actPad.Hit(pad);
+
+ // 空æã¡é³
+ if (CDTXMania.Instance.ConfigIni.bDrumsHitSound)
+ {
+ CChip rChip = this.r空ãã¡Chip(EPart.Drums, pad);
+ if (rChip != null)
+ {
+ // (B1) 空æã¡é³ãèé¢ã§æå®ããã¦ããã®ã§ãããåçããã
+ this.tãµã¦ã³ãåç(rChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», EPart.Drums, CDTXMania.Instance.ConfigIni.nChipVolume, CDTXMania.Instance.ConfigIni.bEmphasizePlaySound.Drums);
+ }
+ else
+ {
+ #region [ (B2) 空æã¡é³ãæå®ããã¦ããªãã®ã§ä¸çªè¿ãããããæ¢ãã¦åçããã]
+ switch (pad)
+ {
+ case EPad.HH:
+ {
+ CChip chipHC = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.HiHatClose, nInputAdjustTime);
+ CChip chipHO = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.HiHatOpen, nInputAdjustTime);
+ CChip chipLC = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.LeftCymbal, nInputAdjustTime);
+ switch (CDTXMania.Instance.ConfigIni.eHHGroup.Value)
+ {
+ case EHHGroup.HO_HC:
+ rChip = (chipHC != null) ? chipHC : chipLC;
+ break;
+
+ case EHHGroup.LC_HH:
+ rChip = (chipHC != null) ? chipHC : chipHO;
+ break;
+
+ case EHHGroup.Group:
+ if (chipHC != null)
+ {
+ rChip = chipHC;
+ }
+ else if (chipHO == null)
+ {
+ rChip = chipLC;
+ }
+ else if (chipLC == null)
+ {
+ rChip = chipHO;
+ }
+ else if (chipHO.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ rChip = chipHO;
+ }
+ else
+ {
+ rChip = chipLC;
+ }
+ break;
+
+ default:
+ rChip = chipHC;
+ break;
+ }
+ }
+ break;
+
+ case EPad.LT:
+ {
+ CChip chipLT = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.LowTom, nInputAdjustTime);
+ CChip chipFT = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.FloorTom, nInputAdjustTime);
+ if (CDTXMania.Instance.ConfigIni.eFTGroup != EFTGroup.None)
+ rChip = (chipLT != null) ? chipLT : chipFT;
+ else
+ rChip = chipLT;
+ }
+ break;
+
+ case EPad.FT:
+ {
+ CChip chipLT = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.LowTom, nInputAdjustTime);
+ CChip chipFT = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.FloorTom, nInputAdjustTime);
+ if (CDTXMania.Instance.ConfigIni.eFTGroup != EFTGroup.None)
+ rChip = (chipFT != null) ? chipFT : chipLT;
+ else
+ rChip = chipFT;
+ }
+ break;
+
+ case EPad.CY:
+ {
+ CChip chipCY = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.Cymbal, nInputAdjustTime);
+ CChip chipRD = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.RideCymbal, nInputAdjustTime);
+ if (CDTXMania.Instance.ConfigIni.eCYGroup != ECYGroup.None)
+ rChip = (chipCY != null) ? chipCY : chipRD;
+ else
+ rChip = chipCY;
+ }
+ break;
+
+ case EPad.HHO:
+ {
+ CChip chipHC = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.HiHatClose, nInputAdjustTime);
+ CChip chipHO = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.HiHatOpen, nInputAdjustTime);
+ CChip chipLC = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.LeftCymbal, nInputAdjustTime);
+ switch (CDTXMania.Instance.ConfigIni.eHHGroup.Value)
+ {
+ case EHHGroup.None:
+ rChip = chipHO;
+ break;
+
+ case EHHGroup.HO_HC:
+ rChip = (chipHO != null) ? chipHO : chipLC;
+ break;
+
+ case EHHGroup.LC_HH:
+ rChip = (chipHO != null) ? chipHO : chipHC;
+ break;
+
+ case EHHGroup.Group:
+ if (chipHO != null)
+ {
+ rChip = chipHO;
+ }
+ else if (chipHC == null)
+ {
+ rChip = chipLC;
+ }
+ else if (chipLC == null)
+ {
+ rChip = chipHC;
+ }
+ else if (chipHC.nçºå£°ä½ç½® < chipLC.nçºå£°ä½ç½®)
+ {
+ rChip = chipHC;
+ }
+ else
+ {
+ rChip = chipLC;
+ }
+ break;
+ }
+ }
+ break;
+
+ case EPad.RD:
+ {
+ CChip chipCY = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.Cymbal, nInputAdjustTime);
+ CChip chipRD = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.RideCymbal, nInputAdjustTime);
+ if (CDTXMania.Instance.ConfigIni.eCYGroup != ECYGroup.None)
+ rChip = (chipRD != null) ? chipRD : chipCY;
+ else
+ rChip = chipRD;
+ }
+ break;
+
+ case EPad.LC:
+ {
+ CChip chipHC = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.HiHatClose, nInputAdjustTime);
+ CChip chipHO = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.HiHatOpen, nInputAdjustTime);
+ CChip chipLC = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EChannel.LeftCymbal, nInputAdjustTime);
+ switch (CDTXMania.Instance.ConfigIni.eHHGroup.Value)
+ {
+ case EHHGroup.None:
+ case EHHGroup.LC_HH:
+ rChip = chipLC;
+ break;
+
+ case EHHGroup.HO_HC:
+ case EHHGroup.Group:
+ if (chipLC != null)
+ {
+ rChip = chipLC;
+ }
+ else if (chipHC == null)
+ {
+ rChip = chipHO;
+ }
+ else if (chipHO == null)
+ {
+ rChip = chipHC;
+ }
+ else if (chipHC.nçºå£°ä½ç½® < chipHO.nçºå£°ä½ç½®)
+ {
+ rChip = chipHC;
+ }
+ else
+ {
+ rChip = chipHO;
+ }
+ break;
+ }
+ }
+ break;
+
+ default:
+ rChip = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, EnumConverter.ChannelFromPad(pad), nInputAdjustTime);
+ break;
+ }
+ if (rChip != null)
+ {
+ // 空æã¡é³ãè¦ã¤ãã£ãã®ã§åçããã
+ this.tãµã¦ã³ãåç(rChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», EPart.Drums, CDTXMania.Instance.ConfigIni.nChipVolume, CDTXMania.Instance.ConfigIni.bEmphasizePlaySound.Drums);
+ }
+ //-----------------
+ #endregion
+ }
+ }
+
+ // BAD or TIGHT æã®å¦çã
+ if (CDTXMania.Instance.ConfigIni.bTight)
+ this.tãããã®ãããå¦ç_Badãªãã³ã«Tightæã®Miss(EPart.Drums, EnumConverter.LaneFromPad(pad));//nããã0Atoã¬ã¼ã³07[(int)pad]
+ //-----------------------------
+ #endregion
+ }
}
}
- protected void té²è¡æç»ã»STAGEFAILED()
+
+ private void ãã©ã ã¹ã¯ãã¼ã«é度ã¢ãã()
{
- if ( ( ( base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) || ( base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) ) && ( ( this.actStageFailed.Oné²è¡æç»() != 0 ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) ) )
+ int scrollSpeed = CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums;
+ CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums.Value = scrollSpeed + 1;
+ float f = (float)CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums / (scrollSpeed + 1);
+ if (scrollSpeed < CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums)
{
- this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.ã¹ãã¼ã¸å¤±æ;
- base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã;
- this.actFO.tãã§ã¼ãã¢ã¦ãéå§();
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums.Value = ((int)(f * (CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums + 1) + 0.5));
}
}
- protected void té²è¡æç»ã»WailingBonus()
+
+ private void ãã©ã ã¹ã¯ãã¼ã«é度ãã¦ã³()
{
- if ( ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) )
+ int scrollSpeed = CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums;
+ CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums.Value = (scrollSpeed - 1);
+ float f = (float)CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums / (scrollSpeed + 1);
+ if (scrollSpeed > CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums)
{
- this.actWailingBonus.Oné²è¡æç»();
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums.Value = ((int)(f * (CDTXMania.Instance.ConfigIni.nScrollSpeed.Drums + 1) + 0.5));
}
}
- protected abstract void té²è¡æç»ã»Wailingæ ();
- protected void té²è¡æç»ã»Wailingæ (int GtWailingFrameX, int BsWailingFrameX, int GtWailingFrameY, int BsWailingFrameY)
+
+ private int nStartTime_ = 0;
+
+ protected void tãã¼å
¥å()
{
- if ( ( CDTXMania.ConfigIni.eDark != Eãã¼ã¯ã¢ã¼ã.FULL ) && CDTXMania.ConfigIni.bGuitaræå¹ )
- {
- if ( this.txWailingæ != null )
+ IInputDevice keyboard = CDTXMania.Instance.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)
+ {
+ nStartTime_ = (int)CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå»;
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tä¸æåæ¢();
+ CDTXMania.Instance.Timer.tä¸æåæ¢();
+ CDTXMania.Instance.DTX.tå
¨ãããã®åçä¸æåæ¢();
+ CDTXMania.Instance.DTX.tå
¨AVIã®ä¸æåæ¢();
+ }
+ else
{
- if ( CDTXMania.DTX.bãããããã.Guitar )
+ CDTXMania.Instance.DTX.tå
¨AVIã®åçåé();
+ // CDTXMania.Instance.DTX.tå
¨ãããã®åçåé();
+ #region [ PAUSEé£æã§ã®BGMãã対ç (AVIã¯ãããã¾ã¾ã«ãªããç¡è¦ã»ã»ã») ]
+
+ List pausedCSound = new List();
+ for (int i = this.nç¾å¨ã®ãããChip; i >= 0; i--)
{
- this.txWailingæ .t2Dæç»( CDTXMania.app.Device, GtWailingFrameX, GtWailingFrameY );
+ CChip pChip = CDTXMania.Instance.DTX.listChip[i];
+ int nDuration = pChip.GetDuration();
+
+ if ((pChip.nçºå£°æå»ms + nDuration > 0) && (pChip.nçºå£°æå»ms <= nStartTime_) && (nStartTime_ <= pChip.nçºå£°æå»ms + nDuration))
+ {
+ if (pChip.bWAVã使ããã£ã³ãã«ã§ãã && !pChip.b空æã¡ãããã§ãã) // wavç³»ãã£ã³ãã«ãä¸ã¤ã空æã¡ãããã§ã¯ãªã
+ {
+ CDTX.CWAV wc;
+ bool b = CDTXMania.Instance.DTX.listWAV.TryGetValue(pChip.næ´æ°å¤_å
é¨çªå·, out wc);
+ if (!b) continue;
+
+ if ((wc.bIsBGMSound && CDTXMania.Instance.ConfigIni.bBGMPlay) || (!wc.bIsBGMSound))
+ {
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, CDTXMania.Instance.DTX.nã¢ãã¿ãèæ
®ããé³é(EPart.Unknown));
+ #region [ PAUSEãã ]
+ int j = wc.nç¾å¨åçä¸ã®ãµã¦ã³ãçªå·;
+ if (wc.rSound[j] != null)
+ {
+ wc.rSound[j].tåçãä¸æåæ¢ãã();
+ wc.rSound[j].tåçä½ç½®ãå¤æ´ãã(nStartTime_ - pChip.nçºå£°æå»ms);
+ pausedCSound.Add(wc.rSound[j]);
+ }
+ #endregion
+ }
+ }
+ }
}
- if ( CDTXMania.DTX.bãããããã.Bass )
+ foreach (CSound cs in pausedCSound)
{
- this.txWailingæ .t2Dæç»( CDTXMania.app.Device, BsWailingFrameX, BsWailingFrameY );
+ cs.tãµã¦ã³ããåçãã();
}
+
+ #endregion
+ CDTXMania.Instance.Timer.tåé();
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tåé();
}
}
- }
-
-
- protected void té²è¡æç»ã»ããããã¡ã¤ã¢GB()
- {
- this.actChipFireGB.Oné²è¡æç»();
- }
- protected abstract void té²è¡æç»ã»ããã«æåå();
- protected void té²è¡æç»ã»ããã«æåå(int x, int y)
- {
- if ( ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) )
+ if ((!this.bPAUSE && (base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED)) && (base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã))
{
- this.actPanel.té²è¡æç»( x, y );
+ if (CDTXMania.Instance.ConfigIni.bDrumsæå¹)
+ {
+ this.tå
¥åå¦ç_ãã©ã ();
+ }
+ if (CDTXMania.Instance.ConfigIni.bGuitaræå¹)
+ {
+ this.tå
¥åå¦ç_ã®ã¿ã¼ãã¼ã¹(EPart.Guitar);
+ this.tå
¥åå¦ç_ã®ã¿ã¼ãã¼ã¹(EPart.Bass);
+ }
+
+ 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.Instance.DTX.tåèªååçé³ãããã®åçæå»ãå¤æ´ãã((keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.LeftControl) || keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.RightControl)) ? 1 : 10);
+ CDTXMania.Instance.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.Instance.DTX.tåèªååçé³ãããã®åçæå»ãå¤æ´ãã((keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.LeftControl) || keyboard.bãã¼ãæ¼ããã¦ãã((int)SlimDX.DirectInput.Key.RightControl)) ? -1 : -10);
+ CDTXMania.Instance.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.Instance.ConfigIni.bDebugInfo.Value = !CDTXMania.Instance.ConfigIni.bDebugInfo;
+ }
+ 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 (keyboard.bãã¼ãæ¼ããã((int)SlimDX.DirectInput.Key.F5))
+ {
+ int nVal = CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums - 1;
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums.Value =
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Guitar.Value =
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Bass.Value = nVal;
+ }
+ else if (keyboard.bãã¼ãæ¼ããã((int)SlimDX.DirectInput.Key.F6))
+ {
+ int nVal = CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums + 1;
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Drums.Value =
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Guitar.Value =
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset.Bass.Value = nVal;
+ }
+ else if ((base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.å
±é_é常ç¶æ
) &&
+ (keyboard.bãã¼ãæ¼ããã((int)SlimDX.DirectInput.Key.Escape) ||
+ CDTXMania.Instance.Pad.bCancelPadIsPressedGB()))
+ {
+ // escape (exit)
+ this.actFO.tãã§ã¼ãã¢ã¦ãéå§();
+ base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.å
±é_ãã§ã¼ãã¢ã¦ã;
+ this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.æ¼å¥ä¸æ;
+ }
}
}
- protected void tããã«æååã®è¨å®()
- {
- this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL );
- }
-
- protected void té²è¡æç»ã»ã²ã¼ã¸()
+ protected void tå
¥åã¡ã½ããè¨æ¶(EPart part)
{
- 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_ãã§ã¼ãã¢ã¦ã ) ) )
+ if (CDTXMania.Instance.Pad.stæ¤ç¥ããããã¤ã¹.Keyboard)
{
- this.actGauge.Oné²è¡æç»();
+ this.bæ¼å¥ã«ãã¼ãã¼ãã使ã£ã[part] = true;
+ }
+ if (CDTXMania.Instance.Pad.stæ¤ç¥ããããã¤ã¹.Joypad)
+ {
+ this.bæ¼å¥ã«ã¸ã§ã¤ãããã使ã£ã[part] = true;
+ }
+ if (CDTXMania.Instance.Pad.stæ¤ç¥ããããã¤ã¹.MIDIIN)
+ {
+ this.bæ¼å¥ã«MIDIå
¥åã使ã£ã[part] = true;
+ }
+ if (CDTXMania.Instance.Pad.stæ¤ç¥ããããã¤ã¹.Mouse)
+ {
+ this.bæ¼å¥ã«ãã¦ã¹ã使ã£ã[part] = true;
}
}
- protected void té²è¡æç»ã»ã³ã³ã()
- {
- this.actCombo.Oné²è¡æç»();
- }
- protected void té²è¡æç»ã»ã¹ã³ã¢()
- {
- this.actScore.Oné²è¡æç»();
- }
- protected void té²è¡æç»ã»ã¹ãã¼ã¿ã¹ããã«()
- {
- this.actStatusPanels.Oné²è¡æç»();
- }
- protected bool té²è¡æç»ã»ããã( E楽å¨ãã¼ã ePlayMode )
+
+ ///
+ /// ãããã«é¢é£ããå¦çãè¡ãã
+ ///
+ /// æ¼å¥ãçµäºãããã©ããã示ãå¤
+ protected bool té²è¡æç»_ããã()
{
- if ( ( base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) || ( base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) )
+ if ((base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED) || (base.eãã§ã¼ãºID == CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã))
{
return true;
}
- if ( ( this.nç¾å¨ã®ãããChip == -1 ) || ( this.nç¾å¨ã®ãããChip >= listChip.Count ) )
+ if ((this.nç¾å¨ã®ãããChip == -1) || (this.nç¾å¨ã®ãããChip >= CDTXMania.Instance.DTX.listChip.Count))
{
return true;
}
- if ( this.nç¾å¨ã®ãããChip == -1 )
+ if (this.nç¾å¨ã®ãããChip == -1)
{
return true;
}
- //double speed = 264.0; // BPM150ã®æã®1å°ç¯ã®é·ã[dot]
- const double speed = 234.0 * Scale.Y; // BPM150ã®æã®1å°ç¯ã®é·ã[dot]
-
- double ScrollSpeedDrums = ( this.actèé¢ã¹ã¯ãã¼ã«é度.dbç¾å¨ã®èé¢ã¹ã¯ãã¼ã«é度.Drums + 1.0 ) * 0.5 * 37.5 * speed / 60000.0;
- double ScrollSpeedGuitar = ( this.actèé¢ã¹ã¯ãã¼ã«é度.dbç¾å¨ã®èé¢ã¹ã¯ãã¼ã«é度.Guitar + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;
- double ScrollSpeedBass = ( this.actèé¢ã¹ã¯ãã¼ã«é度.dbç¾å¨ã®èé¢ã¹ã¯ãã¼ã«é度.Bass + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;
-
- CDTX dTX = CDTXMania.DTX;
- CConfigIni configIni = CDTXMania.ConfigIni;
- for ( int nCurrentTopChip = this.nç¾å¨ã®ãããChip; nCurrentTopChip < dTX.listChip.Count; nCurrentTopChip++ )
+ //CDTX dTX = CDTXMania.Instance.DTX;
+ //CConfigIni configIni = CDTXMania.Instance.ConfigIni;
+ for (int nCurrentTopChip = this.nç¾å¨ã®ãããChip; nCurrentTopChip < CDTXMania.Instance.DTX.listChip.Count; nCurrentTopChip++)
{
- CDTX.CChip pChip = dTX.listChip[ nCurrentTopChip ];
-//Debug.WriteLine( "nCurrentTopChip=" + nCurrentTopChip + ", ch=" + pChip.nãã£ã³ãã«çªå·.ToString("x2") + ", çºé³ä½ç½®=" + pChip.nçºå£°ä½ç½® + ", çºå£°æå»ms=" + pChip.nçºå£°æå»ms );
- pChip.nãã¼ããã®è·é¢dot.Drums = (int) ( ( pChip.nçºå£°æå»ms - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå» ) * ScrollSpeedDrums );
- pChip.nãã¼ããã®è·é¢dot.Guitar = (int) ( ( pChip.nçºå£°æå»ms - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå» ) * ScrollSpeedGuitar );
- pChip.nãã¼ããã®è·é¢dot.Bass = (int) ( ( pChip.nçºå£°æå»ms - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå» ) * ScrollSpeedBass );
- if ( Math.Min( Math.Min( pChip.nãã¼ããã®è·é¢dot.Drums, pChip.nãã¼ããã®è·é¢dot.Guitar ), pChip.nãã¼ããã®è·é¢dot.Bass ) > 450 * Scale.Y )
+ CChip pChip = CDTXMania.Instance.DTX.listChip[nCurrentTopChip];
+ //Debug.WriteLine( "nCurrentTopChip=" + nCurrentTopChip + ", ch=" + pChip.nãã£ã³ãã«çªå·.ToString("x2") + ", çºé³ä½ç½®=" + pChip.nçºå£°ä½ç½® + ", çºå£°æå»ms=" + pChip.nçºå£°æå»ms );
+ pChip.CalcDistanceFromBar(CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», this.actèé¢ã¹ã¯ãã¼ã«é度.dbç¾å¨ã®èé¢ã¹ã¯ãã¼ã«é度);
+ if (Math.Min(Math.Min(pChip.nãã¼ããã®è·é¢dot.Drums, pChip.nãã¼ããã®è·é¢dot.Guitar), pChip.nãã¼ããã®è·é¢dot.Bass) > 450 * Scale.Y)
{
break;
}
-// if ( ( ( nCurrentTopChip == this.nç¾å¨ã®ãããChip ) && ( pChip.nãã¼ããã®è·é¢dot.Drums < -65 ) ) && pChip.bHit )
// #28026 2012.4.5 yyagi; ä¿¡å¿ã¯ã¼ã«ãã¨ã³ãã®æ²çµäºå¾ãªã¶ã«ãã«ãªããªãè¡ããªãåé¡ã®ä¿®æ£
-
- if (( dTX.listChip[ this.nç¾å¨ã®ãããChip ].nãã¼ããã®è·é¢dot.Drums < -65 * Scale.Y ) && // å°ç¯ç·ã®æ¶å¤±å¦çãªã©ã«å½±é¿ããããã
- ( dTX.listChip[ this.nç¾å¨ã®ãããChip ].nãã¼ããã®è·é¢dot.Guitar < -65 * Scale.Y ) && // Drumsã®ã¹ã¯ãã¼ã«ã¹ãã¼ãã ãã«ã¯ä¾åãããªãã
- ( dTX.listChip[ this.nç¾å¨ã®ãããChip ].nãã¼ããã®è·é¢dot.Bass < -65 * Scale.Y ) &&
- dTX.listChip[ this.nç¾å¨ã®ãããChip ].bHit )
+ if ((CDTXMania.Instance.DTX.listChip[this.nç¾å¨ã®ãããChip].nãã¼ããã®è·é¢dot.Drums < -65 * Scale.Y) && // å°ç¯ç·ã®æ¶å¤±å¦çãªã©ã«å½±é¿ããããã
+ (CDTXMania.Instance.DTX.listChip[this.nç¾å¨ã®ãããChip].nãã¼ããã®è·é¢dot.Guitar < -65 * Scale.Y) && // Drumsã®ã¹ã¯ãã¼ã«ã¹ãã¼ãã ãã«ã¯ä¾åãããªãã
+ (CDTXMania.Instance.DTX.listChip[this.nç¾å¨ã®ãããChip].nãã¼ããã®è·é¢dot.Bass < -65 * Scale.Y) &&
+ CDTXMania.Instance.DTX.listChip[this.nç¾å¨ã®ãããChip].bHit)
{
- // nCurrentTopChip = ++this.nç¾å¨ã®ãããChip;
++this.nç¾å¨ã®ãããChip;
continue;
}
- bool bPChipIsAutoPlay = bCheckAutoPlay( pChip );
+ bool bPChipIsAutoPlay = pChip.bAssignAutoPlayState();
- int nInputAdjustTime = ( bPChipIsAutoPlay || (pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.UNKNOWN) )? 0 : this.nInputAdjustTimeMs[ (int) pChip.e楽å¨ãã¼ã ];
+ int nInputAdjustTime = (bPChipIsAutoPlay || (pChip.e楽å¨ãã¼ã == EPart.Unknown)) ? 0 : CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[pChip.e楽å¨ãã¼ã];
- int instIndex = (int) pChip.e楽å¨ãã¼ã;
- if ( ( ( pChip.e楽å¨ãã¼ã != E楽å¨ãã¼ã.UNKNOWN ) && !pChip.bHit ) &&
- ( ( pChip.nãã¼ããã®è·é¢dot[ instIndex ] < -40 * Scale.Y ) && ( this.eæå®æå»ããChipã®JUDGEãè¿ã( CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», pChip, nInputAdjustTime ) == Eå¤å®.Miss ) ) )
+ EPart inst = pChip.e楽å¨ãã¼ã;
+ if (((pChip.e楽å¨ãã¼ã != EPart.Unknown) && !pChip.bHit) &&
+ ((pChip.nãã¼ããã®è·é¢dot[inst] < -40 * Scale.Y) &&
+ (this.eæå®æå»ããChipã®JUDGEãè¿ã(CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», pChip, nInputAdjustTime) == EJudge.Miss)))
+ {
+ this.tãããã®ãããå¦ç(CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», pChip); //ãããæ¶å¤±(Hitããã¹ã«ã¼ããå ´å)
+ }
+ if (((pChip.e楽å¨ãã¼ã != EPart.Unknown) && !pChip.bHit) &&
+ ((pChip.nãã¼ããã®è·é¢dot[inst] + CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset[inst] < 0)))
{
- this.tãããã®ãããå¦ç( CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå», pChip );
+ //Debug.WriteLine( "éæ度ï¼" + pChip.néæ度 );
+ pChip.néæ度 -= 12; // ããããå¤å®ãã¼ãè¶ããããå¾ã
ã«éæã«ãããVSyncWaitã®æç¡ã§å æ¸ãå¤ãããã»ã»
+ if (pChip.néæ度 < 0)
+ {
+ pChip.néæ度 = 0;
+ }
}
- switch ( pChip.nãã£ã³ãã«çªå· )
+
+ // #35411 chnmr0 add (ã¿ã¼ã²ããã´ã¼ã¹ã)
+ if (CDTXMania.Instance.ConfigIni.eTargetGhost[inst] != ETargetGhostData.None &&
+ CDTXMania.Instance.DTX.listTargetGhsotLag[inst] != null &&
+ pChip.e楽å¨ãã¼ã != EPart.Unknown &&
+ pChip.nãã¼ããã®è·é¢dot[inst] < 0)
{
- #region [ 01: BGM ]
- case 0x01: // BGM
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ if (!pChip.bTargetGhostå¤å®æ¸ã¿)
+ {
+ pChip.bTargetGhostå¤å®æ¸ã¿ = true;
+
+ int ghostLag = 128;
+ if (0 <= pChip.n楽å¨ãã¼ãã§ã®åºç¾é && pChip.n楽å¨ãã¼ãã§ã®åºç¾é < CDTXMania.Instance.DTX.listTargetGhsotLag[inst].Count)
{
- pChip.bHit = true;
- if ( configIni.bBGMé³ãçºå£°ãã )
+ ghostLag = CDTXMania.Instance.DTX.listTargetGhsotLag[inst][pChip.n楽å¨ãã¼ãã§ã®åºç¾é ];
+ // ä¸ä½ï¼ããããï¼ãªãã³ã³ããéåãã¦ããï¼ã®ã¿ã¼BAD空æã¡ã§ã³ã³ãæ°ãåç¾ããããã®æªç½®ï¼
+ if (ghostLag > 255)
{
-//long t = CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms;
-//Trace.TraceInformation( "BGMåçéå§: æ¼å¥ã¿ã¤ãã®nååãªã»ããããã¨ãã®ã·ã¹ãã æå»=" + CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + ", pChip.nçºçæå»ms=" + pChip.nçºå£°æå»ms + ", åè¨=" + t );
- dTX.tãããã®åç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, (int) Eã¬ã¼ã³.BGM, dTX.nã¢ãã¿ãèæ
®ããé³é( E楽å¨ãã¼ã.UNKNOWN ) );
+ this.nã³ã³ãæ°_TargetGhost[inst] = 0;
}
+ ghostLag = (ghostLag & 255) - 128;
}
- break;
- #endregion
- #region [ 03: BPMå¤æ´ ]
- case 0x03: // BPMå¤æ´
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ else if (CDTXMania.Instance.ConfigIni.eTargetGhost[inst] == ETargetGhostData.Perfect)
{
- pChip.bHit = true;
- this.actPlayInfo.dbBPM = ( pChip.næ´æ°å¤ * ( ( (double) configIni.næ¼å¥é度 ) / 20.0 ) ) + dTX.BASEBPM;
+ ghostLag = 0;
}
- break;
- #endregion
- #region [ 04, 07, 55, 56,57, 58, 59, 60:ã¬ã¤ã¤ã¼BGA ]
- case 0x04: // ã¬ã¤ã¤ã¼BGA
- case 0x07:
- case 0x55:
- case 0x56:
- case 0x57:
- case 0x58:
- case 0x59:
- case 0x60:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+
+ if (ghostLag <= 127)
{
- pChip.bHit = true;
- if ( configIni.bBGAæå¹ )
+ EJudge eJudge = this.eæå®æå»ããChipã®JUDGEãè¿ã(pChip.nçºå£°æå»ms + ghostLag, pChip, 0, false);
+ this.nãããæ°_TargetGhost[inst][(int)eJudge]++;
+ if (eJudge == EJudge.Miss || eJudge == EJudge.Poor)
{
- switch ( pChip.eBGAç¨®å¥ )
- {
- case EBGA種å¥.BMPTEX:
- if ( pChip.rBMPTEX != null )
- {
- this.actBGA.Start( pChip.nãã£ã³ãã«çªå·, null, pChip.rBMPTEX, pChip.rBMPTEX.txç»å.szç»åãµã¤ãº.Width, pChip.rBMPTEX.txç»å.szç»åãµã¤ãº.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
- }
- break;
-
- case EBGA種å¥.BGA:
- if ( ( pChip.rBGA != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )
- {
- this.actBGA.Start( pChip.nãã£ã³ãã«çªå·, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.ptç»åå´å³ä¸åº§æ¨.X - pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.X, pChip.rBGA.ptç»åå´å³ä¸åº§æ¨.Y - pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.Y, 0, 0, pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.X, pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.Y, 0, 0, pChip.rBGA.pt表示座æ¨.X, pChip.rBGA.pt表示座æ¨.Y, 0, 0, 0 );
- }
- break;
-
- case EBGA種å¥.BGAPAN:
- if ( ( pChip.rBGAPan != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )
- {
- this.actBGA.Start( pChip.nãã£ã³ãã«çªå·, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.széå§ãµã¤ãº.Width, pChip.rBGAPan.széå§ãµã¤ãº.Height, pChip.rBGAPan.szçµäºãµã¤ãº.Width, pChip.rBGAPan.szçµäºãµã¤ãº.Height, pChip.rBGAPan.ptç»åå´éå§ä½ç½®.X, pChip.rBGAPan.ptç»åå´éå§ä½ç½®.Y, pChip.rBGAPan.ptç»åå´çµäºä½ç½®.X, pChip.rBGAPan.ptç»åå´çµäºä½ç½®.Y, pChip.rBGAPan.pt表示å´éå§ä½ç½®.X, pChip.rBGAPan.pt表示å´éå§ä½ç½®.Y, pChip.rBGAPan.pt表示å´çµäºä½ç½®.X, pChip.rBGAPan.pt表示å´çµäºä½ç½®.Y, pChip.nç·ç§»åæé );
- }
- break;
-
- default:
- if ( pChip.rBMP != null )
- {
- this.actBGA.Start( pChip.nãã£ã³ãã«çªå·, pChip.rBMP, null, pChip.rBMP.nå¹
, pChip.rBMP.né«ã, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
- }
- break;
- }
+ this.næ大ã³ã³ãæ°_TargetGhost[inst] = Math.Max(this.næ大ã³ã³ãæ°_TargetGhost[inst], this.nã³ã³ãæ°_TargetGhost[inst]);
+ this.nã³ã³ãæ°_TargetGhost[inst] = 0;
}
- }
- break;
- #endregion
- #region [ 08: BPMå¤æ´(æ¡å¼µ) ]
- case 0x08: // BPMå¤æ´(æ¡å¼µ)
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- if ( dTX.listBPM.ContainsKey( pChip.næ´æ°å¤ã»å
é¨çªå· ) )
+ else
{
- this.actPlayInfo.dbBPM = ( dTX.listBPM[ pChip.næ´æ°å¤ã»å
é¨çªå· ].dbBPMå¤ * ( ( (double) configIni.næ¼å¥é度 ) / 20.0 ) ) + dTX.BASEBPM;
+ this.nã³ã³ãæ°_TargetGhost[inst]++;
}
}
- break;
- #endregion
- #region [ 11-1a: ãã©ã æ¼å¥ ]
- case 0x11: // ãã©ã æ¼å¥
- case 0x12:
- case 0x13:
- case 0x14:
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18:
- case 0x19:
- case 0x1a:
- if ( pChip.b空æã¡ãããã§ãã )
- {
- this.té²è¡æç»ã»ãããã»ç©ºæã¡é³è¨å®ã»ãã©ã ( configIni, ref dTX, ref pChip );
- }
- else
- {
- this.té²è¡æç»ã»ãããã»ãã©ã ã¹( configIni, ref dTX, ref pChip );
- }
- break;
- #endregion
- #region [ 1f: ãã£ã«ã¤ã³ãµã¦ã³ã(ãã©ã ) ]
- case 0x1f: // ãã£ã«ã¤ã³ãµã¦ã³ã(ãã©ã )
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- this.rç¾å¨ã®æ声Chip.Drums = pChip;
- }
- break;
- #endregion
- #region [ 20-27: ã®ã¿ã¼æ¼å¥ ]
- case 0x20: // ã®ã¿ã¼æ¼å¥
- case 0x21:
- case 0x22:
- case 0x23:
- case 0x24:
- case 0x25:
- case 0x26:
- case 0x27:
- this.té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹( configIni, ref dTX, ref pChip, E楽å¨ãã¼ã.GUITAR );
- break;
- #endregion
- #region [ 28: ã¦ã§ã¤ãªã³ã°(ã®ã¿ã¼) ]
- case 0x28: // ã¦ã§ã¤ãªã³ã°(ã®ã¿ã¼)
- this.té²è¡æç»ã»ãããã»ã®ã¿ã¼ã»ã¦ã§ã¤ãªã³ã°( configIni, ref dTX, ref pChip, !CDTXMania.ConfigIni.bDrumsæå¹ );
- break;
- #endregion
- #region [ 2f: ã¦ã§ã¤ãªã³ã°ãµã¦ã³ã(ã®ã¿ã¼) ]
- case 0x2f: // ã¦ã§ã¤ãªã³ã°ãµã¦ã³ã(ã®ã¿ã¼)
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Guitar < 0 ) )
- {
- pChip.bHit = true;
- this.rç¾å¨ã®æ声Chip.Guitar = pChip;
- }
- break;
- #endregion
- #region [ 31-3a: ä¸å¯è¦ãããé
ç½®(ãã©ã ) ]
- case 0x31: // ä¸å¯è¦ãããé
ç½®(ãã©ã )
- case 0x32:
- case 0x33:
- case 0x34:
- case 0x35:
- case 0x36:
- case 0x37:
- case 0x38:
- case 0x39:
- case 0x3a:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- }
- break;
- #endregion
- #region [ 50: å°ç¯ç· ]
- case 0x50: // å°ç¯ç·
+ }
+ }
+
+ if (pChip[EChannel.BGM] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if (CDTXMania.Instance.ConfigIni.bBGMPlay)
+ {
+ //long t = CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms;
+ //Trace.TraceInformation( "BGMåçéå§: æ¼å¥ã¿ã¤ãã®nååãªã»ããããã¨ãã®ã·ã¹ãã æå»=" + CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + ", pChip.nçºçæå»ms=" + pChip.nçºå£°æå»ms + ", åè¨=" + t );
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, CDTXMania.Instance.DTX.nã¢ãã¿ãèæ
®ããé³é(EPart.Unknown));
+ }
+ }
+ else if (pChip[EChannel.BPM] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ this.actPlayInfo.dbBPM = (pChip.næ´æ°å¤ * (((double)CDTXMania.Instance.ConfigIni.nPlaySpeed) / 20.0)) + CDTXMania.Instance.DTX.BASEBPM;
+ }
+ else if (pChip.bBGALayer && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if (CDTXMania.Instance.ConfigIni.bBGA)
+ {
+ switch (pChip.eBGA種å¥)
{
- this.té²è¡æç»ã»ãããã»å°ç¯ç·( configIni, ref dTX, ref pChip );
- break;
+ case EBGAType.BMPTEX:
+ if (pChip.rBMPTEX != null)
+ {
+ this.actBGA.Start(pChip, null, pChip.rBMPTEX, pChip.rBMPTEX.txç»å.szç»åãµã¤ãº.Width, pChip.rBMPTEX.txç»å.szç»åãµã¤ãº.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ }
+ break;
+
+ case EBGAType.BGA:
+ if ((pChip.rBGA != null) && ((pChip.rBMP != null) || (pChip.rBMPTEX != null)))
+ {
+ this.actBGA.Start(pChip, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.ptç»åå´å³ä¸åº§æ¨.X - pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.X, pChip.rBGA.ptç»åå´å³ä¸åº§æ¨.Y - pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.Y, 0, 0, pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.X, pChip.rBGA.ptç»åå´å·¦ä¸åº§æ¨.Y, 0, 0, pChip.rBGA.pt表示座æ¨.X, pChip.rBGA.pt表示座æ¨.Y, 0, 0, 0);
+ }
+ break;
+
+ case EBGAType.BGAPAN:
+ if ((pChip.rBGAPan != null) && ((pChip.rBMP != null) || (pChip.rBMPTEX != null)))
+ {
+ this.actBGA.Start(pChip, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.széå§ãµã¤ãº.Width, pChip.rBGAPan.széå§ãµã¤ãº.Height, pChip.rBGAPan.szçµäºãµã¤ãº.Width, pChip.rBGAPan.szçµäºãµã¤ãº.Height, pChip.rBGAPan.ptç»åå´éå§ä½ç½®.X, pChip.rBGAPan.ptç»åå´éå§ä½ç½®.Y, pChip.rBGAPan.ptç»åå´çµäºä½ç½®.X, pChip.rBGAPan.ptç»åå´çµäºä½ç½®.Y, pChip.rBGAPan.pt表示å´éå§ä½ç½®.X, pChip.rBGAPan.pt表示å´éå§ä½ç½®.Y, pChip.rBGAPan.pt表示å´çµäºä½ç½®.X, pChip.rBGAPan.pt表示å´çµäºä½ç½®.Y, pChip.nç·ç§»åæé);
+ }
+ break;
+
+ default:
+ if (pChip.rBMP != null)
+ {
+ this.actBGA.Start(pChip, pChip.rBMP, null, pChip.rBMP.nå¹
, pChip.rBMP.né«ã, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ }
+ break;
}
- #endregion
- #region [ 51: æç· ]
- case 0x51: // æç·
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ }
+ }
+ else if (pChip[EChannel.BPMEx] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if (CDTXMania.Instance.DTX.listBPM.ContainsKey(pChip.næ´æ°å¤_å
é¨çªå·))
+ {
+ this.actPlayInfo.dbBPM = (CDTXMania.Instance.DTX.listBPM[pChip.næ´æ°å¤_å
é¨çªå·].dbBPMå¤ *
+ (((double)CDTXMania.Instance.ConfigIni.nPlaySpeed) / 20.0)) +
+ CDTXMania.Instance.DTX.BASEBPM;
+ }
+ }
+ else if (pChip.bDrumså¯è¦ããã && pChip.b空æã¡ãããã§ãã)
+ {
+ if (!pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if (CDTXMania.Instance.ConfigIni.bDrumsæå¹)
{
- pChip.bHit = true;
+ this.rç¾å¨ã®ç©ºãã¡ãã©ã Chip[(int)(EnumConverter.PadFromChannel(pChip.eãã£ã³ãã«çªå·) - EPad.DrumsPadMin)] = pChip;
}
- if ( ( ePlayMode == E楽å¨ãã¼ã.DRUMS ) && ( configIni.eDark != Eãã¼ã¯ã¢ã¼ã.FULL ) && pChip.bå¯è¦ && ( this.txããã != null ) )
+ }
+ }
+ else if (pChip.bDrumså¯è¦ããã_LP_LBDå«ã¾ãªã)
+ {
+ this.té²è¡æç»_ããã_ãã©ã ã¹(ref pChip);
+ }
+ else if (pChip[EChannel.DrumsFillin] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ this.rç¾å¨ã®æ声Chip.Drums = pChip;
+ }
+ else if (pChip.bGuitarå¯è¦ããã)
+ {
+ this.té²è¡æç»_ããã_ã®ã¿ã¼ãã¼ã¹(ref pChip, EPart.Guitar);
+ }
+ else if (pChip[EChannel.Guitar_Wailing])
+ {
+ this.té²è¡æç»_ããã_ã¦ã§ã¤ãªã³ã°(ref pChip);
+ }
+ else if (pChip[EChannel.Guitar_WailingSound] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Guitar < 0))
+ {
+ pChip.bHit = true;
+ this.rç¾å¨ã®æ声Chip.Guitar = pChip;
+ }
+ else if (pChip.bDrumsä¸å¯è¦ããã && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ }
+ else if (pChip[EChannel.BarLine] || pChip[EChannel.BeatLine])// å°ç¯ç·
+ {
+ this.té²è¡æç»_ããã_å°ç¯ç·_æç·(ref pChip);
+ }
+ else if (pChip[EChannel.MIDIChorus] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ }
+ else if (pChip[EChannel.FillIn])
+ {
+ this.té²è¡æç»_ããã_ãã£ã«ã¤ã³(ref pChip);
+ }
+ else if (pChip.bMovie && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if (CDTXMania.Instance.ConfigIni.bAVI)
+ {
+ if (CDTXMania.Instance.DTX.bãããããã.BGA)
{
- this.txããã.t2Dæç»( CDTXMania.app.Device,
- 0x23 * Scale.X,
- configIni.bReverse.Drums ?
- //(int) ( ( ( 0x38 + pChip.nãã¼ããã®è·é¢dot.Drums ) - 1 ) * Scale.Y ) :
- //(int) ( ( ( 0x1a6 - pChip.nãã¼ããã®è·é¢dot.Drums ) - 1 ) * Scale.Y ),
- (int) ( 0x37 * Scale.Y + pChip.nãã¼ããã®è·é¢dot.Drums ) :
- (int) ( 0x1a5 * Scale.Y - pChip.nãã¼ããã®è·é¢dot.Drums ),
- new Rectangle( 0, (int) ( 0x1bf * Scale.Y ), (int) ( 0x128 * Scale.X ), (int) ( 1 * Scale.Y ) )
- );
+ this.actAVI.bHasBGA = true;
}
- break;
- #endregion
- #region [ 52: MIDIã³ã¼ã©ã¹ ]
- case 0x52: // MIDIã³ã¼ã©ã¹
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ if (pChip.eãã£ã³ãã«çªå· == EChannel.MovieFull || CDTXMania.Instance.ConfigIni.bFullAVI)
{
- pChip.bHit = true;
+ this.actAVI.bFullScreenMovie = true;
}
- break;
- #endregion
- #region [ 53: ãã£ã«ã¤ã³ ]
- case 0x53: // ãã£ã«ã¤ã³
- this.té²è¡æç»ã»ãããã»ãã£ã«ã¤ã³( configIni, ref dTX, ref pChip );
- break;
- #endregion
- #region [ 54: åç»åç(BGAé å), 5A: åç»åç(å
¨ç»é¢) ]
- case (int) Echå®ç¾©.Movie: // åç»åç (BGAé å)
- case (int) Echå®ç¾©.MovieFull: // åç»åç (å
¨ç»é¢)
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ switch (pChip.eAVI種å¥)
{
- pChip.bHit = true;
- if ( configIni.bAVIæå¹ )
- {
- if ( CDTXMania.DTX.bãããããã.BGA )
- {
- this.actAVI.bHasBGA = true;
- }
- if ( pChip.nãã£ã³ãã«çªå· == (int) Echå®ç¾©.MovieFull || CDTXMania.ConfigIni.bForceAVIFullscreen )
+ case EAVIType.AVI:
{
- this.actAVI.bFullScreenMovie = true;
+ int startWidth = !this.actAVI.bFullScreenMovie ? 278 : SampleFramework.GameWindowSize.Width;
+ int startHeight = !this.actAVI.bFullScreenMovie ? 355 : SampleFramework.GameWindowSize.Height;
+ this.actAVI.Start(pChip.eãã£ã³ãã«çªå·, pChip.rAVI, startWidth, startHeight, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.nçºå£°æå»ms);
}
- switch ( pChip.eAVIç¨®å¥ )
- {
- case EAVI種å¥.AVI:
- //if ( pChip.rAVI != null )
- {
- //int startWidth = ( CDTXMania.DTX.bãããããã.BGA ) ? 278 : SampleFramework.GameWindowSize.Width;
- //int startHeight = ( CDTXMania.DTX.bãããããã.BGA ) ? 355 : SampleFramework.GameWindowSize.Height;
- int startWidth = !this.actAVI.bFullScreenMovie ? 278 : SampleFramework.GameWindowSize.Width;
- int startHeight = !this.actAVI.bFullScreenMovie ? 355 : SampleFramework.GameWindowSize.Height;
- this.actAVI.Start( pChip.nãã£ã³ãã«çªå·, pChip.rAVI, startWidth, startHeight, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.nçºå£°æå»ms );
- }
- break;
+ break;
- case EAVI種å¥.AVIPAN:
- if ( pChip.rAVIPan != null )
- {
- this.actAVI.Start( pChip.nãã£ã³ãã«çªå·, pChip.rAVI, pChip.rAVIPan.széå§ãµã¤ãº.Width, pChip.rAVIPan.széå§ãµã¤ãº.Height, pChip.rAVIPan.szçµäºãµã¤ãº.Width, pChip.rAVIPan.szçµäºãµã¤ãº.Height, pChip.rAVIPan.ptåç»å´éå§ä½ç½®.X, pChip.rAVIPan.ptåç»å´éå§ä½ç½®.Y, pChip.rAVIPan.ptåç»å´çµäºä½ç½®.X, pChip.rAVIPan.ptåç»å´çµäºä½ç½®.Y, pChip.rAVIPan.pt表示å´éå§ä½ç½®.X, pChip.rAVIPan.pt表示å´éå§ä½ç½®.Y, pChip.rAVIPan.pt表示å´çµäºä½ç½®.X, pChip.rAVIPan.pt表示å´çµäºä½ç½®.Y, pChip.nç·ç§»åæé, pChip.nçºå£°æå»ms );
- }
- break;
+ case EAVIType.AVIPAN:
+ if (pChip.rAVIPan != null)
+ {
+ this.actAVI.Start(pChip.eãã£ã³ãã«çªå·, pChip.rAVI, pChip.rAVIPan.széå§ãµã¤ãº.Width, pChip.rAVIPan.széå§ãµã¤ãº.Height, pChip.rAVIPan.szçµäºãµã¤ãº.Width, pChip.rAVIPan.szçµäºãµã¤ãº.Height, pChip.rAVIPan.ptåç»å´éå§ä½ç½®.X, pChip.rAVIPan.ptåç»å´éå§ä½ç½®.Y, pChip.rAVIPan.ptåç»å´çµäºä½ç½®.X, pChip.rAVIPan.ptåç»å´çµäºä½ç½®.Y, pChip.rAVIPan.pt表示å´éå§ä½ç½®.X, pChip.rAVIPan.pt表示å´éå§ä½ç½®.Y, pChip.rAVIPan.pt表示å´çµäºä½ç½®.X, pChip.rAVIPan.pt表示å´çµäºä½ç½®.Y, pChip.nç·ç§»åæé, pChip.nçºå£°æå»ms);
}
- }
- }
- break;
- #endregion
- #region [ 61-92: èªååç(BGM, SE) ]
- case 0x61:
- case 0x62:
- case 0x63:
- case 0x64: // èªååç(BGM, SE)
- case 0x65:
- case 0x66:
- case 0x67:
- case 0x68:
- case 0x69:
- case 0x70:
- case 0x71:
- case 0x72:
- case 0x73:
- case 0x74:
- case 0x75:
- case 0x76:
- case 0x77:
- case 0x78:
- case 0x79:
- case 0x80:
- case 0x81:
- case 0x82:
- case 0x83:
- case 0x90:
- case 0x91:
- case 0x92:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- if ( configIni.bBGMé³ãçºå£°ãã )
- {
- dTX.tWavã®åçåæ¢( this.næå¾ã«åçããBGMã®å®WAVçªå·[ pChip.nãã£ã³ãã«çªå· - 0x61 ] );
- dTX.tãããã®åç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, ( int ) Eã¬ã¼ã³.BGM, dTX.nã¢ãã¿ãèæ
®ããé³é( E楽å¨ãã¼ã.UNKNOWN ) );
- this.næå¾ã«åçããBGMã®å®WAVçªå·[ pChip.nãã£ã³ãã«çªå· - 0x61 ] = pChip.næ´æ°å¤ã»å
é¨çªå·;
- }
+ break;
}
- break;
- #endregion
-
-
- #region [ 84-89: ä»®: override sound ] // #26338 2011.11.8 yyagi
- case 0x84: // HH (HO/HC)
- case 0x85: // CY
- case 0x86: // RD
- case 0x87: // LC
- case 0x88: // Guitar
- case 0x89: // Bass
+ }
+ }
+ else if (pChip.bSE && !pChip.bOverrideSE && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if (CDTXMania.Instance.ConfigIni.bBGMPlay)
+ {
+ CDTXMania.Instance.DTX.tWavã®åçåæ¢(this.næå¾ã«åçããBGMã®å®WAVçªå·[pChip.eãã£ã³ãã«çªå· - EChannel.SE01]);
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, CDTXMania.Instance.DTX.nã¢ãã¿ãèæ
®ããé³é(EPart.Unknown));
+ this.næå¾ã«åçããBGMã®å®WAVçªå·[pChip.eãã£ã³ãã«çªå· - EChannel.SE01] = pChip.næ´æ°å¤_å
é¨çªå·;
+ }
+ }
+ else if (pChip.bOverrideSE && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ // override sound
// mute sound (auto)
// 4A: 84: HH (HO/HC)
// 4B: 85: CY
@@ -2131,188 +3047,119 @@ namespace DTXMania
// 2A: 88: Gt
// AA: 89: Bs
- // CDTXMania.DTX.tWavã®åçåæ¢( this.næå¾ã«åçããå®WAVçªå·.Guitar );
- // CDTXMania.DTX.tãããã®åç( pChip, nåçéå§ã·ã¹ãã æå»ms, 8, né³é, bã¢ãã¿, bé³ç¨ããããã¦åç );
- // this.næå¾ã«åçããå®WAVçªå·.Guitar = pChip.næ´æ°å¤ã»å
é¨çªå·;
+ // CDTXMania.Instance.DTX.tWavã®åçåæ¢( this.næå¾ã«åçããå®WAVçªå·.Guitar );
+ // CDTXMania.Instance.DTX.tãããã®åç( pChip, nåçéå§ã·ã¹ãã æå»ms, 8, né³é, bã¢ãã¿, bé³ç¨ããããã¦åç );
+ // this.næå¾ã«åçããå®WAVçªå·.Guitar = pChip.næ´æ°å¤_å
é¨çªå·;
// protected void tãµã¦ã³ãåç( CDTX.CChip pChip, long nåçéå§ã·ã¹ãã æå»ms, E楽å¨ãã¼ã part, int né³é, bool bã¢ãã¿, bool bé³ç¨ããããã¦åç )
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- E楽å¨ãã¼ã[] p = { E楽å¨ãã¼ã.DRUMS, E楽å¨ãã¼ã.DRUMS, E楽å¨ãã¼ã.DRUMS, E楽å¨ãã¼ã.DRUMS, E楽å¨ãã¼ã.GUITAR, E楽å¨ãã¼ã.BASS };
-
- E楽å¨ãã¼ã pp = p[ pChip.nãã£ã³ãã«çªå· - 0x84 ];
-
-// if ( pp == E楽å¨ãã¼ã.DRUMS ) { // pChip.nãã£ã³ãã«çªå·= ..... HHã¨ãããã©ã ã®å ´åã¯å¤ããã
-// // HC CY RD LC
-// int[] ch = { 0x11, 0x16, 0x19, 0x1A };
-// pChip.nãã£ã³ãã«çªå· = ch[ pChip.nãã£ã³ãã«çªå· - 0x84 ];
-// }
- this.tãµã¦ã³ãåç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, pp, dTX.nã¢ãã¿ãèæ
®ããé³é( pp ) );
- }
- break;
- #endregion
+ pChip.bHit = true;
+ EPart[] p = { EPart.Drums, EPart.Drums, EPart.Drums, EPart.Drums, EPart.Guitar, EPart.Bass };
- #region [ a0-a7: ãã¼ã¹æ¼å¥ ]
- case 0xa0: // ãã¼ã¹æ¼å¥
- case 0xa1:
- case 0xa2:
- case 0xa3:
- case 0xa4:
- case 0xa5:
- case 0xa6:
- case 0xa7:
- this.té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹( configIni, ref dTX, ref pChip, E楽å¨ãã¼ã.BASS );
- break;
- #endregion
- #region [ a8: ã¦ã§ã¤ãªã³ã°(ãã¼ã¹) ]
- case 0xa8: // ã¦ã§ã¤ãªã³ã°(ãã¼ã¹)
- this.té²è¡æç»ã»ãããã»ãã¼ã¹ã»ã¦ã§ã¤ãªã³ã°( configIni, ref dTX, ref pChip, !CDTXMania.ConfigIni.bDrumsæå¹ );
- break;
- #endregion
- #region [ af: ã¦ã§ã¤ãªã³ã°ãµã¦ã³ã(ãã¼ã¹) ]
- case 0xaf: // ã¦ã§ã¤ãªã³ã°ãµã¦ã³ã(ãã¼ã¹)
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Bass < 0 ) )
- {
- pChip.bHit = true;
- this.rç¾å¨ã®æ声Chip.Bass = pChip;
- }
- break;
- #endregion
- #region [ b1-b9, bc: 空æã¡é³è¨å®(ãã©ã ) ]
- case 0xb1: // 空æã¡é³è¨å®(ãã©ã )
- case 0xb2:
- case 0xb3:
- case 0xb4:
- case 0xb5:
- case 0xb6:
- case 0xb7:
- case 0xb8:
- case 0xb9:
- case 0xbc:
- // ããã«ã¯æ¥ãªããªã£ãã¯ãã ããä¸å¿æ®ãã¦ãã
- this.té²è¡æç»ã»ãããã»ç©ºæã¡é³è¨å®ã»ãã©ã ( configIni, ref dTX, ref pChip );
- break;
- #endregion
- #region [ ba: 空æã¡é³è¨å®(ã®ã¿ã¼) ]
- case 0xba: // 空æã¡é³è¨å®(ã®ã¿ã¼)
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Guitar < 0 ) )
- {
- pChip.bHit = true;
- this.rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip = pChip;
- pChip.nãã£ã³ãã«çªå· = 0x20;
- }
- break;
- #endregion
- #region [ bb: 空æã¡é³è¨å®(ãã¼ã¹) ]
- case 0xbb: // 空æã¡é³è¨å®(ãã¼ã¹)
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Bass < 0 ) )
- {
- pChip.bHit = true;
- this.rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip = pChip;
- pChip.nãã£ã³ãã«çªå· = 0xA0;
- }
- break;
- #endregion
- #region [ c4, c7, d5-d9, e0: BGAç»åå
¥ãæ¿ã ]
- case 0xc4:
- case 0xc7:
- case 0xd5:
- case 0xd6: // BGAç»åå
¥ãæ¿ã
- case 0xd7:
- case 0xd8:
- case 0xd9:
- case 0xe0:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- if ( ( configIni.bBGAæå¹ && ( pChip.eBGAç¨®å¥ == EBGA種å¥.BMP ) ) || ( pChip.eBGAç¨®å¥ == EBGA種å¥.BMPTEX ) )
- {
- for ( int i = 0; i < 8; i++ )
- {
- if ( this.nBGAã¹ã³ã¼ããã£ã³ãã«ããã[ 0, i ] == pChip.nãã£ã³ãã«çªå· )
- {
- this.actBGA.ChangeScope( this.nBGAã¹ã³ã¼ããã£ã³ãã«ããã[ 1, i ], pChip.rBMP, pChip.rBMPTEX );
- }
- }
- }
- }
- break;
- #endregion
- #region [ da: ãããµã¼ã¸ãããé³è¿½å ]
- case 0xDA:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ EPart pp = p[pChip.eãã£ã³ãã«çªå· - EChannel.SE24];
+
+ // if ( pp == E楽å¨ãã¼ã.DRUMS ) { // pChip.nãã£ã³ãã«çªå·= ..... HHã¨ãããã©ã ã®å ´åã¯å¤ããã
+ // // HC CY RD LC
+ // int[] ch = { 0x11, 0x16, 0x19, 0x1A };
+ // pChip.nãã£ã³ãã«çªå· = ch[ pChip.nãã£ã³ãã«çªå· - 0x84 ];
+ // }
+ this.tãµã¦ã³ãåç(pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, pp, CDTXMania.Instance.DTX.nã¢ãã¿ãèæ
®ããé³é(pp));
+ }
+
+ else if (pChip.bBasså¯è¦ããã)
+ {
+ this.té²è¡æç»_ããã_ã®ã¿ã¼ãã¼ã¹(ref pChip, EPart.Bass);
+ }
+ else if (pChip[EChannel.Bass_Wailing])
+ {
+ this.té²è¡æç»_ããã_ã¦ã§ã¤ãªã³ã°(ref pChip);
+ }
+ else if (pChip[EChannel.Bass_WailingSound] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Bass < 0))
+ {
+ pChip.bHit = true;
+ this.rç¾å¨ã®æ声Chip.Bass = pChip;
+ }
+ else if (pChip[EChannel.Guitar_NoChip] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Guitar < 0))
+ {
+ pChip.bHit = true;
+ this.rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip = pChip;
+ pChip.ConvertGBNoChip();
+ }
+ else if (pChip[EChannel.Bass_NoChip] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Bass < 0))
+ {
+ pChip.bHit = true;
+ this.rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip = pChip;
+ pChip.ConvertGBNoChip();
+ }
+ else if (pChip.bBGALayerSwap && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+ if ((CDTXMania.Instance.ConfigIni.bBGA && (pChip.eBGAç¨®å¥ == EBGAType.BMP)) || (pChip.eBGAç¨®å¥ == EBGAType.BMPTEX))
+ {
+ this.actBGA.ChangeScope(pChip);
+ }
+ }
+ else if (pChip[EChannel.MixerAdd] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ //Debug.WriteLine( "[DA(AddMixer)] BAR=" + pChip.nçºå£°ä½ç½® / 384 + " ch=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", wav=" + pChip.næ´æ°å¤.ToString( "x2" ) + ", time=" + pChip.nçºå£°æå»ms );
+ pChip.bHit = true;
+ if (CDTXMania.Instance.DTX.listWAV.ContainsKey(pChip.næ´æ°å¤_å
é¨çªå·)) // åç
§ãé ãã®ã§å¾æ¥æé©åãã
+ {
+ CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.næ´æ°å¤_å
é¨çªå·];
+ //Debug.Write( "[AddMixer] BAR=" + pChip.nçºå£°ä½ç½® / 384 + ", wav=" + Path.GetFileName( wc.strãã¡ã¤ã«å ) + ", time=" + pChip.nçºå£°æå»ms );
+
+ for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)
{
-//Debug.WriteLine( "[DA(AddMixer)] BAR=" + pChip.nçºå£°ä½ç½® / 384 + " ch=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", wav=" + pChip.næ´æ°å¤.ToString( "x2" ) + ", time=" + pChip.nçºå£°æå»ms );
- pChip.bHit = true;
- if ( listWAV.ContainsKey( pChip.næ´æ°å¤ã»å
é¨çªå· ) ) // åç
§ãé ãã®ã§å¾æ¥æé©åãã
+ if (wc.rSound[i] != null)
{
- CDTX.CWAV wc = listWAV[ pChip.næ´æ°å¤ã»å
é¨çªå· ];
-//Debug.Write( "[AddMixer] BAR=" + pChip.nçºå£°ä½ç½® / 384 + ", wav=" + Path.GetFileName( wc.strãã¡ã¤ã«å ) + ", time=" + pChip.nçºå£°æå»ms );
-
- for ( int i = 0; i < nPolyphonicSounds; i++ )
- {
- if ( wc.rSound[ i ] != null )
- {
- //CDTXMania.Sound管ç.AddMixer( wc.rSound[ i ] );
- AddMixer( wc.rSound[ i ], pChip.bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã );
- }
- //else
- //{
- // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.Sound管ç.GetMixingStreams() );
- // break;
- //}
- //if ( i == nPolyphonicSounds - 1 )
- //{
- // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.Sound管ç.GetMixingStreams() );
- //}
- }
+ //CDTXMania.Instance.Sound管ç.AddMixer( wc.rSound[ i ] );
+ AddMixer(wc.rSound[i], pChip.bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã);
}
+ //else
+ //{
+ // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.Instance.Sound管ç.GetMixingStreams() );
+ // break;
+ //}
+ //if ( i == nPolyphonicSounds - 1 )
+ //{
+ // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.Instance.Sound管ç.GetMixingStreams() );
+ //}
}
- break;
- #endregion
- #region [ db: ãããµã¼ãããããé³åé¤ ]
- case 0xDB:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
+ }
+ }
+ else if (pChip[EChannel.MixerRemove] && !pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ //Debug.WriteLine( "[DB(RemoveMixer)] BAR=" + pChip.nçºå£°ä½ç½® / 384 + " ch=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", wav=" + pChip.næ´æ°å¤.ToString( "x2" ) + ", time=" + pChip.nçºå£°æå»ms );
+ pChip.bHit = true;
+ if (CDTXMania.Instance.DTX.listWAV.ContainsKey(pChip.næ´æ°å¤_å
é¨çªå·)) // åç
§ãé ãã®ã§å¾æ¥æé©åãã
+ {
+ CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.næ´æ°å¤_å
é¨çªå·];
+ //Debug.Write( "[DelMixer] BAR=" + pChip.nçºå£°ä½ç½® / 384 + ", wav=" + Path.GetFileName( wc.strãã¡ã¤ã«å ) + ", time=" + pChip.nçºå£°æå»ms );
+ for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)
{
-//Debug.WriteLine( "[DB(RemoveMixer)] BAR=" + pChip.nçºå£°ä½ç½® / 384 + " ch=" + pChip.nãã£ã³ãã«çªå·.ToString( "x2" ) + ", wav=" + pChip.næ´æ°å¤.ToString( "x2" ) + ", time=" + pChip.nçºå£°æå»ms );
- pChip.bHit = true;
- if ( listWAV.ContainsKey( pChip.næ´æ°å¤ã»å
é¨çªå· ) ) // åç
§ãé ãã®ã§å¾æ¥æé©åãã
+ if (wc.rSound[i] != null)
{
- CDTX.CWAV wc = listWAV[ pChip.næ´æ°å¤ã»å
é¨çªå· ];
-//Debug.Write( "[DelMixer] BAR=" + pChip.nçºå£°ä½ç½® / 384 + ", wav=" + Path.GetFileName( wc.strãã¡ã¤ã«å ) + ", time=" + pChip.nçºå£°æå»ms );
- for ( int i = 0; i < nPolyphonicSounds; i++ )
- {
- if ( wc.rSound[ i ] != null )
- {
- //CDTXMania.Sound管ç.RemoveMixer( wc.rSound[ i ] );
- if ( !wc.rSound[ i ].bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã ) // #32248 2013.10.16 yyagi
- { // DTXçµäºå¾ãåçãç¶ããããã®0xDBç»é²ããªãããã¨ã¯ã§ããã
- RemoveMixer( wc.rSound[ i ] ); // (ãããµã¼è§£é¤ã®ã¿ã¤ãã³ã°ãé
延ããå ´åã®å¯¾å¿ãé¢åãªã®ã§ã)
- } // ããã§ã代ããã«ãã©ã°ããã§ãã¯ãã¦ãããµã¼åé¤ãã¸ãã¯ã¸ã®é·ç§»ãã«ããããã
- }
- //else
- //{
- // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.Sound管ç.GetMixingStreams() );
- // break;
- //}
- //if ( i == nPolyphonicSounds - 1 )
- //{
- // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.Sound管ç.GetMixingStreams() );
- //}
- }
+ //CDTXMania.Instance.Sound管ç.RemoveMixer( wc.rSound[ i ] );
+ if (!wc.rSound[i].bæ¼å¥çµäºå¾ãåçãç¶ããããã§ãã) // #32248 2013.10.16 yyagi
+ { // DTXçµäºå¾ãåçãç¶ããããã®0xDBç»é²ããªãããã¨ã¯ã§ããã
+ RemoveMixer(wc.rSound[i]); // (ãããµã¼è§£é¤ã®ã¿ã¤ãã³ã°ãé
延ããå ´åã®å¯¾å¿ãé¢åãªã®ã§ã)
+ } // ããã§ã代ããã«ãã©ã°ããã§ãã¯ãã¦ãããµã¼åé¤ãã¸ãã¯ã¸ã®é·ç§»ãã«ããããã
}
+ //else
+ //{
+ // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.Instance.Sound管ç.GetMixingStreams() );
+ // break;
+ //}
+ //if ( i == nPolyphonicSounds - 1 )
+ //{
+ // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.Instance.Sound管ç.GetMixingStreams() );
+ //}
}
- break;
- #endregion
- #region [ ãã®ä»(æªå®ç¾©) ]
- default:
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot.Drums < 0 ) )
- {
- pChip.bHit = true;
- }
- break;
- #endregion
+ }
+ }
+ else if (!pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ // other chips
+ pChip.bHit = true;
}
}
return false;
@@ -2320,64 +3167,70 @@ namespace DTXMania
public void tåèªè¾¼()
{
- CDTXMania.DTX.tå
¨ãããã®åçåæ¢ã¨ãããµã¼ããã®åé¤();
- this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.åèªè¾¼ã»åæ¼å¥;
+ CDTXMania.Instance.DTX.tå
¨ãããã®åçåæ¢ã¨ãããµã¼ããã®åé¤();
+ this.eãã§ã¼ãã¢ã¦ãå®äºæã®æ»ãå¤ = Eæ¼å¥ç»é¢ã®æ»ãå¤.åèªè¾¼_åæ¼å¥;
base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.æ¼å¥_åèªè¾¼;
this.bPAUSE = false;
// #34048 2014.7.16 yyagi
#region [ èªã¿è¾¼ã¿ç»é¢ã«é·ç§»ããåã«ãè¨å®å¤æ´ããå¯è½æ§ããããã©ã¡ã¼ã¿ãConfigIniã¯ã©ã¹ã«æ¸ãæ»ã ]
- for ( int i = 0; i < 3; i++ )
+ for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
{
- CDTXMania.ConfigIni.nViewerScrollSpeed[ i ] = CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[ i ];
+ CDTXMania.Instance.ConfigIni.nViewerScrollSpeed[i] = CDTXMania.Instance.ConfigIni.nScrollSpeed[i];
}
- CDTXMania.ConfigIni.bæ¼å¥æ
å ±ã表示ãã = CDTXMania.ConfigIni.bViewerShowDebugStatus;
+ CDTXMania.Instance.ConfigIni.bDebugInfo = CDTXMania.Instance.ConfigIni.bViewerShowDebugStatus;
#endregion
}
public void tåæ¢()
{
- CDTXMania.DTX.tå
¨ãããã®åçåæ¢ã¨ãããµã¼ããã®åé¤();
+ CDTXMania.Instance.DTX.tå
¨ãããã®åçåæ¢ã¨ãããµã¼ããã®åé¤();
this.actAVI.Stop();
this.actBGA.Stop();
- this.actPanel.Stop(); // PANEL表示åæ¢
- CDTXMania.Timer.tä¸æåæ¢(); // åçæå»ã«ã¦ã³ã¿åæ¢
+ this.actPanel.Stop(); // PANEL表示åæ¢
+ CDTXMania.Instance.Timer.tä¸æåæ¢(); // åçæå»ã«ã¦ã³ã¿åæ¢
- this.nç¾å¨ã®ãããChip = CDTXMania.DTX.listChip.Count - 1; // çµç«¯ã«ã·ã¼ã¯
+ this.nç¾å¨ã®ãããChip = CDTXMania.Instance.DTX.listChip.Count - 1; // çµç«¯ã«ã·ã¼ã¯
// èªåèªèº«ã®Onæ´»æ§å()ç¸å½ã®å¦çããã¹ãã
}
- public void tæ¼å¥ä½ç½®ã®å¤æ´( int nStartBar )
+ ///
+ /// æ¼å¥ä½ç½®ãå¤æ´ããã
+ ///
+ /// æ¼å¥éå§å°ç¯çªå·
+ /// æ¼å¥æ¸ã¿æ
å ±(bHit)ãã¯ãªã¢ãããã©ãã
+ public void tæ¼å¥ä½ç½®ã®å¤æ´(int nStartBar)
{
// ã¾ãå
¨ãµã¦ã³ããªãã«ãã
- CDTXMania.DTX.tå
¨ãããã®åçåæ¢();
+ CDTXMania.Instance.DTX.tå
¨ãããã®åçåæ¢();
this.actAVI.Stop();
this.actBGA.Stop();
#region [ åçéå§å°ç¯ã®å¤æ´ ]
- nStartBar++; // +1ãå¿
è¦
+ // +1ãå¿
è¦
+ nStartBar++;
#region [ æ¼å¥æ¸ã¿ãã©ã°ã®ã¤ããChipããªã»ãããã ]
- for ( int i = 0; i < CDTXMania.DTX.listChip.Count; i++ )
+ for (int i = 0; i < CDTXMania.Instance.DTX.listChip.Count; i++)
{
- CDTX.CChip pChip = CDTXMania.DTX.listChip[ i ];
- if ( pChip.bHit )
+ CChip pChip = CDTXMania.Instance.DTX.listChip[i];
+ if (pChip.bHit)
{
- CDTX.CChip p = (CDTX.CChip) pChip.Clone();
+ CChip p = (CChip)pChip.Clone();
p.bHit = false;
- CDTXMania.DTX.listChip[ i ] = p;
+ CDTXMania.Instance.DTX.listChip[i] = p;
}
}
#endregion
#region [ å¦çãéå§ãããããã®ç¹å® ]
- //for ( int i = this.nç¾å¨ã®ãããChip; i < CDTXMania.DTX.listChip.Count; i++ )
+ //for ( int i = this.nç¾å¨ã®ãããChip; i < CDTXMania.Instance.DTX.listChip.Count; i++ )
bool bSuccessSeek = false;
- for ( int i = 0; i < CDTXMania.DTX.listChip.Count; i++ )
+ for (int i = 0; i < CDTXMania.Instance.DTX.listChip.Count; i++)
{
- CDTX.CChip pChip = CDTXMania.DTX.listChip[ i ];
- if ( pChip.nçºå£°ä½ç½® < 384 * nStartBar )
+ CChip pChip = CDTXMania.Instance.DTX.listChip[i];
+ if (pChip.nçºå£°ä½ç½® < 384 * nStartBar)
{
continue;
}
@@ -2388,510 +3241,191 @@ namespace DTXMania
break;
}
}
- if ( !bSuccessSeek )
+ if (!bSuccessSeek)
{
- // this.nç¾å¨ã®ãããChip = CDTXMania.DTX.listChip.Count - 1;
- this.nç¾å¨ã®ãããChip = 0; // 対象å°ç¯ãåå¨ããªããªããæåããåç
+ // this.nç¾å¨ã®ãããChip = CDTXMania.Instance.DTX.listChip.Count - 1;
+ this.nç¾å¨ã®ãããChip = 0; // 対象å°ç¯ãåå¨ããªããªããæåããåç
}
#endregion
#region [ æ¼å¥éå§ã®çºå£°æå»msãåå¾ããã¿ã¤ãã«è¨å® ]
- int nStartTime = CDTXMania.DTX.listChip[ this.nç¾å¨ã®ãããChip ].nçºå£°æå»ms;
+ int nStartTime = CDTXMania.Instance.DTX.listChip[this.nç¾å¨ã®ãããChip].nçºå£°æå»ms;
- CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tãªã»ãã(); // ããã§PAUSE解é¤ãããã®ã§ã次ã®PAUSEãã§ãã¯ã¯ä¸è¦
- //if ( !this.bPAUSE )
- //{
- CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tä¸æåæ¢();
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tãªã»ãã(); // ããã§PAUSE解é¤ãããã®ã§ã次ã®PAUSEãã§ãã¯ã¯ä¸è¦
+ //if ( !this.bPAUSE )
+ //{
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tä¸æåæ¢();
//}
CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå» = nStartTime;
#endregion
List pausedCSound = new List();
-
- #region [ BGMãã®ã¿ã¼ãªã©ãæ¼å¥éå§ã®ã¿ã¤ãã³ã°ã§åçãããã£ã¦ãããµã¦ã³ãã®ã®éä¸åçéå§ ] // (CDTXã®tå
¥åã»è¡è§£æã»ãããé
ç½®()ã§å°ç¯çªå·ã+1ããã¦ããã®ãåã£ã¦ãããã¨)
- for ( int i = this.nç¾å¨ã®ãããChip; i >= 0; i-- )
- {
- CDTX.CChip pChip = CDTXMania.DTX.listChip[ i ];
- int nDuration = pChip.GetDuration();
-
- if ( ( pChip.nçºå£°æå»ms + nDuration > 0 ) && ( pChip.nçºå£°æå»ms <= nStartTime ) && ( nStartTime <= pChip.nçºå£°æå»ms + nDuration ) )
- {
- if ( pChip.bWAVã使ããã£ã³ãã«ã§ãã && !pChip.b空æã¡ãããã§ãã ) // wavç³»ãã£ã³ãã«ãä¸ã¤ã空æã¡ãããã§ã¯ãªã
- {
- CDTX.CWAV wc;
- bool b = CDTXMania.DTX.listWAV.TryGetValue( pChip.næ´æ°å¤ã»å
é¨çªå·, out wc );
- if ( !b ) continue;
-
- if ( ( wc.bIsBGMSound && CDTXMania.ConfigIni.bBGMé³ãçºå£°ãã ) || ( !wc.bIsBGMSound ) )
- {
- CDTXMania.DTX.tãããã®åç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, (int) Eã¬ã¼ã³.BGM, CDTXMania.DTX.nã¢ãã¿ãèæ
®ããé³é( E楽å¨ãã¼ã.UNKNOWN ) );
- #region [ PAUSEãã ]
- int j = wc.nç¾å¨åçä¸ã®ãµã¦ã³ãçªå·;
- if ( wc.rSound[ j ] != null )
- {
- wc.rSound[ j ].tåçãä¸æåæ¢ãã();
- wc.rSound[ j ].tåçä½ç½®ãå¤æ´ãã( nStartTime - pChip.nçºå£°æå»ms );
- pausedCSound.Add( wc.rSound[ j ] );
- }
- #endregion
- }
- }
- }
- }
- #endregion
- #region [ æ¼å¥éå§æç¹ã§æ¢ã«è¡¨ç¤ºããã¦ããBGAã¨AVIã®ãã·ã¼ã¯ã¨åç ]
- this.actBGA.SkipStart( nStartTime );
- this.actAVI.SkipStart( nStartTime );
- #endregion
- #region [ PAUSEãã¦ãããµã¦ã³ããä¸æã«åçåéãã(ãã ãã¿ã¤ããæ¢ãã¦ããã®ã§ãããã§ã¯ã¾ã åçéå§ããªã) ]
- foreach ( CSound cs in pausedCSound )
- {
- cs.tãµã¦ã³ããåçãã();
- }
- pausedCSound.Clear();
- pausedCSound = null;
- #endregion
- #region [ ã¿ã¤ããåéãã¦ãPAUSEãã復帰ãã ]
- CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå» = nStartTime;
- CDTXMania.Timer.tãªã»ãã(); // ããã§PAUSE解é¤ãããã®ã§ã3è¡å
ã®åé()ã¯ä¸è¦
- CDTXMania.Timer.nç¾å¨æå» = nStartTime; // Debug表示ã®Time: 表è¨ãæ£ããããããã«å¿
è¦
- CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tåé();
- //CDTXMania.Timer.tåé();
- this.bPAUSE = false; // ã·ã¹ãã ãPAUSEç¶æ
ã ã£ãããå¼·å¶è§£é¤
- this.actPanel.Start();
- #endregion
- #endregion
- }
-
-
- ///
- /// DTXVç¨ã®è¨å®ãããã(å
¨AUTOãªã©)
- /// å
ã®è¨å®ã®ããã¯ã¢ãããªã©ã¯ããªãã®ã§ããã¨ã§Config.iniãä¸æ¸ãä¿åããªããã¨ã
- ///
- protected void tDTXVç¨ã®è¨å®()
- {
- CDTXMania.ConfigIni.bAutoPlay.HH = true;
- CDTXMania.ConfigIni.bAutoPlay.SD = true;
- CDTXMania.ConfigIni.bAutoPlay.BD = true;
- CDTXMania.ConfigIni.bAutoPlay.HT = true;
- CDTXMania.ConfigIni.bAutoPlay.LT = true;
- CDTXMania.ConfigIni.bAutoPlay.CY = true;
- CDTXMania.ConfigIni.bAutoPlay.FT = true;
- CDTXMania.ConfigIni.bAutoPlay.RD = true;
- CDTXMania.ConfigIni.bAutoPlay.LC = true;
- CDTXMania.ConfigIni.bAutoPlay.GtR = true;
- CDTXMania.ConfigIni.bAutoPlay.GtB = true;
- CDTXMania.ConfigIni.bAutoPlay.GtB = true;
- CDTXMania.ConfigIni.bAutoPlay.GtPick = true;
- CDTXMania.ConfigIni.bAutoPlay.GtW = true;
- CDTXMania.ConfigIni.bAutoPlay.BsR = true;
- CDTXMania.ConfigIni.bAutoPlay.BsB = true;
- CDTXMania.ConfigIni.bAutoPlay.BsB = true;
- CDTXMania.ConfigIni.bAutoPlay.BsPick = true;
- CDTXMania.ConfigIni.bAutoPlay.BsW = true;
-
- this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay;
-
- CDTXMania.ConfigIni.bAVIæå¹ = true;
- CDTXMania.ConfigIni.bBGAæå¹ = true;
- for ( int i = 0; i < 3; i++ )
- {
- CDTXMania.ConfigIni.bGraph[ i ] = false;
- CDTXMania.ConfigIni.bHidden[ i ] = false;
- CDTXMania.ConfigIni.bLeft[ i ] = false;
- CDTXMania.ConfigIni.bLight[ i ] = false;
- CDTXMania.ConfigIni.bReverse[ i ] = false;
- CDTXMania.ConfigIni.bSudden[ i ] = false;
- CDTXMania.ConfigIni.eInvisible[ i ] = EInvisible.OFF;
- CDTXMania.ConfigIni.eRandom[ i ] = Eã©ã³ãã ã¢ã¼ã.OFF;
- CDTXMania.ConfigIni.n表示å¯è½ãªæå°ã³ã³ãæ°[ i ] = 65535;
- CDTXMania.ConfigIni.å¤å®æå表示ä½ç½®[ i ] = Eå¤å®æå表示ä½ç½®.表示OFF;
- // CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[ i ] = CDTXMania.ConfigIni.nViewerScrollSpeed[ i ]; // ããã ãã¯Onæ´»æ§å()ã§è¡ããã¨ã
- // ããããªãã¨ãæ¼å¥éå§ç´å¾ã«ã¹ã¯ãã¼ã«é度ãå¤åãã¦è¦è¦ããã
- }
-
- CDTXMania.ConfigIni.eDark = Eãã¼ã¯ã¢ã¼ã.OFF;
-
- CDTXMania.ConfigIni.bæ¼å¥æ
å ±ã表示ãã = CDTXMania.ConfigIni.bViewerShowDebugStatus;
- CDTXMania.ConfigIni.bãã£ã«ã¤ã³æå¹ = true;
- CDTXMania.ConfigIni.bScoreIniãåºåãã = false;
- CDTXMania.ConfigIni.bSTAGEFAILEDæå¹ = false;
- CDTXMania.ConfigIni.bTight = false;
- CDTXMania.ConfigIni.bã¹ãã¤ãã¯ã¢ã¼ã = false;
- CDTXMania.ConfigIni.bãã©ã æé³ãçºå£°ãã = true;
- CDTXMania.ConfigIni.bBGMé³ãçºå£°ãã = true;
-
- CDTXMania.ConfigIni.nRisky = 0;
- CDTXMania.ConfigIni.nShowLagType = 0;
- CDTXMania.ConfigIni.ãã©ã ã³ã³ãæåã®è¡¨ç¤ºä½ç½® = Eãã©ã ã³ã³ãæåã®è¡¨ç¤ºä½ç½®.OFF;
- }
-
-
- private bool bCheckAutoPlay( CDTX.CChip pChip )
- {
- bool bPChipIsAutoPlay = false;
- bool bGtBsR = ( ( pChip.nãã£ã³ãã«çªå· & 4 ) > 0 );
- bool bGtBsG = ( ( pChip.nãã£ã³ãã«çªå· & 2 ) > 0 );
- bool bGtBsB = ( ( pChip.nãã£ã³ãã«çªå· & 1 ) > 0 );
- bool bGtBsW = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x08 );
- bool bGtBsO = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x00 );
- //if ( (
- // ( ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.DRUMS ) && bIsAutoPlay[ this.nãã£ã³ãã«0Atoã¬ã¼ã³07[ pChip.nãã£ã³ãã«çªå· - 0x11 ] ] ) ||
- // ( ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR ) && bIsAutoPlay.Guitar ) ) ||
- // ( ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS ) && bIsAutoPlay.Bass )
- // )
- //// if ((pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.DRUMS) && bIsAutoPlay[this.nãã£ã³ãã«0Atoã¬ã¼ã³07[pChip.nãã£ã³ãã«çªå· - 0x11]])
- //{
- // bPChipIsAutoPlay = true;
- //}
- if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.DRUMS )
- {
- if ( bIsAutoPlay[ this.nãã£ã³ãã«0Atoã¬ã¼ã³07[ pChip.nãã£ã³ãã«çªå· - 0x11 ] ] )
- {
- bPChipIsAutoPlay = true;
- }
- }
- else if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.GUITAR )
- {
- //Trace.TraceInformation( "chip:{0}{1}{2} ", bGtBsR, bGtBsG, bGtBsB );
- //Trace.TraceInformation( "auto:{0}{1}{2} ", bIsAutoPlay[ (int) Eã¬ã¼ã³.GtR ], bIsAutoPlay[ (int) Eã¬ã¼ã³.GtG ], bIsAutoPlay[ (int) Eã¬ã¼ã³.GtB ]);
- bPChipIsAutoPlay = true;
- if ( bIsAutoPlay[ (int) Eã¬ã¼ã³.GtPick ] == false ) bPChipIsAutoPlay = false;
- else
- {
- if ( bGtBsR == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.GtR ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsG == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.GtG ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsB == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.GtB ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsW == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.GtW ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsO == true &&
- ( bIsAutoPlay[ (int) Eã¬ã¼ã³.GtR ] == false || bIsAutoPlay[ (int) Eã¬ã¼ã³.GtG ] == false || bIsAutoPlay[ (int) Eã¬ã¼ã³.GtB ] == false ) )
- bPChipIsAutoPlay = false;
- }
- //Trace.TraceInformation( "{0:x2}: {1}", pChip.nãã£ã³ãã«çªå·, bPChipIsAutoPlay.ToString() );
- }
- else if ( pChip.e楽å¨ãã¼ã == E楽å¨ãã¼ã.BASS )
- {
- bPChipIsAutoPlay = true;
- if ( bIsAutoPlay[ (int) Eã¬ã¼ã³.BsPick ] == false ) bPChipIsAutoPlay = false;
- else
- {
- if ( bGtBsR == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsR ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsG == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsG ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsB == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsB ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsW == true && bIsAutoPlay[ (int) Eã¬ã¼ã³.BsW ] == false ) bPChipIsAutoPlay = false;
- else if ( bGtBsO == true &&
- ( bIsAutoPlay[ (int) Eã¬ã¼ã³.BsR ] == false || bIsAutoPlay[ (int) Eã¬ã¼ã³.BsG ] == false || bIsAutoPlay[ (int) Eã¬ã¼ã³.BsB ] == false ) )
- bPChipIsAutoPlay = false;
- }
- }
- return bPChipIsAutoPlay;
- }
-
- protected abstract void té²è¡æç»ã»ãããã»ãã©ã ã¹( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );
- //protected abstract void té²è¡æç»ã»ãããã»ã®ã¿ã¼( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );
- protected abstract void té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽å¨ãã¼ã inst );
-
- protected void té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽å¨ãã¼ã inst,
- int barYNormal, int barYReverse,
- int showRangeY0, int showRangeY1, int openXg, int openXb,
- int rectOpenOffsetX, int rectOpenOffsetY, int openChipWidth, int chipHeight, int chipWidth,
- int guitarNormalX, int guitarLeftyX, int bassNormalX, int bassLeftyX, int drawDeltaX, int chipTexDeltaX )
- {
- int instIndex = (int) inst;
- if ( configIni.bGuitaræå¹ )
- {
- #region [ Invisibleå¦ç ]
- if ( configIni.eInvisible[ instIndex ] != EInvisible.OFF )
- {
- cInvisibleChip.SetInvisibleStatus( ref pChip );
- }
- #endregion
- else
- {
- #region [ Hidden/Suddenå¦ç ]
- if ( configIni.bSudden[ instIndex ] )
- {
- pChip.bå¯è¦ = ( pChip.nãã¼ããã®è·é¢dot[ instIndex ] < 200 * Scale.Y );
- }
- if ( configIni.bHidden[ instIndex ] && ( pChip.nãã¼ããã®è·é¢dot[ instIndex ] < 100 * Scale.Y ) )
- {
- pChip.bå¯è¦ = false;
- }
- #endregion
- }
-
- bool bChipHasR = ( ( pChip.nãã£ã³ãã«çªå· & 4 ) > 0 );
- bool bChipHasG = ( ( pChip.nãã£ã³ãã«çªå· & 2 ) > 0 );
- bool bChipHasB = ( ( pChip.nãã£ã³ãã«çªå· & 1 ) > 0 );
- bool bChipHasW = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x08 );
- bool bChipIsO = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x00 );
-
- #region [ chipæç» ]
- int OPEN = ( inst == E楽å¨ãã¼ã.GUITAR ) ? 0x20 : 0xA0;
- if ( !pChip.bHit && pChip.bå¯è¦ )
- {
- if ( this.txããã != null )
- {
- this.txããã.néæ度 = pChip.néæ度;
- }
- int y = configIni.bReverse[ instIndex ] ?
- (int) ( barYReverse - pChip.nãã¼ããã®è·é¢dot[ instIndex ] ) :
- (int) ( barYNormal + pChip.nãã¼ããã®è·é¢dot[ instIndex ] );
- int nå°ç¯ç·æ¶å¤±è·é¢dot = configIni.bReverse[ instIndex ] ?
- (int) ( -100 * Scale.Y ) :
- ( configIni.eå¤å®ä½ç½®[ instIndex ] == Eå¤å®ä½ç½®.æ¨æº ) ? (int) ( -36 * Scale.Y ) : (int) ( -25 * Scale.Y );
- if ( configIni.bReverse[ instIndex ] )
- {
- //showRangeY1 = barYReverse - nå°ç¯ç·æ¶å¤±è·é¢dot;
- }
- else
- {
- showRangeY0 = barYNormal + nå°ç¯ç·æ¶å¤±è·é¢dot;
- }
- if ( ( showRangeY0 < y ) && ( y < showRangeY1 ) )
- {
- if ( this.txããã != null )
- {
- int nã¢ãã¡ã«ã¦ã³ã¿ç¾å¨ã®å¤ = this.ctããã模æ§ã¢ãã¡[ instIndex ].nç¾å¨ã®å¤;
- #region [ OPENãããã®æç» ]
- if ( pChip.nãã£ã³ãã«çªå· == OPEN )
- {
- int xo = ( inst == E楽å¨ãã¼ã.GUITAR ) ? openXg : openXb;
- this.txããã.t2Dæç»( CDTXMania.app.Device,
- xo * Scale.X,
- y - ( 2 * Scale.Y ),
- new Rectangle(
- (int) ( rectOpenOffsetX * Scale.X ),
- (int) ( rectOpenOffsetY * Scale.Y ) + (int) ( ( ( nã¢ãã¡ã«ã¦ã³ã¿ç¾å¨ã®å¤ % 5 ) * chipHeight * Scale.Y ) ),
- (int) ( openChipWidth * Scale.X ),
- (int) ( chipHeight * Scale.Y )
- )
- );
- }
- #endregion
- Rectangle rc = new Rectangle(
- (int) ( rectOpenOffsetX * Scale.X ),
- (int) ( nã¢ãã¡ã«ã¦ã³ã¿ç¾å¨ã®å¤ * chipHeight * Scale.Y ),
- (int) ( chipWidth * Scale.X ),
- (int) ( chipHeight * Scale.Y )
- );
- #region [ RGBãããã®X座æ¨åæå ]
- int x;
- if ( inst == E楽å¨ãã¼ã.GUITAR )
- {
- x = ( configIni.bLeft.Guitar ) ? guitarLeftyX : guitarNormalX;
- }
- else
- {
- x = ( configIni.bLeft.Bass ) ? bassLeftyX : bassNormalX;
- }
- int deltaX = ( configIni.bLeft[ instIndex ] ) ? -drawDeltaX : +drawDeltaX;
- #endregion
- //Trace.TraceInformation( "chip={0:x2}, E楽å¨ãã¼ã={1}, x={2}", pChip.nãã£ã³ãã«çªå·, inst, x );
- #region [ Rãããæç» ]
- if ( bChipHasR )
- {
- this.txããã.t2Dæç»( CDTXMania.app.Device,
- x * Scale.X,
- y - ( chipHeight / 2 ) * Scale.Y,
- rc
- );
- }
- #endregion
- #region [ Gãããæç» ]
- rc.X += (int) ( chipTexDeltaX * Scale.X );
- x += deltaX;
- if ( bChipHasG )
- {
- this.txããã.t2Dæç»( CDTXMania.app.Device,
- x * Scale.X,
- y - ( chipHeight / 2 ) * Scale.Y,
- rc
- );
- }
- #endregion
- #region [ Bãããæç» ]
- rc.X += (int) ( chipTexDeltaX * Scale.X );
- x += deltaX;
- if ( bChipHasB )
- {
- this.txããã.t2Dæç»( CDTXMania.app.Device,
- x * Scale.X,
- y - ( chipHeight / 2 ) * Scale.Y,
- rc
- );
- }
- #endregion
- }
- }
- }
- #endregion
- //if ( ( configIni.bAutoPlay.Guitar && !pChip.bHit ) && ( pChip.nãã¼ããã®è·é¢dot.Guitar < 0 ) )
- if ( ( !pChip.bHit ) && ( pChip.nãã¼ããã®è·é¢dot[ instIndex ] < 0 ) )
- {
- int lo = ( inst == E楽å¨ãã¼ã.GUITAR ) ? 0 : 3; // lane offset
- bool autoR = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtR : bIsAutoPlay.BsR;
- bool autoG = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtG : bIsAutoPlay.BsG;
- bool autoB = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtB : bIsAutoPlay.BsB;
- bool autoPick = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtPick : bIsAutoPlay.BsPick;
- bool pushingR = CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.R );
- bool pushingG = CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.G );
- bool pushingB = CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.B );
-
- cInvisibleChip.StartSemiInvisible( inst );
- #region [ Chip Fire effects (autoæç¨) ]
- bool bSuccessOPEN = bChipIsO && ( autoR || !pushingR ) && ( autoG || !pushingG ) && ( autoB || !pushingB );
- if ( autoPick ) // autoPickã§ãªãæã®å¦çã¯ã tå
¥åå¦çã»ã®ã¿ã¼ãã¼ã¹(E楽å¨ãã¼ã) ã§è¡ã
- {
- if ( ( bChipHasR && ( autoR || pushingR ) ) || bSuccessOPEN )
- {
- this.actChipFireGB.Start( 0 + lo, æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- if ( ( bChipHasG && ( autoG || pushingG ) ) || bSuccessOPEN )
- {
- this.actChipFireGB.Start( 1 + lo, æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- if ( ( bChipHasB && ( autoB || pushingB ) ) || bSuccessOPEN )
- {
- this.actChipFireGB.Start( 2 + lo, æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- }
- #endregion
- #region [ autopick ]
- if ( autoPick )
+
+ #region [ BGMãã®ã¿ã¼ãªã©ãæ¼å¥éå§ã®ã¿ã¤ãã³ã°ã§åçãããã£ã¦ãããµã¦ã³ãã®ã®éä¸åçéå§ ] // (CDTXã®tå
¥åã»è¡è§£æã»ãããé
ç½®()ã§å°ç¯çªå·ã+1ããã¦ããã®ãåã£ã¦ãããã¨)
+ for (int i = this.nç¾å¨ã®ãããChip; i >= 0; i--)
+ {
+ CChip pChip = CDTXMania.Instance.DTX.listChip[i];
+ int nDuration = pChip.GetDuration();
+
+ if ((pChip.nçºå£°æå»ms + nDuration > 0) && (pChip.nçºå£°æå»ms <= nStartTime) && (nStartTime <= pChip.nçºå£°æå»ms + nDuration))
+ {
+ if (pChip.bWAVã使ããã£ã³ãã«ã§ãã && !pChip.b空æã¡ãããã§ãã) // wavç³»ãã£ã³ãã«ãä¸ã¤ã空æã¡ãããã§ã¯ãªã
{
- bool bMiss = true;
- if ( bChipHasR == autoR && bChipHasG == autoG && bChipHasB == autoB ) // autoã¬ã¼ã³ã¨ãããã¬ã¼ã³ä¸è´æã¯OK
- { // ãã®æ¡ä»¶ãå ããªãã¨ãåæã«éautoã¬ã¼ã³ãæ¼ä¸ãã¦ããæã«NGã¨ãªã£ã¦ãã¾ãã
- bMiss = false;
- }
- else if ( ( autoR || ( bChipHasR == pushingR ) ) && ( autoG || ( bChipHasG == pushingG ) ) && ( autoB || ( bChipHasB == pushingB ) ) )
- // ( bChipHasR == ( pushingR | autoR ) ) && ( bChipHasG == ( pushingG | autoG ) ) && ( bChipHasB == ( pushingB | autoB ) ) )
- {
- bMiss = false;
- }
- else if ( ( ( bChipIsO == true ) && ( !pushingR | autoR ) && ( !pushingG | autoG ) && ( !pushingB | autoB ) ) ) // OPENæ
- {
- bMiss = false;
- }
- pChip.bHit = true;
- this.tãµã¦ã³ãåç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, inst, dTX.nã¢ãã¿ãèæ
®ããé³é( inst ), false, bMiss );
- this.r次ã«ããã®ã¿ã¼Chip = null;
- if ( !bMiss )
- {
- this.tãããã®ãããå¦ç( pChip.nçºå£°æå»ms, pChip );
- }
- else
- {
- pChip.nLag = 0; // tãããã®ãããå¦ç()ã®å¼æ°æå¾ãfalseã®æã¯pChip.nLagãè¨ç®ããªããããããã§AutoPickãã¤Missã®Lag=0ã代å
¥
- this.tãããã®ãããå¦ç( pChip.nçºå£°æå»ms, pChip, false );
- }
- int chWailingChip = ( inst == E楽å¨ãã¼ã.GUITAR ) ? 0x28 : 0xA8;
- CDTX.CChip item = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip( pChip.nçºå£°æå»ms, chWailingChip, this.nInputAdjustTimeMs[ instIndex ], 140 );
- if ( item != null && !bMiss )
+ CDTX.CWAV wc;
+ bool b = CDTXMania.Instance.DTX.listWAV.TryGetValue(pChip.næ´æ°å¤_å
é¨çªå·, out wc);
+ if (!b) continue;
+
+ if ((wc.bIsBGMSound && CDTXMania.Instance.ConfigIni.bBGMPlay) || (!wc.bIsBGMSound))
{
- this.queWailing[ instIndex ].Enqueue( item );
+ CDTXMania.Instance.DTX.tãããã®åç(pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, CDTXMania.Instance.DTX.nã¢ãã¿ãèæ
®ããé³é(EPart.Unknown));
+ #region [ PAUSEãã ]
+ int j = wc.nç¾å¨åçä¸ã®ãµã¦ã³ãçªå·;
+ if (wc.rSound[j] != null)
+ {
+ wc.rSound[j].tåçãä¸æåæ¢ãã();
+ wc.rSound[j].tåçä½ç½®ãå¤æ´ãã(nStartTime - pChip.nçºå£°æå»ms);
+ pausedCSound.Add(wc.rSound[j]);
+ }
+ #endregion
}
}
- #endregion
}
- return;
- } // end of "if configIni.bGuitaræå¹"
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot[ instIndex ] < 0 ) ) // Guitar/Bassç¡å¹ã®å ´åã¯ãèªåæ¼å¥ãã
+ }
+ #endregion
+ #region [ æ¼å¥éå§æç¹ã§æ¢ã«è¡¨ç¤ºããã¦ããBGAã¨AVIã®ãã·ã¼ã¯ã¨åç ]
+ this.actBGA.SkipStart(nStartTime);
+ this.actAVI.SkipStart(nStartTime);
+ #endregion
+ #region [ PAUSEãã¦ãããµã¦ã³ããä¸æã«åçåéãã(ãã ãã¿ã¤ããæ¢ãã¦ããã®ã§ãããã§ã¯ã¾ã åçéå§ããªã) ]
+ foreach (CSound cs in pausedCSound)
{
- pChip.bHit = true;
- this.tãµã¦ã³ãåç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå» + pChip.nçºå£°æå»ms, inst, dTX.nã¢ãã¿ãèæ
®ããé³é( inst ) );
+ cs.tãµã¦ã³ããåçãã();
+ }
+ pausedCSound.Clear();
+ pausedCSound = null;
+ #endregion
+ #region [ ã¿ã¤ããåéãã¦ãPAUSEãã復帰ãã ]
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nç¾å¨æå» = nStartTime;
+ CDTXMania.Instance.Timer.tãªã»ãã(); // ããã§PAUSE解é¤ãããã®ã§ã3è¡å
ã®åé()ã¯ä¸è¦
+ CDTXMania.Instance.Timer.nç¾å¨æå» = nStartTime; // Debug表示ã®Time: 表è¨ãæ£ããããããã«å¿
è¦
+ CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.tåé();
+ //CDTXMania.Instance.Timer.tåé();
+ this.bPAUSE = false; // ã·ã¹ãã ãPAUSEç¶æ
ã ã£ãããå¼·å¶è§£é¤
+ this.actPanel.Start();
+ #endregion
+ #endregion
+ }
+
+
+ ///
+ /// DTXVç¨ã®è¨å®ãããã(å
¨AUTOãªã©)
+ /// å
ã®è¨å®ã®ããã¯ã¢ãããªã©ã¯ããªãã®ã§ããã¨ã§Config.iniãä¸æ¸ãä¿åããªããã¨ã
+ ///
+ protected void tDTXVç¨ã®è¨å®()
+ {
+ for (EPad i = EPad.Min; i < EPad.Max; ++i)
+ {
+ CDTXMania.Instance.ConfigIni.bAutoPlay[i].Value = true;
+ }
+ CDTXMania.Instance.ConfigIni.bAVI.Value = true;
+ CDTXMania.Instance.ConfigIni.bBGA.Value = true;
+ for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
+ {
+ CDTXMania.Instance.ConfigIni.bGraph[i].Value = false;
+ CDTXMania.Instance.ConfigIni.eSudHidInv[i].Value = ESudHidInv.Off;
+ CDTXMania.Instance.ConfigIni.bLight[i].Value = false;
+ CDTXMania.Instance.ConfigIni.bReverse[i].Value = false;
+ CDTXMania.Instance.ConfigIni.eRandom[i].Value = ERandom.Off;
+ CDTXMania.Instance.ConfigIni.nMinComboDisp[i].Value = 65535;
+ CDTXMania.Instance.ConfigIni.bDisplayJudge[i].Value = false;
+ CDTXMania.Instance.ConfigIni.bDisplayCombo[i].Value = false;
}
+ CDTXMania.Instance.ConfigIni.eDark.Value = EDark.Off;
+ CDTXMania.Instance.ConfigIni.bDebugInfo.Value = CDTXMania.Instance.ConfigIni.bViewerShowDebugStatus;
+ CDTXMania.Instance.ConfigIni.bFillin.Value = true;
+ CDTXMania.Instance.ConfigIni.bScoreIni.Value = false;
+ CDTXMania.Instance.ConfigIni.bStageFailed.Value = false;
+ CDTXMania.Instance.ConfigIni.bTight.Value = false;
+ CDTXMania.Instance.ConfigIni.bStoicMode.Value = false;
+ CDTXMania.Instance.ConfigIni.bDrumsHitSound.Value = true;
+ CDTXMania.Instance.ConfigIni.bBGMPlay.Value = true;
+ CDTXMania.Instance.ConfigIni.nRisky.Value = 0;
+ CDTXMania.Instance.ConfigIni.nShowLagType.Value = EShowLagType.Off;
}
-
- protected virtual void té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹ã»ã¦ã§ã¤ãªã³ã°(
- CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽å¨ãã¼ã inst, bool bGRmode )
+ private void té²è¡æç»_ããã_ã¦ã§ã¤ãªã³ã°(ref CChip pChip)
{
- int indexInst = (int) inst;
- if ( configIni.bGuitaræå¹ )
+ if (CDTXMania.Instance.ConfigIni.bGuitaræå¹)
{
- #region [ Invisibleå¦ç ]
- if ( configIni.eInvisible[ indexInst ] != EInvisible.OFF )
- {
- cInvisibleChip.SetInvisibleStatus( ref pChip );
- }
- #endregion
- #region [ Sudden/Hiddenå¦ç ]
- if ( configIni.bSudden[indexInst] )
+ EPart indexInst = pChip.bGuitarå¯è¦ããã_Wailingå«ã ? EPart.Guitar : EPart.Bass;
+ #region [ Sud Hid Inv å¦ç ]
+ if (
+ CDTXMania.Instance.ConfigIni.eSudHidInv[indexInst] == ESudHidInv.FullInv ||
+ CDTXMania.Instance.ConfigIni.eSudHidInv[indexInst] == ESudHidInv.SemiInv)
{
- pChip.bå¯è¦ = ( pChip.nãã¼ããã®è·é¢dot[indexInst] < 200 * Scale.Y );
+ cInvisibleChip.SetInvisibleStatus(ref pChip);
}
- if ( configIni.bHidden[indexInst] && ( pChip.nãã¼ããã®è·é¢dot[indexInst] < 100 * Scale.Y ) )
+ else
{
- pChip.bå¯è¦ = false;
+ if (CDTXMania.Instance.ConfigIni.eSudHidInv[indexInst] == ESudHidInv.Sudden ||
+ CDTXMania.Instance.ConfigIni.eSudHidInv[indexInst] == ESudHidInv.SudHid)
+ {
+ pChip.bå¯è¦ = (pChip.nãã¼ããã®è·é¢dot[indexInst] < CDTXMania.Instance.ConfigIni.nSuddenFrom[indexInst]);
+ }
+ if (CDTXMania.Instance.ConfigIni.eSudHidInv[indexInst] == ESudHidInv.Hidden ||
+ CDTXMania.Instance.ConfigIni.eSudHidInv[indexInst] == ESudHidInv.SudHid)
+ {
+ pChip.bå¯è¦ = pChip.nãã¼ããã®è·é¢dot[indexInst] >= CDTXMania.Instance.ConfigIni.nHiddenFrom[indexInst];
+ }
}
#endregion
+ cWailingChip[(int)indexInst].té²è¡æç»_ããã_ã¦ã§ã¤ãªã³ã°(ref pChip, ref txãããGB, ref ctWailingããã模æ§ã¢ãã¡);
- cWailingChip[ indexInst ].té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹ã»ã¦ã§ã¤ãªã³ã°(
- configIni, ref dTX, ref pChip,
- ref txããã, ref æ¼å¥å¤å®ã©ã¤ã³åº§æ¨, ref ctWailingããã模æ§ã¢ãã¡
- );
-
- if ( !pChip.bHit && ( pChip.nãã¼ããã®è·é¢dot[indexInst] < 0 ) )
+ if (!pChip.bHit && (pChip.nãã¼ããã®è·é¢dot[indexInst] < 0))
{
- if ( pChip.nãã¼ããã®è·é¢dot[indexInst] < -234 * Scale.Y ) // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec).
+ if (pChip.nãã¼ããã®è·é¢dot[indexInst] < -234 * Scale.Y) // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec).
{
pChip.bHit = true;
}
- bool autoW = ( inst == E楽å¨ãã¼ã.GUITAR ) ? configIni.bAutoPlay.GtW : configIni.bAutoPlay.BsW;
- //if ( configIni.bAutoPlay[ ((int) Eã¬ã¼ã³.Guitar - 1) + indexInst ] ) // ãã®ãããªããã°ã®å
¥ããããæ¸ãæ¹(GT/BSã®indexå¤ãä»ã¨ç°ãªã)ã¯ãããè¦ç´ããã
- if ( autoW )
+ bool autoW = (indexInst == EPart.Guitar) ? CDTXMania.Instance.ConfigIni.bAutoPlay.GtWail : CDTXMania.Instance.ConfigIni.bAutoPlay.BsWail;
+ if (autoW)
{
- // pChip.bHit = true; // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay.
- // this.actWailingBonus.Start( inst, this.rç¾å¨ã®æ声Chip[indexInst] );
- // #23886 2012.5.22 yyagi; To support auto Wailing; Don't do wailing for ALL wailing chips. Do wailing for queued wailing chip.
- // wailing chips are queued when 1) manually wailing and not missed at that time 2) AutoWailing=ON and not missed at that time
+ // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay.
+ // pChip.bHit = true;
+ // this.actWailingBonus.Start( inst, this.rç¾å¨ã®æ声Chip[indexInst] );
+ // #23886 2012.5.22 yyagi; To support auto Wailing; Don't do wailing for ALL wailing chips. Do wailing for queued wailing chip.
+ // wailing chips are queued when 1) manually wailing and not missed at that time 2) AutoWailing=ON and not missed at that time
long nTimeStamp_Wailed = pChip.nçºå£°æå»ms + CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå»;
- DoWailingFromQueue( inst, nTimeStamp_Wailed, autoW );
+ DoWailingFromQueue(indexInst, nTimeStamp_Wailed, autoW);
}
- cInvisibleChip.StartSemiInvisible( inst );
+ cInvisibleChip.StartSemiInvisible(indexInst);
}
return;
}
pChip.bHit = true;
}
- protected virtual void té²è¡æç»ã»ãããã»ã®ã¿ã¼ã»ã¦ã§ã¤ãªã³ã°( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, bool bGRmode )
- {
- té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹ã»ã¦ã§ã¤ãªã³ã°( configIni, ref dTX, ref pChip, E楽å¨ãã¼ã.GUITAR, bGRmode );
- }
- protected abstract void té²è¡æç»ã»ãããã»ãã£ã«ã¤ã³( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );
- protected abstract void té²è¡æç»ã»ãããã»å°ç¯ç·( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );
- //protected abstract void té²è¡æç»ã»ãããã»ãã¼ã¹( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );
- protected virtual void té²è¡æç»ã»ãããã»ãã¼ã¹ã»ã¦ã§ã¤ãªã³ã°( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, bool bGRmode )
- {
- té²è¡æç»ã»ãããã»ã®ã¿ã¼ãã¼ã¹ã»ã¦ã§ã¤ãªã³ã°( configIni, ref dTX, ref pChip, E楽å¨ãã¼ã.BASS, bGRmode );
- }
-
-
- protected abstract void té²è¡æç»ã»ãããã»ç©ºæã¡é³è¨å®ã»ãã©ã ( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );
- protected void té²è¡æç»ã»ãããã¢ãã¡()
+ protected void té²è¡æç»_ãããã¢ãã¡()
{
- for ( int i = 0; i < 3; i++ ) // 0=drums, 1=guitar, 2=bass
+ for (EPart i = EPart.Drums; i <= EPart.Bass; i++) // 0=drums, 1=guitar, 2=bass
{
- if ( this.ctããã模æ§ã¢ãã¡[ i ] != null )
+ if (this.ctããã模æ§ã¢ãã¡[i] != null)
{
- this.ctããã模æ§ã¢ãã¡[ i ].té²è¡Loop();
+ this.ctããã模æ§ã¢ãã¡[i].té²è¡Loop();
}
}
- if ( this.ctWailingããã模æ§ã¢ãã¡ != null )
+ if (this.ctWailingããã模æ§ã¢ãã¡ != null)
{
this.ctWailingããã模æ§ã¢ãã¡.té²è¡Loop();
}
}
- protected bool té²è¡æç»ã»ãã§ã¼ãã¤ã³ã»ã¢ã¦ã()
+ protected bool té²è¡æç»_ãã§ã¼ãã¤ã³_ã¢ã¦ã()
{
- switch ( base.eãã§ã¼ãºID )
+ switch (base.eãã§ã¼ãºID)
{
case CStage.Eãã§ã¼ãº.å
±é_ãã§ã¼ãã¤ã³:
- if ( this.actFI.Oné²è¡æç»() != 0 )
+ if (this.actFI.Oné²è¡æç»() != 0)
{
base.eãã§ã¼ãºID = CStage.Eãã§ã¼ãº.å
±é_é常ç¶æ
;
}
@@ -2899,433 +3433,412 @@ namespace DTXMania
case CStage.Eãã§ã¼ãº.å
±é_ãã§ã¼ãã¢ã¦ã:
case CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã:
- if ( this.actFO.Oné²è¡æç»() != 0 )
+ if (this.actFO.Oné²è¡æç»() != 0)
{
return true;
}
break;
case CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_CLEAR_ãã§ã¼ãã¢ã¦ã:
- if ( this.actFOClear.Oné²è¡æç»() == 0 )
+ if (this.actFOClear.Oné²è¡æç»() == 0)
{
break;
}
return true;
-
+
}
return false;
}
- protected void té²è¡æç»ã»ã¬ã¼ã³ãã©ãã·ã¥D()
- {
- if ( ( CDTXMania.ConfigIni.eDark == Eãã¼ã¯ã¢ã¼ã.OFF ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED ) && ( base.eãã§ã¼ãºID != CStage.Eãã§ã¼ãº.æ¼å¥_STAGE_FAILED_ãã§ã¼ãã¢ã¦ã ) )
- {
- this.actLaneFlushD.Oné²è¡æç»();
- }
- }
- protected void té²è¡æç»ã»ã¬ã¼ã³ãã©ãã·ã¥GB()
- {
- if ( ( CDTXMania.ConfigIni.eDark == Eãã¼ã¯ã¢ã¼ã.OFF ) && CDTXMania.ConfigIni.bGuitaræå¹ )
- {
- this.actLaneFlushGB.Oné²è¡æç»();
- }
- }
- protected abstract void té²è¡æç»ã»æ¼å¥æ
å ±();
- protected void té²è¡æç»ã»æ¼å¥æ
å ±(int x, int y)
+
+ protected virtual void tå
¥åå¦ç_ã®ã¿ã¼ãã¼ã¹(EPart inst)
{
- if ( !CDTXMania.ConfigIni.bæ¼å¥æ
å ±ã表示ããªã )
+ #region [ ã¹ã¯ãã¼ã«é度å¤æ´ ]
+ int scrollSpeed = CDTXMania.Instance.ConfigIni.nScrollSpeed[inst];
+ bool scrollSpeedChanged = false;
+ float f = (float)CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset[inst] / (scrollSpeed + 1);
+ if (
+ CDTXMania.Instance.Pad.bæ¼ããã¦ãã(inst == EPart.Guitar ? EPad.GtDecide : EPad.BsDecide) &&
+ CDTXMania.Instance.Pad.bæ¼ããã(inst == EPart.Guitar ? EPad.GtB : EPad.BsB)
+ )
{
- this.actPlayInfo.té²è¡æç»( x, y );
+ CDTXMania.Instance.ConfigIni.nScrollSpeed[inst].Value = scrollSpeed + 1;
+ if (scrollSpeed < CDTXMania.Instance.ConfigIni.nScrollSpeed[inst])
+ {
+ scrollSpeedChanged = true;
+ }
}
- }
- protected void té²è¡æç»ã»èæ¯()
- {
- if ( CDTXMania.ConfigIni.eDark == Eãã¼ã¯ã¢ã¼ã.OFF )
+ if (
+ CDTXMania.Instance.Pad.bæ¼ããã¦ãã(inst == EPart.Guitar ? EPad.GtDecide : EPad.BsDecide) &&
+ CDTXMania.Instance.Pad.bæ¼ããã(inst == EPart.Guitar ? EPad.GtR : EPad.BsR)
+ )
{
- if ( this.txèæ¯ != null )
+ CDTXMania.Instance.ConfigIni.nScrollSpeed[inst].Value = scrollSpeed - 1;
+ if (scrollSpeed > CDTXMania.Instance.ConfigIni.nScrollSpeed[inst])
{
- this.txèæ¯.t2Dæç»( CDTXMania.app.Device, 0, 0 );
+ scrollSpeedChanged = true;
}
}
- else
+ if (scrollSpeedChanged)
{
- CDTXMania.app.Device.Clear( ClearFlags.ZBuffer | ClearFlags.Target, Color.Black, 0f, 0 );
+ // å¤å®ã©ã¤ã³ãä»é
+ CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset[inst].Value = (int)(f * CDTXMania.Instance.ConfigIni.nScrollSpeed[inst] + 0.5);
}
- }
+ #endregion
- protected void té²è¡æç»ã»å¤å®ã©ã¤ã³()
- {
- if ( CDTXMania.ConfigIni.eDark != Eãã¼ã¯ã¢ã¼ã.FULL )
+ if (!CDTXMania.Instance.ConfigIni.bGuitaræå¹ || !CDTXMania.Instance.DTX.bãããããã[inst])
+ {
+ return;
+ }
+
+ int R = (inst == EPart.Guitar) ? 0 : 3;
+ int G = R + 1;
+ int B = R + 2;
+ bool autoW = (inst == EPart.Guitar) ? CDTXMania.Instance.ConfigIni.bAutoPlay.GtWail : CDTXMania.Instance.ConfigIni.bAutoPlay.BsWail;
+ bool autoR = (inst == EPart.Guitar) ? CDTXMania.Instance.ConfigIni.bAutoPlay.GtR : CDTXMania.Instance.ConfigIni.bAutoPlay.BsR;
+ bool autoG = (inst == EPart.Guitar) ? CDTXMania.Instance.ConfigIni.bAutoPlay.GtG : CDTXMania.Instance.ConfigIni.bAutoPlay.BsG;
+ bool autoB = (inst == EPart.Guitar) ? CDTXMania.Instance.ConfigIni.bAutoPlay.GtB : CDTXMania.Instance.ConfigIni.bAutoPlay.BsB;
+ bool autoPick = (inst == EPart.Guitar) ? CDTXMania.Instance.ConfigIni.bAutoPlay.GtPick : CDTXMania.Instance.ConfigIni.bAutoPlay.BsPick;
+ int nAutoW = (autoW) ? 8 : 0;
+ int nAutoR = (autoR) ? 4 : 0;
+ int nAutoG = (autoG) ? 2 : 0;
+ int nAutoB = (autoB) ? 1 : 0;
+ int nAutoMask = nAutoW | nAutoR | nAutoG | nAutoB;
+
+ CChip chip = this.r次ã«æ¥ãæå®æ¥½å¨Chipãæ´æ°ãã¦è¿ã(inst);
+ if (chip != null)
{
- int y = CDTXMania.ConfigIni.bReverse.Drums ? (int) ( 53 * Scale.Y ) - æ¼å¥å¤å®ã©ã¤ã³åº§æ¨.nJudgeLinePosY_delta.Drums : (int) ( 419 * Scale.Y ) + æ¼å¥å¤å®ã©ã¤ã³åº§æ¨.nJudgeLinePosY_delta.Drums;
- // #31602 2013.6.23 yyagi æç»é
延対çã¨ãã¦ãå¤å®ã©ã¤ã³ã®è¡¨ç¤ºä½ç½®ããªãã»ãã調æ´ã§ããããã«ãã
- if ( this.txããããã¼ != null )
+ if ((chip.bGuitarBass_R) && autoR)
{
- for ( int i = 32; i < 335; i += 8 )
- {
- this.txããããã¼.t2Dæç»( CDTXMania.app.Device,
- i * Scale.X,
- y,
- new Rectangle( 0, 0, ( ( i + 8 ) >= 335 ) ? (int) ( ( 7 - ( ( i + 8 ) - 335 ) ) * Scale.X ) : (int) ( 8 * Scale.X ), (int) ( 8 * Scale.Y ) ) );
- }
+ this.actLaneFlushGB.Start(R);
+ this.actRGB.Push(R);
+ }
+ if ((chip.bGuitarBass_G) && autoG)
+ {
+ this.actLaneFlushGB.Start(G);
+ this.actRGB.Push(G);
+ }
+ if ((chip.bGuitarBass_B) && autoB)
+ {
+ this.actLaneFlushGB.Start(B);
+ this.actRGB.Push(B);
}
}
- }
- protected void té²è¡æç»ã»å¤å®æåå()
- {
- this.actJudgeString.té²è¡æç»( æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- protected void té²è¡æç»ã»å¤å®æåå1ã»é常ä½ç½®æå®ã®å ´å()
- {
- if ( ( (Eå¤å®æå表示ä½ç½®) CDTXMania.ConfigIni.å¤å®æå表示ä½ç½®.Drums ) != Eå¤å®æå表示ä½ç½®.ã³ã³ãä¸ ) // å¤å®ã©ã¤ã³ä¸ã¾ãã¯æ¨ª
+
+ int pressingR = CDTXMania.Instance.Pad.bæ¼ããã¦ãã(inst == EPart.Guitar ? EPad.GtR : EPad.BsR) ? 4 : 0;
+ this.tå
¥åã¡ã½ããè¨æ¶(inst);
+ int pressingG = CDTXMania.Instance.Pad.bæ¼ããã¦ãã(inst == EPart.Guitar ? EPad.GtG : EPad.BsG) ? 2 : 0;
+ this.tå
¥åã¡ã½ããè¨æ¶(inst);
+ int pressingB = CDTXMania.Instance.Pad.bæ¼ããã¦ãã(inst == EPart.Guitar ? EPad.GtB : EPad.BsB) ? 1 : 0;
+ this.tå
¥åã¡ã½ããè¨æ¶(inst);
+ int pressingRGB = pressingR | pressingG | pressingB;
+ if (pressingR != 0)
{
- this.actJudgeString.té²è¡æç»( æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
+ this.actLaneFlushGB.Start(R);
+ this.actRGB.Push(R);
}
- }
- protected void té²è¡æç»ã»å¤å®æåå2ã»å¤å®ã©ã¤ã³ä¸æå®ã®å ´å()
- {
- if ( ( (Eå¤å®æå表示ä½ç½®) CDTXMania.ConfigIni.å¤å®æå表示ä½ç½®.Drums ) == Eå¤å®æå表示ä½ç½®.ã³ã³ãä¸ ) // å¤å®ã©ã¤ã³ä¸ã¾ãã¯æ¨ª
+ if (pressingG != 0)
{
- this.actJudgeString.té²è¡æç»( æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
+ this.actLaneFlushGB.Start(G);
+ this.actRGB.Push(G);
}
- }
-
- protected void té²è¡æç»ã»èé¢ã¹ã¯ãã¼ã«é度()
- {
- this.actèé¢ã¹ã¯ãã¼ã«é度.Oné²è¡æç»();
- }
-
- protected abstract void tèæ¯ãã¯ã¹ãã£ã®çæ();
- protected void tèæ¯ãã¯ã¹ãã£ã®çæ( string DefaultBgFilename, string DefaultLaneFilename, Rectangle bgrect, string bgfilename )
- { // Default...: ã¬ã¼ã³çãããã¬ã¤ã¤ã¼ bgfilename: DTXãã¡ã¤ã«ã§æå®ããèæ¯
- Bitmap image = null;
- bool bSuccessLoadDTXbgfile = false;
-
- int[] offsetX = new int[2]{ 96, 506 };
- //int nLanePosition = (int) CDTXMania.ConfigIni.eãã©ã ã¬ã¼ã³è¡¨ç¤ºä½ç½®;
- int nLanePosition = (int) Eãã©ã ã¬ã¼ã³è¡¨ç¤ºä½ç½®.Left;
-
- if ( bgfilename != null && File.Exists( bgfilename ) && !CDTXMania.DTX.bãããããã.Movie )
+ if (pressingB != 0)
+ {
+ this.actLaneFlushGB.Start(B);
+ this.actRGB.Push(B);
+ }
+ // auto pickã ã¨ããããå
ã«è¡ããªãã®ã§æ³¨æ
+ List events = CDTXMania.Instance.Pad.GetEvents(inst == EPart.Guitar ? EPad.GtPick : EPad.BsPick);
+ if ((events != null) && (events.Count > 0))
{
- try
+ foreach (STInputEvent eventPick in events)
{
- #region [ DTXãã¼ã¿ã§æå®ããã¦ããèæ¯ç»åãèªã¿è¾¼ã ]
- Bitmap bitmap1 = null;
- bitmap1 = new Bitmap( bgfilename );
- if ( ( bitmap1.Size.Width == 0 ) && ( bitmap1.Size.Height == 0 ) )
- {
- this.txèæ¯ = null;
- return;
- }
- #endregion
-
- int newWidth = (int) ( bitmap1.Width * Scale.X );
- int newHeight = (int) ( bitmap1.Height * Scale.Y );
- Bitmap bitmap2;
-
- #region [ èæ¯ç»åãVGAãµã¤ãºä»¥ä¸ãªããFullHDãµã¤ãºã«æ¡å¤§ãã ]
- if ( bitmap1.Width <= 640 && bitmap1.Height <= 480 )
- {
- bitmap2 = new Bitmap( newWidth, newHeight );
- Graphics graphic2 = Graphics.FromImage( bitmap2 );
- graphic2.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
- graphic2.DrawImage( bitmap1, 0, 0, newWidth, newHeight );
- graphic2.Dispose();
- }
- else
+ if (!eventPick.bæ¼ããã)
{
- bitmap2 = (Bitmap) bitmap1.Clone();
+ continue;
}
- bitmap1.Dispose();
- #endregion
-
- #region [ å®èæ¯ã«æ ¼åç¶ã«é
ç½®ãããããã³ãã¼ãã¦ãã ]
- Bitmap bitmap3 = new Bitmap( SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height );
- Graphics graphics3 = Graphics.FromImage( bitmap3 );
- for ( int i = 0; i < SampleFramework.GameWindowSize.Height; i += bitmap2.Size.Height )
+ this.tå
¥åã¡ã½ããè¨æ¶(inst);
+ long nTime = eventPick.nTimeStamp - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå»;
+ EChannel chWailingSound = (inst == EPart.Guitar) ? EChannel.Guitar_WailingSound : EChannel.Bass_WailingSound;
+
+ // WailingSound ãã£ã³ãã«ã§E楽å¨ãã¼ã.GUITARãªãããå
¨ã¦ã«ããããã
+ CChip pChip = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(
+ nTime, chWailingSound,
+ CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[inst],
+ CDTXMania.Instance.nPoorç¯å²ms + 1);
+
+ EJudge eå¤å® = this.eæå®æå»ããChipã®JUDGEãè¿ã(nTime, pChip,
+ CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[inst]);
+ //Trace.TraceInformation("ch={0:x2}, mask1={1:x1}, mask2={2:x2}", pChip.nãã£ã³ãã«çªå·, ( pChip.nãã£ã³ãã«çªå· & ~nAutoMask ) & 0x0F, ( flagRGB & ~nAutoMask) & 0x0F );
+ if (
+ (pChip != null) &&
+ ((((int)pChip.eãã£ã³ãã«çªå· & ~nAutoMask) & 0x0F) == ((pressingRGB & ~nAutoMask) & 0x0F)) &&
+ (eå¤å® != EJudge.Miss))
{
- for ( int j = 0; j < SampleFramework.GameWindowSize.Width; j += bitmap2.Size.Width )
+ bool bChipHasR = pChip.bGuitarBass_R;
+ bool bChipHasG = pChip.bGuitarBass_G;
+ bool bChipHasB = pChip.bGuitarBass_B;
+ bool bChipHasW = pChip.bGuitarBass_Wailing;
+ bool bChipIsO = pChip.bGuitarBass_Open;
+ bool bSuccessOPEN = bChipIsO && (autoR || pressingR == 0) && (autoG || pressingG == 0) && (autoB || pressingB == 0);
+ if ((bChipHasR && (autoR || pressingR != 0)) || bSuccessOPEN)
{
- graphics3.DrawImage( bitmap2, j, i, bitmap2.Width, bitmap2.Height );
+ this.actChipFireGB.Start(R);
}
+ if ((bChipHasG && (autoG || pressingG != 0)) || bSuccessOPEN)
+ {
+ this.actChipFireGB.Start(G);
+ }
+ if ((bChipHasB && (autoB || pressingB != 0)) || bSuccessOPEN)
+ {
+ this.actChipFireGB.Start(B);
+ }
+ this.tãããã®ãããå¦ç(nTime, pChip);
+ this.tãµã¦ã³ãåç(pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», inst, CDTXMania.Instance.ConfigIni.nChipVolume, CDTXMania.Instance.ConfigIni.bEmphasizePlaySound[inst], eå¤å® == EJudge.Poor);
+ EChannel chWailingChip = (inst == EPart.Guitar) ? EChannel.Guitar_Wailing : EChannel.Bass_Wailing;
+ CChip item = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip(nTime, chWailingChip, CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[inst], 140);
+ if (item != null)
+ {
+ this.queWailing[inst].Enqueue(item);
+ }
+ continue;
}
- graphics3.Dispose();
- bitmap2.Dispose();
- #endregion
- #region [ ã¬ã¼ã³å¤ã»ã¬ã¼ã³ãã®ãã®ã®ãã¬ã¼ã ãåæ ]
- image = new Bitmap( CSkin.Path( DefaultBgFilename ) ); // ã¬ã¼ã³å¤ã®ãã¬ã¼ã
- graphics3 = Graphics.FromImage( image );
-
- #region [ ã¬ã¼ã³ã®ãã¬ã¼ã ãããã°ããããåæ ]
- if ( DefaultLaneFilename != "" )
+ // 以ä¸ãééãã¬ã¼ã³ã§ã®ããã¯æ
+ CChip NoChipPicked = (inst == EPart.Guitar) ? this.rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip : this.rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip;
+ if ((NoChipPicked != null) || ((NoChipPicked = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nTime, chWailingSound, CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs[inst])) != null))
{
- Bitmap bmLane = new Bitmap( CSkin.Path( DefaultLaneFilename ) );
- graphics3.DrawImage( bmLane, offsetX[ nLanePosition ], 0 );
- bmLane.Dispose();
+ this.tãµã¦ã³ãåç(NoChipPicked, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», inst, CDTXMania.Instance.ConfigIni.nChipVolume, CDTXMania.Instance.ConfigIni.bEmphasizePlaySound[inst], true);
+ }
+ if (!CDTXMania.Instance.ConfigIni.bLight[inst])
+ {
+ this.tãããã®ãããå¦ç_Badãªãã³ã«Tightæã®Miss(inst);
}
- #endregion
-
- ColorMatrix matrix2 = new ColorMatrix();
- matrix2.Matrix00 = 1f;
- matrix2.Matrix11 = 1f;
- matrix2.Matrix22 = 1f;
- matrix2.Matrix33 = ( (float) CDTXMania.ConfigIni.nèæ¯ã®éé度 ) / 255f;
- matrix2.Matrix44 = 1f;
- ColorMatrix newColorMatrix = matrix2;
- ImageAttributes imageAttr = new ImageAttributes();
- imageAttr.SetColorMatrix( newColorMatrix );
- graphics3.DrawImage( bitmap3, new Rectangle( 0, 0, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height ), 0, 0, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height, GraphicsUnit.Pixel, imageAttr );
- // graphics3.DrawImage( bitmap3, bgrect, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height, GraphicsUnit.Pixel );
- bitmap3.Dispose();
- #endregion
-
- imageAttr.Dispose();
- graphics3.Dispose();
- bSuccessLoadDTXbgfile = true;
- }
- catch
- {
- Trace.TraceError( "èæ¯ç»åã¨ã¬ã¼ã³ç»åã®åæã«å¤±æãã¾ããã({0})", bgfilename );
}
}
- #region [ DTXãã¼ã¿ã§æå®ããèæ¯ç»åãåæããªãå ´åã¯ãã¬ã¼ã³ç»ååä½ãèæ¯ç»åã¨ãã ]
- if ( !bSuccessLoadDTXbgfile )
+ List list = CDTXMania.Instance.Pad.GetEvents(inst == EPart.Guitar ? EPad.GtWail : EPad.BsWail);
+ if ((list != null) && (list.Count > 0))
{
- bgfilename = CSkin.Path( DefaultBgFilename );
- try
+ foreach (STInputEvent eventWailed in list)
{
- image = new Bitmap( bgfilename );
-
- if ( DefaultLaneFilename != "" )
+ if (!eventWailed.bæ¼ããã)
{
- Bitmap bmLane = new Bitmap( CSkin.Path( DefaultLaneFilename ) );
- Graphics g = Graphics.FromImage( image );
- g.DrawImage( bmLane, offsetX[ nLanePosition ], 0 );
- g.Dispose();
- bmLane.Dispose();
+ continue;
}
+ DoWailingFromQueue(inst, eventWailed.nTimeStamp, autoW);
}
- catch
- {
- Trace.TraceError( "ã¬ã¼ã³ç»åã®èªã¿è¾¼ã¿ã«å¤±æãã¾ããã({0})", bgfilename );
- this.txèæ¯ = null;
- return;
- }
- }
- #endregion
- #region [ BGAç»åã表示ããäºå®ãããå ´åã¯ãèæ¯ç»åããããããããã®é åãé»æãã«ãã¦ãã ]
- if ( ( CDTXMania.DTX.listBMP.Count > 0 ) || ( CDTXMania.DTX.listBMPTEX.Count > 0 ) )
- {
- Graphics graphics2 = Graphics.FromImage( image );
- graphics2.FillRectangle( Brushes.Black, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height );
- graphics2.Dispose();
}
- #endregion
- #region [ èæ¯ç»åããã¯ã¹ãã£ã«ãããèæ¯åç»ã®è¡¨ç¤ºäºå®ä¸ããå ´åã¯ãæ´ã«éæ度ãä»ä¸ããã ]
- try
+ }
+
+ private void DoWailingFromQueue(EPart inst, long nTimeStamp_Wailed, bool autoW)
+ {
+ long nTimeWailed = nTimeStamp_Wailed - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå»;
+ CChip chipWailing;
+ while ((this.queWailing[inst].Count > 0) && ((chipWailing = this.queWailing[inst].Dequeue()) != null))
{
- this.txèæ¯ = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );
- if ( CDTXMania.DTX.bMovieãFullscreenåçãã ) // Fullscreenåç»åçãçºçããå ´åã¯ãåç»ã¬ã¤ã¤ã¼ã«å¯¾ãã¦ã¬ã¼ã³ï¼èæ¯ã¬ã¤ã¤ã¼ã«éæ度ãè¨å®ãã
+ if ((nTimeWailed - chipWailing.nçºå£°æå»ms) <= 1000) // #24245 2011.1.26 yyagi: 800 -> 1000
{
- this.txèæ¯.néæ度 = 255 - CDTXMania.ConfigIni.nèæ¯ã®éé度; // èæ¯åç»ç¨
+ chipWailing.bHit = true;
+ this.actWailingBonus.Start(inst, this.rç¾å¨ã®æ声Chip[inst]);
+ if (!autoW)
+ {
+ int nCombo = (this.actCombo.dgbã³ã³ãæ°[inst].nç¾å¨å¤ < 500) ? this.actCombo.dgbã³ã³ãæ°[inst].nç¾å¨å¤ : 500;
+ // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions
+ this.actScore.Add(inst, nCombo * 3000L);
+ }
}
}
- catch ( CTextureCreateFailedException )
- {
- Trace.TraceError( "èæ¯ãã¯ã¹ãã£ã®çæã«å¤±æãã¾ããã" );
- this.txèæ¯ = null;
- }
- #endregion
- image.Dispose();
}
- protected virtual void tå
¥åå¦çã»ã®ã¿ã¼()
- {
- tå
¥åå¦çã»ã®ã¿ã¼ãã¼ã¹( E楽å¨ãã¼ã.GUITAR );
- }
- protected virtual void tå
¥åå¦çã»ãã¼ã¹()
- {
- tå
¥åå¦çã»ã®ã¿ã¼ãã¼ã¹( E楽å¨ãã¼ã.BASS );
- }
- protected virtual void tå
¥åå¦çã»ã®ã¿ã¼ãã¼ã¹(E楽å¨ãã¼ã inst)
+ // tå
¥åå¦çã»ãã©ã ()ããã¡ã½ãããæ½åºãããã®ã
+ ///
+ /// chipArrayã®ä¸ã, nçºçä½ç½®ã®å°ããé ã«ä¸¦ã¹ã + nullã大ããæ¹ã«éãããã»ããã§eå¤å®Arrayã並ã¹ç´ãã
+ ///
+ /// ã½ã¼ã対象chip群
+ /// ã½ã¼ã対象eå¤å®ç¾¤
+ /// ãããæ°
+ private static void SortChipsByNTime(CChip[] chipArray, EJudge[] eå¤å®Array, int NumOfChips)
{
- int indexInst = (int) inst;
- #region [ ã¹ã¯ãã¼ã«é度å¤æ´ ]
- if ( CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.Decide ) && CDTXMania.Pad.bæ¼ããã( inst, Eããã.B ) )
+ for (int i = 0; i < NumOfChips - 1; i++)
{
- CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[indexInst] = Math.Min( CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[indexInst] + 1, 0x7cf );
+ for (int j = NumOfChips - 1; j > i; j--)
+ {
+ if ((chipArray[j - 1] == null) || ((chipArray[j] != null) && (chipArray[j - 1].nçºå£°ä½ç½® > chipArray[j].nçºå£°ä½ç½®)))
+ {
+ // swap
+ CChip chipTemp = chipArray[j - 1];
+ chipArray[j - 1] = chipArray[j];
+ chipArray[j] = chipTemp;
+ EJudge eå¤å®Temp = eå¤å®Array[j - 1];
+ eå¤å®Array[j - 1] = eå¤å®Array[j];
+ eå¤å®Array[j] = eå¤å®Temp;
+ }
+ }
}
- if ( CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.Decide ) && CDTXMania.Pad.bæ¼ããã( inst, Eããã.R ) )
+ }
+ private bool tãã©ã ãããå¦ç(long nHitTime, EPad type, CChip pChip, int n強弱度åã0to127)
+ {
+ if (pChip == null)
{
- CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[indexInst] = Math.Max( CDTXMania.ConfigIni.nèé¢ã¹ã¯ãã¼ã«é度[indexInst] - 1, 0 );
+ return false;
}
- #endregion
-
- if ( !CDTXMania.ConfigIni.bGuitaræå¹ || !CDTXMania.DTX.bãããããã[indexInst] )
+ // Echå®ç¾© channel = pChip.eãã£ã³ãã«çªå·;
+ int index = -1;
+ if (pChip.bDrumså¯è¦ããã_LP_LBDå«ã¾ãªã)
{
- return;
+ index = pChip.nDrumsIndex;
}
-
- int R = ( inst == E楽å¨ãã¼ã.GUITAR ) ? 0 : 3;
- int G = R + 1;
- int B = R + 2;
- bool autoW = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtW : bIsAutoPlay.BsW;
- bool autoR = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtR : bIsAutoPlay.BsR;
- bool autoG = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtG : bIsAutoPlay.BsG;
- bool autoB = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtB : bIsAutoPlay.BsB;
- bool autoPick = ( inst == E楽å¨ãã¼ã.GUITAR ) ? bIsAutoPlay.GtPick : bIsAutoPlay.BsPick;
- int nAutoW = ( autoW ) ? 8 : 0;
- int nAutoR = ( autoR ) ? 4 : 0;
- int nAutoG = ( autoG ) ? 2 : 0;
- int nAutoB = ( autoB ) ? 1 : 0;
- int nAutoMask = nAutoW | nAutoR | nAutoG | nAutoB;
-
-// if ( bIsAutoPlay[ (int) Eã¬ã¼ã³.Guitar - 1 + indexInst ] ) // ãã®ãããªããã°ã®å
¥ããããæ¸ãæ¹(GT/BSã®indexå¤ãä»ã¨ç°ãªã)ã¯ãããè¦ç´ããã
-// {
- CDTX.CChip chip = this.r次ã«æ¥ãæå®æ¥½å¨Chipãæ´æ°ãã¦è¿ã(inst);
- if ( chip != null )
+ else if (pChip.bDrumsä¸å¯è¦ããã_LP_LBDå«ã¾ãªã)
{
- if ( ( chip.nãã£ã³ãã«çªå· & 4 ) != 0 && autoR )
- {
- this.actLaneFlushGB.Start( R );
- this.actRGB.Push( R );
- }
- if ( ( chip.nãã£ã³ãã«çªå· & 2 ) != 0 && autoG )
- {
- this.actLaneFlushGB.Start( G );
- this.actRGB.Push( G );
- }
- if ( ( chip.nãã£ã³ãã«çªå· & 1 ) != 0 && autoB )
- {
- this.actLaneFlushGB.Start( B );
- this.actRGB.Push( B );
- }
-// }
-
+ index = pChip.nDrumsIndexHidden;
+ }
+ ELane eLane = EnumConverter.LaneFromChannel(index + EChannel.HiHatClose);// nãã£ã³ãã«0Atoã¬ã¼ã³07[index];
+ EPad ePad = EnumConverter.PadFromChannel(index + EChannel.HiHatClose); //nãã£ã³ãã«0Atoããã08[index];
+ bool bPChipIsAutoPlay = CDTXMania.Instance.ConfigIni.bAutoPlay[ePad];
+ int nInputAdjustTime = bPChipIsAutoPlay ? 0 : CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Drums;
+ EJudge eå¤å® = this.eæå®æå»ããChipã®JUDGEãè¿ã(nHitTime, pChip, nInputAdjustTime);
+ if (eå¤å® == EJudge.Miss)
+ {
+ return false;
+ }
+ this.tãããã®ãããå¦ç(nHitTime, pChip);
+ this.actLaneFlushD.Start(eLane, ((float)n強弱度åã0to127) / 127f);
+ this.actPad.Hit(ePad);
+ if ((eå¤å® != EJudge.Poor) && (eå¤å® != EJudge.Miss))
+ {
+ bool flag = this.bãã£ã«ã¤ã³ä¸;
+ bool flag2 = this.bãã£ã«ã¤ã³ä¸ && this.bãã£ã«ã¤ã³åºéã®æå¾ã®Chipã§ãã(pChip);
+ // bool flag3 = flag2;
+ // #31602 2013.6.24 yyagi å¤å®ã©ã¤ã³ã®è¡¨ç¤ºä½ç½®ããããããããããã®ãããã¨ãã§ã¯ãã®è¡¨ç¤ºããããããã«ãnJudgeLine..ã追å
+ this.actChipFireD.Start(eLane, flag, flag2, flag2);
}
-// else
+ if (CDTXMania.Instance.ConfigIni.bDrumsHitSound)
{
- int pushingR = CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.R ) ? 4 : 0;
- this.tå
¥åã¡ã½ããè¨æ¶( inst );
- int pushingG = CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.G ) ? 2 : 0;
- this.tå
¥åã¡ã½ããè¨æ¶( inst );
- int pushingB = CDTXMania.Pad.bæ¼ããã¦ãã( inst, Eããã.B ) ? 1 : 0;
- this.tå
¥åã¡ã½ããè¨æ¶( inst );
- int flagRGB = pushingR | pushingG | pushingB;
- if ( pushingR != 0 )
+ CChip rChip = null;
+ bool bIsChipsoundPriorToPad = true;
+ if (((type == EPad.HH) || (type == EPad.HHO)) || (type == EPad.LC))
{
- this.actLaneFlushGB.Start( R );
- this.actRGB.Push( R );
+ bIsChipsoundPriorToPad = CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH == EHitSoundPriority.Chip;
}
- if ( pushingG != 0 )
+ else if ((type == EPad.LT) || (type == EPad.FT))
{
- this.actLaneFlushGB.Start( G );
- this.actRGB.Push( G );
+ bIsChipsoundPriorToPad = CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT == EHitSoundPriority.Chip;
}
- if ( pushingB != 0 )
+ else if ((type == EPad.CY) || (type == EPad.RD))
{
- this.actLaneFlushGB.Start( B );
- this.actRGB.Push( B );
+ bIsChipsoundPriorToPad = CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY == EHitSoundPriority.Chip;
}
- // auto pickã ã¨ããããå
ã«è¡ããªãã®ã§æ³¨æ
- List events = CDTXMania.Pad.GetEvents( inst, Eããã.Pick );
- if ( ( events != null ) && ( events.Count > 0 ) )
+ if (bIsChipsoundPriorToPad)
{
- foreach ( STInputEvent eventPick in events )
- {
- if ( !eventPick.bæ¼ããã )
- {
- continue;
- }
- this.tå
¥åã¡ã½ããè¨æ¶( inst );
- long nTime = eventPick.nTimeStamp - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå»;
- int chWailingSound = ( inst == E楽å¨ãã¼ã.GUITAR ) ? 0x2F : 0xAF;
- CDTX.CChip pChip = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip( nTime, chWailingSound, this.nInputAdjustTimeMs[indexInst] ); // E楽å¨ãã¼ã.GUITARãªãããå
¨ã¦ã«ããããã
- Eå¤å® eå¤å® = this.eæå®æå»ããChipã®JUDGEãè¿ã( nTime, pChip, this.nInputAdjustTimeMs[indexInst] );
-//Trace.TraceInformation("ch={0:x2}, mask1={1:x1}, mask2={2:x2}", pChip.nãã£ã³ãã«çªå·, ( pChip.nãã£ã³ãã«çªå· & ~nAutoMask ) & 0x0F, ( flagRGB & ~nAutoMask) & 0x0F );
- if ( ( pChip != null ) && ( ( ( pChip.nãã£ã³ãã«çªå· & ~nAutoMask ) & 0x0F ) == ( ( flagRGB & ~nAutoMask) & 0x0F ) ) && ( eå¤å® != Eå¤å®.Miss ) )
- {
- bool bChipHasR = ( ( pChip.nãã£ã³ãã«çªå· & 4 ) > 0 );
- bool bChipHasG = ( ( pChip.nãã£ã³ãã«çªå· & 2 ) > 0 );
- bool bChipHasB = ( ( pChip.nãã£ã³ãã«çªå· & 1 ) > 0 );
- bool bChipHasW = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x08 );
- bool bChipIsO = ( ( pChip.nãã£ã³ãã«çªå· & 0x0F ) == 0x00 );
- bool bSuccessOPEN = bChipIsO && ( autoR || pushingR == 0 ) && ( autoG || pushingG == 0 ) && ( autoB || pushingB == 0 );
- if ( ( bChipHasR && ( autoR || pushingR != 0 ) ) || bSuccessOPEN )
- //if ( ( pushingR != 0 ) || autoR || ( flagRGB == 0 ) )
- {
- this.actChipFireGB.Start( R, æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- if ( ( bChipHasG && ( autoG || pushingG != 0 ) ) || bSuccessOPEN )
- //if ( ( pushingG != 0 ) || autoG || ( flagRGB == 0 ) )
- {
- this.actChipFireGB.Start( G, æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- if ( ( bChipHasB && ( autoB || pushingB != 0 ) ) || bSuccessOPEN )
- //if ( ( pushingB != 0 ) || autoB || ( flagRGB == 0 ) )
- {
- this.actChipFireGB.Start( B, æ¼å¥å¤å®ã©ã¤ã³åº§æ¨ );
- }
- this.tãããã®ãããå¦ç( nTime, pChip );
- this.tãµã¦ã³ãåç( pChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», inst, CDTXMania.ConfigIni.næååçé³é, CDTXMania.ConfigIni.bæ¼å¥é³ã強調ãã[indexInst], eå¤å® == Eå¤å®.Poor );
- int chWailingChip = ( inst == E楽å¨ãã¼ã.GUITAR ) ? 0x28 : 0xA8;
- CDTX.CChip item = this.ræå®æå»ã«ä¸çªè¿ãæªãããChip( nTime, chWailingChip, this.nInputAdjustTimeMs[ indexInst ], 140 );
- if ( item != null )
- {
- this.queWailing[indexInst].Enqueue( item );
- }
- continue;
- }
-
- // 以ä¸ãééãã¬ã¼ã³ã§ã®ããã¯æ
- CDTX.CChip NoChipPicked = ( inst == E楽å¨ãã¼ã.GUITAR ) ? this.rç¾å¨ã®ç©ºãã¡ã®ã¿ã¼Chip : this.rç¾å¨ã®ç©ºãã¡ãã¼ã¹Chip;
- if ( ( NoChipPicked != null ) || ( ( NoChipPicked = this.ræå®æå»ã«ä¸çªè¿ãChipã»ãããæªæ¸åããä¸å¯è¦èæ
®( nTime, chWailingSound, this.nInputAdjustTimeMs[indexInst] ) ) != null ) )
- {
- this.tãµã¦ã³ãåç( NoChipPicked, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», inst, CDTXMania.ConfigIni.næååçé³é, CDTXMania.ConfigIni.bæ¼å¥é³ã強調ãã[indexInst], true );
- }
- if ( !CDTXMania.ConfigIni.bLight[indexInst] )
- {
- this.tãããã®ãããå¦çã»Badãªãã³ã«Tightæã®Miss( inst );
- }
- }
+ rChip = pChip;
}
- List list = CDTXMania.Pad.GetEvents(inst, Eããã.Wail );
- if ( ( list != null ) && ( list.Count > 0 ) )
+ else
{
- foreach ( STInputEvent eventWailed in list )
+ EPad hH = type;
+ if (!CDTXMania.Instance.DTX.bãããããã.HHOpen && (type == EPad.HHO))
{
- if ( !eventWailed.bæ¼ããã )
- {
- continue;
- }
- DoWailingFromQueue( inst, eventWailed.nTimeStamp, autoW );
+ hH = EPad.HH;
+ }
+ if (!CDTXMania.Instance.DTX.bãããããã.Ride && (type == EPad.RD))
+ {
+ hH = EPad.CY;
+ }
+ if (!CDTXMania.Instance.DTX.bãããããã.LeftCymbal && (type == EPad.LC))
+ {
+ hH = EPad.HH;
+ }
+ rChip = this.ræå®æå»ã«ä¸çªè¿ãChip_ãããæªæ¸åããä¸å¯è¦èæ
®(nHitTime, EnumConverter.ChannelFromPad(hH), nInputAdjustTime);
+ if (rChip == null)
+ {
+ rChip = pChip;
}
}
+ this.tãµã¦ã³ãåç(rChip, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», EPart.Drums, CDTXMania.Instance.ConfigIni.nChipVolume, CDTXMania.Instance.ConfigIni.bEmphasizePlaySound.Drums);
}
+ return true;
}
- private void DoWailingFromQueue( E楽å¨ãã¼ã inst, long nTimeStamp_Wailed, bool autoW )
+ protected bool bãã£ã«ã¤ã³åºéã®æå¾ã®Chipã§ãã(CChip pChip)
{
- int indexInst = (int) inst;
- long nTimeWailed = nTimeStamp_Wailed - CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nååãªã»ããããæã®ã·ã¹ãã æå»;
- CDTX.CChip chipWailing;
- while ( ( this.queWailing[ indexInst ].Count > 0 ) && ( ( chipWailing = this.queWailing[ indexInst ].Dequeue() ) != null ) )
+ if (pChip == null)
+ {
+ return false;
+ }
+ int num = pChip.nçºå£°ä½ç½®;
+ for (int i = CDTXMania.Instance.DTX.listChip.IndexOf(pChip) + 1; i < CDTXMania.Instance.DTX.listChip.Count; i++)
{
- if ( ( nTimeWailed - chipWailing.nçºå£°æå»ms ) <= 1000 ) // #24245 2011.1.26 yyagi: 800 -> 1000
+ pChip = CDTXMania.Instance.DTX.listChip[i];
+ if ((pChip[EChannel.FillIn]) && (pChip.næ´æ°å¤ == 2))
{
- chipWailing.bHit = true;
- this.actWailingBonus.Start( inst, this.rç¾å¨ã®æ声Chip[ indexInst ] );
- //if ( !bIsAutoPlay[indexInst] )
- if ( !autoW )
+ return true;
+ }
+ if ((pChip.bDrumså¯è¦ããã_LP_LBDå«ã¾ãªã) && (pChip.nçºå£°ä½ç½® - num) > 0x18)
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private void té²è¡æç»_ããã_ãã£ã«ã¤ã³(ref CChip pChip)
+ {
+ if (!pChip.bHit && (pChip.nãã¼ããã®è·é¢dot.Drums < 0))
+ {
+ pChip.bHit = true;
+
+ if (CDTXMania.Instance.ConfigIni.bDrumsæå¹)
+ {
+ switch (pChip.næ´æ°å¤)
{
- int nCombo = ( this.actCombo.nç¾å¨ã®ã³ã³ãæ°[ indexInst ] < 500 ) ? this.actCombo.nç¾å¨ã®ã³ã³ãæ°[ indexInst ] : 500;
- this.actScore.Add( inst, bIsAutoPlay, nCombo * 3000L ); // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions
+ case 0x01: // ãã£ã«ã¤ã³éå§
+ if (CDTXMania.Instance.ConfigIni.bFillin)
+ {
+ this.bãã£ã«ã¤ã³ä¸ = true;
+ }
+ break;
+
+ case 0x02: // ãã£ã«ã¤ã³çµäº
+ if (CDTXMania.Instance.ConfigIni.bFillin)
+ {
+ this.bãã£ã«ã¤ã³ä¸ = false;
+ }
+ if (((this.actCombo.dgbã³ã³ãæ°.Drums.nç¾å¨å¤ > 0) || CDTXMania.Instance.ConfigIni.bIsAutoPlay(EPart.Drums)) && CDTXMania.Instance.ConfigIni.bAudience)
+ {
+ if (this.rç¾å¨ã®æ声Chip.Drums != null)
+ {
+ CDTXMania.Instance.DTX.tãããã®åç(this.rç¾å¨ã®æ声Chip.Drums, CSound管ç.rcæ¼å¥ç¨ã¿ã¤ã.nã·ã¹ãã æå», CDTXMania.Instance.DTX.nã¢ãã¿ãèæ
®ããé³é(EPart.Unknown));
+ }
+ else
+ {
+ CDTXMania.Instance.Skin.soundæ声é³.nä½ç½®_次ã«é³´ããµã¦ã³ã = 0;
+ CDTXMania.Instance.Skin.soundæ声é³.tåçãã();
+ }
+ }
+ break;
+#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST
+ case 0x04: // HHæ¶é³ãã(å¾æ¥åç)
+ CDTXMania.Instance.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.HH = true;
+ break;
+ case 0x05: // HHæ¶é³ç¡ã
+ CDTXMania.Instance.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.HH = false;
+ break;
+ case 0x06: // ã®ã¿ã¼æ¶é³ãã(å¾æ¥åç)
+ CDTXMania.Instance.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.Gutiar = true;
+ break;
+ case 0x07: // ã®ã¿ã¼æ¶é³ç¡ã
+ CDTXMania.Instance.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.Gutiar = false;
+ break;
+ case 0x08: // ãã¼ã¹æ¶é³ãã(å¾æ¥åç)
+ CDTXMania.Instance.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.Bass = true;
+ break;
+ case 0x09: // ãã¼ã¹æ¶é³ç¡ã
+ CDTXMania.Instance.DTX.bæ¼å¥ã§ç´åã®é³ãæ¶é³ãã.Bass = false;
+ break;
+#endif
}
}
}
}
- #endregion
}
}