Skip to content

Commit

Permalink
#74 連打音符が8で閉じられていない場合、最後に設置された連打音符の数字の位置を使って連打を閉じるよう修正。(ただし敷き詰め方式の連打前提)
Browse files Browse the repository at this point in the history
  • Loading branch information
kairera0467 committed Mar 21, 2020
1 parent 67ab41a commit d7c0fed
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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];

Expand Down Expand Up @@ -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
Expand All @@ -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
{
Expand Down
Binary file modified 実行時フォルダ/DTXManiaGR.exe
Binary file not shown.
Binary file modified 実行時フォルダ/dll/FDK.dll
Binary file not shown.

0 comments on commit d7c0fed

Please sign in to comment.