Better score calculation for dan charts, tried something for branches in dans but doesn't work yet
This commit is contained in:
parent
254c4eb463
commit
eb3f67e0a3
@ -1246,14 +1246,20 @@ namespace TJAPlayer3
|
|||||||
private bool bMOVIEOFFSETの値がマイナスである = false;
|
private bool bMOVIEOFFSETの値がマイナスである = false;
|
||||||
private double dbNowBPM = 120.0;
|
private double dbNowBPM = 120.0;
|
||||||
private int nDELAY = 0;
|
private int nDELAY = 0;
|
||||||
|
|
||||||
public bool[] bHasBranch = new bool[(int)Difficulty.Total] { false, false, false, false, false, false, false };
|
public bool[] bHasBranch = new bool[(int)Difficulty.Total] { false, false, false, false, false, false, false };
|
||||||
|
|
||||||
|
public bool[] bHasBranchDan = new bool[1] { false };
|
||||||
|
|
||||||
//分岐関連
|
//分岐関連
|
||||||
private ECourse n現在のコース = ECourse.eNormal;
|
private ECourse n現在のコース = ECourse.eNormal;
|
||||||
|
|
||||||
private bool b最初の分岐である;
|
private bool b最初の分岐である;
|
||||||
public int[] nノーツ数 = new int[4]; //3:共通
|
public int[] nノーツ数 = new int[4]; //3:共通
|
||||||
|
|
||||||
public int[] nDan_NotesCount = new int[1];
|
public int[] nDan_NotesCount = new int[1];
|
||||||
|
// public int[] nDan_BallonCount = new int[1];
|
||||||
|
|
||||||
public int[] nノーツ数_Branch = new int[4]; //
|
public int[] nノーツ数_Branch = new int[4]; //
|
||||||
public CChip[] pDan_LastChip;
|
public CChip[] pDan_LastChip;
|
||||||
public int[] n風船数 = new int[4]; //0~2:各コース 3:共通
|
public int[] n風船数 = new int[4]; //0~2:各コース 3:共通
|
||||||
@ -4073,6 +4079,9 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
this.listWAV[1].strファイル名 = "";
|
this.listWAV[1].strファイル名 = "";
|
||||||
|
|
||||||
|
Array.Resize(ref bHasBranchDan, List_DanSongs.Count);
|
||||||
|
bHasBranchDan[bHasBranchDan.Length - 1] = false;
|
||||||
|
|
||||||
// チップを配置。
|
// チップを配置。
|
||||||
this.listChip.Add(nextSongnextSongChip);
|
this.listChip.Add(nextSongnextSongChip);
|
||||||
|
|
||||||
@ -4504,13 +4513,20 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
//風船はこのままでも機能しているので何もしない.
|
//風船はこのままでも機能しているので何もしない.
|
||||||
|
|
||||||
if (this.b最初の分岐である == false)
|
if (this.b最初の分岐である == false)
|
||||||
this.n風船数[(int)this.n現在のコース]++;
|
{
|
||||||
else
|
this.n風船数[(int)this.n現在のコース]++;
|
||||||
this.n風船数[3]++;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.n風船数[3]++;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Array.Resize(ref nDan_NotesCount, nDan_NotesCount.Length + 1);
|
Array.Resize(ref nDan_NotesCount, nDan_NotesCount.Length + 1);
|
||||||
|
// Array.Resize(ref nDan_BallonCount, nDan_BallonCount.Length + 1);
|
||||||
|
|
||||||
this.listChip.Add(chip);
|
this.listChip.Add(chip);
|
||||||
|
|
||||||
if(IsEndedBranching)
|
if(IsEndedBranching)
|
||||||
@ -4804,6 +4820,11 @@ namespace TJAPlayer3
|
|||||||
//本来はヘッダ命令ではありませんが、難易度ごとに違う項目なのでここで読み込ませます。
|
//本来はヘッダ命令ではありませんが、難易度ごとに違う項目なのでここで読み込ませます。
|
||||||
//Lengthのチェックをされる前ににif文を入れています。
|
//Lengthのチェックをされる前ににif文を入れています。
|
||||||
this.bHasBranch[this.n参照中の難易度] = true;
|
this.bHasBranch[this.n参照中の難易度] = true;
|
||||||
|
|
||||||
|
if (this.n参照中の難易度 == (int)Difficulty.Dan)
|
||||||
|
{
|
||||||
|
this.bHasBranchDan[this.bHasBranchDan.Length - 1] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//まずは「:」でSplitして割り当てる。
|
//まずは「:」でSplitして割り当てる。
|
||||||
|
@ -1969,7 +1969,8 @@ namespace TJAPlayer3
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TJAPlayer3.Tx.SongSelect_Branch_Text != null && TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.b譜面分岐[TJAPlayer3.stage選曲.n現在選択中の曲の難易度])
|
if (TJAPlayer3.Tx.SongSelect_Branch_Text != null
|
||||||
|
&& TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.b譜面分岐[TJAPlayer3.stage選曲.n現在選択中の曲の難易度])
|
||||||
TJAPlayer3.Tx.SongSelect_Branch_Text.t2D描画(TJAPlayer3.app.Device, 483, TJAPlayer3.Skin.SongSelect_Overall_Y + 21);
|
TJAPlayer3.Tx.SongSelect_Branch_Text.t2D描画(TJAPlayer3.app.Device, 483, TJAPlayer3.Skin.SongSelect_Overall_Y + 21);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -374,6 +374,27 @@ namespace TJAPlayer3
|
|||||||
this.ListDan_Number = 0;
|
this.ListDan_Number = 0;
|
||||||
this.IsDanFailed = false;
|
this.IsDanFailed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void ftDanReSetScoreNiji(int songNotes, int ballons)
|
||||||
|
{
|
||||||
|
if (songNotes == 0 && ballons == 0)
|
||||||
|
{
|
||||||
|
nAddScoreNiji[0] = 1000000;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nAddScoreNiji[0] = (double)Math.Ceiling((decimal)(1000000 - (ballons * 100)) / songNotes / 10) * 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ftDanReSetBranches(bool hasBranches)
|
||||||
|
{
|
||||||
|
this.tBranchReset(0);
|
||||||
|
TJAPlayer3.stage選曲.r確定されたスコア.譜面情報.b譜面分岐[(int)Difficulty.Dan] = hasBranches;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public override void On非活性化()
|
public override void On非活性化()
|
||||||
{
|
{
|
||||||
this.bgmlength = 1;
|
this.bgmlength = 1;
|
||||||
|
@ -76,11 +76,20 @@ namespace TJAPlayer3
|
|||||||
}
|
}
|
||||||
|
|
||||||
ScreenPoint = new double[] { TJAPlayer3.Skin.nScrollFieldBGX[0] - TJAPlayer3.Tx.DanC_Screen.szテクスチャサイズ.Width / 2, 1280 };
|
ScreenPoint = new double[] { TJAPlayer3.Skin.nScrollFieldBGX[0] - TJAPlayer3.Tx.DanC_Screen.szテクスチャサイズ.Width / 2, 1280 };
|
||||||
TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreDiff);
|
|
||||||
|
TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreDiff);
|
||||||
|
|
||||||
|
TJAPlayer3.stage演奏ドラム画面.ftDanReSetScoreNiji(TJAPlayer3.DTX.nDan_NotesCount[NowShowingNumber], 0);
|
||||||
|
TJAPlayer3.stage演奏ドラム画面.ftDanReSetBranches(TJAPlayer3.DTX.bHasBranchDan[NowShowingNumber]);
|
||||||
|
|
||||||
IsAnimating = true;
|
IsAnimating = true;
|
||||||
|
|
||||||
//段位道場
|
//段位道場
|
||||||
//TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
|
//TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
|
||||||
TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, "段位道場", 1 + NowShowingNumber + "曲目");
|
TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title,
|
||||||
|
CLangManager.LangInstance.GetString(101),
|
||||||
|
1 + NowShowingNumber + "曲目");
|
||||||
|
|
||||||
if (number == 0) Sound_Section_First?.t再生を開始する();
|
if (number == 0) Sound_Section_First?.t再生を開始する();
|
||||||
else Sound_Section?.t再生を開始する();
|
else Sound_Section?.t再生を開始する();
|
||||||
}
|
}
|
||||||
@ -261,6 +270,8 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
// 音源が終了したやつの分岐。
|
// 音源が終了したやつの分岐。
|
||||||
// ( CDTXMania.DTX.listChip.Count > 0 ) ? CDTXMania.DTX.listChip[ CDTXMania.DTX.listChip.Count - 1 ].n発声時刻ms : 0;
|
// ( CDTXMania.DTX.listChip.Count > 0 ) ? CDTXMania.DTX.listChip[ CDTXMania.DTX.listChip.Count - 1 ].n発声時刻ms : 0;
|
||||||
|
|
||||||
|
// Bug here when charts have an extra roll ?
|
||||||
if(!IsEnded[NowShowingNumber])
|
if(!IsEnded[NowShowingNumber])
|
||||||
{
|
{
|
||||||
if (TJAPlayer3.DTX.listChip.Count <= 0) continue;
|
if (TJAPlayer3.DTX.listChip.Count <= 0) continue;
|
||||||
@ -501,6 +512,7 @@ namespace TJAPlayer3
|
|||||||
return base.On進行描画();
|
return base.On進行描画();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Regular ingame exams draw
|
||||||
public void DrawExam(Dan_C[] dan_C)
|
public void DrawExam(Dan_C[] dan_C)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user