diff --git "a/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTX.cs" "b/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTX.cs" index 050f031cb..c49281427 100644 --- "a/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTX.cs" +++ "b/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTX.cs" @@ -1164,6 +1164,9 @@ public int nBGMAdjust private int nNowRoll = 0; private int nNowRollCount = 0; + private float fLatestRollChipTime = 0; // 2020.3.21 kairera0467 連打チップの途中で最後に7のチップが配置された時間 + private int nLatestRollChipPos = 0; + private float fLatestRollChipBMTime = 0; private int[] n連打チップ_temp = new int[3]; @@ -4106,6 +4109,9 @@ private void t入力_行解析譜面_V4(string InputText) { this.dbNowTime += (15000.0 / this.dbNowBPM * (this.fNow_Measure_s / this.fNow_Measure_m) * (16.0 / n文字数)); this.dbNowBMScollTime += (double)((this.dbBarLength) * (16.0 / n文字数)); + this.fLatestRollChipTime = (float)this.dbNowTime; + this.fLatestRollChipBMTime = (float)this.dbNowBMScollTime; + this.nLatestRollChipPos = (int)((this.n現在の小節数 * 384.0) + ((384.0 * n) / n文字数)); continue; } else @@ -4114,6 +4120,46 @@ private void t入力_行解析譜面_V4(string InputText) nNowRoll = nObjectNum; } } + else if( nObjectNum > 0 && nNowRoll != 0 ) + { + // 最後に配置された連打チップの場所に連打終了チップを配置する + var rollend = new CChip + { + bBranch = this.bBranch中である, + bHit = false, + b可視 = true, + bShow = true, + nチャンネル番号 = 0x18, + n発声位置 = this.nLatestRollChipPos, + db発声位置 = this.nLatestRollChipPos, + n発声時刻ms = (int)this.fLatestRollChipTime, + db発声時刻ms = this.fLatestRollChipTime, + fBMSCROLLTime = this.fLatestRollChipBMTime, + n整数値 = 8, + n整数値_内部番号 = 1, + dbBPM = this.dbNowBPM, + dbSCROLL = this.dbNowScroll, + dbSCROLL_Y = this.dbNowScrollY, + nコース = this.n現在のコース, + e楽器パート = E楽器パート.TAIKO, + nPlayerSide = this.nPlayerSide + }; + + rollend.nノーツ終了位置 = (this.n現在の小節数 * 384) + ((384 * n) / n文字数); + rollend.nノーツ終了時刻ms = (int)this.dbNowTime; + rollend.fBMSCROLLTime_end = (float)this.dbNowBMScollTime; + + rollend.nノーツ出現時刻ms = listChip[nNowRollCount].nノーツ出現時刻ms; + rollend.nノーツ移動開始時刻ms = listChip[nNowRollCount].nノーツ移動開始時刻ms; + + rollend.n連打音符State = nNowRoll; + listChip[nNowRollCount].nノーツ終了位置 = this.nLatestRollChipPos; + listChip[nNowRollCount].nノーツ終了時刻ms = (int)this.fLatestRollChipTime; + listChip[nNowRollCount].fBMSCROLLTime_end = this.fLatestRollChipBMTime; + nNowRoll = 0; + + this.listChip.Add( rollend ); + } var chip = new CChip { diff --git "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe" "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe" index 691d9a8e5..8ab5e32c1 100644 Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe" differ diff --git "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll" "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll" index bfa578587..50cf9d95d 100644 Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll" differ