Exemplo n.º 1
0
        protected override void t進行描画_チップ_ギターベース(CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽器パート inst)
        {
            int instIndex = (int)inst;

            if (configIni.bGuitar有効)
            {
                if (configIni.bSudden[instIndex])
                {
                    pChip.b可視 = pChip.nバーからの距離dot[instIndex] < 200;
                }
                if (configIni.bHidden[instIndex] && (pChip.nバーからの距離dot[instIndex] < 100))
                {
                    pChip.b可視 = false;
                }

                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);

                int OPEN = (inst == E楽器パート.GUITAR) ? 0x20 : 0xA0;
                if (!pChip.bHit && pChip.b可視)
                {
                    int y = configIni.bReverse[instIndex] ? (369 - pChip.nバーからの距離dot[instIndex]) : (40 + pChip.nバーからの距離dot[instIndex]);
                    if ((y > 0) && (y < 409))
                    {
                        if (this.txチップ != null)
                        {
                            int nアニメカウンタ現在の値 = this.ctチップ模様アニメ[instIndex].n現在の値;
                            if (pChip.nチャンネル番号 == OPEN)
                            {
                                {
                                    int xo = (inst == E楽器パート.GUITAR) ? 26 : 480;
                                    this.txチップ.t2D描画(CDTXMania.app.Device, xo, y - 4, new Rectangle(0, 192 + ((nアニメカウンタ現在の値 % 5) * 8), 103, 8));
                                }
                            }
                            Rectangle rc = new Rectangle(0, nアニメカウンタ現在の値 * 8, 32, 8);
                            int       x;
                            if (inst == E楽器パート.GUITAR)
                            {
                                x = (configIni.bLeft.Guitar) ? 98 : 26;
                            }
                            else
                            {
                                x = (configIni.bLeft.Bass) ? 552 : 480;
                            }
                            int deltaX = (configIni.bLeft[instIndex]) ? -36 : +36;
                            if (bChipHasR)
                            {
                                this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 4, rc);
                            }
                            rc.X += 32;
                            if (bChipHasG)
                            {
                                this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 4, rc);
                            }
                            rc.X += 32;
                            if (bChipHasB)
                            {
                                this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 4, rc);
                            }
                        }
                    }
                }
                // 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;
                    if ((bChipHasR || bChipIsO) && autoR)
                    {
                        this.actChipFireGB.Start(0 + lo);
                    }
                    if ((bChipHasG || bChipIsO) && autoG)
                    {
                        this.actChipFireGB.Start(1 + lo);
                    }
                    if ((bChipHasB || bChipIsO) && autoB)
                    {
                        this.actChipFireGB.Start(2 + lo);
                    }
                    if ((inst == E楽器パート.GUITAR && bIsAutoPlay.GtPick) || (inst == E楽器パート.BASS && 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);
                        bool bMiss    = true;
                        if (((bChipIsO == true) && (!pushingR | autoR) && (!pushingG | autoG) && (!pushingB | autoB)) ||
                            ((bChipHasR == (pushingR | autoR)) && (bChipHasG == (pushingG | autoG)) && (bChipHasB == (pushingB | autoB)))
                            )
                        {
                            bMiss = false;
                        }
                        pChip.bHit = true;
                        this.tサウンド再生(pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量(inst));
                        this.r次にくるギターChip = null;
                        this.tチップのヒット処理(pChip.n発声時刻ms, pChip);
                    }
                }
                // break;
                return;
            }
            if (!pChip.bHit && (pChip.nバーからの距離dot[instIndex] < 0))
            {
                pChip.bHit = true;
                this.tサウンド再生(pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量(inst));
            }
        }
