Fix #152 and branch score issues (except dan for now)
This commit is contained in:
parent
bf3c7e4549
commit
b9bcca4fc8
@ -1245,6 +1245,7 @@ namespace TJAPlayer3
|
||||
|
||||
private int nNowRoll = 0;
|
||||
private int nNowRollCount = 0;
|
||||
private int[] nNowRollCountBranch = new int[3];
|
||||
|
||||
private int[] n連打チップ_temp = new int[3];
|
||||
public int nOFFSET = 0;
|
||||
@ -1340,7 +1341,7 @@ namespace TJAPlayer3
|
||||
public bool bGOGOTIME; //2018.03.11 kairera0467
|
||||
|
||||
public bool[] IsBranchBarDraw = new bool[4]; // 仕様変更により、黄色lineの表示法を変更.2020.04.21.akasoko26
|
||||
public bool IsEndedBranching; // BRANCHENDが呼び出されたかどうか
|
||||
public bool IsEndedBranching = true; // BRANCHENDが呼び出されたかどうか
|
||||
public Dan_C[] Dan_C;
|
||||
|
||||
public bool IsEnabledFixSENote;
|
||||
@ -2364,6 +2365,8 @@ namespace TJAPlayer3
|
||||
int nBar = 0;
|
||||
int nCount = 0;
|
||||
this.nNowRollCount = 0;
|
||||
for (int i = 0; i < this.nNowRollCountBranch.Length; i++)
|
||||
this.nNowRollCountBranch[i] = 0;
|
||||
|
||||
List<STLYRIC> tmplistlyric = new List<STLYRIC>();
|
||||
int BGM番号 = 0;
|
||||
@ -2393,6 +2396,8 @@ namespace TJAPlayer3
|
||||
|
||||
nCount++;
|
||||
this.nNowRollCount++;
|
||||
for (int i = 0; i < this.nNowRollCountBranch.Length; i++)
|
||||
this.nNowRollCountBranch[i]++;
|
||||
|
||||
switch (ch)
|
||||
{
|
||||
@ -4404,6 +4409,8 @@ namespace TJAPlayer3
|
||||
else
|
||||
{
|
||||
this.nNowRollCount = listChip.Count;
|
||||
for (int i = 0; i < this.nNowRollCountBranch.Length; i++)
|
||||
this.nNowRollCountBranch[i] = listChip_Branch[i].Count;
|
||||
nNowRoll = nObjectNum;
|
||||
}
|
||||
}
|
||||
@ -4448,9 +4455,11 @@ namespace TJAPlayer3
|
||||
chip.bGOGOTIME = this.bGOGOTIME;
|
||||
|
||||
if (NotesManager.IsBalloon(chip) || NotesManager.IsKusudama(chip))
|
||||
{
|
||||
//this.n現在のコースをswitchで分岐していたため風船の値がうまく割り当てられていない 2020.04.21 akasoko26
|
||||
|
||||
{
|
||||
//this.n現在のコースをswitchで分岐していたため風船の値がうまく割り当てられていない 2020.04.21 akasoko26
|
||||
|
||||
#region [Balloons]
|
||||
|
||||
switch (chip.nコース)
|
||||
{
|
||||
case ECourse.eNormal:
|
||||
@ -4466,12 +4475,6 @@ namespace TJAPlayer3
|
||||
this.listBalloon_Normal_数値管理++;
|
||||
break;
|
||||
}
|
||||
//else if( this.listBalloon.Count != 0 )
|
||||
//{
|
||||
// chip.nBalloon = this.listBalloon[ this.listBalloon_Normal_数値管理 ];
|
||||
// this.listBalloon_Normal_数値管理++;
|
||||
// break;
|
||||
//}
|
||||
break;
|
||||
case ECourse.eExpert:
|
||||
if (this.listBalloon_Expert.Count == 0)
|
||||
@ -4486,12 +4489,6 @@ namespace TJAPlayer3
|
||||
this.listBalloon_Expert_数値管理++;
|
||||
break;
|
||||
}
|
||||
//else if( this.listBalloon.Count != 0 )
|
||||
//{
|
||||
// chip.nBalloon = this.listBalloon[ this.listBalloon_Normal_数値管理 ];
|
||||
// this.listBalloon_Normal_数値管理++;
|
||||
// break;
|
||||
//}
|
||||
break;
|
||||
case ECourse.eMaster:
|
||||
if (this.listBalloon_Master.Count == 0)
|
||||
@ -4506,14 +4503,11 @@ namespace TJAPlayer3
|
||||
this.listBalloon_Master_数値管理++;
|
||||
break;
|
||||
}
|
||||
//else if( this.listBalloon.Count != 0 )
|
||||
//{
|
||||
// chip.nBalloon = this.listBalloon[ this.listBalloon_Normal_数値管理 ];
|
||||
// this.listBalloon_Normal_数値管理++;
|
||||
// break;
|
||||
//}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
if (NotesManager.IsRollEnd(chip))
|
||||
{
|
||||
@ -4525,12 +4519,30 @@ namespace TJAPlayer3
|
||||
chip.nノーツ移動開始時刻ms = listChip[nNowRollCount].nノーツ移動開始時刻ms;
|
||||
|
||||
chip.n連打音符State = nNowRoll;
|
||||
listChip[nNowRollCount].nノーツ終了位置 = (this.n現在の小節数 * 384) + ((384 * n) / n文字数);
|
||||
listChip[nNowRollCount].nノーツ終了時刻ms = (int)this.dbNowTime;
|
||||
listChip[nNowRollCount].fBMSCROLLTime_end = (int)this.dbNowBMScollTime;
|
||||
|
||||
if (!IsEndedBranching || i == 0)
|
||||
{
|
||||
listChip[nNowRollCount].nノーツ終了位置 = (this.n現在の小節数 * 384) + ((384 * n) / n文字数);
|
||||
listChip[nNowRollCount].nノーツ終了時刻ms = (int)this.dbNowTime;
|
||||
listChip[nNowRollCount].fBMSCROLLTime_end = (int)this.dbNowBMScollTime;
|
||||
}
|
||||
else if (!IsEndedBranching)
|
||||
{
|
||||
listChip_Branch[(int)chip.nコース][nNowRollCountBranch[(int)chip.nコース]].nノーツ終了位置 = (this.n現在の小節数 * 384) + ((384 * n) / n文字数);
|
||||
listChip_Branch[(int)chip.nコース][nNowRollCountBranch[(int)chip.nコース]].nノーツ終了時刻ms = (int)this.dbNowTime;
|
||||
listChip_Branch[(int)chip.nコース][nNowRollCountBranch[(int)chip.nコース]].fBMSCROLLTime_end = (int)this.dbNowBMScollTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
listChip_Branch[i][nNowRollCountBranch[i]].nノーツ終了位置 = (this.n現在の小節数 * 384) + ((384 * n) / n文字数);
|
||||
listChip_Branch[i][nNowRollCountBranch[i]].nノーツ終了時刻ms = (int)this.dbNowTime;
|
||||
listChip_Branch[i][nNowRollCountBranch[i]].fBMSCROLLTime_end = (int)this.dbNowBMScollTime;
|
||||
}
|
||||
|
||||
//listChip[ nNowRollCount ].dbBPM = this.dbNowBPM;
|
||||
//listChip[ nNowRollCount ].dbSCROLL = this.dbNowSCROLL;
|
||||
nNowRoll = 0;
|
||||
if (!IsEndedBranching || i == 2)
|
||||
nNowRoll = 0;
|
||||
//continue;
|
||||
}
|
||||
|
||||
@ -4582,25 +4594,33 @@ namespace TJAPlayer3
|
||||
#region [ 作り直し ]
|
||||
//譜面分岐がない譜面でも値は加算されてしまうがしゃあない
|
||||
//分岐を開始しない間は共通譜面としてみなす。
|
||||
if (IsEndedBranching)
|
||||
this.nノーツ数_Branch[i]++;
|
||||
else this.nノーツ数_Branch[(int)chip.nコース]++;
|
||||
|
||||
if (!IsEndedBranching && !this.b分岐を一回でも開始した)
|
||||
if (IsEndedBranching)
|
||||
{
|
||||
this.nノーツ数_Branch[i]++;
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
if (this.n参照中の難易度 == (int)Difficulty.Dan)
|
||||
{
|
||||
this.nDan_NotesCount[DanSongs.Number - 1]++;
|
||||
}
|
||||
this.nノーツ数[3]++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//IsEndedBranching==false = forloopが行われていないときのみ
|
||||
for (int l = 0; l < 3; l++)
|
||||
this.nノーツ数_Branch[l]++;
|
||||
this.nノーツ数_Branch[(int)chip.nコース]++;
|
||||
|
||||
if (!this.b分岐を一回でも開始した)
|
||||
{
|
||||
//IsEndedBranching==false = forloopが行われていないときのみ
|
||||
for (int l = 0; l < 3; l++)
|
||||
this.nノーツ数_Branch[l]++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (this.n参照中の難易度 == (int)Difficulty.Dan)
|
||||
{
|
||||
this.nDan_NotesCount[DanSongs.Number - 1]++;
|
||||
}
|
||||
|
||||
|
||||
this.nノーツ数[3]++;
|
||||
|
||||
#endregion
|
||||
}
|
||||
else if (NotesManager.IsBalloon(chip) || NotesManager.IsKusudama(chip))
|
||||
@ -4621,12 +4641,18 @@ namespace TJAPlayer3
|
||||
Array.Resize(ref nDan_NotesCount, nDan_NotesCount.Length + 1);
|
||||
// Array.Resize(ref nDan_BallonCount, nDan_BallonCount.Length + 1);
|
||||
|
||||
this.listChip.Add(chip);
|
||||
|
||||
if(IsEndedBranching)
|
||||
this.listChip_Branch[i].Add(chip);
|
||||
else
|
||||
this.listChip_Branch[(int)chip.nコース].Add(chip);
|
||||
if (IsEndedBranching)
|
||||
{
|
||||
this.listChip_Branch[i].Add(chip);
|
||||
if (i == 0)
|
||||
this.listChip.Add(chip);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.listChip_Branch[(int)chip.nコース].Add(chip);
|
||||
this.listChip.Add(chip);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -5372,42 +5398,7 @@ namespace TJAPlayer3
|
||||
/// </summary>
|
||||
private int CharConvertNote(string str)
|
||||
{
|
||||
return (NotesManager.GetNoteValueFromChar(str));
|
||||
|
||||
/*
|
||||
switch (str)
|
||||
{
|
||||
case "0":
|
||||
return 0;
|
||||
case "1":
|
||||
return 1;
|
||||
case "2":
|
||||
return 2;
|
||||
case "3":
|
||||
return 3;
|
||||
case "4":
|
||||
return 4;
|
||||
case "5":
|
||||
return 5;
|
||||
case "6":
|
||||
return 6;
|
||||
case "7":
|
||||
return 7;
|
||||
case "8":
|
||||
return 8;
|
||||
case "9":
|
||||
return 7; //2017.01.30 DD 芋連打を風船連打扱いに
|
||||
case "A": //2017.08.22 kairera0467 手つなぎ
|
||||
return 10;
|
||||
case "B":
|
||||
return 11;
|
||||
case "F":
|
||||
return 15;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
*/
|
||||
|
||||
return (NotesManager.GetNoteValueFromChar(str));
|
||||
}
|
||||
|
||||
private int strConvertCourse(string str)
|
||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using FDK;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
|
||||
namespace TJAPlayer3
|
||||
{
|
||||
@ -13,6 +14,7 @@ namespace TJAPlayer3
|
||||
public double dbBPM;
|
||||
public readonly int[] NowMeasure = new int[2];
|
||||
public double dbSCROLL;
|
||||
public int[] _chipCounts = new int[2];
|
||||
|
||||
// コンストラクタ
|
||||
|
||||
@ -32,6 +34,10 @@ namespace TJAPlayer3
|
||||
}
|
||||
this.dbBPM = TJAPlayer3.DTX.BASEBPM;
|
||||
this.dbSCROLL = 1.0;
|
||||
|
||||
_chipCounts[0] = TJAPlayer3.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
_chipCounts[1] = TJAPlayer3.DTX.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
|
||||
base.On活性化();
|
||||
}
|
||||
public override int On進行描画()
|
||||
@ -55,11 +61,11 @@ namespace TJAPlayer3
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Frame: {0:####0} fps", TJAPlayer3.FPS.n現在のFPS ) );
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteN: {0:####0}", TJAPlayer3.DTX.nノーツ数[0] ) );
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteN: {0:####0}", TJAPlayer3.DTX.nノーツ数_Branch[0] ) );
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteE: {0:####0}", TJAPlayer3.DTX.nノーツ数[1] ) );
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteE: {0:####0}", TJAPlayer3.DTX.nノーツ数_Branch[1] ) );
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteM: {0:####0}", TJAPlayer3.DTX.nノーツ数[2] ) );
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteM: {0:####0}", TJAPlayer3.DTX.nノーツ数_Branch[2] ) );
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "NoteC: {0:####0}", TJAPlayer3.DTX.nノーツ数[3] ) );
|
||||
y -= 0x10;
|
||||
@ -68,14 +74,17 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "SCOREMODE: {0:####0}", TJAPlayer3.DTX.nScoreModeTmp ) );
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "SCROLLMODE: {0:####0}", Enum.GetName(typeof(EScrollMode), TJAPlayer3.ConfigIni.eScrollMode ) ) );
|
||||
|
||||
|
||||
//CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound CPU : {0:####0.00}%", CDTXMania.Sound管理.GetCPUusage() ) );
|
||||
//y -= 0x10;
|
||||
//CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Mixing: {0:####0}", CDTXMania.Sound管理.GetMixingStreams() ) );
|
||||
//y -= 0x10;
|
||||
//CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Streams: {0:####0}", CDTXMania.Sound管理.GetStreams() ) );
|
||||
//y -= 0x10;
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint(x, y, C文字コンソール.Eフォント種別.白, string.Format( "ListChip: {0:####0}", _chipCounts[0]));
|
||||
y -= 0x10;
|
||||
TJAPlayer3.act文字コンソール.tPrint(x, y, C文字コンソール.Eフォント種別.白, string.Format( "ListChipM: {0:####0}", _chipCounts[1]));
|
||||
|
||||
//CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound CPU : {0:####0.00}%", CDTXMania.Sound管理.GetCPUusage() ) );
|
||||
//y -= 0x10;
|
||||
//CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Mixing: {0:####0}", CDTXMania.Sound管理.GetMixingStreams() ) );
|
||||
//y -= 0x10;
|
||||
//CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Streams: {0:####0}", CDTXMania.Sound管理.GetStreams() ) );
|
||||
//y -= 0x10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -136,72 +136,46 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (TJAPlayer3.DTX.bチップがある.Branch)
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
nNoteCount[0] = TJAPlayer3.DTX.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX.listChip_Branch[2].Count; i++)
|
||||
{
|
||||
var chip = TJAPlayer3.DTX.listChip_Branch[2][i];
|
||||
//nBalloonCount[0] += TJAPlayer3.DTX.listChip_Branch[2][i].nRollCount;
|
||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip_Branch[2][i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[0] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
//pChip.n発声時刻ms
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nNoteCount[0] = TJAPlayer3.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX.listChip.Count; i++)
|
||||
{
|
||||
var chip = TJAPlayer3.DTX.listChip[i];
|
||||
//nBalloonCount[0] += TJAPlayer3.DTX.listChip[i].nRollCount;
|
||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip[i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[0] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
var _dtx = (i == 0) ? TJAPlayer3.DTX : TJAPlayer3.DTX_2P;
|
||||
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 2)
|
||||
{
|
||||
if (TJAPlayer3.DTX_2P.bチップがある.Branch)
|
||||
{
|
||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX_2P.listChip_Branch[2].Count; i++)
|
||||
{
|
||||
var chip = TJAPlayer3.DTX_2P.listChip_Branch[2][i];
|
||||
//nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip_Branch[2][i].nRollCount;
|
||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip_Branch[2][i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[1] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX_2P.listChip.Count; i++)
|
||||
{
|
||||
var chip = TJAPlayer3.DTX_2P.listChip[i];
|
||||
//nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip[i].nRollCount;
|
||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip[i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[1] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int _totalNotes = 0;
|
||||
int _totalBalloons = 0;
|
||||
double _totalRolls = 0;
|
||||
|
||||
/*
|
||||
for (int j = 0; j < (_dtx.bチップがある.Branch ? 2 : 1); j++)
|
||||
{
|
||||
var _list = (j == 0) ? _dtx.listChip : _dtx.listChip_Branch[2];
|
||||
|
||||
_totalNotes += _list.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int k = 0; k < _list.Count; k++)
|
||||
{
|
||||
var _chip = _list[k];
|
||||
_totalBalloons += _chip.nBalloon;
|
||||
if (NotesManager.IsRoll(_chip))
|
||||
_totalRolls += (_chip.nノーツ終了時刻ms - _chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
var _list = (_dtx.bチップがある.Branch) ? _dtx.listChip_Branch[2] : _dtx.listChip;
|
||||
|
||||
_totalNotes += _list.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int k = 0; k < _list.Count; k++)
|
||||
{
|
||||
var _chip = _list[k];
|
||||
_totalBalloons += _chip.nBalloon;
|
||||
if (NotesManager.IsRoll(_chip))
|
||||
_totalRolls += (_chip.nノーツ終了時刻ms - _chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
|
||||
nNoteCount[i] = _totalNotes;
|
||||
nBalloonCount[i] = _totalBalloons;
|
||||
nRollTimeMs[i] = _totalRolls;
|
||||
}
|
||||
|
||||
for (int k = 0; k < TJAPlayer3.ConfigIni.nPlayerCount; k++)
|
||||
{
|
||||
@ -4184,7 +4158,8 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
dTX.listChip[A].b可視 = false;
|
||||
if (!dTX.listChip[A].IsEndedBranching)
|
||||
dTX.listChip[A].b可視 = false;
|
||||
}
|
||||
//共通なため分岐させない.
|
||||
dTX.listChip[A].eNoteState = ENoteState.none;
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user