Exemplo n.º 2
0
 protected override void t進行描画_チップ_ベース(CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip)
 {
     if (configIni.bGuitar有効)
     {
         if (configIni.bSudden.Bass)
         {
             pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;
         }
         if (configIni.bHidden.Bass && (pChip.nバーからの距離dot.Bass < 100))
         {
             pChip.b可視 = false;
         }
         if (!pChip.bHit && pChip.b可視)
         {
             int num8 = configIni.bReverse.Bass ? (0x171 - pChip.nバーからの距離dot.Bass) : (40 + pChip.nバーからの距離dot.Bass);
             if ((num8 > 0) && (num8 < 0x199))
             {
                 int num9 = this.ctチップ模様アニメ.Bass.n現在の値;
                 if (pChip.nチャンネル番号 == 160)
                 {
                     if (this.txチップ != null)
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 480, num8 - 4, new Rectangle(0, 0xc0 + ((num9 % 5) * 8), 0x67, 8));
                     }
                 }
                 else if (!configIni.bLeft.Bass)
                 {
                     Rectangle rectangle3 = new Rectangle(0, num9 * 8, 0x20, 8);
                     if (((pChip.nチャンネル番号 & 4) != 0) && (this.txチップ != null))
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 480, num8 - 4, rectangle3);
                     }
                     rectangle3.X += 0x20;
                     if (((pChip.nチャンネル番号 & 2) != 0) && (this.txチップ != null))
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 0x204, num8 - 4, rectangle3);
                     }
                     rectangle3.X += 0x20;
                     if (((pChip.nチャンネル番号 & 1) != 0) && (this.txチップ != null))
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 0x228, num8 - 4, rectangle3);
                     }
                 }
                 else
                 {
                     Rectangle rectangle4 = new Rectangle(0, num9 * 8, 0x20, 8);
                     if (((pChip.nチャンネル番号 & 4) != 0) && (this.txチップ != null))
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 0x228, num8 - 4, rectangle4);
                     }
                     rectangle4.X += 0x20;
                     if (((pChip.nチャンネル番号 & 2) != 0) && (this.txチップ != null))
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 0x204, num8 - 4, rectangle4);
                     }
                     rectangle4.X += 0x20;
                     if (((pChip.nチャンネル番号 & 1) != 0) && (this.txチップ != null))
                     {
                         this.txチップ.t2D描画(CDTXMania.app.Device, 480, num8 - 4, rectangle4);
                     }
                 }
             }
         }
         if ((configIni.bAutoPlay.Bass && !pChip.bHit) && (pChip.nバーからの距離dot.Bass < 0))
         {
             pChip.bHit = true;
             if (((pChip.nチャンネル番号 & 4) != 0) || (pChip.nチャンネル番号 == 0xA0))
             {
                 this.actChipFireGB.Start(3);
             }
             if (((pChip.nチャンネル番号 & 2) != 0) || (pChip.nチャンネル番号 == 0xA0))
             {
                 this.actChipFireGB.Start(4);
             }
             if (((pChip.nチャンネル番号 & 1) != 0) || (pChip.nチャンネル番号 == 0xA0))
             {
                 this.actChipFireGB.Start(5);
             }
             this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量(E楽器パート.BASS));
             this.r次にくるベースChip = null;
             this.tチップのヒット処理(pChip.n発声時刻ms, pChip);
         }
         return;
     }
     if (!pChip.bHit && (pChip.nバーからの距離dot.Bass < 0))
     {
         pChip.bHit = true;
         this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量(E楽器パート.BASS));
     }
 }
Exemplo n.º 3
0
 protected override void tUpdateAndDraw_Chip_Drums(CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip)
 {
     // int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nChannelNumber - 0x11 ];
     if (!pChip.bHit && (pChip.nDistanceFromBar.Drums < 0))
     {
         pChip.bHit = true;
         this.tPlaySound(pChip, CSoundManager.rcPerformanceTimer.n前回リセットした時のシステム時刻 + pChip.nPlaybackTimeMs, EInstrumentPart.DRUMS, dTX.nモニタを考慮した音量(EInstrumentPart.DRUMS));
     }
 }