chore: Detach the CChip class, few code translation and deprecate unused items
This commit is contained in:
parent
36c5a62eed
commit
fe0617afe4
@ -1587,7 +1587,6 @@ internal class CConfigIni : INotifyPropertyChanged {
|
|||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
this.bReverse[i] = false;
|
this.bReverse[i] = false;
|
||||||
this.JudgeTextDisplayPosition[i] = EJudgeTextDisplayPosition.AboveLane;
|
this.JudgeTextDisplayPosition[i] = EJudgeTextDisplayPosition.AboveLane;
|
||||||
this.eInvisible[i] = EInvisible.Off;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2233,16 +2232,6 @@ internal class CConfigIni : INotifyPropertyChanged {
|
|||||||
sw.WriteLine("; Enable countdown in songselect.(0:No, 1:Yes)");
|
sw.WriteLine("; Enable countdown in songselect.(0:No, 1:Yes)");
|
||||||
sw.WriteLine("EnableCountDownTimer={0}", this.bEnableCountdownTimer ? 1 : 0);
|
sw.WriteLine("EnableCountDownTimer={0}", this.bEnableCountdownTimer ? 1 : 0);
|
||||||
sw.WriteLine();
|
sw.WriteLine();
|
||||||
|
|
||||||
#region [ Invisible ]
|
|
||||||
|
|
||||||
sw.WriteLine("; ドラムチップ非表示モード (0:OFF, 1=SEMI, 2:FULL)");
|
|
||||||
sw.WriteLine("; Drums chip invisible mode");
|
|
||||||
sw.WriteLine("DrumsInvisible={0}", (int)this.eInvisible.Drums);
|
|
||||||
sw.WriteLine();
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
sw.WriteLine("; ドラムREVERSEモード(0:OFF, 1:ON)");
|
sw.WriteLine("; ドラムREVERSEモード(0:OFF, 1:ON)");
|
||||||
sw.WriteLine("DrumsReverse={0}", this.bReverse.Drums ? 1 : 0);
|
sw.WriteLine("DrumsReverse={0}", this.bReverse.Drums ? 1 : 0);
|
||||||
sw.WriteLine();
|
sw.WriteLine();
|
||||||
@ -3042,10 +3031,6 @@ internal class CConfigIni : INotifyPropertyChanged {
|
|||||||
case "EnableCountDownTimer":
|
case "EnableCountDownTimer":
|
||||||
this.bEnableCountdownTimer = CConversion.bONorOFF(value[0]);
|
this.bEnableCountdownTimer = CConversion.bONorOFF(value[0]);
|
||||||
break;
|
break;
|
||||||
case "DrumsInvisible":
|
|
||||||
this.eInvisible.Drums =
|
|
||||||
(EInvisible)CConversion.ParseIntInRange(value, 0, 2, (int)this.eInvisible.Drums);
|
|
||||||
break;
|
|
||||||
case "DrumsReverse":
|
case "DrumsReverse":
|
||||||
this.bReverse.Drums = CConversion.bONorOFF(value[0]);
|
this.bReverse.Drums = CConversion.bONorOFF(value[0]);
|
||||||
break;
|
break;
|
||||||
|
@ -318,7 +318,7 @@ public static class ImGuiDebugWindow {
|
|||||||
ImGui.Text("BPM: " + dtx.BASEBPM + (dtx.listBPM.Count > 1 ? (" (Min: " + dtx.MinBPM + " / Max: " + dtx.MaxBPM + ")") : ""));
|
ImGui.Text("BPM: " + dtx.BASEBPM + (dtx.listBPM.Count > 1 ? (" (Min: " + dtx.MinBPM + " / Max: " + dtx.MaxBPM + ")") : ""));
|
||||||
if (dtx.listBPM.Count > 1) {
|
if (dtx.listBPM.Count > 1) {
|
||||||
if (ImGui.TreeNodeEx($"BPM List ({dtx.listBPM.Count})###GAME_BPM_LIST_{i}")) {
|
if (ImGui.TreeNodeEx($"BPM List ({dtx.listBPM.Count})###GAME_BPM_LIST_{i}")) {
|
||||||
foreach (CDTX.CBPM bpm in dtx.listBPM.Values) {
|
foreach (CTja.CBPM bpm in dtx.listBPM.Values) {
|
||||||
ImGui.Text($"(Time: {String.Format("{0:0.#}s", (bpm.bpm_change_time / 1000))}) {bpm.dbBPM値}");
|
ImGui.Text($"(Time: {String.Format("{0:0.#}s", (bpm.bpm_change_time / 1000))}) {bpm.dbBPM値}");
|
||||||
}
|
}
|
||||||
ImGui.TreePop();
|
ImGui.TreePop();
|
||||||
|
@ -64,104 +64,104 @@ internal class OpenTaiko : Game {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region [DTX instances]
|
#region [DTX instances]
|
||||||
public static CDTX DTX {
|
public static CTja TJA {
|
||||||
get {
|
get {
|
||||||
return dtx[0];
|
return tja[0];
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if ((dtx[0] != null) && (app != null)) {
|
if ((tja[0] != null) && (app != null)) {
|
||||||
dtx[0].DeActivate();
|
tja[0].DeActivate();
|
||||||
dtx[0].ReleaseManagedResource();
|
tja[0].ReleaseManagedResource();
|
||||||
dtx[0].ReleaseUnmanagedResource();
|
tja[0].ReleaseUnmanagedResource();
|
||||||
app.listトップレベルActivities.Remove(dtx[0]);
|
app.listTopLevelActivities.Remove(tja[0]);
|
||||||
}
|
}
|
||||||
dtx[0] = value;
|
tja[0] = value;
|
||||||
if ((dtx[0] != null) && (app != null)) {
|
if ((tja[0] != null) && (app != null)) {
|
||||||
app.listトップレベルActivities.Add(dtx[0]);
|
app.listTopLevelActivities.Add(tja[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static CDTX DTX_2P {
|
public static CTja TJA_2P {
|
||||||
get {
|
get {
|
||||||
return dtx[1];
|
return tja[1];
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if ((dtx[1] != null) && (app != null)) {
|
if ((tja[1] != null) && (app != null)) {
|
||||||
dtx[1].DeActivate();
|
tja[1].DeActivate();
|
||||||
dtx[1].ReleaseManagedResource();
|
tja[1].ReleaseManagedResource();
|
||||||
dtx[1].ReleaseUnmanagedResource();
|
tja[1].ReleaseUnmanagedResource();
|
||||||
app.listトップレベルActivities.Remove(dtx[1]);
|
app.listTopLevelActivities.Remove(tja[1]);
|
||||||
}
|
}
|
||||||
dtx[1] = value;
|
tja[1] = value;
|
||||||
if ((dtx[1] != null) && (app != null)) {
|
if ((tja[1] != null) && (app != null)) {
|
||||||
app.listトップレベルActivities.Add(dtx[1]);
|
app.listTopLevelActivities.Add(tja[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static CDTX DTX_3P {
|
public static CTja TJA_3P {
|
||||||
get {
|
get {
|
||||||
return dtx[2];
|
return tja[2];
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if ((dtx[2] != null) && (app != null)) {
|
if ((tja[2] != null) && (app != null)) {
|
||||||
dtx[2].DeActivate();
|
tja[2].DeActivate();
|
||||||
dtx[2].ReleaseManagedResource();
|
tja[2].ReleaseManagedResource();
|
||||||
dtx[2].ReleaseUnmanagedResource();
|
tja[2].ReleaseUnmanagedResource();
|
||||||
app.listトップレベルActivities.Remove(dtx[2]);
|
app.listTopLevelActivities.Remove(tja[2]);
|
||||||
}
|
}
|
||||||
dtx[2] = value;
|
tja[2] = value;
|
||||||
if ((dtx[2] != null) && (app != null)) {
|
if ((tja[2] != null) && (app != null)) {
|
||||||
app.listトップレベルActivities.Add(dtx[2]);
|
app.listTopLevelActivities.Add(tja[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static CDTX DTX_4P {
|
public static CTja TJA_4P {
|
||||||
get {
|
get {
|
||||||
return dtx[3];
|
return tja[3];
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if ((dtx[3] != null) && (app != null)) {
|
if ((tja[3] != null) && (app != null)) {
|
||||||
dtx[3].DeActivate();
|
tja[3].DeActivate();
|
||||||
dtx[3].ReleaseManagedResource();
|
tja[3].ReleaseManagedResource();
|
||||||
dtx[3].ReleaseUnmanagedResource();
|
tja[3].ReleaseUnmanagedResource();
|
||||||
app.listトップレベルActivities.Remove(dtx[3]);
|
app.listTopLevelActivities.Remove(tja[3]);
|
||||||
}
|
}
|
||||||
dtx[3] = value;
|
tja[3] = value;
|
||||||
if ((dtx[3] != null) && (app != null)) {
|
if ((tja[3] != null) && (app != null)) {
|
||||||
app.listトップレベルActivities.Add(dtx[3]);
|
app.listTopLevelActivities.Add(tja[3]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static CDTX DTX_5P {
|
public static CTja TJA_5P {
|
||||||
get {
|
get {
|
||||||
return dtx[4];
|
return tja[4];
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if ((dtx[4] != null) && (app != null)) {
|
if ((tja[4] != null) && (app != null)) {
|
||||||
dtx[4].DeActivate();
|
tja[4].DeActivate();
|
||||||
dtx[4].ReleaseManagedResource();
|
tja[4].ReleaseManagedResource();
|
||||||
dtx[4].ReleaseUnmanagedResource();
|
tja[4].ReleaseUnmanagedResource();
|
||||||
app.listトップレベルActivities.Remove(dtx[4]);
|
app.listTopLevelActivities.Remove(tja[4]);
|
||||||
}
|
}
|
||||||
dtx[4] = value;
|
tja[4] = value;
|
||||||
if ((dtx[4] != null) && (app != null)) {
|
if ((tja[4] != null) && (app != null)) {
|
||||||
app.listトップレベルActivities.Add(dtx[4]);
|
app.listTopLevelActivities.Add(tja[4]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CDTX GetDTX(int player) {
|
public static CTja GetDTX(int player) {
|
||||||
switch (player) {
|
switch (player) {
|
||||||
case 0:
|
case 0:
|
||||||
return OpenTaiko.DTX;
|
return OpenTaiko.TJA;
|
||||||
case 1:
|
case 1:
|
||||||
return OpenTaiko.DTX_2P;
|
return OpenTaiko.TJA_2P;
|
||||||
case 2:
|
case 2:
|
||||||
return OpenTaiko.DTX_3P;
|
return OpenTaiko.TJA_3P;
|
||||||
case 3:
|
case 3:
|
||||||
return OpenTaiko.DTX_4P;
|
return OpenTaiko.TJA_4P;
|
||||||
case 4:
|
case 4:
|
||||||
return OpenTaiko.DTX_5P;
|
return OpenTaiko.TJA_5P;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -471,14 +471,14 @@ internal class OpenTaiko : Game {
|
|||||||
this.bマウスカーソル表示中 = false;
|
this.bマウスカーソル表示中 = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.listトップレベルActivities != null) {
|
if (this.listTopLevelActivities != null) {
|
||||||
foreach (CActivity activity in this.listトップレベルActivities)
|
foreach (CActivity activity in this.listTopLevelActivities)
|
||||||
activity.CreateUnmanagedResource();
|
activity.CreateUnmanagedResource();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected override void UnloadContent() {
|
protected override void UnloadContent() {
|
||||||
if (this.listトップレベルActivities != null) {
|
if (this.listTopLevelActivities != null) {
|
||||||
foreach (CActivity activity in this.listトップレベルActivities)
|
foreach (CActivity activity in this.listTopLevelActivities)
|
||||||
activity.ReleaseUnmanagedResource();
|
activity.ReleaseUnmanagedResource();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1115,10 +1115,10 @@ internal class OpenTaiko : Game {
|
|||||||
#region [ ESC押下時は、曲の読み込みを中止して選曲画面に戻る ]
|
#region [ ESC押下時は、曲の読み込みを中止して選曲画面に戻る ]
|
||||||
if (this.n進行描画の戻り値 == (int)ESongLoadingScreenReturnValue.LoadCanceled) {
|
if (this.n進行描画の戻り値 == (int)ESongLoadingScreenReturnValue.LoadCanceled) {
|
||||||
//DTX.t全チップの再生停止();
|
//DTX.t全チップの再生停止();
|
||||||
if (DTX != null) {
|
if (TJA != null) {
|
||||||
DTX.DeActivate();
|
TJA.DeActivate();
|
||||||
DTX.ReleaseManagedResource();
|
TJA.ReleaseManagedResource();
|
||||||
DTX.ReleaseUnmanagedResource();
|
TJA.ReleaseUnmanagedResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ???
|
// ???
|
||||||
@ -1187,10 +1187,10 @@ for (int i = 0; i < 3; i++) {
|
|||||||
switch (this.n進行描画の戻り値) {
|
switch (this.n進行描画の戻り値) {
|
||||||
case (int)EGameplayScreenReturnValue.ReloadAndReplay:
|
case (int)EGameplayScreenReturnValue.ReloadAndReplay:
|
||||||
#region [ DTXファイルを再読み込みして、再演奏 ]
|
#region [ DTXファイルを再読み込みして、再演奏 ]
|
||||||
DTX.t全チップの再生停止();
|
TJA.t全チップの再生停止();
|
||||||
DTX.DeActivate();
|
TJA.DeActivate();
|
||||||
DTX.ReleaseManagedResource();
|
TJA.ReleaseManagedResource();
|
||||||
DTX.ReleaseUnmanagedResource();
|
TJA.ReleaseUnmanagedResource();
|
||||||
r現在のステージ.DeActivate();
|
r現在のステージ.DeActivate();
|
||||||
if (!ConfigIni.PreAssetsLoading) {
|
if (!ConfigIni.PreAssetsLoading) {
|
||||||
r現在のステージ.ReleaseManagedResource();
|
r現在のステージ.ReleaseManagedResource();
|
||||||
@ -1219,10 +1219,10 @@ for (int i = 0; i < 3; i++) {
|
|||||||
#region [ 演奏キャンセル ]
|
#region [ 演奏キャンセル ]
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
|
|
||||||
DTX.t全チップの再生停止();
|
TJA.t全チップの再生停止();
|
||||||
DTX.DeActivate();
|
TJA.DeActivate();
|
||||||
DTX.ReleaseManagedResource();
|
TJA.ReleaseManagedResource();
|
||||||
DTX.ReleaseUnmanagedResource();
|
TJA.ReleaseUnmanagedResource();
|
||||||
r現在のステージ.DeActivate();
|
r現在のステージ.DeActivate();
|
||||||
if (!ConfigIni.PreAssetsLoading) {
|
if (!ConfigIni.PreAssetsLoading) {
|
||||||
r現在のステージ.ReleaseManagedResource();
|
r現在のステージ.ReleaseManagedResource();
|
||||||
@ -1251,10 +1251,10 @@ for (int i = 0; i < 3; i++) {
|
|||||||
#region [ 演奏失敗(StageFailed) ]
|
#region [ 演奏失敗(StageFailed) ]
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
|
|
||||||
DTX.t全チップの再生停止();
|
TJA.t全チップの再生停止();
|
||||||
DTX.DeActivate();
|
TJA.DeActivate();
|
||||||
DTX.ReleaseManagedResource();
|
TJA.ReleaseManagedResource();
|
||||||
DTX.ReleaseUnmanagedResource();
|
TJA.ReleaseUnmanagedResource();
|
||||||
r現在のステージ.DeActivate();
|
r現在のステージ.DeActivate();
|
||||||
if (!ConfigIni.PreAssetsLoading) {
|
if (!ConfigIni.PreAssetsLoading) {
|
||||||
r現在のステージ.ReleaseManagedResource();
|
r現在のステージ.ReleaseManagedResource();
|
||||||
@ -1313,10 +1313,10 @@ for (int i = 0; i < 3; i++) {
|
|||||||
//-----------------------------
|
//-----------------------------
|
||||||
if (this.n進行描画の戻り値 != 0) {
|
if (this.n進行描画の戻り値 != 0) {
|
||||||
//DTX.t全チップの再生一時停止();
|
//DTX.t全チップの再生一時停止();
|
||||||
DTX.t全チップの再生停止とミキサーからの削除();
|
TJA.t全チップの再生停止とミキサーからの削除();
|
||||||
DTX.DeActivate();
|
TJA.DeActivate();
|
||||||
DTX.ReleaseManagedResource();
|
TJA.ReleaseManagedResource();
|
||||||
DTX.ReleaseUnmanagedResource();
|
TJA.ReleaseUnmanagedResource();
|
||||||
r現在のステージ.DeActivate();
|
r現在のステージ.DeActivate();
|
||||||
if (!ConfigIni.PreAssetsLoading) {
|
if (!ConfigIni.PreAssetsLoading) {
|
||||||
r現在のステージ.ReleaseManagedResource();
|
r現在のステージ.ReleaseManagedResource();
|
||||||
@ -1505,9 +1505,9 @@ for (int i = 0; i < 3; i++) {
|
|||||||
|
|
||||||
Camera *= Matrix4X4.CreateTranslation(fCamXOffset / 1280, fCamYOffset / 720, 1f);
|
Camera *= Matrix4X4.CreateTranslation(fCamXOffset / 1280, fCamYOffset / 720, 1f);
|
||||||
|
|
||||||
if (OpenTaiko.DTX != null) {
|
if (OpenTaiko.TJA != null) {
|
||||||
//object rendering
|
//object rendering
|
||||||
foreach (KeyValuePair<string, CSongObject> pair in OpenTaiko.DTX.listObj) {
|
foreach (KeyValuePair<string, CSongObject> pair in OpenTaiko.TJA.listObj) {
|
||||||
pair.Value.tDraw();
|
pair.Value.tDraw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1754,11 +1754,11 @@ for (int i = 0; i < 3; i++) {
|
|||||||
private bool b終了処理完了済み;
|
private bool b終了処理完了済み;
|
||||||
public bool bネットワークに接続中 { get; private set; } = false;
|
public bool bネットワークに接続中 { get; private set; } = false;
|
||||||
private long 前回のシステム時刻ms = long.MinValue;
|
private long 前回のシステム時刻ms = long.MinValue;
|
||||||
private static CDTX[] dtx = new CDTX[5];
|
private static CTja[] tja = new CTja[5];
|
||||||
|
|
||||||
public static TextureLoader Tx = new TextureLoader();
|
public static TextureLoader Tx = new TextureLoader();
|
||||||
|
|
||||||
public List<CActivity> listトップレベルActivities;
|
public List<CActivity> listTopLevelActivities;
|
||||||
private int n進行描画の戻り値;
|
private int n進行描画の戻り値;
|
||||||
private string strWindowTitle
|
private string strWindowTitle
|
||||||
// ayo komi isn't this useless code? - tfd500
|
// ayo komi isn't this useless code? - tfd500
|
||||||
@ -1830,7 +1830,7 @@ for (int i = 0; i < 3; i++) {
|
|||||||
//---------------------
|
//---------------------
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
DTX = null;
|
TJA = null;
|
||||||
|
|
||||||
#region [ Skin の初期化 ]
|
#region [ Skin の初期化 ]
|
||||||
//---------------------
|
//---------------------
|
||||||
@ -2086,22 +2086,22 @@ for (int i = 0; i < 3; i++) {
|
|||||||
stage終了 = new CStage終了();
|
stage終了 = new CStage終了();
|
||||||
NamePlate = new CNamePlate();
|
NamePlate = new CNamePlate();
|
||||||
SaveFile = 0;
|
SaveFile = 0;
|
||||||
this.listトップレベルActivities = new List<CActivity>();
|
this.listTopLevelActivities = new List<CActivity>();
|
||||||
this.listトップレベルActivities.Add(actEnumSongs);
|
this.listTopLevelActivities.Add(actEnumSongs);
|
||||||
this.listトップレベルActivities.Add(actTextConsole);
|
this.listTopLevelActivities.Add(actTextConsole);
|
||||||
this.listトップレベルActivities.Add(stage起動);
|
this.listTopLevelActivities.Add(stage起動);
|
||||||
this.listトップレベルActivities.Add(stageタイトル);
|
this.listTopLevelActivities.Add(stageタイトル);
|
||||||
this.listトップレベルActivities.Add(stageコンフィグ);
|
this.listTopLevelActivities.Add(stageコンフィグ);
|
||||||
this.listトップレベルActivities.Add(stageSongSelect);
|
this.listTopLevelActivities.Add(stageSongSelect);
|
||||||
this.listトップレベルActivities.Add(stage段位選択);
|
this.listTopLevelActivities.Add(stage段位選択);
|
||||||
this.listトップレベルActivities.Add(stageHeya);
|
this.listTopLevelActivities.Add(stageHeya);
|
||||||
this.listトップレベルActivities.Add(stageOnlineLounge);
|
this.listTopLevelActivities.Add(stageOnlineLounge);
|
||||||
this.listトップレベルActivities.Add(stageTowerSelect);
|
this.listTopLevelActivities.Add(stageTowerSelect);
|
||||||
this.listトップレベルActivities.Add(stage曲読み込み);
|
this.listTopLevelActivities.Add(stage曲読み込み);
|
||||||
this.listトップレベルActivities.Add(stage演奏ドラム画面);
|
this.listTopLevelActivities.Add(stage演奏ドラム画面);
|
||||||
this.listトップレベルActivities.Add(stage結果);
|
this.listTopLevelActivities.Add(stage結果);
|
||||||
this.listトップレベルActivities.Add(stageChangeSkin);
|
this.listTopLevelActivities.Add(stageChangeSkin);
|
||||||
this.listトップレベルActivities.Add(stage終了);
|
this.listTopLevelActivities.Add(stage終了);
|
||||||
//---------------------
|
//---------------------
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -80,10 +80,10 @@ class CSongReplay {
|
|||||||
public void tDanInputSongResults(int songNo) {
|
public void tDanInputSongResults(int songNo) {
|
||||||
if (songNo >= DanSongCount) return;
|
if (songNo >= DanSongCount) return;
|
||||||
if (songNo < 0) return;
|
if (songNo < 0) return;
|
||||||
IndividualGoodCount[songNo] = OpenTaiko.stage演奏ドラム画面.n良[songNo];
|
IndividualGoodCount[songNo] = OpenTaiko.stage演奏ドラム画面.nGood[songNo];
|
||||||
IndividualOkCount[songNo] = OpenTaiko.stage演奏ドラム画面.n可[songNo];
|
IndividualOkCount[songNo] = OpenTaiko.stage演奏ドラム画面.nOk[songNo];
|
||||||
IndividualBadCount[songNo] = OpenTaiko.stage演奏ドラム画面.n不可[songNo];
|
IndividualBadCount[songNo] = OpenTaiko.stage演奏ドラム画面.nBad[songNo];
|
||||||
IndividualRollCount[songNo] = OpenTaiko.stage演奏ドラム画面.n連打[songNo];
|
IndividualRollCount[songNo] = OpenTaiko.stage演奏ドラム画面.nRoll[songNo];
|
||||||
IndividualMaxCombo[songNo] = OpenTaiko.stage演奏ドラム画面.nHighestCombo[songNo];
|
IndividualMaxCombo[songNo] = OpenTaiko.stage演奏ドラム画面.nHighestCombo[songNo];
|
||||||
IndividualBoomCount[songNo] = OpenTaiko.stage演奏ドラム画面.nMine[songNo];
|
IndividualBoomCount[songNo] = OpenTaiko.stage演奏ドラム画面.nMine[songNo];
|
||||||
IndividualADLibCount[songNo] = OpenTaiko.stage演奏ドラム画面.nADLIB[songNo];
|
IndividualADLibCount[songNo] = OpenTaiko.stage演奏ドラム画面.nADLIB[songNo];
|
||||||
@ -259,7 +259,7 @@ class CSongReplay {
|
|||||||
OkCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nGood;
|
OkCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nGood;
|
||||||
BadCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nMiss;
|
BadCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nMiss;
|
||||||
RollCount = OpenTaiko.stage演奏ドラム画面.GetRoll(storedPlayer);
|
RollCount = OpenTaiko.stage演奏ドラム画面.GetRoll(storedPlayer);
|
||||||
MaxCombo = OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[storedPlayer];
|
MaxCombo = OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[storedPlayer];
|
||||||
BoomCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nMine;
|
BoomCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nMine;
|
||||||
ADLibCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nADLIB;
|
ADLibCount = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nADLIB;
|
||||||
Score = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nScore;
|
Score = OpenTaiko.stage演奏ドラム画面.CChartScore[storedPlayer].nScore;
|
||||||
|
@ -315,7 +315,7 @@ internal class DBSaves {
|
|||||||
currentPlay.HighScoreGoodCount = chartScore.nGreat;
|
currentPlay.HighScoreGoodCount = chartScore.nGreat;
|
||||||
currentPlay.HighScoreOkCount = chartScore.nGood;
|
currentPlay.HighScoreOkCount = chartScore.nGood;
|
||||||
currentPlay.HighScoreBadCount = chartScore.nMiss;
|
currentPlay.HighScoreBadCount = chartScore.nMiss;
|
||||||
currentPlay.HighScoreMaxCombo = OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[player];
|
currentPlay.HighScoreMaxCombo = OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[player];
|
||||||
currentPlay.HighScoreRollCount = chartScore.nRoll;
|
currentPlay.HighScoreRollCount = chartScore.nRoll;
|
||||||
currentPlay.HighScoreADLibCount = chartScore.nADLIB;
|
currentPlay.HighScoreADLibCount = chartScore.nADLIB;
|
||||||
currentPlay.HighScoreBoomCount = chartScore.nMine;
|
currentPlay.HighScoreBoomCount = chartScore.nMine;
|
||||||
|
@ -420,13 +420,13 @@ class HGaugeMethods {
|
|||||||
|
|
||||||
public static float UNSAFE_KillZonePercent(int player) {
|
public static float UNSAFE_KillZonePercent(int player) {
|
||||||
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(player)].data.Character];
|
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(player)].data.Character];
|
||||||
CDTX[] dtxs =
|
CTja[] dtxs =
|
||||||
{
|
{
|
||||||
OpenTaiko.DTX,
|
OpenTaiko.TJA,
|
||||||
OpenTaiko.DTX_2P,
|
OpenTaiko.TJA_2P,
|
||||||
OpenTaiko.DTX_3P,
|
OpenTaiko.TJA_3P,
|
||||||
OpenTaiko.DTX_4P,
|
OpenTaiko.TJA_4P,
|
||||||
OpenTaiko.DTX_5P
|
OpenTaiko.TJA_5P
|
||||||
};
|
};
|
||||||
|
|
||||||
// Total hits and perfect hits
|
// Total hits and perfect hits
|
||||||
@ -448,13 +448,13 @@ class HGaugeMethods {
|
|||||||
|
|
||||||
public static void UNSAFE_DrawGaugeFast(int player, int opacity, int rainbowTextureIndex, int soulFlameIndex) {
|
public static void UNSAFE_DrawGaugeFast(int player, int opacity, int rainbowTextureIndex, int soulFlameIndex) {
|
||||||
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(player)].data.Character];
|
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(player)].data.Character];
|
||||||
CDTX[] dtxs =
|
CTja[] dtxs =
|
||||||
{
|
{
|
||||||
OpenTaiko.DTX,
|
OpenTaiko.TJA,
|
||||||
OpenTaiko.DTX_2P,
|
OpenTaiko.TJA_2P,
|
||||||
OpenTaiko.DTX_3P,
|
OpenTaiko.TJA_3P,
|
||||||
OpenTaiko.DTX_4P,
|
OpenTaiko.TJA_4P,
|
||||||
OpenTaiko.DTX_5P
|
OpenTaiko.TJA_5P
|
||||||
};
|
};
|
||||||
|
|
||||||
// Set box
|
// Set box
|
||||||
@ -595,13 +595,13 @@ class HGaugeMethods {
|
|||||||
|
|
||||||
public static void UNSAFE_DrawResultGaugeFast(int player, int shiftPos, int pos, int segmentsDisplayed, int rainbowTextureIndex, int soulFlameIndex, int uioffset_x) {
|
public static void UNSAFE_DrawResultGaugeFast(int player, int shiftPos, int pos, int segmentsDisplayed, int rainbowTextureIndex, int soulFlameIndex, int uioffset_x) {
|
||||||
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(player)].data.Character];
|
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(player)].data.Character];
|
||||||
CDTX[] dtxs =
|
CTja[] dtxs =
|
||||||
{
|
{
|
||||||
OpenTaiko.DTX,
|
OpenTaiko.TJA,
|
||||||
OpenTaiko.DTX_2P,
|
OpenTaiko.TJA_2P,
|
||||||
OpenTaiko.DTX_3P,
|
OpenTaiko.TJA_3P,
|
||||||
OpenTaiko.DTX_4P,
|
OpenTaiko.TJA_4P,
|
||||||
OpenTaiko.DTX_5P
|
OpenTaiko.TJA_5P
|
||||||
};
|
};
|
||||||
|
|
||||||
// Set box
|
// Set box
|
||||||
|
@ -41,10 +41,10 @@ class HScenePreset {
|
|||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (sectionIsValid
|
if (sectionIsValid
|
||||||
&& OpenTaiko.DTX.scenePreset != null
|
&& OpenTaiko.TJA.scenePreset != null
|
||||||
&& ((Dictionary<string, DBSkinPreset.SkinScene>)_ps).ContainsKey(OpenTaiko.DTX.scenePreset)) // If currently selected song has valid SCENEPRESET metadata within TJA
|
&& ((Dictionary<string, DBSkinPreset.SkinScene>)_ps).ContainsKey(OpenTaiko.TJA.scenePreset)) // If currently selected song has valid SCENEPRESET metadata within TJA
|
||||||
{
|
{
|
||||||
preset = ((Dictionary<string, DBSkinPreset.SkinScene>)_ps)[OpenTaiko.DTX.scenePreset];
|
preset = ((Dictionary<string, DBSkinPreset.SkinScene>)_ps)[OpenTaiko.TJA.scenePreset];
|
||||||
} else if (sectionIsValid
|
} else if (sectionIsValid
|
||||||
&& OpenTaiko.stageSongSelect.rChoosenSong.strScenePreset != null
|
&& OpenTaiko.stageSongSelect.rChoosenSong.strScenePreset != null
|
||||||
&& ((Dictionary<string, DBSkinPreset.SkinScene>)_ps).ContainsKey(OpenTaiko.stageSongSelect.rChoosenSong.strScenePreset)) {
|
&& ((Dictionary<string, DBSkinPreset.SkinScene>)_ps).ContainsKey(OpenTaiko.stageSongSelect.rChoosenSong.strScenePreset)) {
|
||||||
|
@ -60,7 +60,7 @@ internal class CScore {
|
|||||||
public STDGBVALUE<int> 演奏回数;
|
public STDGBVALUE<int> 演奏回数;
|
||||||
public STHISTORY 演奏履歴;
|
public STHISTORY 演奏履歴;
|
||||||
public bool レベルを非表示にする;
|
public bool レベルを非表示にする;
|
||||||
public CDTX.E種別 曲種別;
|
public CTja.E種別 曲種別;
|
||||||
public double Bpm;
|
public double Bpm;
|
||||||
public double BaseBpm;
|
public double BaseBpm;
|
||||||
public double MinBpm;
|
public double MinBpm;
|
||||||
@ -77,7 +77,7 @@ internal class CScore {
|
|||||||
public int[] nレベル;
|
public int[] nレベル;
|
||||||
public int[] nクリア; //0:未クリア 1:クリア 2:フルコンボ 3:ドンダフルコンボ
|
public int[] nクリア; //0:未クリア 1:クリア 2:フルコンボ 3:ドンダフルコンボ
|
||||||
public int[] nスコアランク; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
|
public int[] nスコアランク; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
|
||||||
public CDTX.ELevelIcon[] nLevelIcon;
|
public CTja.ELevelIcon[] nLevelIcon;
|
||||||
|
|
||||||
// Tower lifes
|
// Tower lifes
|
||||||
public int nLife;
|
public int nLife;
|
||||||
@ -243,7 +243,7 @@ internal class CScore {
|
|||||||
this.譜面情報.演奏履歴.行7 = "";
|
this.譜面情報.演奏履歴.行7 = "";
|
||||||
this.譜面情報.レベルを非表示にする = false;
|
this.譜面情報.レベルを非表示にする = false;
|
||||||
this.譜面情報.最大スキル = new ST譜面情報.STSKILL();
|
this.譜面情報.最大スキル = new ST譜面情報.STSKILL();
|
||||||
this.譜面情報.曲種別 = CDTX.E種別.DTX;
|
this.譜面情報.曲種別 = CTja.E種別.DTX;
|
||||||
this.譜面情報.Bpm = 120.0;
|
this.譜面情報.Bpm = 120.0;
|
||||||
this.譜面情報.MinBpm = 120.0;
|
this.譜面情報.MinBpm = 120.0;
|
||||||
this.譜面情報.MaxBpm = 120.0;
|
this.譜面情報.MaxBpm = 120.0;
|
||||||
@ -257,7 +257,7 @@ internal class CScore {
|
|||||||
this.譜面情報.nハイスコア = new int[(int)Difficulty.Total];
|
this.譜面情報.nハイスコア = new int[(int)Difficulty.Total];
|
||||||
this.譜面情報.strサブタイトル = "";
|
this.譜面情報.strサブタイトル = "";
|
||||||
this.譜面情報.nレベル = new int[(int)Difficulty.Total] { -1, -1, -1, -1, -1, -1, -1 };
|
this.譜面情報.nレベル = new int[(int)Difficulty.Total] { -1, -1, -1, -1, -1, -1, -1 };
|
||||||
this.譜面情報.nLevelIcon = new CDTX.ELevelIcon[(int)Difficulty.Total] { CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone };
|
this.譜面情報.nLevelIcon = new CTja.ELevelIcon[(int)Difficulty.Total] { CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone };
|
||||||
this.譜面情報.nクリア = new int[5];
|
this.譜面情報.nクリア = new int[5];
|
||||||
this.譜面情報.nスコアランク = new int[5];
|
this.譜面情報.nスコアランク = new int[5];
|
||||||
this.譜面情報.nExamResult = new List<int[]> { };
|
this.譜面情報.nExamResult = new List<int[]> { };
|
||||||
|
@ -56,17 +56,17 @@ internal class CSongListNode {
|
|||||||
public CLocalizationData ldSubtitle = new CLocalizationData();
|
public CLocalizationData ldSubtitle = new CLocalizationData();
|
||||||
public string strMaker = "";
|
public string strMaker = "";
|
||||||
public string[] strNotesDesigner = new string[(int)Difficulty.Total] { "", "", "", "", "", "", "" };
|
public string[] strNotesDesigner = new string[(int)Difficulty.Total] { "", "", "", "", "", "", "" };
|
||||||
public CDTX.ESide nSide = CDTX.ESide.eEx;
|
public CTja.ESide nSide = CTja.ESide.eEx;
|
||||||
public bool bExplicit = false;
|
public bool bExplicit = false;
|
||||||
public bool bMovie = false;
|
public bool bMovie = false;
|
||||||
public int[] nLevel = new int[(int)Difficulty.Total] { 0, 0, 0, 0, 0, 0, 0 };
|
public int[] nLevel = new int[(int)Difficulty.Total] { 0, 0, 0, 0, 0, 0, 0 };
|
||||||
public CDTX.ELevelIcon[] nLevelIcon = new CDTX.ELevelIcon[(int)Difficulty.Total] { CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone, CDTX.ELevelIcon.eNone };
|
public CTja.ELevelIcon[] nLevelIcon = new CTja.ELevelIcon[(int)Difficulty.Total] { CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone, CTja.ELevelIcon.eNone };
|
||||||
|
|
||||||
// Branches
|
// Branches
|
||||||
public bool bBranch = false;
|
public bool bBranch = false;
|
||||||
|
|
||||||
// Dan
|
// Dan
|
||||||
public List<CDTX.DanSongs> DanSongs;
|
public List<CTja.DanSongs> DanSongs;
|
||||||
public Dan_C[] Dan_C;
|
public Dan_C[] Dan_C;
|
||||||
|
|
||||||
// Tower Lives
|
// Tower Lives
|
||||||
|
@ -146,7 +146,7 @@ internal class CSongs管理 {
|
|||||||
|
|
||||||
bool b = false;
|
bool b = false;
|
||||||
for (int n = 0; n < (int)Difficulty.Total; n++) {
|
for (int n = 0; n < (int)Difficulty.Total; n++) {
|
||||||
CDTX dtx = new CDTX(fileinfo.FullName, false, 1.0, 0, 1);
|
CTja dtx = new CTja(fileinfo.FullName, false, 1.0, 0, 1);
|
||||||
if (dtx.b譜面が存在する[n]) {
|
if (dtx.b譜面が存在する[n]) {
|
||||||
c曲リストノード.difficultiesCount++;
|
c曲リストノード.difficultiesCount++;
|
||||||
c曲リストノード.rParentNode = node親;
|
c曲リストノード.rParentNode = node親;
|
||||||
@ -183,9 +183,9 @@ internal class CSongs管理 {
|
|||||||
c曲リストノード.nTotalFloor = 0;
|
c曲リストノード.nTotalFloor = 0;
|
||||||
|
|
||||||
for (int i = 0; i < dtx.listChip.Count; i++) {
|
for (int i = 0; i < dtx.listChip.Count; i++) {
|
||||||
CDTX.CChip pChip = dtx.listChip[i];
|
CChip pChip = dtx.listChip[i];
|
||||||
|
|
||||||
if (pChip.n整数値_内部番号 > c曲リストノード.nTotalFloor && pChip.nチャンネル番号 == 0x50) c曲リストノード.nTotalFloor = pChip.n整数値_内部番号;
|
if (pChip.n整数値_内部番号 > c曲リストノード.nTotalFloor && pChip.nChannelNo == 0x50) c曲リストノード.nTotalFloor = pChip.n整数値_内部番号;
|
||||||
|
|
||||||
}
|
}
|
||||||
c曲リストノード.nTotalFloor++;
|
c曲リストノード.nTotalFloor++;
|
||||||
@ -282,7 +282,7 @@ internal class CSongs管理 {
|
|||||||
|
|
||||||
this.n検索された曲ノード数++;
|
this.n検索された曲ノード数++;
|
||||||
} else {
|
} else {
|
||||||
CDTX dtx = new CDTX(filePath, false, 1.0, 0, 0);
|
CTja dtx = new CTja(filePath, false, 1.0, 0, 0);
|
||||||
CSongListNode c曲リストノード = new CSongListNode();
|
CSongListNode c曲リストノード = new CSongListNode();
|
||||||
c曲リストノード.nodeType = CSongListNode.ENodeType.SCORE;
|
c曲リストノード.nodeType = CSongListNode.ENodeType.SCORE;
|
||||||
|
|
||||||
@ -607,7 +607,7 @@ internal class CSongs管理 {
|
|||||||
//-----------------
|
//-----------------
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void LoadChartInfo(CSongListNode c曲リストノード, CDTX cdtx, int i) {
|
private void LoadChartInfo(CSongListNode c曲リストノード, CTja cdtx, int i) {
|
||||||
if ((c曲リストノード.score[i] != null) && !c曲リストノード.score[i].bSongDBにキャッシュがあった) {
|
if ((c曲リストノード.score[i] != null) && !c曲リストノード.score[i].bSongDBにキャッシュがあった) {
|
||||||
#region [ DTX ファイルのヘッダだけ読み込み、Cスコア.譜面情報 を設定する ]
|
#region [ DTX ファイルのヘッダだけ読み込み、Cスコア.譜面情報 を設定する ]
|
||||||
//-----------------
|
//-----------------
|
||||||
@ -654,9 +654,9 @@ internal class CSongs管理 {
|
|||||||
|
|
||||||
c曲リストノード.score[i].譜面情報.nTotalFloor = 0;
|
c曲リストノード.score[i].譜面情報.nTotalFloor = 0;
|
||||||
for (int k = 0; k < cdtx.listChip.Count; k++) {
|
for (int k = 0; k < cdtx.listChip.Count; k++) {
|
||||||
CDTX.CChip pChip = cdtx.listChip[k];
|
CChip pChip = cdtx.listChip[k];
|
||||||
|
|
||||||
if (pChip.n整数値_内部番号 > c曲リストノード.score[i].譜面情報.nTotalFloor && pChip.nチャンネル番号 == 0x50)
|
if (pChip.n整数値_内部番号 > c曲リストノード.score[i].譜面情報.nTotalFloor && pChip.nChannelNo == 0x50)
|
||||||
c曲リストノード.score[i].譜面情報.nTotalFloor = pChip.n整数値_内部番号;
|
c曲リストノード.score[i].譜面情報.nTotalFloor = pChip.n整数値_内部番号;
|
||||||
}
|
}
|
||||||
c曲リストノード.score[i].譜面情報.nTotalFloor++;
|
c曲リストノード.score[i].譜面情報.nTotalFloor++;
|
||||||
|
File diff suppressed because it is too large
Load Diff
354
OpenTaiko/src/Songs/TJA/CChip.cs
Normal file
354
OpenTaiko/src/Songs/TJA/CChip.cs
Normal file
@ -0,0 +1,354 @@
|
|||||||
|
using FDK;
|
||||||
|
using static OpenTaiko.CTja;
|
||||||
|
|
||||||
|
namespace OpenTaiko;
|
||||||
|
|
||||||
|
internal class CChip : IComparable<CChip>, ICloneable {
|
||||||
|
public EScrollMode eScrollMode;
|
||||||
|
public bool bHit;
|
||||||
|
public bool bVisible = true;
|
||||||
|
public bool bHideBarLine = true;
|
||||||
|
public bool bProcessed = false;
|
||||||
|
public bool bShow;
|
||||||
|
public bool bShowRoll;
|
||||||
|
public bool bBranch = false;
|
||||||
|
public double dbChipSizeRatio = 1.0;
|
||||||
|
public double db実数値;
|
||||||
|
public double dbBPM;
|
||||||
|
public float fNow_Measure_s = 4.0f;//強制分岐のために追加.2020.04.21.akasoko26
|
||||||
|
public float fNow_Measure_m = 4.0f;//強制分岐のために追加.2020.04.21.akasoko26
|
||||||
|
public bool IsEndedBranching = false;//分岐が終わった時の連打譜面が非可視化になってしまうためフラグを追加.2020.04.21.akasoko26
|
||||||
|
public double dbSCROLL;
|
||||||
|
public double dbSCROLL_Y;
|
||||||
|
public ECourse nBranch;
|
||||||
|
public int nSenote;
|
||||||
|
public int nState;
|
||||||
|
public int nRollCount;
|
||||||
|
public int nBalloon;
|
||||||
|
public int nProcessTime;
|
||||||
|
public int nScrollDirection;
|
||||||
|
public int nDisplayPriority; //(特殊)現状連打との判断目的で使用
|
||||||
|
public ENoteState eNoteState;
|
||||||
|
public int nChannelNo;
|
||||||
|
public int VideoStartTimeMs;
|
||||||
|
public int nHorizontalChipDistance;
|
||||||
|
public int nNoteTipDistance_X;
|
||||||
|
public int nNoteTipDistance_Y;
|
||||||
|
public int n整数値;
|
||||||
|
public int n文字数 = 16;
|
||||||
|
|
||||||
|
public int n整数値_内部番号;
|
||||||
|
public int nOpacity = 255;
|
||||||
|
public int n発声位置;
|
||||||
|
public double nBranchCondition1_Professional;
|
||||||
|
public double nBranchCondition2_Master;
|
||||||
|
public EBranchConditionType eBranchCondition;
|
||||||
|
|
||||||
|
public double db発声位置; // 発声時刻を格納していた変数のうちの1つをfloat型からdouble型に変更。(kairera0467)
|
||||||
|
public double fBMSCROLLTime;
|
||||||
|
public double fBMSCROLLTime_end;
|
||||||
|
public int n発声時刻ms;
|
||||||
|
public double n分岐時刻ms;
|
||||||
|
|
||||||
|
|
||||||
|
public double db発声時刻ms;
|
||||||
|
public int nNoteEndPosition;
|
||||||
|
public int nNoteEndTimems;
|
||||||
|
public int nノーツ出現時刻ms;
|
||||||
|
public int nノーツ移動開始時刻ms;
|
||||||
|
public int n分岐回数;
|
||||||
|
public int n連打音符State;
|
||||||
|
public int nLag; // 2011.2.1 yyagi
|
||||||
|
public double db発声時刻;
|
||||||
|
public double db判定終了時刻;//連打系音符で使用
|
||||||
|
public double dbProcess_Time;
|
||||||
|
public int nPlayerSide;
|
||||||
|
public bool bGOGOTIME = false; //2018.03.11 k1airera0467 ゴーゴータイム内のチップであるか
|
||||||
|
public int nListPosition;
|
||||||
|
public bool IsFixedSENote;
|
||||||
|
public bool IsHitted = false;
|
||||||
|
public bool IsMissed = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//EXTENDED COMMANDS
|
||||||
|
public int fCamTimeMs;
|
||||||
|
public string strCamEaseType;
|
||||||
|
public Easing.CalcType fCamMoveType;
|
||||||
|
|
||||||
|
public float fCamScrollStartX;
|
||||||
|
public float fCamScrollStartY;
|
||||||
|
public float fCamScrollEndX;
|
||||||
|
public float fCamScrollEndY;
|
||||||
|
|
||||||
|
public float fCamRotationStart;
|
||||||
|
public float fCamRotationEnd;
|
||||||
|
|
||||||
|
public float fCamZoomStart;
|
||||||
|
public float fCamZoomEnd;
|
||||||
|
|
||||||
|
public float fCamScaleStartX;
|
||||||
|
public float fCamScaleStartY;
|
||||||
|
public float fCamScaleEndX;
|
||||||
|
public float fCamScaleEndY;
|
||||||
|
|
||||||
|
public Color4 borderColor;
|
||||||
|
|
||||||
|
public int fObjTimeMs;
|
||||||
|
public string strObjName;
|
||||||
|
public string strObjEaseType;
|
||||||
|
public Easing.CalcType objCalcType;
|
||||||
|
|
||||||
|
public float fObjX;
|
||||||
|
public float fObjY;
|
||||||
|
|
||||||
|
public float fObjStart;
|
||||||
|
public float fObjEnd;
|
||||||
|
|
||||||
|
public CSongObject obj;
|
||||||
|
|
||||||
|
public string strTargetTxName;
|
||||||
|
public string strNewPath;
|
||||||
|
|
||||||
|
public string strConfigValue;
|
||||||
|
|
||||||
|
public double dbAnimInterval;
|
||||||
|
|
||||||
|
public int intFrame;
|
||||||
|
|
||||||
|
public EGameType eGameType;
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
public bool b自動再生音チャンネルである {
|
||||||
|
get {
|
||||||
|
int num = this.nChannelNo;
|
||||||
|
if ((((num != 1) && ((0x61 > num) || (num > 0x69))) && ((0x70 > num) || (num > 0x79))) && ((0x80 > num) || (num > 0x89))) {
|
||||||
|
return ((0x90 <= num) && (num <= 0x92));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public bool b演奏終了後も再生が続くチップである; // #32248 2013.10.14 yyagi
|
||||||
|
public CCounter RollDelay; // 18.9.22 AioiLight Add 連打時に赤くなるやつのタイマー
|
||||||
|
public CCounter RollInputTime; // 18.9.22 AioiLight Add 連打入力後、RollDelayが作動するまでのタイマー
|
||||||
|
public int RollEffectLevel; // 18.9.22 AioiLight Add 連打時に赤くなるやつの度合い
|
||||||
|
|
||||||
|
public CChip() {
|
||||||
|
this.nHorizontalChipDistance = 0;
|
||||||
|
}
|
||||||
|
public void t初期化() {
|
||||||
|
this.bBranch = false;
|
||||||
|
this.nChannelNo = 0;
|
||||||
|
this.n整数値 = 0; //整数値をList上の番号として用いる。
|
||||||
|
this.n整数値_内部番号 = 0;
|
||||||
|
this.db実数値 = 0.0;
|
||||||
|
this.n発声位置 = 0;
|
||||||
|
this.db発声位置 = 0.0D;
|
||||||
|
this.n発声時刻ms = 0;
|
||||||
|
this.db発声時刻ms = 0.0D;
|
||||||
|
this.fBMSCROLLTime = 0;
|
||||||
|
this.nNoteEndPosition = 0;
|
||||||
|
this.nNoteEndTimems = 0;
|
||||||
|
this.nDisplayPriority = 0;
|
||||||
|
this.nLag = -999;
|
||||||
|
this.b演奏終了後も再生が続くチップである = false;
|
||||||
|
this.nListPosition = 0; // Unused
|
||||||
|
this.dbChipSizeRatio = 1.0; // Unused
|
||||||
|
this.bHit = false;
|
||||||
|
this.IsMissed = false;
|
||||||
|
this.bVisible = true;
|
||||||
|
this.nOpacity = 0xff;
|
||||||
|
this.nHorizontalChipDistance = 0;
|
||||||
|
this.nNoteTipDistance_X = 0;
|
||||||
|
this.nNoteTipDistance_Y = 0;
|
||||||
|
this.dbBPM = 120.0;
|
||||||
|
this.fNow_Measure_m = 4.0f;
|
||||||
|
this.fNow_Measure_s = 4.0f;
|
||||||
|
this.nScrollDirection = 0;
|
||||||
|
this.dbSCROLL = 1.0;
|
||||||
|
this.dbSCROLL_Y = 0.0f;
|
||||||
|
}
|
||||||
|
public override string ToString() {
|
||||||
|
|
||||||
|
//2016.10.07 kairera0467 近日中に再編成予定
|
||||||
|
string[] chToStr =
|
||||||
|
{
|
||||||
|
//システム
|
||||||
|
"??", "バックコーラス", "小節長変更", "BPM変更", "??", "??", "??", "??",
|
||||||
|
"BPM変更(拡張)", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
//太鼓1P(移動予定)
|
||||||
|
"??", "ドン", "カツ", "ドン(大)", "カツ(大)", "連打", "連打(大)", "ふうせん連打",
|
||||||
|
"連打終点", "芋", "ドン(手)", "カッ(手)", "Mine", "??", "??", "AD-LIB",
|
||||||
|
|
||||||
|
//太鼓予備
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
//太鼓予備
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
//太鼓予備
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
//システム
|
||||||
|
"小節線", "拍線", "??", "??", "AVI", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
//システム(移動予定)
|
||||||
|
"SCROLL", "DELAY", "ゴーゴータイム開始", "ゴーゴータイム終了", "カメラ移動開始(縦)", "カメラ移動終了(縦)", "カメラ移動開始(横)", "カメラ移動終了(横)",
|
||||||
|
"カメラズーム開始", "カメラズーム終了", "カメラ回転開始", "カメラ回転終了", "カメラスケーリング開始(横)", "カメラスケーリング終了(横)", "カメラスケーリング開始(縦)", "カメラスケーリング終了(縦)",
|
||||||
|
|
||||||
|
"ボーダーカラー変更", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
//太鼓1P、システム(現行)
|
||||||
|
"??", "??", "??", "太鼓_赤", "太鼓_青", "太鼓_赤(大)", "太鼓_青(大)", "太鼓_黄",
|
||||||
|
"太鼓_黄(大)", "太鼓_風船", "太鼓_連打末端", "太鼓_芋", "??", "SCROLL", "ゴーゴータイム開始", "ゴーゴータイム終了",
|
||||||
|
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "太鼓 AD-LIB",
|
||||||
|
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
|
||||||
|
"??", "??", "??", "??", "0xC4", "0xC5", "0xC6", "??",
|
||||||
|
"??", "??", "0xCA", "??", "??", "??", "??", "0xCF",
|
||||||
|
|
||||||
|
//システム(現行)
|
||||||
|
"0xD0", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "ミキサー追加", "ミキサー削除", "DELAY", "譜面分岐リセット", "譜面分岐アニメ", "譜面分岐内部処理",
|
||||||
|
|
||||||
|
//システム(現行)
|
||||||
|
"小節線ON/OFF", "分岐固定", "判定枠移動", "", "", "", "", "",
|
||||||
|
"", "", "", "", "", "", "", "",
|
||||||
|
|
||||||
|
"0xF0", "歌詞", "??", "SUDDEN", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??", "譜面終了",
|
||||||
|
|
||||||
|
// Extra notes
|
||||||
|
|
||||||
|
"KaDon", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
"??", "??", "??", "??", "??", "??", "??", "??",
|
||||||
|
};
|
||||||
|
return string.Format("CChip: 位置:{0:D4}.{1:D3}, 時刻{2:D6}, Ch:{3:X2}({4}), Pn:{5}({11})(内部{6}), Pd:{7}, Sz:{8}, BMScroll:{9}, Auto:{10}, コース:{11}",
|
||||||
|
this.n発声位置 / 384, this.n発声位置 % 384,
|
||||||
|
this.n発声時刻ms,
|
||||||
|
this.nChannelNo, chToStr[this.nChannelNo],
|
||||||
|
this.n整数値, this.n整数値_内部番号,
|
||||||
|
this.db実数値,
|
||||||
|
this.dbChipSizeRatio,
|
||||||
|
this.fBMSCROLLTime,
|
||||||
|
this.b自動再生音チャンネルである,
|
||||||
|
this.nBranch,
|
||||||
|
CTja.tZZ(this.n整数値));
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// チップの再生長を取得する。現状、WAVチップとBGAチップでのみ使用可能。
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>再生長(ms)</returns>
|
||||||
|
public int GetDuration() {
|
||||||
|
int nDuration = 0;
|
||||||
|
|
||||||
|
if (this.nChannelNo == 0x01) // WAV
|
||||||
|
{
|
||||||
|
CTja.CWAV wc;
|
||||||
|
OpenTaiko.TJA.listWAV.TryGetValue(this.n整数値_内部番号, out wc);
|
||||||
|
if (wc == null) {
|
||||||
|
nDuration = 0;
|
||||||
|
} else {
|
||||||
|
nDuration = (wc.rSound[0] == null) ? 0 : wc.rSound[0].TotalPlayTime;
|
||||||
|
}
|
||||||
|
} else if (this.nChannelNo == 0x54) // AVI
|
||||||
|
{
|
||||||
|
CVideoDecoder wc;
|
||||||
|
OpenTaiko.TJA.listVD.TryGetValue(this.n整数値_内部番号, out wc);
|
||||||
|
if (wc == null) {
|
||||||
|
nDuration = 0;
|
||||||
|
} else {
|
||||||
|
nDuration = (int)(wc.Duration * 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
double _db再生速度 = OpenTaiko.TJA.db再生速度;
|
||||||
|
return (int)(nDuration / _db再生速度);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region [ IComparable 実装 ]
|
||||||
|
//-----------------
|
||||||
|
|
||||||
|
private static readonly byte[] n優先度 = new byte[] {
|
||||||
|
5, 5, 3, 7, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, //0x00
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x10
|
||||||
|
7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, //0x20
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x30
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x40
|
||||||
|
9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x50
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x60
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x70
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x80
|
||||||
|
5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, //0x90
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0xA0
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0xB0
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0xC0
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 4, 4, //0xD0
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0xE0
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0xF0
|
||||||
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //0x100
|
||||||
|
};
|
||||||
|
|
||||||
|
public int CompareTo(CChip other) {
|
||||||
|
// まずは位置で比較。
|
||||||
|
|
||||||
|
//BGMチップだけ発声位置
|
||||||
|
//if( this.nチャンネル番号 == 0x01 || this.nチャンネル番号 == 0x02 )
|
||||||
|
//{
|
||||||
|
// if( this.n発声位置 < other.n発声位置 )
|
||||||
|
// return -1;
|
||||||
|
|
||||||
|
// if( this.n発声位置 > other.n発声位置 )
|
||||||
|
// return 1;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//if( this.n発声位置 < other.n発声位置 )
|
||||||
|
// return -1;
|
||||||
|
|
||||||
|
//if( this.n発声位置 > other.n発声位置 )
|
||||||
|
// return 1;
|
||||||
|
|
||||||
|
//譜面解析メソッドV4では発声時刻msで比較する。
|
||||||
|
var n発声時刻msCompareToResult = 0;
|
||||||
|
n発声時刻msCompareToResult = this.n発声時刻ms.CompareTo(other.n発声時刻ms);
|
||||||
|
if (n発声時刻msCompareToResult != 0) {
|
||||||
|
return n発声時刻msCompareToResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
n発声時刻msCompareToResult = this.db発声時刻ms.CompareTo(other.db発声時刻ms);
|
||||||
|
if (n発声時刻msCompareToResult != 0) {
|
||||||
|
return n発声時刻msCompareToResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 位置が同じなら優先度で比較。
|
||||||
|
return n優先度[this.nChannelNo].CompareTo(n優先度[other.nChannelNo]);
|
||||||
|
}
|
||||||
|
//-----------------
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// shallow copy。
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public object Clone() {
|
||||||
|
return MemberwiseClone();
|
||||||
|
}
|
||||||
|
}
|
@ -4,7 +4,7 @@ using System.Net;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using FDK;
|
using FDK;
|
||||||
using SkiaSharp;
|
using SkiaSharp;
|
||||||
using static OpenTaiko.CDTX;
|
using static OpenTaiko.CTja;
|
||||||
|
|
||||||
namespace OpenTaiko;
|
namespace OpenTaiko;
|
||||||
|
|
||||||
|
@ -1249,7 +1249,7 @@ class TextureLoader {
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
if (OpenTaiko.ConfigIni.PreAssetsLoading) {
|
if (OpenTaiko.ConfigIni.PreAssetsLoading) {
|
||||||
foreach (var act in OpenTaiko.app.listトップレベルActivities) {
|
foreach (var act in OpenTaiko.app.listTopLevelActivities) {
|
||||||
act.CreateManagedResource();
|
act.CreateManagedResource();
|
||||||
act.CreateUnmanagedResource();
|
act.CreateUnmanagedResource();
|
||||||
}
|
}
|
||||||
@ -2268,7 +2268,7 @@ class TextureLoader {
|
|||||||
|
|
||||||
//if (TJAPlayer3.ConfigIni.PreAssetsLoading)
|
//if (TJAPlayer3.ConfigIni.PreAssetsLoading)
|
||||||
{
|
{
|
||||||
foreach (var act in OpenTaiko.app.listトップレベルActivities) {
|
foreach (var act in OpenTaiko.app.listTopLevelActivities) {
|
||||||
act.ReleaseManagedResource();
|
act.ReleaseManagedResource();
|
||||||
act.ReleaseUnmanagedResource();
|
act.ReleaseUnmanagedResource();
|
||||||
}
|
}
|
||||||
|
@ -255,7 +255,7 @@ class CActSelect段位リスト : CStage {
|
|||||||
public int[] n曲難易度;
|
public int[] n曲難易度;
|
||||||
public int[] n曲レベル;
|
public int[] n曲レベル;
|
||||||
public CSongListNode.ENodeType eノード種別;
|
public CSongListNode.ENodeType eノード種別;
|
||||||
public List<CDTX.DanSongs> List_DanSongs;
|
public List<CTja.DanSongs> List_DanSongs;
|
||||||
public CTexture txBarCenter;
|
public CTexture txBarCenter;
|
||||||
public CTexture txDanPlate;
|
public CTexture txDanPlate;
|
||||||
|
|
||||||
|
@ -35,7 +35,6 @@ internal class CActSelectPopupMenu : CActivity {
|
|||||||
}
|
}
|
||||||
public virtual void tActivatePopupMenu(EInstrumentPad einst) {
|
public virtual void tActivatePopupMenu(EInstrumentPad einst) {
|
||||||
nItemSelecting = -1; // #24757 2011.4.1 yyagi: Clear sorting status in each stating menu.
|
nItemSelecting = -1; // #24757 2011.4.1 yyagi: Clear sorting status in each stating menu.
|
||||||
this.eInst = einst;
|
|
||||||
this.bIsActivePopupMenu = true;
|
this.bIsActivePopupMenu = true;
|
||||||
this.bIsSelectingIntItem = false;
|
this.bIsSelectingIntItem = false;
|
||||||
this.bGotoDetailConfig = false;
|
this.bGotoDetailConfig = false;
|
||||||
@ -242,20 +241,13 @@ internal class CActSelectPopupMenu : CActivity {
|
|||||||
#region [ キー入力: 決定 ]
|
#region [ キー入力: 決定 ]
|
||||||
// E楽器パート eInst = E楽器パート.UNKNOWN;
|
// E楽器パート eInst = E楽器パート.UNKNOWN;
|
||||||
ESortAction eAction = ESortAction.END;
|
ESortAction eAction = ESortAction.END;
|
||||||
if (OpenTaiko.Pad.bPressed(EInstrumentPad.Guitar, EPad.Decide)) {
|
if (
|
||||||
eInst = EInstrumentPad.Guitar;
|
OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.Decide)
|
||||||
eAction = ESortAction.Decide;
|
|
||||||
} else if (OpenTaiko.Pad.bPressed(EInstrumentPad.Bass, EPad.Decide)) {
|
|
||||||
eInst = EInstrumentPad.Bass;
|
|
||||||
eAction = ESortAction.Decide;
|
|
||||||
} else if (
|
|
||||||
OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.Decide) // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu.
|
|
||||||
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RD)
|
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RD)
|
||||||
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LC)
|
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LC)
|
||||||
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed)
|
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed)
|
||||||
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed)
|
|| OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed)
|
||||||
|| (OpenTaiko.ConfigIni.bEnterIsNotUsedInKeyAssignments && OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return))) {
|
|| (OpenTaiko.ConfigIni.bEnterIsNotUsedInKeyAssignments && OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return))) {
|
||||||
eInst = EInstrumentPad.Drums;
|
|
||||||
eAction = ESortAction.Decide;
|
eAction = ESortAction.Decide;
|
||||||
}
|
}
|
||||||
if (eAction == ESortAction.Decide) // 決定
|
if (eAction == ESortAction.Decide) // 決定
|
||||||
@ -371,7 +363,6 @@ internal class CActSelectPopupMenu : CActivity {
|
|||||||
protected bool bEsc有効;
|
protected bool bEsc有効;
|
||||||
|
|
||||||
internal int n現在の選択行;
|
internal int n現在の選択行;
|
||||||
internal EInstrumentPad eInst = EInstrumentPad.Unknown;
|
|
||||||
|
|
||||||
//private CTexture txPopupMenuBackground;
|
//private CTexture txPopupMenuBackground;
|
||||||
//private CTexture txCursor;
|
//private CTexture txCursor;
|
||||||
|
@ -1757,7 +1757,7 @@ internal class CActSelect曲リスト : CActivity {
|
|||||||
if (diff == 5) {
|
if (diff == 5) {
|
||||||
var _sidet = OpenTaiko.Tx.SongSelect_Tower_Side;
|
var _sidet = OpenTaiko.Tx.SongSelect_Tower_Side;
|
||||||
if (_sidet != null) {
|
if (_sidet != null) {
|
||||||
var _side = (OpenTaiko.stageSongSelect.rNowSelectedSong.nSide == CDTX.ESide.eNormal) ? 0 : 1;
|
var _side = (OpenTaiko.stageSongSelect.rNowSelectedSong.nSide == CTja.ESide.eNormal) ? 0 : 1;
|
||||||
var _sc = _sidet.sz画像サイズ.Width / 2;
|
var _sc = _sidet.sz画像サイズ.Width / 2;
|
||||||
_sidet.t2D描画(
|
_sidet.t2D描画(
|
||||||
OpenTaiko.Skin.SongSelect_Tower_Side[0],
|
OpenTaiko.Skin.SongSelect_Tower_Side[0],
|
||||||
@ -2261,7 +2261,7 @@ internal class CActSelect曲リスト : CActivity {
|
|||||||
public bool BoxCharaChanged;
|
public bool BoxCharaChanged;
|
||||||
|
|
||||||
public int[] ar難易度;
|
public int[] ar難易度;
|
||||||
public CDTX.ELevelIcon[] nLevelIcon;
|
public CTja.ELevelIcon[] nLevelIcon;
|
||||||
public bool[] b分岐;
|
public bool[] b分岐;
|
||||||
public string strジャンル;
|
public string strジャンル;
|
||||||
public string strサブタイトル;
|
public string strサブタイトル;
|
||||||
@ -2955,9 +2955,9 @@ internal class CActSelect曲リスト : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void tDisplayLevelIcon(int x, int y, CDTX.ELevelIcon icon, CTexture iconTex = null) {
|
public void tDisplayLevelIcon(int x, int y, CTja.ELevelIcon icon, CTexture iconTex = null) {
|
||||||
var _tex = (iconTex != null) ? iconTex : OpenTaiko.Tx.SongSelect_Level_Number_Big_Icon;
|
var _tex = (iconTex != null) ? iconTex : OpenTaiko.Tx.SongSelect_Level_Number_Big_Icon;
|
||||||
if (icon != CDTX.ELevelIcon.eNone &&
|
if (icon != CTja.ELevelIcon.eNone &&
|
||||||
_tex != null) {
|
_tex != null) {
|
||||||
var __width = _tex.sz画像サイズ.Width / 3;
|
var __width = _tex.sz画像サイズ.Width / 3;
|
||||||
var __height = _tex.sz画像サイズ.Height;
|
var __height = _tex.sz画像サイズ.Height;
|
||||||
@ -2970,7 +2970,7 @@ internal class CActSelect曲リスト : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void t小文字表示(int x, int y, int num, int diff, CDTX.ELevelIcon icon) {
|
private void t小文字表示(int x, int y, int num, int diff, CTja.ELevelIcon icon) {
|
||||||
int[] nums = CConversion.SeparateDigits(num);
|
int[] nums = CConversion.SeparateDigits(num);
|
||||||
float[] icon_coords = new float[2] { -999, -999 };
|
float[] icon_coords = new float[2] { -999, -999 };
|
||||||
for (int j = 0; j < nums.Length; j++) {
|
for (int j = 0; j < nums.Length; j++) {
|
||||||
|
@ -527,7 +527,7 @@ internal class CActSelect難易度選択画面 : CActivity {
|
|||||||
}
|
}
|
||||||
private STレベル数字[] st小文字位置 = new STレベル数字[10];
|
private STレベル数字[] st小文字位置 = new STレベル数字[10];
|
||||||
|
|
||||||
private void t小文字表示(int num, float x, float y, int diff, CDTX.ELevelIcon icon) {
|
private void t小文字表示(int num, float x, float y, int diff, CTja.ELevelIcon icon) {
|
||||||
int[] nums = CConversion.SeparateDigits(num);
|
int[] nums = CConversion.SeparateDigits(num);
|
||||||
float[] icon_coords = new float[2] { -999, -999 };
|
float[] icon_coords = new float[2] { -999, -999 };
|
||||||
for (int j = 0; j < nums.Length; j++) {
|
for (int j = 0; j < nums.Length; j++) {
|
||||||
|
@ -340,32 +340,32 @@ internal class CStage曲読み込み : CStage {
|
|||||||
TimeSpan span;
|
TimeSpan span;
|
||||||
str = OpenTaiko.stageSongSelect.r確定されたスコア.ファイル情報.ファイルの絶対パス;
|
str = OpenTaiko.stageSongSelect.r確定されたスコア.ファイル情報.ファイルの絶対パス;
|
||||||
|
|
||||||
if ((OpenTaiko.DTX != null) && OpenTaiko.DTX.IsActivated)
|
if ((OpenTaiko.TJA != null) && OpenTaiko.TJA.IsActivated)
|
||||||
OpenTaiko.DTX.DeActivate();
|
OpenTaiko.TJA.DeActivate();
|
||||||
|
|
||||||
//if( CDTXMania.DTX == null )
|
//if( CDTXMania.DTX == null )
|
||||||
{
|
{
|
||||||
OpenTaiko.DTX = new CDTX(str, false, 1.0, 0, 0, 0, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0]);
|
OpenTaiko.TJA = new CTja(str, false, 1.0, 0, 0, 0, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0]);
|
||||||
if (OpenTaiko.ConfigIni.nPlayerCount >= 2)
|
if (OpenTaiko.ConfigIni.nPlayerCount >= 2)
|
||||||
OpenTaiko.DTX_2P = new CDTX(str, false, 1.0, 0, 0, 1, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[1]);
|
OpenTaiko.TJA_2P = new CTja(str, false, 1.0, 0, 0, 1, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[1]);
|
||||||
if (OpenTaiko.ConfigIni.nPlayerCount >= 3)
|
if (OpenTaiko.ConfigIni.nPlayerCount >= 3)
|
||||||
OpenTaiko.DTX_3P = new CDTX(str, false, 1.0, 0, 0, 2, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[2]);
|
OpenTaiko.TJA_3P = new CTja(str, false, 1.0, 0, 0, 2, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[2]);
|
||||||
if (OpenTaiko.ConfigIni.nPlayerCount >= 4)
|
if (OpenTaiko.ConfigIni.nPlayerCount >= 4)
|
||||||
OpenTaiko.DTX_4P = new CDTX(str, false, 1.0, 0, 0, 3, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[3]);
|
OpenTaiko.TJA_4P = new CTja(str, false, 1.0, 0, 0, 3, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[3]);
|
||||||
if (OpenTaiko.ConfigIni.nPlayerCount >= 5)
|
if (OpenTaiko.ConfigIni.nPlayerCount >= 5)
|
||||||
OpenTaiko.DTX_5P = new CDTX(str, false, 1.0, 0, 0, 4, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[4]);
|
OpenTaiko.TJA_5P = new CTja(str, false, 1.0, 0, 0, 4, true, OpenTaiko.stageSongSelect.nChoosenSongDifficulty[4]);
|
||||||
|
|
||||||
if (OpenTaiko.DTX.listErrors.Count != 0) {
|
if (OpenTaiko.TJA.listErrors.Count != 0) {
|
||||||
string message = "";
|
string message = "";
|
||||||
foreach (var text in OpenTaiko.DTX.listErrors) {
|
foreach (var text in OpenTaiko.TJA.listErrors) {
|
||||||
OpenTaiko.VisualLogManager.PushCard(CVisualLogManager.ELogCardType.LogError, text);
|
OpenTaiko.VisualLogManager.PushCard(CVisualLogManager.ELogCardType.LogError, text);
|
||||||
//System.Windows.Forms.MessageBox.Show(text, "譜面にエラーが見つかりました");
|
//System.Windows.Forms.MessageBox.Show(text, "譜面にエラーが見つかりました");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Trace.TraceInformation("---- Song information -----------------");
|
Trace.TraceInformation("---- Song information -----------------");
|
||||||
Trace.TraceInformation("TITLE: {0}", OpenTaiko.DTX.TITLE.GetString(""));
|
Trace.TraceInformation("TITLE: {0}", OpenTaiko.TJA.TITLE.GetString(""));
|
||||||
Trace.TraceInformation("FILE: {0}", OpenTaiko.DTX.strファイル名の絶対パス);
|
Trace.TraceInformation("FILE: {0}", OpenTaiko.TJA.strファイル名の絶対パス);
|
||||||
Trace.TraceInformation("---------------------------");
|
Trace.TraceInformation("---------------------------");
|
||||||
|
|
||||||
span = (TimeSpan)(DateTime.Now - timeBeginLoad);
|
span = (TimeSpan)(DateTime.Now - timeBeginLoad);
|
||||||
@ -373,25 +373,25 @@ internal class CStage曲読み込み : CStage {
|
|||||||
|
|
||||||
// 段位認定モード用。
|
// 段位認定モード用。
|
||||||
#region [dan setup]
|
#region [dan setup]
|
||||||
if (OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Dan && OpenTaiko.DTX.List_DanSongs != null) {
|
if (OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Dan && OpenTaiko.TJA.List_DanSongs != null) {
|
||||||
|
|
||||||
var titleForeColor = OpenTaiko.Skin.Game_DanC_Title_ForeColor;
|
var titleForeColor = OpenTaiko.Skin.Game_DanC_Title_ForeColor;
|
||||||
var titleBackColor = OpenTaiko.Skin.Game_DanC_Title_BackColor;
|
var titleBackColor = OpenTaiko.Skin.Game_DanC_Title_BackColor;
|
||||||
var subtitleForeColor = OpenTaiko.Skin.Game_DanC_SubTitle_ForeColor;
|
var subtitleForeColor = OpenTaiko.Skin.Game_DanC_SubTitle_ForeColor;
|
||||||
var subtitleBackColor = OpenTaiko.Skin.Game_DanC_SubTitle_BackColor;
|
var subtitleBackColor = OpenTaiko.Skin.Game_DanC_SubTitle_BackColor;
|
||||||
|
|
||||||
for (int i = 0; i < OpenTaiko.DTX.List_DanSongs.Count; i++) {
|
for (int i = 0; i < OpenTaiko.TJA.List_DanSongs.Count; i++) {
|
||||||
if (!string.IsNullOrEmpty(OpenTaiko.DTX.List_DanSongs[i].Title)) {
|
if (!string.IsNullOrEmpty(OpenTaiko.TJA.List_DanSongs[i].Title)) {
|
||||||
using (var bmpSongTitle = pfDanTitle.DrawText(OpenTaiko.DTX.List_DanSongs[i].Title, titleForeColor, titleBackColor, null, 30)) {
|
using (var bmpSongTitle = pfDanTitle.DrawText(OpenTaiko.TJA.List_DanSongs[i].Title, titleForeColor, titleBackColor, null, 30)) {
|
||||||
OpenTaiko.DTX.List_DanSongs[i].TitleTex = OpenTaiko.tテクスチャの生成(bmpSongTitle, false);
|
OpenTaiko.TJA.List_DanSongs[i].TitleTex = OpenTaiko.tテクスチャの生成(bmpSongTitle, false);
|
||||||
OpenTaiko.DTX.List_DanSongs[i].TitleTex.vcScaleRatio.X = OpenTaiko.GetSongNameXScaling(ref OpenTaiko.DTX.List_DanSongs[i].TitleTex, OpenTaiko.Skin.Game_DanC_Title_MaxWidth);
|
OpenTaiko.TJA.List_DanSongs[i].TitleTex.vcScaleRatio.X = OpenTaiko.GetSongNameXScaling(ref OpenTaiko.TJA.List_DanSongs[i].TitleTex, OpenTaiko.Skin.Game_DanC_Title_MaxWidth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(OpenTaiko.DTX.List_DanSongs[i].SubTitle)) {
|
if (!string.IsNullOrEmpty(OpenTaiko.TJA.List_DanSongs[i].SubTitle)) {
|
||||||
using (var bmpSongSubTitle = pfDanSubTitle.DrawText(OpenTaiko.DTX.List_DanSongs[i].SubTitle, subtitleForeColor, subtitleBackColor, null, 30)) {
|
using (var bmpSongSubTitle = pfDanSubTitle.DrawText(OpenTaiko.TJA.List_DanSongs[i].SubTitle, subtitleForeColor, subtitleBackColor, null, 30)) {
|
||||||
OpenTaiko.DTX.List_DanSongs[i].SubTitleTex = OpenTaiko.tテクスチャの生成(bmpSongSubTitle, false);
|
OpenTaiko.TJA.List_DanSongs[i].SubTitleTex = OpenTaiko.tテクスチャの生成(bmpSongSubTitle, false);
|
||||||
OpenTaiko.DTX.List_DanSongs[i].SubTitleTex.vcScaleRatio.X = OpenTaiko.GetSongNameXScaling(ref OpenTaiko.DTX.List_DanSongs[i].SubTitleTex, OpenTaiko.Skin.Game_DanC_SubTitle_MaxWidth);
|
OpenTaiko.TJA.List_DanSongs[i].SubTitleTex.vcScaleRatio.X = OpenTaiko.GetSongNameXScaling(ref OpenTaiko.TJA.List_DanSongs[i].SubTitleTex, OpenTaiko.Skin.Game_DanC_SubTitle_MaxWidth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -414,23 +414,23 @@ internal class CStage曲読み込み : CStage {
|
|||||||
|
|
||||||
case CStage.EPhase.SongLoading_LoadWAVFile: {
|
case CStage.EPhase.SongLoading_LoadWAVFile: {
|
||||||
int looptime = (OpenTaiko.ConfigIni.bEnableVSync) ? 3 : 1; // VSyncWait=ON時は1frame(1/60s)あたり3つ読むようにする
|
int looptime = (OpenTaiko.ConfigIni.bEnableVSync) ? 3 : 1; // VSyncWait=ON時は1frame(1/60s)あたり3つ読むようにする
|
||||||
for (int i = 0; i < looptime && nWAVcount <= OpenTaiko.DTX.listWAV.Count; i++) {
|
for (int i = 0; i < looptime && nWAVcount <= OpenTaiko.TJA.listWAV.Count; i++) {
|
||||||
if (OpenTaiko.DTX.listWAV[nWAVcount].listこのWAVを使用するチャンネル番号の集合.Count > 0) // #28674 2012.5.8 yyagi
|
if (OpenTaiko.TJA.listWAV[nWAVcount].listこのWAVを使用するチャンネル番号の集合.Count > 0) // #28674 2012.5.8 yyagi
|
||||||
{
|
{
|
||||||
OpenTaiko.DTX.tWAVの読み込み(OpenTaiko.DTX.listWAV[nWAVcount]);
|
OpenTaiko.TJA.tWAVの読み込み(OpenTaiko.TJA.listWAV[nWAVcount]);
|
||||||
}
|
}
|
||||||
nWAVcount++;
|
nWAVcount++;
|
||||||
}
|
}
|
||||||
if (nWAVcount > OpenTaiko.DTX.listWAV.Count) {
|
if (nWAVcount > OpenTaiko.TJA.listWAV.Count) {
|
||||||
TimeSpan span = (TimeSpan)(DateTime.Now - timeBeginLoadWAV);
|
TimeSpan span = (TimeSpan)(DateTime.Now - timeBeginLoadWAV);
|
||||||
Trace.TraceInformation("Song loading time({0,4}): {1}", OpenTaiko.DTX.listWAV.Count, span.ToString());
|
Trace.TraceInformation("Song loading time({0,4}): {1}", OpenTaiko.TJA.listWAV.Count, span.ToString());
|
||||||
timeBeginLoadWAV = DateTime.Now;
|
timeBeginLoadWAV = DateTime.Now;
|
||||||
|
|
||||||
if (OpenTaiko.ConfigIni.bDynamicBassMixerManagement) {
|
if (OpenTaiko.ConfigIni.bDynamicBassMixerManagement) {
|
||||||
OpenTaiko.DTX.PlanToAddMixerChannel();
|
OpenTaiko.TJA.PlanToAddMixerChannel();
|
||||||
}
|
}
|
||||||
|
|
||||||
var _dtx = new CDTX[5] { OpenTaiko.DTX, OpenTaiko.DTX_2P, OpenTaiko.DTX_3P, OpenTaiko.DTX_4P, OpenTaiko.DTX_5P };
|
var _dtx = new CTja[5] { OpenTaiko.TJA, OpenTaiko.TJA_2P, OpenTaiko.TJA_3P, OpenTaiko.TJA_4P, OpenTaiko.TJA_5P };
|
||||||
|
|
||||||
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
|
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
|
||||||
_dtx[i]?.tRandomizeTaikoChips(i);
|
_dtx[i]?.tRandomizeTaikoChips(i);
|
||||||
@ -452,7 +452,7 @@ internal class CStage曲読み込み : CStage {
|
|||||||
DateTime timeBeginLoadBMPAVI = DateTime.Now;
|
DateTime timeBeginLoadBMPAVI = DateTime.Now;
|
||||||
|
|
||||||
if (OpenTaiko.ConfigIni.bEnableAVI)
|
if (OpenTaiko.ConfigIni.bEnableAVI)
|
||||||
OpenTaiko.DTX.tAVIの読み込み();
|
OpenTaiko.TJA.tAVIの読み込み();
|
||||||
span = (TimeSpan)(DateTime.Now - timeBeginLoadBMPAVI);
|
span = (TimeSpan)(DateTime.Now - timeBeginLoadBMPAVI);
|
||||||
|
|
||||||
span = (TimeSpan)(DateTime.Now - timeBeginLoad);
|
span = (TimeSpan)(DateTime.Now - timeBeginLoad);
|
||||||
|
74
OpenTaiko/src/Stages/07.Game/CActTaikoScrollSpeed.cs
Normal file
74
OpenTaiko/src/Stages/07.Game/CActTaikoScrollSpeed.cs
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
using FDK;
|
||||||
|
|
||||||
|
namespace OpenTaiko;
|
||||||
|
|
||||||
|
internal class CActTaikoScrollSpeed : CActivity {
|
||||||
|
// Properties
|
||||||
|
|
||||||
|
public double[] dbConfigScrollSpeed = new double[5];
|
||||||
|
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
|
||||||
|
public CActTaikoScrollSpeed() {
|
||||||
|
base.IsDeActivated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// CActivity implementation
|
||||||
|
|
||||||
|
public override void Activate() {
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
this.dbConfigScrollSpeed[i] = (double)OpenTaiko.ConfigIni.nScrollSpeed[OpenTaiko.GetActualPlayer(i)];
|
||||||
|
this.nScrollExclusiveTimer[i] = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
base.Activate();
|
||||||
|
}
|
||||||
|
public override unsafe int Draw() {
|
||||||
|
if (!base.IsDeActivated) {
|
||||||
|
if (base.IsFirstDraw) {
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
this.nScrollExclusiveTimer[i] = (long)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
base.IsFirstDraw = false;
|
||||||
|
}
|
||||||
|
long nNowTime = SoundManager.PlayTimer.NowTime;
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
double dbScrollSpeed = (double)OpenTaiko.ConfigIni.nScrollSpeed[OpenTaiko.GetActualPlayer(i)];
|
||||||
|
if (nNowTime < this.nScrollExclusiveTimer[i]) {
|
||||||
|
this.nScrollExclusiveTimer[i] = nNowTime;
|
||||||
|
}
|
||||||
|
while ((nNowTime - this.nScrollExclusiveTimer[i]) >= 2) // 1 loop per 2 ms
|
||||||
|
{
|
||||||
|
if (this.dbConfigScrollSpeed[i] < dbScrollSpeed) {
|
||||||
|
this.dbConfigScrollSpeed[i] += 0.012;
|
||||||
|
|
||||||
|
if (this.dbConfigScrollSpeed[i] > dbScrollSpeed) {
|
||||||
|
this.dbConfigScrollSpeed[i] = dbScrollSpeed;
|
||||||
|
}
|
||||||
|
} else if (this.dbConfigScrollSpeed[i] > dbScrollSpeed) {
|
||||||
|
this.dbConfigScrollSpeed[i] -= 0.012;
|
||||||
|
|
||||||
|
if (this.dbConfigScrollSpeed[i] < dbScrollSpeed) {
|
||||||
|
this.dbConfigScrollSpeed[i] = dbScrollSpeed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.nScrollExclusiveTimer[i] += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region [ private ]
|
||||||
|
//-----------------
|
||||||
|
private long[] nScrollExclusiveTimer = new long[5];
|
||||||
|
//-----------------
|
||||||
|
#endregion
|
||||||
|
}
|
@ -6,7 +6,7 @@ namespace OpenTaiko;
|
|||||||
internal class CAct演奏Combo共通 : CActivity {
|
internal class CAct演奏Combo共通 : CActivity {
|
||||||
// Properties
|
// Properties
|
||||||
|
|
||||||
public STCOMBO n現在のコンボ数;
|
public STCOMBO nCurrentCombo;
|
||||||
public struct STCOMBO {
|
public struct STCOMBO {
|
||||||
public CAct演奏Combo共通 act;
|
public CAct演奏Combo共通 act;
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
//protected CTexture txCOMBO太鼓;
|
//protected CTexture txCOMBO太鼓;
|
||||||
//protected CTexture txCOMBO太鼓_でかいやつ;
|
//protected CTexture txCOMBO太鼓_でかいやつ;
|
||||||
//protected CTexture txコンボラメ;
|
//protected CTexture txコンボラメ;
|
||||||
public CCounter[] ctコンボ加算;
|
public CCounter[] ctComboAddCounter;
|
||||||
public CCounter ctコンボラメ;
|
public CCounter ctコンボラメ;
|
||||||
|
|
||||||
protected float[,] nコンボ拡大率_座標 = new float[,]{
|
protected float[,] nコンボ拡大率_座標 = new float[,]{
|
||||||
@ -323,7 +323,7 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
int[] n位の数 = new int[10]; // 表示は10桁もあれば足りるだろう
|
int[] n位の数 = new int[10]; // 表示は10桁もあれば足りるだろう
|
||||||
|
|
||||||
this.ctコンボラメ.TickLoop();
|
this.ctコンボラメ.TickLoop();
|
||||||
this.ctコンボ加算[nPlayer].Tick();
|
this.ctComboAddCounter[nPlayer].Tick();
|
||||||
|
|
||||||
#region [ nCombo値を桁数ごとに n位の数[] に格納する。(例:nCombo値=125 のとき n位の数 = { 5,2,1,0,0,0,0,0,0,0 } ) ]
|
#region [ nCombo値を桁数ごとに n位の数[] に格納する。(例:nCombo値=125 のとき n位の数 = { 5,2,1,0,0,0,0,0,0,0 } ) ]
|
||||||
//-----------------
|
//-----------------
|
||||||
@ -454,7 +454,7 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
|
|
||||||
if (n桁数 <= 1) {
|
if (n桁数 <= 1) {
|
||||||
if (OpenTaiko.Tx.Taiko_Combo[0] != null) {
|
if (OpenTaiko.Tx.Taiko_Combo[0] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale[this.ctコンボ加算[nPlayer].CurrentValue];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale[this.ctComboAddCounter[nPlayer].CurrentValue];
|
||||||
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0];
|
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(rightX, combo_y, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size[0], OpenTaiko.Skin.Game_Taiko_Combo_Size[1]));
|
OpenTaiko.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(rightX, combo_y, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size[0], OpenTaiko.Skin.Game_Taiko_Combo_Size[1]));
|
||||||
@ -463,14 +463,14 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
//int[] arComboX = { CDTXMania.Skin.Game_Taiko_Combo_X[nPlayer] + CDTXMania.Skin.Game_Taiko_Combo_Padding[0], CDTXMania.Skin.Game_Taiko_Combo_X[nPlayer] - CDTXMania.Skin.Game_Taiko_Combo_Padding[0] };
|
//int[] arComboX = { CDTXMania.Skin.Game_Taiko_Combo_X[nPlayer] + CDTXMania.Skin.Game_Taiko_Combo_Padding[0], CDTXMania.Skin.Game_Taiko_Combo_X[nPlayer] - CDTXMania.Skin.Game_Taiko_Combo_Padding[0] };
|
||||||
if (nCombo値 < 50) {
|
if (nCombo値 < 50) {
|
||||||
if (OpenTaiko.Tx.Taiko_Combo[0] != null) {
|
if (OpenTaiko.Tx.Taiko_Combo[0] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale[this.ctコンボ加算[nPlayer].CurrentValue];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale[this.ctComboAddCounter[nPlayer].CurrentValue];
|
||||||
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0];
|
OpenTaiko.Tx.Taiko_Combo[0].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[0] * i, combo_y, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size[0], OpenTaiko.Skin.Game_Taiko_Combo_Size[1]));
|
OpenTaiko.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[0] * i, combo_y, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size[0], OpenTaiko.Skin.Game_Taiko_Combo_Size[1]));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (OpenTaiko.Tx.Taiko_Combo[2] != null) {
|
if (OpenTaiko.Tx.Taiko_Combo[2] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale[this.ctコンボ加算[nPlayer].CurrentValue];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale[this.ctComboAddCounter[nPlayer].CurrentValue];
|
||||||
OpenTaiko.Tx.Taiko_Combo[2].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[2].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[2].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0];
|
OpenTaiko.Tx.Taiko_Combo[2].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[2].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[0] * i, combo_y, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size[0], OpenTaiko.Skin.Game_Taiko_Combo_Size[1]));
|
OpenTaiko.Tx.Taiko_Combo[2].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[0] * i, combo_y, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size[0], OpenTaiko.Skin.Game_Taiko_Combo_Size[1]));
|
||||||
@ -480,32 +480,32 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
}
|
}
|
||||||
} else if (n桁数 == 3) {
|
} else if (n桁数 == 3) {
|
||||||
if (nCombo値 >= 300 && OpenTaiko.Tx.Taiko_Combo[3] != null) {
|
if (nCombo値 >= 300 && OpenTaiko.Tx.Taiko_Combo[3] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 0];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1] + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1] + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1];
|
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1];
|
||||||
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 1] : 0;
|
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 1] : 0;
|
||||||
OpenTaiko.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[1] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
OpenTaiko.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[1] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||||
} else if (OpenTaiko.Tx.Taiko_Combo[1] != null) {
|
} else if (OpenTaiko.Tx.Taiko_Combo[1] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 0];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1] + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.Y = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1] + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1];
|
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[1];
|
||||||
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 1] : 0;
|
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 1] : 0;
|
||||||
OpenTaiko.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[1] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
OpenTaiko.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[1] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!OpenTaiko.ConfigIni.SimpleMode) showComboEffect(1, i, rightX, combo_ex_y, nPlayer);
|
if (!OpenTaiko.ConfigIni.SimpleMode) showComboEffect(1, i, rightX, combo_ex_y, nPlayer);
|
||||||
} else {
|
} else {
|
||||||
if (nCombo値 >= 300 && OpenTaiko.Tx.Taiko_Combo[3] != null) {
|
if (nCombo値 >= 300 && OpenTaiko.Tx.Taiko_Combo[3] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 0];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.Y = 1.0f + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.Y = 1.0f + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[2];
|
OpenTaiko.Tx.Taiko_Combo[3].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[2];
|
||||||
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 1] : 0;
|
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 1] : 0;
|
||||||
OpenTaiko.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[2] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
OpenTaiko.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[2] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||||
} else if (OpenTaiko.Tx.Taiko_Combo[1] != null) {
|
} else if (OpenTaiko.Tx.Taiko_Combo[1] != null) {
|
||||||
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 0];
|
var yScalling = OpenTaiko.ConfigIni.SimpleMode ? 0 : ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 0];
|
||||||
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.Y = 1.0f + yScalling;
|
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.Y = 1.0f + yScalling;
|
||||||
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[2];
|
OpenTaiko.Tx.Taiko_Combo[1].vcScaleRatio.X = OpenTaiko.Skin.Game_Taiko_Combo_Scale[2];
|
||||||
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].CurrentValue, 1] : 0;
|
var yJumping = OpenTaiko.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctComboAddCounter[nPlayer].CurrentValue, 1] : 0;
|
||||||
OpenTaiko.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[2] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
OpenTaiko.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(rightX - OpenTaiko.Skin.Game_Taiko_Combo_Padding[2] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], 0, OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[0], OpenTaiko.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -521,10 +521,10 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
// CActivity 実装
|
// CActivity 実装
|
||||||
|
|
||||||
public override void Activate() {
|
public override void Activate() {
|
||||||
this.n現在のコンボ数 = new STCOMBO() { act = this };
|
this.nCurrentCombo = new STCOMBO() { act = this };
|
||||||
this.n現在のコンボ数.最高値 = new int[5];
|
this.nCurrentCombo.最高値 = new int[5];
|
||||||
this.status = new CSTATUS();
|
this.status = new CSTATUS();
|
||||||
this.ctコンボ加算 = new CCounter[5];
|
this.ctComboAddCounter = new CCounter[5];
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
this.status[i].e現在のモード = EMode.非表示中;
|
this.status[i].e現在のモード = EMode.非表示中;
|
||||||
this.status[i].nCOMBO値 = 0;
|
this.status[i].nCOMBO値 = 0;
|
||||||
@ -534,7 +534,7 @@ internal class CAct演奏Combo共通 : CActivity {
|
|||||||
this.status[i].nジャンプインデックス値 = 99999;
|
this.status[i].nジャンプインデックス値 = 99999;
|
||||||
this.status[i].n前回の時刻_ジャンプ用 = -1;
|
this.status[i].n前回の時刻_ジャンプ用 = -1;
|
||||||
this.status[i].nコンボが切れた時刻 = -1;
|
this.status[i].nコンボが切れた時刻 = -1;
|
||||||
this.ctコンボ加算[i] = new CCounter(0, 12, 12, OpenTaiko.Timer);
|
this.ctComboAddCounter[i] = new CCounter(0, 12, 12, OpenTaiko.Timer);
|
||||||
}
|
}
|
||||||
this.ctコンボラメ = new CCounter(0, 35, 16, OpenTaiko.Timer);
|
this.ctコンボラメ = new CCounter(0, 35, 16, OpenTaiko.Timer);
|
||||||
base.Activate();
|
base.Activate();
|
||||||
|
@ -10,7 +10,7 @@ internal class CAct演奏Combo音声 : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// メソッド
|
// メソッド
|
||||||
public void t再生(int nCombo, int player) {
|
public void tPlay(int nCombo, int player) {
|
||||||
if (VoiceIndex[player] < ListCombo[player].Count) {
|
if (VoiceIndex[player] < ListCombo[player].Count) {
|
||||||
|
|
||||||
var index = ListCombo[player][VoiceIndex[player]];
|
var index = ListCombo[player][VoiceIndex[player]];
|
||||||
|
@ -68,7 +68,7 @@ internal class CAct演奏PauseMenu : CActSelectPopupMenu {
|
|||||||
|
|
||||||
SoundManager.PlayTimer.Resume();
|
SoundManager.PlayTimer.Resume();
|
||||||
OpenTaiko.Timer.Resume();
|
OpenTaiko.Timer.Resume();
|
||||||
OpenTaiko.DTX.t全チップの再生再開();
|
OpenTaiko.TJA.t全チップの再生再開();
|
||||||
OpenTaiko.stage演奏ドラム画面.actAVI.tPauseControl();
|
OpenTaiko.stage演奏ドラム画面.actAVI.tPauseControl();
|
||||||
CActSelectPopupMenu.b選択した = true;
|
CActSelectPopupMenu.b選択した = true;
|
||||||
this.tDeativatePopupMenu();
|
this.tDeativatePopupMenu();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using FDK;
|
using FDK;
|
||||||
|
|
||||||
namespace OpenTaiko;
|
namespace OpenTaiko;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CAct演奏Drumsゲージ と CAct演奏Gutiarゲージ のbaseクラス。ダメージ計算やDanger/Failed判断もこのクラスで行う。
|
/// CAct演奏Drumsゲージ と CAct演奏Gutiarゲージ のbaseクラス。ダメージ計算やDanger/Failed判断もこのクラスで行う。
|
||||||
///
|
///
|
||||||
@ -9,18 +9,18 @@ namespace OpenTaiko;
|
|||||||
/// _STAGE FAILED OFF時にゲージ回復を止める
|
/// _STAGE FAILED OFF時にゲージ回復を止める
|
||||||
/// _黒→閉店までの差を大きくする。
|
/// _黒→閉店までの差を大きくする。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal class CAct演奏ゲージ共通 : CActivity {
|
internal class CAct演奏ゲージ共通 : CActivity {
|
||||||
// Properties
|
// Properties
|
||||||
public CActLVLNFont actLVLNFont { get; protected set; }
|
public CActLVLNFont actLVLNFont { get; protected set; }
|
||||||
|
|
||||||
// コンストラクタ
|
// コンストラクタ
|
||||||
public CAct演奏ゲージ共通() {
|
public CAct演奏ゲージ共通() {
|
||||||
//actLVLNFont = new CActLVLNFont(); // On活性化()に移動
|
//actLVLNFont = new CActLVLNFont(); // On活性化()に移動
|
||||||
//actLVLNFont.On活性化();
|
//actLVLNFont.On活性化();
|
||||||
}
|
}
|
||||||
|
|
||||||
// CActivity 実装
|
// CActivity 実装
|
||||||
|
|
||||||
public override void Activate() {
|
public override void Activate() {
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
dbゲージ増加量[i] = new float[5];
|
dbゲージ増加量[i] = new float[5];
|
||||||
@ -28,11 +28,11 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
dbゲージ増加量_Branch[i, n] = new float[5];
|
dbゲージ増加量_Branch[i, n] = new float[5];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.DTX[0] = OpenTaiko.DTX;
|
this.DTX[0] = OpenTaiko.TJA;
|
||||||
this.DTX[1] = OpenTaiko.DTX_2P;
|
this.DTX[1] = OpenTaiko.TJA_2P;
|
||||||
this.DTX[2] = OpenTaiko.DTX_3P;
|
this.DTX[2] = OpenTaiko.TJA_3P;
|
||||||
this.DTX[3] = OpenTaiko.DTX_4P;
|
this.DTX[3] = OpenTaiko.TJA_4P;
|
||||||
this.DTX[4] = OpenTaiko.DTX_5P;
|
this.DTX[4] = OpenTaiko.TJA_5P;
|
||||||
actLVLNFont = new CActLVLNFont();
|
actLVLNFont = new CActLVLNFont();
|
||||||
actLVLNFont.Activate();
|
actLVLNFont.Activate();
|
||||||
base.Activate();
|
base.Activate();
|
||||||
@ -49,29 +49,29 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
const double GAUGE_ZERO = 0.0;
|
const double GAUGE_ZERO = 0.0;
|
||||||
const double GAUGE_DANGER = 0.3;
|
const double GAUGE_DANGER = 0.3;
|
||||||
|
|
||||||
public bool bRisky // Riskyモードか否か
|
public bool bRisky // Riskyモードか否か
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
private set;
|
private set;
|
||||||
}
|
}
|
||||||
public int nRiskyTimes_Initial // Risky初期値
|
public int nRiskyTimes_Initial // Risky初期値
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
private set;
|
private set;
|
||||||
}
|
}
|
||||||
public int nRiskyTimes // 残Miss回数
|
public int nRiskyTimes // 残Miss回数
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
private set;
|
private set;
|
||||||
}
|
}
|
||||||
public bool IsFailed(EInstrumentPad part) // 閉店状態になったかどうか
|
public bool IsFailed(EInstrumentPad part) // 閉店状態になったかどうか
|
||||||
{
|
{
|
||||||
if (bRisky) {
|
if (bRisky) {
|
||||||
return (nRiskyTimes <= 0);
|
return (nRiskyTimes <= 0);
|
||||||
}
|
}
|
||||||
return this.db現在のゲージ値[(int)part] <= GAUGE_MIN;
|
return this.db現在のゲージ値[(int)part] <= GAUGE_MIN;
|
||||||
}
|
}
|
||||||
public bool IsDanger(EInstrumentPad part) // DANGERかどうか
|
public bool IsDanger(EInstrumentPad part) // DANGERかどうか
|
||||||
{
|
{
|
||||||
if (bRisky) {
|
if (bRisky) {
|
||||||
switch (nRiskyTimes_Initial) {
|
switch (nRiskyTimes_Initial) {
|
||||||
@ -85,15 +85,15 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (this.db現在のゲージ値[(int)part] <= GAUGE_DANGER);
|
return (this.db現在のゲージ値[(int)part] <= GAUGE_DANGER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ゲージの初期化
|
/// ゲージの初期化
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="nRiskyTimes_Initial_">Riskyの初期値(0でRisky未使用)</param>
|
/// <param name="nRiskyTimes_Initial_">Riskyの初期値(0でRisky未使用)</param>
|
||||||
public void Init(int nRiskyTimes_InitialVal, int nPlayer) // ゲージ初期化
|
public void Init(int nRiskyTimes_InitialVal, int nPlayer) // ゲージ初期化
|
||||||
{
|
{
|
||||||
//ダメージ値の計算
|
//ダメージ値の計算
|
||||||
{
|
{
|
||||||
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(nPlayer)].data.Character];
|
var chara = OpenTaiko.Tx.Characters[OpenTaiko.SaveFileInstances[OpenTaiko.GetActualPlayer(nPlayer)].data.Character];
|
||||||
switch (chara.effect.tGetGaugeType()) {
|
switch (chara.effect.tGetGaugeType()) {
|
||||||
@ -106,9 +106,9 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
this.db現在のゲージ値[nPlayer] = 100;
|
this.db現在のゲージ値[nPlayer] = 100;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//ゲージのMAXまでの最低コンボ数を計算
|
//ゲージのMAXまでの最低コンボ数を計算
|
||||||
float dbGaugeMaxComboValue = 0;
|
float dbGaugeMaxComboValue = 0;
|
||||||
float[] dbGaugeMaxComboValue_branch = new float[3];
|
float[] dbGaugeMaxComboValue_branch = new float[3];
|
||||||
|
|
||||||
@ -149,10 +149,10 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
gaugeRate = this.fGaugeMaxRate[2];
|
gaugeRate = this.fGaugeMaxRate[2];
|
||||||
dbDamageRate = 2.0f;
|
dbDamageRate = 2.0f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region [(Unbloated) Gauge max combo values]
|
#region [(Unbloated) Gauge max combo values]
|
||||||
|
|
||||||
if (this.DTX[nPlayer].bチップがある.Branch) {
|
if (this.DTX[nPlayer].bチップがある.Branch) {
|
||||||
dbGaugeMaxComboValue = this.DTX[nPlayer].nノーツ数[3] * (gaugeRate / 100.0f);
|
dbGaugeMaxComboValue = this.DTX[nPlayer].nノーツ数[3] * (gaugeRate / 100.0f);
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
@ -160,10 +160,10 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dbGaugeMaxComboValue = this.DTX[nPlayer].nノーツ数[3] * (gaugeRate / 100.0f);
|
dbGaugeMaxComboValue = this.DTX[nPlayer].nノーツ数[3] * (gaugeRate / 100.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
float multiplicationFactor = 1f;
|
float multiplicationFactor = 1f;
|
||||||
if (nanidou == (int)Difficulty.Tower)
|
if (nanidou == (int)Difficulty.Tower)
|
||||||
multiplicationFactor = 0f;
|
multiplicationFactor = 0f;
|
||||||
@ -174,11 +174,11 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
nGaugeRankValue = (10000.0f / dbGaugeMaxComboValue) * multiplicationFactor;
|
nGaugeRankValue = (10000.0f / dbGaugeMaxComboValue) * multiplicationFactor;
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
nGaugeRankValue_branch[i] = (10000.0f / dbGaugeMaxComboValue_branch[i]) * multiplicationFactor;
|
nGaugeRankValue_branch[i] = (10000.0f / dbGaugeMaxComboValue_branch[i]) * multiplicationFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
//ゲージ値計算
|
//ゲージ値計算
|
||||||
//実機に近い計算
|
//実機に近い計算
|
||||||
|
|
||||||
this.dbゲージ増加量[0][nPlayer] = (float)nGaugeRankValue / 100.0f;
|
this.dbゲージ増加量[0][nPlayer] = (float)nGaugeRankValue / 100.0f;
|
||||||
this.dbゲージ増加量[1][nPlayer] = (float)(nGaugeRankValue / 100.0f) * 0.5f;
|
this.dbゲージ増加量[1][nPlayer] = (float)(nGaugeRankValue / 100.0f) * 0.5f;
|
||||||
this.dbゲージ増加量[2][nPlayer] = (float)(nGaugeRankValue / 100.0f) * dbDamageRate;
|
this.dbゲージ増加量[2][nPlayer] = (float)(nGaugeRankValue / 100.0f) * dbDamageRate;
|
||||||
@ -187,21 +187,21 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
this.dbゲージ増加量_Branch[i, 0][nPlayer] = (float)nGaugeRankValue_branch[i] / 100.0f;
|
this.dbゲージ増加量_Branch[i, 0][nPlayer] = (float)nGaugeRankValue_branch[i] / 100.0f;
|
||||||
this.dbゲージ増加量_Branch[i, 1][nPlayer] = (float)(nGaugeRankValue_branch[i] / 100.0f) * 0.5f;
|
this.dbゲージ増加量_Branch[i, 1][nPlayer] = (float)(nGaugeRankValue_branch[i] / 100.0f) * 0.5f;
|
||||||
this.dbゲージ増加量_Branch[i, 2][nPlayer] = (float)(nGaugeRankValue_branch[i] / 100.0f) * dbDamageRate;
|
this.dbゲージ増加量_Branch[i, 2][nPlayer] = (float)(nGaugeRankValue_branch[i] / 100.0f) * dbDamageRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
//this.dbゲージ増加量[ 0 ] = CDTXMania.DTX.bチップがある.Branch ? ( 130.0 / CDTXMania.DTX.nノーツ数[ 0 ] ) : ( 130.0 / CDTXMania.DTX.nノーツ数[ 3 ] );
|
//this.dbゲージ増加量[ 0 ] = CDTXMania.DTX.bチップがある.Branch ? ( 130.0 / CDTXMania.DTX.nノーツ数[ 0 ] ) : ( 130.0 / CDTXMania.DTX.nノーツ数[ 3 ] );
|
||||||
//this.dbゲージ増加量[ 1 ] = CDTXMania.DTX.bチップがある.Branch ? ( 65.0 / CDTXMania.DTX.nノーツ数[ 0 ] ) : 65.0 / CDTXMania.DTX.nノーツ数[ 3 ];
|
//this.dbゲージ増加量[ 1 ] = CDTXMania.DTX.bチップがある.Branch ? ( 65.0 / CDTXMania.DTX.nノーツ数[ 0 ] ) : 65.0 / CDTXMania.DTX.nノーツ数[ 3 ];
|
||||||
//this.dbゲージ増加量[ 2 ] = CDTXMania.DTX.bチップがある.Branch ? ( -260.0 / CDTXMania.DTX.nノーツ数[ 0 ] ) : -260.0 / CDTXMania.DTX.nノーツ数[ 3 ];
|
//this.dbゲージ増加量[ 2 ] = CDTXMania.DTX.bチップがある.Branch ? ( -260.0 / CDTXMania.DTX.nノーツ数[ 0 ] ) : -260.0 / CDTXMania.DTX.nノーツ数[ 3 ];
|
||||||
|
|
||||||
//2015.03.26 kairera0467 計算を初期化時にするよう修正。
|
//2015.03.26 kairera0467 計算を初期化時にするよう修正。
|
||||||
|
|
||||||
#region [ Handling infinity cases ]
|
#region [ Handling infinity cases ]
|
||||||
float fIsDontInfinty = 0.4f;//適当に0.4で
|
float fIsDontInfinty = 0.4f;//適当に0.4で
|
||||||
float[] fAddVolume = new float[] { 1.0f, 0.5f, dbDamageRate };
|
float[] fAddVolume = new float[] { 1.0f, 0.5f, dbDamageRate };
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
for (int l = 0; l < 3; l++) {
|
for (int l = 0; l < 3; l++) {
|
||||||
if (!double.IsInfinity(nGaugeRankValue_branch[i] / 100.0f))//値がInfintyかチェック
|
if (!double.IsInfinity(nGaugeRankValue_branch[i] / 100.0f))//値がInfintyかチェック
|
||||||
{
|
{
|
||||||
fIsDontInfinty = (float)(nGaugeRankValue_branch[i] / 100.0f);
|
fIsDontInfinty = (float)(nGaugeRankValue_branch[i] / 100.0f);
|
||||||
this.dbゲージ増加量_Branch[i, l][nPlayer] = fIsDontInfinty * fAddVolume[l];
|
this.dbゲージ増加量_Branch[i, l][nPlayer] = fIsDontInfinty * fAddVolume[l];
|
||||||
@ -210,17 +210,17 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
for (int l = 0; l < 3; l++) {
|
for (int l = 0; l < 3; l++) {
|
||||||
if (double.IsInfinity(nGaugeRankValue_branch[i] / 100.0f))//値がInfintyかチェック
|
if (double.IsInfinity(nGaugeRankValue_branch[i] / 100.0f))//値がInfintyかチェック
|
||||||
{
|
{
|
||||||
//Infintyだった場合はInfintyではない値 * 3.0をしてその値を利用する。
|
//Infintyだった場合はInfintyではない値 * 3.0をしてその値を利用する。
|
||||||
this.dbゲージ増加量_Branch[i, l][nPlayer] = (fIsDontInfinty * fAddVolume[l]) * 3f;
|
this.dbゲージ増加量_Branch[i, l][nPlayer] = (fIsDontInfinty * fAddVolume[l]) * 3f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region [Rounding process]
|
#region [Rounding process]
|
||||||
|
|
||||||
var increase = new float[] { dbゲージ増加量[0][nPlayer], dbゲージ増加量[1][nPlayer], dbゲージ増加量[2][nPlayer] };
|
var increase = new float[] { dbゲージ増加量[0][nPlayer], dbゲージ増加量[1][nPlayer], dbゲージ増加量[2][nPlayer] };
|
||||||
var increaseBranch = new float[3, 3];
|
var increaseBranch = new float[3, 3];
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
@ -230,8 +230,8 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
}
|
}
|
||||||
switch (this.DTX[nPlayer].GaugeIncreaseMode) {
|
switch (this.DTX[nPlayer].GaugeIncreaseMode) {
|
||||||
case GaugeIncreaseMode.Normal:
|
case GaugeIncreaseMode.Normal:
|
||||||
case GaugeIncreaseMode.Floor:
|
case GaugeIncreaseMode.Floor:
|
||||||
// 切り捨て
|
// 切り捨て
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
increase[i] = (float)Math.Truncate(increase[i] * 10000.0f) / 10000.0f;
|
increase[i] = (float)Math.Truncate(increase[i] * 10000.0f) / 10000.0f;
|
||||||
}
|
}
|
||||||
@ -241,8 +241,8 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
increaseBranch[i, 2] = (float)Math.Truncate(increaseBranch[i, 2] * 10000.0f) / 10000.0f;
|
increaseBranch[i, 2] = (float)Math.Truncate(increaseBranch[i, 2] * 10000.0f) / 10000.0f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GaugeIncreaseMode.Round:
|
case GaugeIncreaseMode.Round:
|
||||||
// 四捨五入
|
// 四捨五入
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
increase[i] = (float)Math.Round(increase[i] * 10000.0f) / 10000.0f;
|
increase[i] = (float)Math.Round(increase[i] * 10000.0f) / 10000.0f;
|
||||||
}
|
}
|
||||||
@ -252,8 +252,8 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
increaseBranch[i, 2] = (float)Math.Round(increaseBranch[i, 2] * 10000.0f) / 10000.0f;
|
increaseBranch[i, 2] = (float)Math.Round(increaseBranch[i, 2] * 10000.0f) / 10000.0f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GaugeIncreaseMode.Ceiling:
|
case GaugeIncreaseMode.Ceiling:
|
||||||
// 切り上げ
|
// 切り上げ
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
increase[i] = (float)Math.Ceiling(increase[i] * 10000.0f) / 10000.0f;
|
increase[i] = (float)Math.Ceiling(increase[i] * 10000.0f) / 10000.0f;
|
||||||
}
|
}
|
||||||
@ -264,8 +264,8 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GaugeIncreaseMode.NotFix:
|
case GaugeIncreaseMode.NotFix:
|
||||||
default:
|
default:
|
||||||
// 丸めない
|
// 丸めない
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -304,14 +304,14 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2] * HGaugeMethods.ExtremeGaugeFillRatio;
|
dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2] * HGaugeMethods.ExtremeGaugeFillRatio;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
#region [ DAMAGE ]
|
#region [ DAMAGE ]
|
||||||
#if true // DAMAGELEVELTUNING
|
#if true // DAMAGELEVELTUNING
|
||||||
#region [ DAMAGELEVELTUNING ]
|
#region [ DAMAGELEVELTUNING ]
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
public float[,] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors
|
public float[,] fDamageGaugeDelta = { // #23625 2011.1.10 ickw_284: tuned damage/recover factors
|
||||||
// drums, guitar, bass
|
// drums, guitar, bass
|
||||||
{ 0.004f, 0.006f, 0.006f, 0.004f },
|
{ 0.004f, 0.006f, 0.006f, 0.004f },
|
||||||
@ -324,9 +324,9 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
0.5f, 1.0f, 1.5f
|
0.5f, 1.0f, 1.5f
|
||||||
};
|
};
|
||||||
|
|
||||||
public float[][] dbゲージ増加量 = new float[3][];
|
public float[][] dbゲージ増加量 = new float[3][];
|
||||||
|
|
||||||
//譜面レベル, 判定
|
//譜面レベル, 判定
|
||||||
public float[,][] dbゲージ増加量_Branch = new float[3, 3][];
|
public float[,][] dbゲージ増加量_Branch = new float[3, 3][];
|
||||||
|
|
||||||
|
|
||||||
@ -338,14 +338,14 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
78.5f, // 11
|
78.5f, // 11
|
||||||
80.5f, // 12
|
80.5f, // 12
|
||||||
82f, // 13+
|
82f, // 13+
|
||||||
};//おおよその値。
|
};//おおよその値。
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
#endregion
|
#endregion
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void MineDamage(int nPlayer) {
|
public void MineDamage(int nPlayer) {
|
||||||
this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - HGaugeMethods.BombDamage);
|
this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - HGaugeMethods.BombDamage);
|
||||||
}
|
}
|
||||||
@ -354,9 +354,9 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - HGaugeMethods.FuserollDamage);
|
this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - HGaugeMethods.FuserollDamage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Damage(EInstrumentPad screenmode, EInstrumentPad part, ENoteJudge e今回の判定, int nPlayer) {
|
public void Damage(EInstrumentPad screenmode, ENoteJudge e今回の判定, int nPlayer) {
|
||||||
float fDamage;
|
float fDamage;
|
||||||
int nコース = (int)OpenTaiko.stage演奏ドラム画面.n現在のコース[nPlayer];
|
int nコース = (int)OpenTaiko.stage演奏ドラム画面.nCurrentBranch[nPlayer];
|
||||||
|
|
||||||
switch (e今回の判定) {
|
switch (e今回の判定) {
|
||||||
case ENoteJudge.Perfect:
|
case ENoteJudge.Perfect:
|
||||||
@ -426,20 +426,20 @@ internal class CAct演奏ゲージ共通 : CActivity {
|
|||||||
if (this.db現在のゲージ値[nPlayer] >= 100.0)
|
if (this.db現在のゲージ値[nPlayer] >= 100.0)
|
||||||
this.db現在のゲージ値[nPlayer] = 100.0;
|
this.db現在のゲージ値[nPlayer] = 100.0;
|
||||||
else if (this.db現在のゲージ値[nPlayer] <= 0.0)
|
else if (this.db現在のゲージ値[nPlayer] <= 0.0)
|
||||||
this.db現在のゲージ値[nPlayer] = 0.0;
|
this.db現在のゲージ値[nPlayer] = 0.0;
|
||||||
|
|
||||||
|
|
||||||
//CDTXMania.stage演奏ドラム画面.nGauge = fDamage;
|
//CDTXMania.stage演奏ドラム画面.nGauge = fDamage;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Start(int nLane, ENoteJudge judge, int player) {
|
public virtual void Start(int nLane, ENoteJudge judge, int player) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------
|
//-----------------
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private CDTX[] DTX = new CDTX[5];
|
private CTja[] DTX = new CTja[5];
|
||||||
public double[] db現在のゲージ値 = new double[5];
|
public double[] db現在のゲージ値 = new double[5];
|
||||||
protected CCounter ct炎;
|
protected CCounter ct炎;
|
||||||
protected CCounter ct虹アニメ;
|
protected CCounter ct虹アニメ;
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
using FDK;
|
|
||||||
|
|
||||||
namespace OpenTaiko;
|
|
||||||
|
|
||||||
internal class CAct演奏スクロール速度 : CActivity {
|
|
||||||
// Properties
|
|
||||||
|
|
||||||
public double[] db現在の譜面スクロール速度 = new double[5];
|
|
||||||
|
|
||||||
|
|
||||||
// コンストラクタ
|
|
||||||
|
|
||||||
public CAct演奏スクロール速度() {
|
|
||||||
base.IsDeActivated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// CActivity 実装
|
|
||||||
|
|
||||||
public override void Activate() {
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
this.db現在の譜面スクロール速度[i] = (double)OpenTaiko.ConfigIni.nScrollSpeed[OpenTaiko.GetActualPlayer(i)];
|
|
||||||
this.n速度変更制御タイマ[i] = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
base.Activate();
|
|
||||||
}
|
|
||||||
public override unsafe int Draw() {
|
|
||||||
if (!base.IsDeActivated) {
|
|
||||||
if (base.IsFirstDraw) {
|
|
||||||
//this.n速度変更制御タイマ.Drums = this.n速度変更制御タイマ.Guitar = this.n速度変更制御タイマ.Bass = (long)(CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0));
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
this.n速度変更制御タイマ[i] = (long)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
base.IsFirstDraw = false;
|
|
||||||
}
|
|
||||||
long n現在時刻 = SoundManager.PlayTimer.NowTime;
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
double db譜面スクロールスピード = (double)OpenTaiko.ConfigIni.nScrollSpeed[OpenTaiko.GetActualPlayer(i)];
|
|
||||||
if (n現在時刻 < this.n速度変更制御タイマ[i]) {
|
|
||||||
this.n速度変更制御タイマ[i] = n現在時刻;
|
|
||||||
}
|
|
||||||
while ((n現在時刻 - this.n速度変更制御タイマ[i]) >= 2) // 2msに1回ループ
|
|
||||||
{
|
|
||||||
if (this.db現在の譜面スクロール速度[i] < db譜面スクロールスピード) // Config.iniのスクロール速度を変えると、それに追いつくように実画面のスクロール速度を変える
|
|
||||||
{
|
|
||||||
this.db現在の譜面スクロール速度[i] += 0.012;
|
|
||||||
|
|
||||||
if (this.db現在の譜面スクロール速度[i] > db譜面スクロールスピード) {
|
|
||||||
this.db現在の譜面スクロール速度[i] = db譜面スクロールスピード;
|
|
||||||
}
|
|
||||||
} else if (this.db現在の譜面スクロール速度[i] > db譜面スクロールスピード) {
|
|
||||||
this.db現在の譜面スクロール速度[i] -= 0.012;
|
|
||||||
|
|
||||||
if (this.db現在の譜面スクロール速度[i] < db譜面スクロールスピード) {
|
|
||||||
this.db現在の譜面スクロール速度[i] = db譜面スクロールスピード;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.n速度変更制御タイマ[i] += 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// その他
|
|
||||||
|
|
||||||
#region [ private ]
|
|
||||||
//-----------------
|
|
||||||
private long[] n速度変更制御タイマ = new long[5];
|
|
||||||
//-----------------
|
|
||||||
#endregion
|
|
||||||
}
|
|
@ -16,7 +16,7 @@ internal class CAct演奏スコア共通 : CActivity {
|
|||||||
protected CCounter ctTimer;
|
protected CCounter ctTimer;
|
||||||
public CCounter[] ct点数アニメタイマ;
|
public CCounter[] ct点数アニメタイマ;
|
||||||
|
|
||||||
public CCounter[] ctボーナス加算タイマ;
|
public CCounter[] ctBonusAddTimer;
|
||||||
|
|
||||||
protected STスコア[] stScore;
|
protected STスコア[] stScore;
|
||||||
protected int nNowDisplayedAddScore;
|
protected int nNowDisplayedAddScore;
|
||||||
@ -257,9 +257,9 @@ internal class CAct演奏スコア共通 : CActivity {
|
|||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
this.ct点数アニメタイマ[i] = new CCounter();
|
this.ct点数アニメタイマ[i] = new CCounter();
|
||||||
}
|
}
|
||||||
this.ctボーナス加算タイマ = new CCounter[5];
|
this.ctBonusAddTimer = new CCounter[5];
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
this.ctボーナス加算タイマ[i] = new CCounter();
|
this.ctBonusAddTimer[i] = new CCounter();
|
||||||
}
|
}
|
||||||
base.Activate();
|
base.Activate();
|
||||||
}
|
}
|
||||||
|
@ -22,18 +22,18 @@ internal class CAct演奏演奏情報 : CActivity {
|
|||||||
public override void Activate() {
|
public override void Activate() {
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
NowMeasure[i] = 0;
|
NowMeasure[i] = 0;
|
||||||
this.dbBPM[i] = OpenTaiko.DTX.BASEBPM;
|
this.dbBPM[i] = OpenTaiko.TJA.BASEBPM;
|
||||||
}
|
}
|
||||||
this.dbSCROLL = 1.0;
|
this.dbSCROLL = 1.0;
|
||||||
|
|
||||||
_chipCounts[0] = OpenTaiko.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
_chipCounts[0] = OpenTaiko.TJA.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||||
_chipCounts[1] = OpenTaiko.DTX.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
_chipCounts[1] = OpenTaiko.TJA.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||||
|
|
||||||
NotesTextN = string.Format("NoteN: {0:####0}", OpenTaiko.DTX.nノーツ数_Branch[0]);
|
NotesTextN = string.Format("NoteN: {0:####0}", OpenTaiko.TJA.nノーツ数_Branch[0]);
|
||||||
NotesTextE = string.Format("NoteE: {0:####0}", OpenTaiko.DTX.nノーツ数_Branch[1]);
|
NotesTextE = string.Format("NoteE: {0:####0}", OpenTaiko.TJA.nノーツ数_Branch[1]);
|
||||||
NotesTextM = string.Format("NoteM: {0:####0}", OpenTaiko.DTX.nノーツ数_Branch[2]);
|
NotesTextM = string.Format("NoteM: {0:####0}", OpenTaiko.TJA.nノーツ数_Branch[2]);
|
||||||
NotesTextC = string.Format("NoteC: {0:####0}", OpenTaiko.DTX.nノーツ数[3]);
|
NotesTextC = string.Format("NoteC: {0:####0}", OpenTaiko.TJA.nノーツ数[3]);
|
||||||
ScoreModeText = string.Format("SCOREMODE: {0:####0}", OpenTaiko.DTX.nScoreModeTmp);
|
ScoreModeText = string.Format("SCOREMODE: {0:####0}", OpenTaiko.TJA.nScoreModeTmp);
|
||||||
ListChipText = string.Format("ListChip: {0:####0}", _chipCounts[0]);
|
ListChipText = string.Format("ListChip: {0:####0}", _chipCounts[0]);
|
||||||
ListChipMText = string.Format("ListChipM: {0:####0}", _chipCounts[1]);
|
ListChipMText = string.Format("ListChipM: {0:####0}", _chipCounts[1]);
|
||||||
|
|
||||||
@ -45,9 +45,9 @@ internal class CAct演奏演奏情報 : CActivity {
|
|||||||
public void t進行描画(int x, int y) {
|
public void t進行描画(int x, int y) {
|
||||||
if (!base.IsDeActivated) {
|
if (!base.IsDeActivated) {
|
||||||
y += 0x153;
|
y += 0x153;
|
||||||
OpenTaiko.actTextConsole.Print(x, y, CTextConsole.EFontType.White, string.Format("Song/G. Offset:{0:####0}/{1:####0} ms", OpenTaiko.DTX.nBGMAdjust, OpenTaiko.ConfigIni.nGlobalOffsetMs));
|
OpenTaiko.actTextConsole.Print(x, y, CTextConsole.EFontType.White, string.Format("Song/G. Offset:{0:####0}/{1:####0} ms", OpenTaiko.TJA.nBGMAdjust, OpenTaiko.ConfigIni.nGlobalOffsetMs));
|
||||||
y -= 0x10;
|
y -= 0x10;
|
||||||
int num = (OpenTaiko.DTX.listChip.Count > 0) ? OpenTaiko.DTX.listChip[OpenTaiko.DTX.listChip.Count - 1].n発声時刻ms : 0;
|
int num = (OpenTaiko.TJA.listChip.Count > 0) ? OpenTaiko.TJA.listChip[OpenTaiko.TJA.listChip.Count - 1].n発声時刻ms : 0;
|
||||||
string str = "Time: " + ((((double)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed)) / 1000.0)).ToString("####0.00") + " / " + ((((double)num) / 1000.0)).ToString("####0.00");
|
string str = "Time: " + ((((double)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed)) / 1000.0)).ToString("####0.00") + " / " + ((((double)num) / 1000.0)).ToString("####0.00");
|
||||||
OpenTaiko.actTextConsole.Print(x, y, CTextConsole.EFontType.White, str);
|
OpenTaiko.actTextConsole.Print(x, y, CTextConsole.EFontType.White, str);
|
||||||
y -= 0x10;
|
y -= 0x10;
|
||||||
|
@ -1,168 +0,0 @@
|
|||||||
using FDK;
|
|
||||||
|
|
||||||
namespace OpenTaiko;
|
|
||||||
|
|
||||||
public class CInvisibleChip : IDisposable {
|
|
||||||
/// <summary>ミス後表示する時間(ms)</summary>
|
|
||||||
public int nDisplayTimeMs {
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
/// <summary>表示期間終了後、フェードアウトする時間</summary>
|
|
||||||
public int nFadeoutTimeMs {
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
/// <summary>楽器ごとのInvisibleモード</summary>
|
|
||||||
public STDGBVALUE<EInvisible> eInvisibleMode;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region [ コンストラクタ ]
|
|
||||||
public CInvisibleChip() {
|
|
||||||
Initialize(3000, 2000);
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// コンストラクタ
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="_dbDisplayTime">ミス時再表示する時間(秒)</param>
|
|
||||||
/// <param name="_dbFadeoutTime">再表示後フェードアウトする時間(秒)</param>
|
|
||||||
public CInvisibleChip(int _nDisplayTimeMs, int _nFadeoutTimeMs) {
|
|
||||||
Initialize(_nDisplayTimeMs, _nFadeoutTimeMs);
|
|
||||||
}
|
|
||||||
private void Initialize(int _nDisplayTimeMs, int _nFadeoutTimeMs) {
|
|
||||||
nDisplayTimeMs = _nDisplayTimeMs;
|
|
||||||
nFadeoutTimeMs = _nFadeoutTimeMs;
|
|
||||||
Reset();
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 内部状態を初期化する
|
|
||||||
/// </summary>
|
|
||||||
public void Reset() {
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
ccounter[i] = new CCounter();
|
|
||||||
b演奏チップが1つでもバーを通過した[i] = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// まだSemi-Invisibleを開始していなければ、開始する
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="eInst"></param>
|
|
||||||
public void StartSemiInvisible(EInstrumentPad eInst) {
|
|
||||||
int nInst = (int)eInst;
|
|
||||||
if (!b演奏チップが1つでもバーを通過した[nInst]) {
|
|
||||||
b演奏チップが1つでもバーを通過した[nInst] = true;
|
|
||||||
if (this.eInvisibleMode[nInst] == EInvisible.Semi) {
|
|
||||||
ShowChipTemporally(eInst);
|
|
||||||
ccounter[nInst].CurrentValue = nDisplayTimeMs;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 一時的にチップを表示するモードを開始する
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="eInst">楽器パート</param>
|
|
||||||
public void ShowChipTemporally(EInstrumentPad eInst) {
|
|
||||||
ccounter[(int)eInst].Start(0, nDisplayTimeMs + nFadeoutTimeMs + 1, 1, OpenTaiko.Timer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// チップの表示/非表示の状態
|
|
||||||
/// </summary>
|
|
||||||
public enum EChipInvisibleState {
|
|
||||||
SHOW, // Missなどしてチップを表示中
|
|
||||||
FADEOUT, // 表示期間終了後、フェードアウト中
|
|
||||||
INVISIBLE // 完全非表示
|
|
||||||
}
|
|
||||||
|
|
||||||
internal EChipInvisibleState SetInvisibleStatus(ref CDTX.CChip cc) {
|
|
||||||
if (cc.e楽器パート == EInstrumentPad.Unknown) {
|
|
||||||
return EChipInvisibleState.SHOW;
|
|
||||||
}
|
|
||||||
int nInst = (int)cc.e楽器パート;
|
|
||||||
EChipInvisibleState retcode = EChipInvisibleState.SHOW;
|
|
||||||
|
|
||||||
ccounter[nInst].Tick();
|
|
||||||
|
|
||||||
switch (eInvisibleMode[nInst]) {
|
|
||||||
case EInvisible.Off:
|
|
||||||
cc.b可視 = true;
|
|
||||||
retcode = EChipInvisibleState.SHOW;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EInvisible.Full:
|
|
||||||
cc.b可視 = false;
|
|
||||||
retcode = EChipInvisibleState.INVISIBLE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EInvisible.Semi:
|
|
||||||
if (!b演奏チップが1つでもバーを通過した[nInst]) // まだ1つもチップがバーを通過していない時は、チップを表示する
|
|
||||||
{
|
|
||||||
cc.b可視 = true;
|
|
||||||
cc.n透明度 = 255;
|
|
||||||
return EChipInvisibleState.SHOW;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ccounter[nInst].CurrentValue <= 0 || ccounter[nInst].CurrentValue > nDisplayTimeMs + nFadeoutTimeMs)
|
|
||||||
// まだ一度もMissっていない or フェードアウトしきった後
|
|
||||||
{
|
|
||||||
cc.b可視 = false;
|
|
||||||
cc.n透明度 = 255;
|
|
||||||
retcode = EChipInvisibleState.INVISIBLE;
|
|
||||||
} else if (ccounter[nInst].CurrentValue < nDisplayTimeMs) // 表示期間
|
|
||||||
{
|
|
||||||
cc.b可視 = true;
|
|
||||||
cc.n透明度 = 255;
|
|
||||||
retcode = EChipInvisibleState.SHOW;
|
|
||||||
} else if (ccounter[nInst].CurrentValue < nDisplayTimeMs + nFadeoutTimeMs) // フェードアウト期間
|
|
||||||
{
|
|
||||||
cc.b可視 = true;
|
|
||||||
cc.n透明度 = 255 - (int)(Convert.ToDouble(ccounter[nInst].CurrentValue - nDisplayTimeMs) / nFadeoutTimeMs * 255.0);
|
|
||||||
retcode = EChipInvisibleState.FADEOUT;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
cc.b可視 = true;
|
|
||||||
cc.n透明度 = 255;
|
|
||||||
retcode = EChipInvisibleState.SHOW;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return retcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
#region [ Dispose-Finalize パターン実装 ]
|
|
||||||
//-----------------
|
|
||||||
public void Dispose() {
|
|
||||||
this.Dispose(true);
|
|
||||||
GC.SuppressFinalize(this);
|
|
||||||
}
|
|
||||||
protected void Dispose(bool disposeManagedObjects) {
|
|
||||||
if (this.bDispose完了済み)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (disposeManagedObjects) {
|
|
||||||
// (A) Managed リソースの解放
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
// ctInvisibleTimer[ i ].Dispose();
|
|
||||||
ccounter[i].Stop();
|
|
||||||
ccounter[i] = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// (B) Unamanaged リソースの解放
|
|
||||||
|
|
||||||
this.bDispose完了済み = true;
|
|
||||||
}
|
|
||||||
~CInvisibleChip() {
|
|
||||||
this.Dispose(false);
|
|
||||||
}
|
|
||||||
//-----------------
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private CCounter[] ccounter = new CCounter[5];
|
|
||||||
private bool bDispose完了済み = false;
|
|
||||||
private bool[] b演奏チップが1つでもバーを通過した = new bool[5];
|
|
||||||
}
|
|
@ -11,12 +11,12 @@ internal static class CLagLogger {
|
|||||||
|
|
||||||
private static readonly List<int> LagValues = new List<int>(2000);
|
private static readonly List<int> LagValues = new List<int>(2000);
|
||||||
|
|
||||||
public static void Add(int nPlayer, CDTX.CChip pChip) {
|
public static void Add(int nPlayer, CChip pChip) {
|
||||||
if (nPlayer != 0) {
|
if (nPlayer != 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (pChip.nチャンネル番号) {
|
switch (pChip.nChannelNo) {
|
||||||
case 0x15:
|
case 0x15:
|
||||||
case 0x16:
|
case 0x16:
|
||||||
case 0x17:
|
case 0x17:
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -172,7 +172,7 @@ internal class CActImplBalloon : CActivity {
|
|||||||
} else {
|
} else {
|
||||||
if (n連打数 == 0 && OpenTaiko.stage演奏ドラム画面.actChara.b風船連打中[player]) {
|
if (n連打数 == 0 && OpenTaiko.stage演奏ドラム画面.actChara.b風船連打中[player]) {
|
||||||
OpenTaiko.stage演奏ドラム画面.actChara.b風船連打中[player] = false;
|
OpenTaiko.stage演奏ドラム画面.actChara.b風船連打中[player] = false;
|
||||||
OpenTaiko.stage演奏ドラム画面.b連打中[player] = false;
|
OpenTaiko.stage演奏ドラム画面.bCurrentlyDrumRoll[player] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,11 +183,11 @@ internal class CActImplGauge : CAct演奏ゲージ共通 {
|
|||||||
|
|
||||||
|
|
||||||
if (OpenTaiko.Tx.Gauge_Dan[2] != null) {
|
if (OpenTaiko.Tx.Gauge_Dan[2] != null) {
|
||||||
for (int i = 0; i < OpenTaiko.DTX.Dan_C.Length; i++) {
|
for (int i = 0; i < OpenTaiko.TJA.Dan_C.Length; i++) {
|
||||||
if (OpenTaiko.DTX.Dan_C[i] != null) {
|
if (OpenTaiko.TJA.Dan_C[i] != null) {
|
||||||
Dan_C dan_c = OpenTaiko.DTX.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] != null ?
|
Dan_C dan_c = OpenTaiko.TJA.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] != null ?
|
||||||
OpenTaiko.DTX.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] :
|
OpenTaiko.TJA.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] :
|
||||||
OpenTaiko.DTX.Dan_C[i];
|
OpenTaiko.TJA.Dan_C[i];
|
||||||
|
|
||||||
if (dan_c.GetExamType() == Exam.Type.Gauge) {
|
if (dan_c.GetExamType() == Exam.Type.Gauge) {
|
||||||
OpenTaiko.Tx.Gauge_Dan[2].t2D描画(gauge_x[0] + (dan_c.GetValue(false) / 2 * nWidth), gauge_y[0],
|
OpenTaiko.Tx.Gauge_Dan[2].t2D描画(gauge_x[0] + (dan_c.GetValue(false) / 2 * nWidth), gauge_y[0],
|
||||||
@ -219,10 +219,10 @@ internal class CActImplGauge : CAct演奏ゲージ共通 {
|
|||||||
else
|
else
|
||||||
OpenTaiko.Tx.Gauge_Dan[1]?.t2D描画(x, y, new Rectangle(0, 0, nRectX[0], OpenTaiko.Skin.Game_Gauge_Rect[3]));
|
OpenTaiko.Tx.Gauge_Dan[1]?.t2D描画(x, y, new Rectangle(0, 0, nRectX[0], OpenTaiko.Skin.Game_Gauge_Rect[3]));
|
||||||
|
|
||||||
for (int i = 0; i < OpenTaiko.DTX.Dan_C.Length; i++) {
|
for (int i = 0; i < OpenTaiko.TJA.Dan_C.Length; i++) {
|
||||||
Dan_C dan_c = OpenTaiko.DTX.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] != null ?
|
Dan_C dan_c = OpenTaiko.TJA.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] != null ?
|
||||||
OpenTaiko.DTX.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] :
|
OpenTaiko.TJA.List_DanSongs[OpenTaiko.stage演奏ドラム画面.actDan.NowCymbolShowingNumber].Dan_C[i] :
|
||||||
OpenTaiko.DTX.Dan_C[i];
|
OpenTaiko.TJA.Dan_C[i];
|
||||||
|
|
||||||
if (dan_c != null && dan_c.GetExamType() == Exam.Type.Gauge && db現在のゲージ値[0] >= dan_c.GetValue(false)) {
|
if (dan_c != null && dan_c.GetExamType() == Exam.Type.Gauge && db現在のゲージ値[0] >= dan_c.GetValue(false)) {
|
||||||
OpenTaiko.Tx.Gauge_Dan[3].Opacity = 255;
|
OpenTaiko.Tx.Gauge_Dan[3].Opacity = 255;
|
||||||
|
@ -9,12 +9,12 @@ internal class CActImplLane : CActivity {
|
|||||||
|
|
||||||
public override void Activate() {
|
public override void Activate() {
|
||||||
this.ct分岐アニメ進行 = new CCounter[5];
|
this.ct分岐アニメ進行 = new CCounter[5];
|
||||||
this.nBefore = new CDTX.ECourse[5];
|
this.nBefore = new CTja.ECourse[5];
|
||||||
this.nAfter = new CDTX.ECourse[5];
|
this.nAfter = new CTja.ECourse[5];
|
||||||
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
|
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
|
||||||
this.ct分岐アニメ進行[i] = new CCounter();
|
this.ct分岐アニメ進行[i] = new CCounter();
|
||||||
this.nBefore = new CDTX.ECourse[5];
|
this.nBefore = new CTja.ECourse[5];
|
||||||
this.nAfter = new CDTX.ECourse[5];
|
this.nAfter = new CTja.ECourse[5];
|
||||||
this.bState[i] = false;
|
this.bState[i] = false;
|
||||||
}
|
}
|
||||||
if (OpenTaiko.Tx.Lane_Base[0] != null)
|
if (OpenTaiko.Tx.Lane_Base[0] != null)
|
||||||
@ -87,13 +87,13 @@ internal class CActImplLane : CActivity {
|
|||||||
} else if (this.ct分岐アニメ進行[i].IsTicked && !_laneNull) {
|
} else if (this.ct分岐アニメ進行[i].IsTicked && !_laneNull) {
|
||||||
#region[ 普通譜面_レベルアップ ]
|
#region[ 普通譜面_レベルアップ ]
|
||||||
//普通→玄人
|
//普通→玄人
|
||||||
if (nBefore[i] == 0 && nAfter[i] == CDTX.ECourse.eNormal) {
|
if (nBefore[i] == 0 && nAfter[i] == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
OpenTaiko.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
||||||
}
|
}
|
||||||
//普通→達人
|
//普通→達人
|
||||||
if (nBefore[i] == 0 && nAfter[i] == CDTX.ECourse.eMaster) {
|
if (nBefore[i] == 0 && nAfter[i] == CTja.ECourse.eMaster) {
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
if (this.ct分岐アニメ進行[i].CurrentValue < 100) {
|
if (this.ct分岐アニメ進行[i].CurrentValue < 100) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
OpenTaiko.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
||||||
@ -110,7 +110,7 @@ internal class CActImplLane : CActivity {
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region[ 玄人譜面_レベルアップ ]
|
#region[ 玄人譜面_レベルアップ ]
|
||||||
if (nBefore[i] == CDTX.ECourse.eExpert && nAfter[i] == CDTX.ECourse.eMaster) {
|
if (nBefore[i] == CTja.ECourse.eExpert && nAfter[i] == CTja.ECourse.eMaster) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
OpenTaiko.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
@ -118,7 +118,7 @@ internal class CActImplLane : CActivity {
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region[ 玄人譜面_レベルダウン ]
|
#region[ 玄人譜面_レベルダウン ]
|
||||||
if (nBefore[i] == CDTX.ECourse.eExpert && nAfter[i] == CDTX.ECourse.eNormal) {
|
if (nBefore[i] == CTja.ECourse.eExpert && nAfter[i] == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[0].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
OpenTaiko.Tx.Lane_Base[0].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
@ -126,7 +126,7 @@ internal class CActImplLane : CActivity {
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region[ 達人譜面_レベルダウン ]
|
#region[ 達人譜面_レベルダウン ]
|
||||||
if (nBefore[i] == CDTX.ECourse.eMaster && nAfter[i] == CDTX.ECourse.eNormal) {
|
if (nBefore[i] == CTja.ECourse.eMaster && nAfter[i] == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
if (this.ct分岐アニメ進行[i].CurrentValue < 100) {
|
if (this.ct分岐アニメ進行[i].CurrentValue < 100) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
OpenTaiko.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
||||||
@ -140,7 +140,7 @@ internal class CActImplLane : CActivity {
|
|||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nBefore[i] == CDTX.ECourse.eMaster && nAfter[i] == CDTX.ECourse.eExpert) {
|
if (nBefore[i] == CTja.ECourse.eMaster && nAfter[i] == CTja.ECourse.eExpert) {
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
OpenTaiko.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[i].CurrentValue > 100 ? 255 : ((this.ct分岐アニメ進行[i].CurrentValue * 0xff) / 100);
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
@ -152,7 +152,7 @@ internal class CActImplLane : CActivity {
|
|||||||
return base.Draw();
|
return base.Draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void t分岐レイヤー_コース変化(CDTX.ECourse n現在, CDTX.ECourse n次回, int player) {
|
public virtual void t分岐レイヤー_コース変化(CTja.ECourse n現在, CTja.ECourse n次回, int player) {
|
||||||
if (n現在 == n次回) {
|
if (n現在 == n次回) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -168,8 +168,8 @@ internal class CActImplLane : CActivity {
|
|||||||
//-----------------
|
//-----------------
|
||||||
public bool[] bState = new bool[5];
|
public bool[] bState = new bool[5];
|
||||||
public CCounter[] ct分岐アニメ進行 = new CCounter[5];
|
public CCounter[] ct分岐アニメ進行 = new CCounter[5];
|
||||||
private CDTX.ECourse[] nBefore;
|
private CTja.ECourse[] nBefore;
|
||||||
private CDTX.ECourse[] nAfter;
|
private CTja.ECourse[] nAfter;
|
||||||
private int[] n透明度 = new int[5];
|
private int[] n透明度 = new int[5];
|
||||||
//private CTexture[] tx普通譜面 = new CTexture[2];
|
//private CTexture[] tx普通譜面 = new CTexture[2];
|
||||||
//private CTexture[] tx玄人譜面 = new CTexture[2];
|
//private CTexture[] tx玄人譜面 = new CTexture[2];
|
||||||
|
@ -125,20 +125,20 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
|
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
|
||||||
if (OpenTaiko.stage演奏ドラム画面.bUseBranch[i] == true) {
|
if (OpenTaiko.stage演奏ドラム画面.bUseBranch[i] == true) {
|
||||||
#region[ 動いていない ]
|
#region[ 動いていない ]
|
||||||
switch (OpenTaiko.stage演奏ドラム画面.nレーン用表示コース[i]) {
|
switch (OpenTaiko.stage演奏ドラム画面.nDisplayedBranchLane[i]) {
|
||||||
case CDTX.ECourse.eNormal:
|
case CTja.ECourse.eNormal:
|
||||||
if (OpenTaiko.Tx.Lane_Base[0] != null) {
|
if (OpenTaiko.Tx.Lane_Base[0] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Base[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eExpert:
|
case CTja.ECourse.eExpert:
|
||||||
if (OpenTaiko.Tx.Lane_Base[1] != null) {
|
if (OpenTaiko.Tx.Lane_Base[1] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Base[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eMaster:
|
case CTja.ECourse.eMaster:
|
||||||
if (OpenTaiko.Tx.Lane_Base[2] != null) {
|
if (OpenTaiko.Tx.Lane_Base[2] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Base[2].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
@ -159,7 +159,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
|
|
||||||
#region[ 普通譜面_レベルアップ ]
|
#region[ 普通譜面_レベルアップ ]
|
||||||
//普通→玄人
|
//普通→玄人
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eNormal && this.stBranch[i].nAfter == CDTX.ECourse.eExpert) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eNormal && this.stBranch[i].nAfter == CTja.ECourse.eExpert) {
|
||||||
if (OpenTaiko.Tx.Lane_Base[0] != null && OpenTaiko.Tx.Lane_Base[1] != null) {
|
if (OpenTaiko.Tx.Lane_Base[0] != null && OpenTaiko.Tx.Lane_Base[1] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Base[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
@ -167,7 +167,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//普通→達人
|
//普通→達人
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eNormal && this.stBranch[i].nAfter == CDTX.ECourse.eMaster) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eNormal && this.stBranch[i].nAfter == CTja.ECourse.eMaster) {
|
||||||
if (this.stBranch[i].ct分岐アニメ進行.CurrentValue < 100) {
|
if (this.stBranch[i].ct分岐アニメ進行.CurrentValue < 100) {
|
||||||
n透明度 = ((100 - this.stBranch[i].ct分岐アニメ進行.CurrentValue) * 0xff) / 100;
|
n透明度 = ((100 - this.stBranch[i].ct分岐アニメ進行.CurrentValue) * 0xff) / 100;
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 玄人譜面_レベルアップ ]
|
#region[ 玄人譜面_レベルアップ ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eMaster) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eExpert && this.stBranch[i].nAfter == CTja.ECourse.eMaster) {
|
||||||
if (OpenTaiko.Tx.Lane_Base[1] != null && OpenTaiko.Tx.Lane_Base[2] != null) {
|
if (OpenTaiko.Tx.Lane_Base[1] != null && OpenTaiko.Tx.Lane_Base[2] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
@ -188,7 +188,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 玄人譜面_レベルダウン ]
|
#region[ 玄人譜面_レベルダウン ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eNormal) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eExpert && this.stBranch[i].nAfter == CTja.ECourse.eNormal) {
|
||||||
if (OpenTaiko.Tx.Lane_Base[1] != null && OpenTaiko.Tx.Lane_Base[0] != null) {
|
if (OpenTaiko.Tx.Lane_Base[1] != null && OpenTaiko.Tx.Lane_Base[0] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[1].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
@ -197,7 +197,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 達人譜面_レベルダウン ]
|
#region[ 達人譜面_レベルダウン ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eNormal) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eMaster && this.stBranch[i].nAfter == CTja.ECourse.eNormal) {
|
||||||
if (OpenTaiko.Tx.Lane_Base[2] != null && OpenTaiko.Tx.Lane_Base[0] != null) {
|
if (OpenTaiko.Tx.Lane_Base[2] != null && OpenTaiko.Tx.Lane_Base[0] != null) {
|
||||||
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[2].t2D描画(x[i], y[i]);
|
||||||
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Base[0].t2D描画(x[i], y[i]);
|
||||||
@ -257,32 +257,32 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
if (OpenTaiko.ConfigIni.SimpleMode) {
|
if (OpenTaiko.ConfigIni.SimpleMode) {
|
||||||
switch (OpenTaiko.stage演奏ドラム画面.nレーン用表示コース[i]) {
|
switch (OpenTaiko.stage演奏ドラム画面.nDisplayedBranchLane[i]) {
|
||||||
case CDTX.ECourse.eNormal:
|
case CTja.ECourse.eNormal:
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eExpert:
|
case CTja.ECourse.eExpert:
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eMaster:
|
case CTja.ECourse.eMaster:
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (OpenTaiko.ConfigIni.nBranchAnime == 0 && !_laneNull) {
|
} else if (OpenTaiko.ConfigIni.nBranchAnime == 0 && !_laneNull) {
|
||||||
if (!this.stBranch[i].ct分岐アニメ進行.IsTicked) {
|
if (!this.stBranch[i].ct分岐アニメ進行.IsTicked) {
|
||||||
switch (OpenTaiko.stage演奏ドラム画面.nレーン用表示コース[i]) {
|
switch (OpenTaiko.stage演奏ドラム画面.nDisplayedBranchLane[i]) {
|
||||||
case CDTX.ECourse.eNormal:
|
case CTja.ECourse.eNormal:
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eExpert:
|
case CTja.ECourse.eExpert:
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eMaster:
|
case CTja.ECourse.eMaster:
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
@ -291,7 +291,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
if (this.stBranch[i].ct分岐アニメ進行.IsTicked) {
|
if (this.stBranch[i].ct分岐アニメ進行.IsTicked) {
|
||||||
#region[ 普通譜面_レベルアップ ]
|
#region[ 普通譜面_レベルアップ ]
|
||||||
//普通→玄人
|
//普通→玄人
|
||||||
if (this.stBranch[i].nBefore == 0 && this.stBranch[i].nAfter == CDTX.ECourse.eExpert) {
|
if (this.stBranch[i].nBefore == 0 && this.stBranch[i].nAfter == CTja.ECourse.eExpert) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
@ -311,7 +311,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//普通→達人
|
//普通→達人
|
||||||
if (this.stBranch[i].nBefore == 0 && this.stBranch[i].nAfter == CDTX.ECourse.eMaster) {
|
if (this.stBranch[i].nBefore == 0 && this.stBranch[i].nAfter == CTja.ECourse.eMaster) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
@ -346,7 +346,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
#endregion
|
#endregion
|
||||||
#region[ 玄人譜面_レベルアップ ]
|
#region[ 玄人譜面_レベルアップ ]
|
||||||
//玄人→達人
|
//玄人→達人
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eMaster) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eExpert && this.stBranch[i].nAfter == CTja.ECourse.eMaster) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
@ -362,7 +362,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 玄人譜面_レベルダウン ]
|
#region[ 玄人譜面_レベルダウン ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eNormal) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eExpert && this.stBranch[i].nAfter == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
@ -378,7 +378,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 達人譜面_レベルダウン ]
|
#region[ 達人譜面_レベルダウン ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eNormal) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eMaster && this.stBranch[i].nAfter == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
@ -403,7 +403,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eExpert) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eMaster && this.stBranch[i].nAfter == CTja.ECourse.eExpert) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
@ -426,16 +426,16 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.stBranch[i].nY座標 == 0) {
|
if (this.stBranch[i].nY座標 == 0) {
|
||||||
switch (OpenTaiko.stage演奏ドラム画面.nレーン用表示コース[i]) {
|
switch (OpenTaiko.stage演奏ドラム画面.nDisplayedBranchLane[i]) {
|
||||||
case CDTX.ECourse.eNormal:
|
case CTja.ECourse.eNormal:
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eExpert:
|
case CTja.ECourse.eExpert:
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
case CDTX.ECourse.eMaster:
|
case CTja.ECourse.eMaster:
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = 255;
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i]);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i]);
|
||||||
break;
|
break;
|
||||||
@ -445,13 +445,13 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
if (this.stBranch[i].nY座標 != 0) {
|
if (this.stBranch[i].nY座標 != 0) {
|
||||||
#region[ 普通譜面_レベルアップ ]
|
#region[ 普通譜面_レベルアップ ]
|
||||||
//普通→玄人
|
//普通→玄人
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eNormal && this.stBranch[i].nAfter == CDTX.ECourse.eExpert) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eNormal && this.stBranch[i].nAfter == CTja.ECourse.eExpert) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i] - this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i] - this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
}
|
}
|
||||||
//普通→達人
|
//普通→達人
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eNormal && this.stBranch[i].nAfter == CDTX.ECourse.eMaster) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eNormal && this.stBranch[i].nAfter == CTja.ECourse.eMaster) {
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i] - this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], y[i] - this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Text[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
@ -459,26 +459,26 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
#endregion
|
#endregion
|
||||||
#region[ 玄人譜面_レベルアップ ]
|
#region[ 玄人譜面_レベルアップ ]
|
||||||
//玄人→達人
|
//玄人→達人
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eMaster) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eExpert && this.stBranch[i].nAfter == CTja.ECourse.eMaster) {
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i] - this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i] - this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 玄人譜面_レベルダウン ]
|
#region[ 玄人譜面_レベルダウン ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eNormal) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eExpert && this.stBranch[i].nAfter == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i] + this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], y[i] + this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Text[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region[ 達人譜面_レベルダウン ]
|
#region[ 達人譜面_レベルダウン ]
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eNormal) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eMaster && this.stBranch[i].nAfter == CTja.ECourse.eNormal) {
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i] + this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i] + this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[0].t2D描画(x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
}
|
}
|
||||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eExpert) {
|
if (this.stBranch[i].nBefore == CTja.ECourse.eMaster && this.stBranch[i].nAfter == CTja.ECourse.eExpert) {
|
||||||
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i] + this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[2].t2D描画(x[i], y[i] + this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
OpenTaiko.Tx.Lane_Text[1].t2D描画(x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
||||||
OpenTaiko.Tx.Lane_Text[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
OpenTaiko.Tx.Lane_Text[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||||
@ -607,7 +607,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (OpenTaiko.ConfigIni.bEnableAVI && OpenTaiko.DTX.listVD.Count > 0 && OpenTaiko.stage演奏ドラム画面.ShowVideo) {
|
if (OpenTaiko.ConfigIni.bEnableAVI && OpenTaiko.TJA.listVD.Count > 0 && OpenTaiko.stage演奏ドラム画面.ShowVideo) {
|
||||||
if (OpenTaiko.Tx.Lane_Background_Main != null) OpenTaiko.Tx.Lane_Background_Main.Opacity = OpenTaiko.ConfigIni.nBGAlpha;
|
if (OpenTaiko.Tx.Lane_Background_Main != null) OpenTaiko.Tx.Lane_Background_Main.Opacity = OpenTaiko.ConfigIni.nBGAlpha;
|
||||||
if (OpenTaiko.Tx.Lane_Background_AI != null) OpenTaiko.Tx.Lane_Background_AI.Opacity = OpenTaiko.ConfigIni.nBGAlpha;
|
if (OpenTaiko.Tx.Lane_Background_AI != null) OpenTaiko.Tx.Lane_Background_AI.Opacity = OpenTaiko.ConfigIni.nBGAlpha;
|
||||||
if (OpenTaiko.Tx.Lane_Background_Sub != null) OpenTaiko.Tx.Lane_Background_Sub.Opacity = OpenTaiko.ConfigIni.nBGAlpha;
|
if (OpenTaiko.Tx.Lane_Background_Sub != null) OpenTaiko.Tx.Lane_Background_Sub.Opacity = OpenTaiko.ConfigIni.nBGAlpha;
|
||||||
@ -775,7 +775,7 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void t分岐レイヤー_コース変化(CDTX.ECourse n現在, CDTX.ECourse n次回, int nPlayer) {
|
public void t分岐レイヤー_コース変化(CTja.ECourse n現在, CTja.ECourse n次回, int nPlayer) {
|
||||||
if (n現在 == n次回) {
|
if (n現在 == n次回) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -851,8 +851,8 @@ internal class CActImplLaneTaiko : CActivity {
|
|||||||
[StructLayout(LayoutKind.Sequential)]
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
public struct STBRANCH {
|
public struct STBRANCH {
|
||||||
public CCounter ct分岐アニメ進行;
|
public CCounter ct分岐アニメ進行;
|
||||||
public CDTX.ECourse nBefore;
|
public CTja.ECourse nBefore;
|
||||||
public CDTX.ECourse nAfter;
|
public CTja.ECourse nAfter;
|
||||||
|
|
||||||
public long nフラッシュ制御タイマ;
|
public long nフラッシュ制御タイマ;
|
||||||
public int nBranchレイヤー透明度;
|
public int nBranchレイヤー透明度;
|
||||||
|
@ -22,8 +22,8 @@ internal class CActImplMtaiko : CActivity {
|
|||||||
|
|
||||||
this.ctレベルアップダウン = new CCounter[5];
|
this.ctレベルアップダウン = new CCounter[5];
|
||||||
ctSymbolFlash = new CCounter[5];
|
ctSymbolFlash = new CCounter[5];
|
||||||
this.After = new CDTX.ECourse[5];
|
this.After = new CTja.ECourse[5];
|
||||||
this.Before = new CDTX.ECourse[5];
|
this.Before = new CTja.ECourse[5];
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
this.ctレベルアップダウン[i] = new CCounter();
|
this.ctレベルアップダウン[i] = new CCounter();
|
||||||
BackSymbolEvent(i);
|
BackSymbolEvent(i);
|
||||||
@ -463,7 +463,7 @@ internal class CActImplMtaiko : CActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void tBranchEvent(CDTX.ECourse Before, CDTX.ECourse After, int player) {
|
public void tBranchEvent(CTja.ECourse Before, CTja.ECourse After, int player) {
|
||||||
if (After != Before)
|
if (After != Before)
|
||||||
this.ctレベルアップダウン[player] = new CCounter(0, 1000, 1, OpenTaiko.Timer);
|
this.ctレベルアップダウン[player] = new CCounter(0, 1000, 1, OpenTaiko.Timer);
|
||||||
|
|
||||||
@ -569,8 +569,8 @@ internal class CActImplMtaiko : CActivity {
|
|||||||
|
|
||||||
//譜面分岐
|
//譜面分岐
|
||||||
private CCounter[] ctレベルアップダウン;
|
private CCounter[] ctレベルアップダウン;
|
||||||
public CDTX.ECourse[] After;
|
public CTja.ECourse[] After;
|
||||||
public CDTX.ECourse[] Before;
|
public CTja.ECourse[] Before;
|
||||||
private CCounter[] ctSymbolFlash = new CCounter[5];
|
private CCounter[] ctSymbolFlash = new CCounter[5];
|
||||||
//-----------------
|
//-----------------
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -13,7 +13,7 @@ internal class CActImplRunner : CActivity {
|
|||||||
base.IsDeActivated = true;
|
base.IsDeActivated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Start(int Player, bool IsMiss, CDTX.CChip pChip) {
|
public void Start(int Player, bool IsMiss, CChip pChip) {
|
||||||
if (Runner != null && !OpenTaiko.ConfigIni.SimpleMode) {
|
if (Runner != null && !OpenTaiko.ConfigIni.SimpleMode) {
|
||||||
while (stRunners[Index].b使用中) {
|
while (stRunners[Index].b使用中) {
|
||||||
Index += 1;
|
Index += 1;
|
||||||
@ -22,7 +22,7 @@ internal class CActImplRunner : CActivity {
|
|||||||
break; // 2018.6.15 IMARER 無限ループが発生するので修正
|
break; // 2018.6.15 IMARER 無限ループが発生するので修正
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pChip.nチャンネル番号 < 0x15 || (pChip.nチャンネル番号 >= 0x1A)) {
|
if (pChip.nChannelNo < 0x15 || (pChip.nChannelNo >= 0x1A)) {
|
||||||
if (!stRunners[Index].b使用中) {
|
if (!stRunners[Index].b使用中) {
|
||||||
stRunners[Index].b使用中 = true;
|
stRunners[Index].b使用中 = true;
|
||||||
stRunners[Index].nPlayer = Player;
|
stRunners[Index].nPlayer = Player;
|
||||||
|
@ -32,11 +32,11 @@ internal class CActImplScore : CAct演奏スコア共通 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
if (!this.ctボーナス加算タイマ[i].IsStoped) {
|
if (!this.ctBonusAddTimer[i].IsStoped) {
|
||||||
this.ctボーナス加算タイマ[i].Tick();
|
this.ctBonusAddTimer[i].Tick();
|
||||||
if (this.ctボーナス加算タイマ[i].IsEnded) {
|
if (this.ctBonusAddTimer[i].IsEnded) {
|
||||||
OpenTaiko.stage演奏ドラム画面.actScore.BonusAdd(i);
|
OpenTaiko.stage演奏ドラム画面.actScore.BonusAdd(i);
|
||||||
this.ctボーナス加算タイマ[i].Stop();
|
this.ctBonusAddTimer[i].Stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ class CActImplTrainingMode : CActivity {
|
|||||||
|
|
||||||
base.Activate();
|
base.Activate();
|
||||||
|
|
||||||
CDTX dTX = OpenTaiko.DTX;
|
CTja dTX = OpenTaiko.TJA;
|
||||||
|
|
||||||
var measureCount = 1;
|
var measureCount = 1;
|
||||||
var bIsInGoGo = false;
|
var bIsInGoGo = false;
|
||||||
@ -23,15 +23,15 @@ class CActImplTrainingMode : CActivity {
|
|||||||
int endtime = 1;
|
int endtime = 1;
|
||||||
int bgmlength = 1;
|
int bgmlength = 1;
|
||||||
|
|
||||||
for (int index = 0; index < OpenTaiko.DTX.listChip.Count; index++) {
|
for (int index = 0; index < OpenTaiko.TJA.listChip.Count; index++) {
|
||||||
if (OpenTaiko.DTX.listChip[index].nチャンネル番号 == 0xff) {
|
if (OpenTaiko.TJA.listChip[index].nChannelNo == 0xff) {
|
||||||
endtime = OpenTaiko.DTX.listChip[index].n発声時刻ms;
|
endtime = OpenTaiko.TJA.listChip[index].n発声時刻ms;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int index = 0; index < OpenTaiko.DTX.listChip.Count; index++) {
|
for (int index = 0; index < OpenTaiko.TJA.listChip.Count; index++) {
|
||||||
if (OpenTaiko.DTX.listChip[index].nチャンネル番号 == 0x01) {
|
if (OpenTaiko.TJA.listChip[index].nChannelNo == 0x01) {
|
||||||
bgmlength = OpenTaiko.DTX.listChip[index].GetDuration() + OpenTaiko.DTX.listChip[index].n発声時刻ms;
|
bgmlength = OpenTaiko.TJA.listChip[index].GetDuration() + OpenTaiko.TJA.listChip[index].n発声時刻ms;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -42,11 +42,11 @@ class CActImplTrainingMode : CActivity {
|
|||||||
JumpPointList = new List<STJUMPP>();
|
JumpPointList = new List<STJUMPP>();
|
||||||
|
|
||||||
for (int i = 0; i < dTX.listChip.Count; i++) {
|
for (int i = 0; i < dTX.listChip.Count; i++) {
|
||||||
CDTX.CChip pChip = dTX.listChip[i];
|
CChip pChip = dTX.listChip[i];
|
||||||
|
|
||||||
if (pChip.n整数値_内部番号 > measureCount && pChip.nチャンネル番号 == 0x50) measureCount = pChip.n整数値_内部番号;
|
if (pChip.n整数値_内部番号 > measureCount && pChip.nChannelNo == 0x50) measureCount = pChip.n整数値_内部番号;
|
||||||
|
|
||||||
if (pChip.nチャンネル番号 == 0x9E && !bIsInGoGo) {
|
if (pChip.nChannelNo == 0x9E && !bIsInGoGo) {
|
||||||
bIsInGoGo = true;
|
bIsInGoGo = true;
|
||||||
|
|
||||||
var current = ((double)(pChip.db発声時刻ms * OpenTaiko.ConfigIni.SongPlaybackSpeed));
|
var current = ((double)(pChip.db発声時刻ms * OpenTaiko.ConfigIni.SongPlaybackSpeed));
|
||||||
@ -55,7 +55,7 @@ class CActImplTrainingMode : CActivity {
|
|||||||
|
|
||||||
this.gogoXList.Add((int)(width * (current / length)));
|
this.gogoXList.Add((int)(width * (current / length)));
|
||||||
}
|
}
|
||||||
if (pChip.nチャンネル番号 == 0x9F && bIsInGoGo) {
|
if (pChip.nChannelNo == 0x9F && bIsInGoGo) {
|
||||||
bIsInGoGo = false;
|
bIsInGoGo = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -263,8 +263,8 @@ class CActImplTrainingMode : CActivity {
|
|||||||
if (this.ctBackgroundScrollTimer != null) {
|
if (this.ctBackgroundScrollTimer != null) {
|
||||||
this.ctBackgroundScrollTimer.TickLoop();
|
this.ctBackgroundScrollTimer.TickLoop();
|
||||||
|
|
||||||
double TexSize = OpenTaiko.Skin.Resolution[0] / OpenTaiko.Tx.Tokkun_Background_Up.szTextureSize.Width;
|
double TexSize = OpenTaiko.Skin.Resolution[0] / OpenTaiko.Tx.Tokkun_Background_Up.szTextureSize.Width;
|
||||||
// 1280をテクスチャサイズで割ったものを切り上げて、プラス+1足す。
|
// 1280をテクスチャサイズで割ったものを切り上げて、プラス+1足す。
|
||||||
int ForLoop = (int)Math.Ceiling(TexSize) + 1;
|
int ForLoop = (int)Math.Ceiling(TexSize) + 1;
|
||||||
OpenTaiko.Tx.Tokkun_Background_Up.t2D描画(0 - this.ctBackgroundScrollTimer.CurrentValue, OpenTaiko.Skin.Background_Scroll_Y[0]);
|
OpenTaiko.Tx.Tokkun_Background_Up.t2D描画(0 - this.ctBackgroundScrollTimer.CurrentValue, OpenTaiko.Skin.Background_Scroll_Y[0]);
|
||||||
for (int l = 1; l < ForLoop + 1; l++) {
|
for (int l = 1; l < ForLoop + 1; l++) {
|
||||||
@ -325,7 +325,7 @@ class CActImplTrainingMode : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void tPausePlay() {
|
public void tPausePlay() {
|
||||||
CDTX dTX = OpenTaiko.DTX;
|
CTja dTX = OpenTaiko.TJA;
|
||||||
|
|
||||||
this.nスクロール後ms = SoundManager.PlayTimer.NowTimeMs;
|
this.nスクロール後ms = SoundManager.PlayTimer.NowTimeMs;
|
||||||
|
|
||||||
@ -333,15 +333,15 @@ class CActImplTrainingMode : CActivity {
|
|||||||
SoundManager.PlayTimer.Pause();
|
SoundManager.PlayTimer.Pause();
|
||||||
|
|
||||||
for (int i = 0; i < dTX.listChip.Count; i++) {
|
for (int i = 0; i < dTX.listChip.Count; i++) {
|
||||||
CDTX.CChip pChip = dTX.listChip[i];
|
CChip pChip = dTX.listChip[i];
|
||||||
pChip.bHit = false;
|
pChip.bHit = false;
|
||||||
if (dTX.listChip[i].nチャンネル番号 != 0x50) {
|
if (dTX.listChip[i].nChannelNo != 0x50) {
|
||||||
pChip.bShow = true;
|
pChip.bShow = true;
|
||||||
pChip.b可視 = true;
|
pChip.bVisible = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OpenTaiko.DTX.t全チップの再生一時停止();
|
OpenTaiko.TJA.t全チップの再生一時停止();
|
||||||
OpenTaiko.stage演奏ドラム画面.bPAUSE = true;
|
OpenTaiko.stage演奏ドラム画面.bPAUSE = true;
|
||||||
OpenTaiko.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
|
OpenTaiko.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
|
||||||
this.bTrainingPAUSE = true;
|
this.bTrainingPAUSE = true;
|
||||||
@ -351,12 +351,12 @@ class CActImplTrainingMode : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void tResumePlay() {
|
public void tResumePlay() {
|
||||||
CDTX dTX = OpenTaiko.DTX;
|
CTja dTX = OpenTaiko.TJA;
|
||||||
|
|
||||||
this.bCurrentlyScrolling = false;
|
this.bCurrentlyScrolling = false;
|
||||||
SoundManager.PlayTimer.NowTimeMs = this.nスクロール後ms;
|
SoundManager.PlayTimer.NowTimeMs = this.nスクロール後ms;
|
||||||
|
|
||||||
int n演奏開始Chip = OpenTaiko.stage演奏ドラム画面.n現在のトップChip;
|
int n演奏開始Chip = OpenTaiko.stage演奏ドラム画面.nCurrentTopChip;
|
||||||
int finalStartBar;
|
int finalStartBar;
|
||||||
|
|
||||||
finalStartBar = this.nCurrentMeasure - 2;
|
finalStartBar = this.nCurrentMeasure - 2;
|
||||||
@ -365,29 +365,29 @@ class CActImplTrainingMode : CActivity {
|
|||||||
OpenTaiko.stage演奏ドラム画面.t演奏位置の変更(finalStartBar, 0);
|
OpenTaiko.stage演奏ドラム画面.t演奏位置の変更(finalStartBar, 0);
|
||||||
|
|
||||||
|
|
||||||
int n少し戻ってから演奏開始Chip = OpenTaiko.stage演奏ドラム画面.n現在のトップChip;
|
int n少し戻ってから演奏開始Chip = OpenTaiko.stage演奏ドラム画面.nCurrentTopChip;
|
||||||
|
|
||||||
OpenTaiko.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = 0;
|
OpenTaiko.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = 0;
|
||||||
OpenTaiko.stage演奏ドラム画面.t数値の初期化(true, true);
|
OpenTaiko.stage演奏ドラム画面.t数値の初期化(true, true);
|
||||||
OpenTaiko.stage演奏ドラム画面.Activate();
|
OpenTaiko.stage演奏ドラム画面.Activate();
|
||||||
if (OpenTaiko.ConfigIni.bTokkunMode && OpenTaiko.stage演奏ドラム画面.actBalloon.KusudamaIsActive) OpenTaiko.stage演奏ドラム画面.actBalloon.KusuMiss();
|
if (OpenTaiko.ConfigIni.bTokkunMode && OpenTaiko.stage演奏ドラム画面.actBalloon.KusudamaIsActive) OpenTaiko.stage演奏ドラム画面.actBalloon.KusuMiss();
|
||||||
|
|
||||||
for (int i = 0; i < dTX.listChip.Count; i++) {
|
for (int i = 0; i < dTX.listChip.Count; i++) {
|
||||||
|
|
||||||
//if (i < n演奏開始Chip && (dTX.listChip[i].nチャンネル番号 > 0x10 && dTX.listChip[i].nチャンネル番号 < 0x20)) //2020.07.08 ノーツだけ消す。 null参照回避のために順番変更
|
//if (i < n演奏開始Chip && (dTX.listChip[i].nチャンネル番号 > 0x10 && dTX.listChip[i].nチャンネル番号 < 0x20)) //2020.07.08 ノーツだけ消す。 null参照回避のために順番変更
|
||||||
if (i < n演奏開始Chip && NotesManager.IsHittableNote(dTX.listChip[i])) {
|
if (i < n演奏開始Chip && NotesManager.IsHittableNote(dTX.listChip[i])) {
|
||||||
dTX.listChip[i].bHit = true;
|
dTX.listChip[i].bHit = true;
|
||||||
dTX.listChip[i].IsHitted = true;
|
dTX.listChip[i].IsHitted = true;
|
||||||
dTX.listChip[i].b可視 = false;
|
dTX.listChip[i].bVisible = false;
|
||||||
dTX.listChip[i].bShow = false;
|
dTX.listChip[i].bShow = false;
|
||||||
}
|
}
|
||||||
if (i < n少し戻ってから演奏開始Chip && dTX.listChip[i].nチャンネル番号 == 0x01) {
|
if (i < n少し戻ってから演奏開始Chip && dTX.listChip[i].nChannelNo == 0x01) {
|
||||||
dTX.listChip[i].bHit = true;
|
dTX.listChip[i].bHit = true;
|
||||||
dTX.listChip[i].IsHitted = true;
|
dTX.listChip[i].IsHitted = true;
|
||||||
dTX.listChip[i].b可視 = false;
|
dTX.listChip[i].bVisible = false;
|
||||||
dTX.listChip[i].bShow = false;
|
dTX.listChip[i].bShow = false;
|
||||||
}
|
}
|
||||||
if (dTX.listChip[i].nチャンネル番号 == 0x50 && dTX.listChip[i].n整数値_内部番号 < finalStartBar) {
|
if (dTX.listChip[i].nChannelNo == 0x50 && dTX.listChip[i].n整数値_内部番号 < finalStartBar) {
|
||||||
dTX.listChip[i].bHit = true;
|
dTX.listChip[i].bHit = true;
|
||||||
dTX.listChip[i].IsHitted = true;
|
dTX.listChip[i].IsHitted = true;
|
||||||
}
|
}
|
||||||
@ -404,32 +404,32 @@ class CActImplTrainingMode : CActivity {
|
|||||||
public void tMatchWithTheChartDisplayPosition(bool doScroll) {
|
public void tMatchWithTheChartDisplayPosition(bool doScroll) {
|
||||||
this.nスクロール前ms = SoundManager.PlayTimer.NowTimeMs;
|
this.nスクロール前ms = SoundManager.PlayTimer.NowTimeMs;
|
||||||
|
|
||||||
CDTX dTX = OpenTaiko.DTX;
|
CTja dTX = OpenTaiko.TJA;
|
||||||
|
|
||||||
bool bSuccessSeek = false;
|
bool bSuccessSeek = false;
|
||||||
for (int i = 0; i < dTX.listChip.Count; i++) {
|
for (int i = 0; i < dTX.listChip.Count; i++) {
|
||||||
CDTX.CChip pChip = dTX.listChip[i];
|
CChip pChip = dTX.listChip[i];
|
||||||
|
|
||||||
if (pChip.nチャンネル番号 == 0x50 && pChip.n整数値_内部番号 > nCurrentMeasure - 1) {
|
if (pChip.nChannelNo == 0x50 && pChip.n整数値_内部番号 > nCurrentMeasure - 1) {
|
||||||
bSuccessSeek = true;
|
bSuccessSeek = true;
|
||||||
OpenTaiko.stage演奏ドラム画面.n現在のトップChip = i;
|
OpenTaiko.stage演奏ドラム画面.nCurrentTopChip = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!bSuccessSeek) {
|
if (!bSuccessSeek) {
|
||||||
OpenTaiko.stage演奏ドラム画面.n現在のトップChip = 0;
|
OpenTaiko.stage演奏ドラム画面.nCurrentTopChip = 0;
|
||||||
} else {
|
} else {
|
||||||
while (dTX.listChip[OpenTaiko.stage演奏ドラム画面.n現在のトップChip].n発声時刻ms == dTX.listChip[OpenTaiko.stage演奏ドラム画面.n現在のトップChip - 1].n発声時刻ms && OpenTaiko.stage演奏ドラム画面.n現在のトップChip != 0)
|
while (dTX.listChip[OpenTaiko.stage演奏ドラム画面.nCurrentTopChip].n発声時刻ms == dTX.listChip[OpenTaiko.stage演奏ドラム画面.nCurrentTopChip - 1].n発声時刻ms && OpenTaiko.stage演奏ドラム画面.nCurrentTopChip != 0)
|
||||||
OpenTaiko.stage演奏ドラム画面.n現在のトップChip--;
|
OpenTaiko.stage演奏ドラム画面.nCurrentTopChip--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doScroll) {
|
if (doScroll) {
|
||||||
this.nスクロール後ms = (long)(dTX.listChip[OpenTaiko.stage演奏ドラム画面.n現在のトップChip].n発声時刻ms / OpenTaiko.ConfigIni.SongPlaybackSpeed);
|
this.nスクロール後ms = (long)(dTX.listChip[OpenTaiko.stage演奏ドラム画面.nCurrentTopChip].n発声時刻ms / OpenTaiko.ConfigIni.SongPlaybackSpeed);
|
||||||
this.bCurrentlyScrolling = true;
|
this.bCurrentlyScrolling = true;
|
||||||
|
|
||||||
this.ctScrollCounter = new CCounter(0, OpenTaiko.Skin.Game_Training_ScrollTime, 1, OpenTaiko.Timer);
|
this.ctScrollCounter = new CCounter(0, OpenTaiko.Skin.Game_Training_ScrollTime, 1, OpenTaiko.Timer);
|
||||||
} else {
|
} else {
|
||||||
SoundManager.PlayTimer.NowTimeMs = (long)(dTX.listChip[OpenTaiko.stage演奏ドラム画面.n現在のトップChip].n発声時刻ms / OpenTaiko.ConfigIni.SongPlaybackSpeed);
|
SoundManager.PlayTimer.NowTimeMs = (long)(dTX.listChip[OpenTaiko.stage演奏ドラム画面.nCurrentTopChip].n発声時刻ms / OpenTaiko.ConfigIni.SongPlaybackSpeed);
|
||||||
this.nスクロール後ms = SoundManager.PlayTimer.NowTimeMs;
|
this.nスクロール後ms = SoundManager.PlayTimer.NowTimeMs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -457,8 +457,8 @@ class CActImplTrainingMode : CActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int nCurrentMeasure;
|
public int nCurrentMeasure;
|
||||||
public int nMeasureCount;
|
public int nMeasureCount;
|
||||||
|
|
||||||
#region [private]
|
#region [private]
|
||||||
private long nスクロール前ms;
|
private long nスクロール前ms;
|
||||||
private long nスクロール後ms;
|
private long nスクロール後ms;
|
||||||
@ -480,8 +480,8 @@ class CActImplTrainingMode : CActivity {
|
|||||||
private struct STJUMPP {
|
private struct STJUMPP {
|
||||||
public long Time;
|
public long Time;
|
||||||
public int Measure;
|
public int Measure;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -500,7 +500,7 @@ class CActImplTrainingMode : CActivity {
|
|||||||
t = t - 2;
|
t = t - 2;
|
||||||
return (int)(c / 2 * (Math.Sqrt(1 - t * t) + 1) + b);
|
return (int)(c / 2 * (Math.Sqrt(1 - t * t) + 1) + b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ internal class CAct演奏Drumsゲームモード : CActivity {
|
|||||||
|
|
||||||
public void t叩ききりまショー_初期化() {
|
public void t叩ききりまショー_初期化() {
|
||||||
this.st叩ききりまショー = new ST叩ききりまショー();
|
this.st叩ききりまショー = new ST叩ききりまショー();
|
||||||
this.n演奏時間 = (OpenTaiko.DTX.listChip.Count > 0) ? OpenTaiko.DTX.listChip[OpenTaiko.DTX.listChip.Count - 1].n発声時刻ms : 0;
|
this.n演奏時間 = (OpenTaiko.TJA.listChip.Count > 0) ? OpenTaiko.TJA.listChip[OpenTaiko.TJA.listChip.Count - 1].n発声時刻ms : 0;
|
||||||
this.st叩ききりまショー.ct残り時間 = new CCounter(0, 25000, 1, OpenTaiko.Timer);
|
this.st叩ききりまショー.ct残り時間 = new CCounter(0, 25000, 1, OpenTaiko.Timer);
|
||||||
this.st叩ききりまショー.ct加算時間表示 = new CCounter();
|
this.st叩ききりまショー.ct加算時間表示 = new CCounter();
|
||||||
this.st叩ききりまショー.ct加算審査中 = new CCounter();
|
this.st叩ききりまショー.ct加算審査中 = new CCounter();
|
||||||
@ -248,7 +248,7 @@ internal class CAct演奏Drumsゲームモード : CActivity {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//★10の場合超激辛モードになる。
|
//★10の場合超激辛モードになる。
|
||||||
if (OpenTaiko.DTX.LEVELtaiko[OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0]] >= 10) {
|
if (OpenTaiko.TJA.LEVELtaiko[OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0]] >= 10) {
|
||||||
#region[ 超激辛 ]
|
#region[ 超激辛 ]
|
||||||
this.st叩ききりまショー.b超激辛 = true;
|
this.st叩ききりまショー.b超激辛 = true;
|
||||||
|
|
||||||
@ -549,8 +549,8 @@ internal class CAct演奏Drumsゲームモード : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#region[ 全体 ]
|
#region[ 全体 ]
|
||||||
if (OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect != 0 || OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great != 0) {
|
if (OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Perfect != 0 || OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Great != 0) {
|
||||||
double db全体精度 = ((double)(OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great) / this.st叩ききりまショー.n区間ノート数) * 100.0;
|
double db全体精度 = ((double)(OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Great) / this.st叩ききりまショー.n区間ノート数) * 100.0;
|
||||||
for (int i = 0; i < this.n全体精度ボーナス.Length; i++) {
|
for (int i = 0; i < this.n全体精度ボーナス.Length; i++) {
|
||||||
if (db全体精度 >= this.n全体精度ボーナス[i].ret) {
|
if (db全体精度 >= this.n全体精度ボーナス[i].ret) {
|
||||||
n延長する時間 += this.n全体精度ボーナス[i].point;
|
n延長する時間 += this.n全体精度ボーナス[i].point;
|
||||||
@ -570,8 +570,8 @@ internal class CAct演奏Drumsゲームモード : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
if (OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0] != 0) {
|
if (OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[0] != 0) {
|
||||||
double db全体コンボ率 = ((double)OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0] / this.st叩ききりまショー.n現在通過したノート数) * 100.0;
|
double db全体コンボ率 = ((double)OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[0] / this.st叩ききりまショー.n現在通過したノート数) * 100.0;
|
||||||
for (int i = 0; i < this.n全体コンボ率ボーナス.Length; i++) {
|
for (int i = 0; i < this.n全体コンボ率ボーナス.Length; i++) {
|
||||||
if (db全体コンボ率 >= this.n全体コンボ率ボーナス[i].ret) {
|
if (db全体コンボ率 >= this.n全体コンボ率ボーナス[i].ret) {
|
||||||
n延長する時間 += this.n全体コンボ率ボーナス[i].point;
|
n延長する時間 += this.n全体コンボ率ボーナス[i].point;
|
||||||
@ -580,7 +580,7 @@ internal class CAct演奏Drumsゲームモード : CActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double db全体ミス率 = (((double)OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Poor + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss) / this.st叩ききりまショー.n現在通過したノート数) * 100.0;
|
double db全体ミス率 = (((double)OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Poor + OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Miss) / this.st叩ききりまショー.n現在通過したノート数) * 100.0;
|
||||||
for (int i = 0; i < this.n全体ミス率ボーナス.Length; i++) {
|
for (int i = 0; i < this.n全体ミス率ボーナス.Length; i++) {
|
||||||
if (db全体ミス率 >= this.n全体ミス率ボーナス[i].ret) {
|
if (db全体ミス率 >= this.n全体ミス率ボーナス[i].ret) {
|
||||||
n延長する時間 += this.n全体ミス率ボーナス[i].point;
|
n延長する時間 += this.n全体ミス率ボーナス[i].point;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -61,16 +61,16 @@ internal class Dan_Cert : CActivity {
|
|||||||
|
|
||||||
ScreenPoint = new double[] { OpenTaiko.Skin.Game_Lane_X[0] - OpenTaiko.Tx.DanC_Screen.szTextureSize.Width / 2, OpenTaiko.Skin.Resolution[0] };
|
ScreenPoint = new double[] { OpenTaiko.Skin.Game_Lane_X[0] - OpenTaiko.Tx.DanC_Screen.szTextureSize.Width / 2, OpenTaiko.Skin.Resolution[0] };
|
||||||
|
|
||||||
OpenTaiko.stage演奏ドラム画面.ReSetScore(OpenTaiko.DTX.List_DanSongs[NowShowingNumber].ScoreInit, OpenTaiko.DTX.List_DanSongs[NowShowingNumber].ScoreDiff);
|
OpenTaiko.stage演奏ドラム画面.ReSetScore(OpenTaiko.TJA.List_DanSongs[NowShowingNumber].ScoreInit, OpenTaiko.TJA.List_DanSongs[NowShowingNumber].ScoreDiff);
|
||||||
|
|
||||||
OpenTaiko.stage演奏ドラム画面.ftDanReSetScoreNiji(OpenTaiko.DTX.nDan_NotesCount[NowShowingNumber], OpenTaiko.DTX.nDan_BalloonCount[NowShowingNumber]);
|
OpenTaiko.stage演奏ドラム画面.ftDanReSetScoreNiji(OpenTaiko.TJA.nDan_NotesCount[NowShowingNumber], OpenTaiko.TJA.nDan_BalloonCount[NowShowingNumber]);
|
||||||
OpenTaiko.stage演奏ドラム画面.ftDanReSetBranches(OpenTaiko.DTX.bHasBranchDan[NowShowingNumber]);
|
OpenTaiko.stage演奏ドラム画面.ftDanReSetBranches(OpenTaiko.TJA.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 + "曲目");
|
||||||
OpenTaiko.stage演奏ドラム画面.actPanel.SetPanelString(OpenTaiko.DTX.List_DanSongs[NowShowingNumber].Title,
|
OpenTaiko.stage演奏ドラム画面.actPanel.SetPanelString(OpenTaiko.TJA.List_DanSongs[NowShowingNumber].Title,
|
||||||
CLangManager.LangInstance.GetString("TITLE_MODE_DAN"),
|
CLangManager.LangInstance.GetString("TITLE_MODE_DAN"),
|
||||||
1 + NowShowingNumber + "曲目");
|
1 + NowShowingNumber + "曲目");
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ internal class Dan_Cert : CActivity {
|
|||||||
|
|
||||||
public override void Activate() {
|
public override void Activate() {
|
||||||
for (int i = 0; i < CExamInfo.cMaxExam; i++) {
|
for (int i = 0; i < CExamInfo.cMaxExam; i++) {
|
||||||
if (OpenTaiko.DTX.Dan_C[i] != null) Challenge[i] = new Dan_C(OpenTaiko.DTX.Dan_C[i]);
|
if (OpenTaiko.TJA.Dan_C[i] != null) Challenge[i] = new Dan_C(OpenTaiko.TJA.Dan_C[i]);
|
||||||
|
|
||||||
for (int j = 0; j < OpenTaiko.stageSongSelect.rChoosenSong.DanSongs.Count; j++) {
|
for (int j = 0; j < OpenTaiko.stageSongSelect.rChoosenSong.DanSongs.Count; j++) {
|
||||||
if (OpenTaiko.stageSongSelect.rChoosenSong.DanSongs[j].Dan_C[i] != null) {
|
if (OpenTaiko.stageSongSelect.rChoosenSong.DanSongs[j].Dan_C[i] != null) {
|
||||||
@ -121,7 +121,7 @@ internal class Dan_Cert : CActivity {
|
|||||||
|
|
||||||
if (OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Dan) IsAnimating = true;
|
if (OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Dan) IsAnimating = true;
|
||||||
|
|
||||||
Dan_Plate = OpenTaiko.tテクスチャの生成(Path.GetDirectoryName(OpenTaiko.DTX.strファイル名の絶対パス) + @$"{Path.DirectorySeparatorChar}Dan_Plate.png");
|
Dan_Plate = OpenTaiko.tテクスチャの生成(Path.GetDirectoryName(OpenTaiko.TJA.strファイル名の絶対パス) + @$"{Path.DirectorySeparatorChar}Dan_Plate.png");
|
||||||
|
|
||||||
base.Activate();
|
base.Activate();
|
||||||
}
|
}
|
||||||
@ -134,14 +134,14 @@ internal class Dan_Cert : CActivity {
|
|||||||
var oldReached = Challenge[i].GetReached();
|
var oldReached = Challenge[i].GetReached();
|
||||||
var isChangedAmount = false;
|
var isChangedAmount = false;
|
||||||
|
|
||||||
int totalGoods = (int)OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect;
|
int totalGoods = (int)OpenTaiko.stage演奏ドラム画面.nHitCount_InclAuto.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Perfect;
|
||||||
int totalOks = (int)OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Great + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great;
|
int totalOks = (int)OpenTaiko.stage演奏ドラム画面.nHitCount_InclAuto.Drums.Great + OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Great;
|
||||||
int totalBads = (int)OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss;
|
int totalBads = (int)OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Miss;
|
||||||
int totalCombo = (int)OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0];
|
int totalCombo = (int)OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[0];
|
||||||
|
|
||||||
int individualGoods = OpenTaiko.stage演奏ドラム画面.n良[NowShowingNumber];
|
int individualGoods = OpenTaiko.stage演奏ドラム画面.nGood[NowShowingNumber];
|
||||||
int individualOks = OpenTaiko.stage演奏ドラム画面.n可[NowShowingNumber];
|
int individualOks = OpenTaiko.stage演奏ドラム画面.nOk[NowShowingNumber];
|
||||||
int individualBads = OpenTaiko.stage演奏ドラム画面.n不可[NowShowingNumber];
|
int individualBads = OpenTaiko.stage演奏ドラム画面.nBad[NowShowingNumber];
|
||||||
int individualCombo = OpenTaiko.stage演奏ドラム画面.nHighestCombo[NowShowingNumber];
|
int individualCombo = OpenTaiko.stage演奏ドラム画面.nHighestCombo[NowShowingNumber];
|
||||||
|
|
||||||
int totalADLIBs = OpenTaiko.stage演奏ドラム画面.CChartScore[0].nADLIB;
|
int totalADLIBs = OpenTaiko.stage演奏ドラム画面.CChartScore[0].nADLIB;
|
||||||
@ -176,10 +176,10 @@ internal class Dan_Cert : CActivity {
|
|||||||
isChangedAmount = Challenge[i].Update((int)OpenTaiko.stage演奏ドラム画面.actScore.GetScore(0));
|
isChangedAmount = Challenge[i].Update((int)OpenTaiko.stage演奏ドラム画面.actScore.GetScore(0));
|
||||||
break;
|
break;
|
||||||
case Exam.Type.Roll:
|
case Exam.Type.Roll:
|
||||||
isChangedAmount = Challenge[i].Update(ExamChange[i] ? OpenTaiko.stage演奏ドラム画面.n連打[NowShowingNumber] : (int)(OpenTaiko.stage演奏ドラム画面.GetRoll(0)));
|
isChangedAmount = Challenge[i].Update(ExamChange[i] ? OpenTaiko.stage演奏ドラム画面.nRoll[NowShowingNumber] : (int)(OpenTaiko.stage演奏ドラム画面.GetRoll(0)));
|
||||||
break;
|
break;
|
||||||
case Exam.Type.Hit:
|
case Exam.Type.Hit:
|
||||||
isChangedAmount = Challenge[i].Update(ExamChange[i] ? OpenTaiko.stage演奏ドラム画面.n良[NowShowingNumber] + OpenTaiko.stage演奏ドラム画面.n可[NowShowingNumber] + OpenTaiko.stage演奏ドラム画面.n連打[NowShowingNumber] : (int)(OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Great + OpenTaiko.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great + OpenTaiko.stage演奏ドラム画面.GetRoll(0)));
|
isChangedAmount = Challenge[i].Update(ExamChange[i] ? OpenTaiko.stage演奏ドラム画面.nGood[NowShowingNumber] + OpenTaiko.stage演奏ドラム画面.nOk[NowShowingNumber] + OpenTaiko.stage演奏ドラム画面.nRoll[NowShowingNumber] : (int)(OpenTaiko.stage演奏ドラム画面.nHitCount_InclAuto.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Perfect + OpenTaiko.stage演奏ドラム画面.nHitCount_InclAuto.Drums.Great + OpenTaiko.stage演奏ドラム画面.nHitCount_ExclAuto.Drums.Great + OpenTaiko.stage演奏ドラム画面.GetRoll(0)));
|
||||||
break;
|
break;
|
||||||
case Exam.Type.Combo:
|
case Exam.Type.Combo:
|
||||||
isChangedAmount = Challenge[i].Update(ExamChange[i] ? individualCombo : totalCombo);
|
isChangedAmount = Challenge[i].Update(ExamChange[i] ? individualCombo : totalCombo);
|
||||||
@ -205,10 +205,10 @@ internal class Dan_Cert : CActivity {
|
|||||||
if (Challenge[i].GetExamRange() == Exam.Range.Less) {
|
if (Challenge[i].GetExamRange() == Exam.Range.Less) {
|
||||||
Challenge[i].SetReached(!Challenge[i].IsCleared[0]);
|
Challenge[i].SetReached(!Challenge[i].IsCleared[0]);
|
||||||
} else {
|
} else {
|
||||||
songsnotesremain[NowShowingNumber] = OpenTaiko.DTX.nDan_NotesCount[NowShowingNumber]
|
songsnotesremain[NowShowingNumber] = OpenTaiko.TJA.nDan_NotesCount[NowShowingNumber]
|
||||||
- (OpenTaiko.stage演奏ドラム画面.n良[NowShowingNumber]
|
- (OpenTaiko.stage演奏ドラム画面.nGood[NowShowingNumber]
|
||||||
+ OpenTaiko.stage演奏ドラム画面.n可[NowShowingNumber]
|
+ OpenTaiko.stage演奏ドラム画面.nOk[NowShowingNumber]
|
||||||
+ OpenTaiko.stage演奏ドラム画面.n不可[NowShowingNumber]);
|
+ OpenTaiko.stage演奏ドラム画面.nBad[NowShowingNumber]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
notesremain = TJAPlayer3.DTX.nノーツ数[3]
|
notesremain = TJAPlayer3.DTX.nノーツ数[3]
|
||||||
@ -220,7 +220,7 @@ internal class Dan_Cert : CActivity {
|
|||||||
+ TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss);
|
+ TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
notesremain = OpenTaiko.DTX.nノーツ数[3]
|
notesremain = OpenTaiko.TJA.nノーツ数[3]
|
||||||
- (OpenTaiko.stage演奏ドラム画面.CChartScore[0].nGood
|
- (OpenTaiko.stage演奏ドラム画面.CChartScore[0].nGood
|
||||||
+ OpenTaiko.stage演奏ドラム画面.CChartScore[0].nGreat
|
+ OpenTaiko.stage演奏ドラム画面.CChartScore[0].nGreat
|
||||||
+ OpenTaiko.stage演奏ドラム画面.CChartScore[0].nMiss);
|
+ OpenTaiko.stage演奏ドラム画面.CChartScore[0].nMiss);
|
||||||
@ -253,8 +253,8 @@ internal class Dan_Cert : CActivity {
|
|||||||
: notesremain < (Challenge[i].Value[0] - Challenge[i].Amount)) Challenge[i].SetReached(true);
|
: notesremain < (Challenge[i].Value[0] - Challenge[i].Amount)) Challenge[i].SetReached(true);
|
||||||
break;
|
break;
|
||||||
case Exam.Type.Combo:
|
case Exam.Type.Combo:
|
||||||
if (notesremain + OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.P1 < ((Challenge[i].Value[0]))
|
if (notesremain + OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.P1 < ((Challenge[i].Value[0]))
|
||||||
&& OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0] < (Challenge[i].Value[0])) Challenge[i].SetReached(true);
|
&& OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[0] < (Challenge[i].Value[0])) Challenge[i].SetReached(true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -265,10 +265,10 @@ internal class Dan_Cert : CActivity {
|
|||||||
|
|
||||||
// Check challenge fails at the end of each songs
|
// Check challenge fails at the end of each songs
|
||||||
|
|
||||||
if (OpenTaiko.DTX.listChip.Count > 0) {
|
if (OpenTaiko.TJA.listChip.Count > 0) {
|
||||||
if (ExamChange[i]
|
if (ExamChange[i]
|
||||||
? OpenTaiko.DTX.pDan_LastChip[NowShowingNumber].n発声時刻ms <= SoundManager.PlayTimer.NowTime//TJAPlayer3.Timer.n現在時刻
|
? OpenTaiko.TJA.pDan_LastChip[NowShowingNumber].n発声時刻ms <= SoundManager.PlayTimer.NowTime//TJAPlayer3.Timer.n現在時刻
|
||||||
: OpenTaiko.DTX.listChip[OpenTaiko.DTX.listChip.Count - 1].n発声時刻ms <= SoundManager.PlayTimer.NowTime)//TJAPlayer3.Timer.n現在時刻)
|
: OpenTaiko.TJA.listChip[OpenTaiko.TJA.listChip.Count - 1].n発声時刻ms <= SoundManager.PlayTimer.NowTime)//TJAPlayer3.Timer.n現在時刻)
|
||||||
{
|
{
|
||||||
switch (Challenge[i].GetExamType()) {
|
switch (Challenge[i].GetExamType()) {
|
||||||
case Exam.Type.Score:
|
case Exam.Type.Score:
|
||||||
@ -350,20 +350,20 @@ internal class Dan_Cert : CActivity {
|
|||||||
if (Counter_Text.CurrentValue >= 2000) {
|
if (Counter_Text.CurrentValue >= 2000) {
|
||||||
for (int i = Counter_Text_Old; i < Counter_Text.CurrentValue; i++) {
|
for (int i = Counter_Text_Old; i < Counter_Text.CurrentValue; i++) {
|
||||||
if (i % 2 == 0) {
|
if (i % 2 == 0) {
|
||||||
if (OpenTaiko.DTX.List_DanSongs[NowShowingNumber].TitleTex != null) {
|
if (OpenTaiko.TJA.List_DanSongs[NowShowingNumber].TitleTex != null) {
|
||||||
OpenTaiko.DTX.List_DanSongs[NowShowingNumber].TitleTex.Opacity--;
|
OpenTaiko.TJA.List_DanSongs[NowShowingNumber].TitleTex.Opacity--;
|
||||||
}
|
}
|
||||||
if (OpenTaiko.DTX.List_DanSongs[NowShowingNumber].SubTitleTex != null) {
|
if (OpenTaiko.TJA.List_DanSongs[NowShowingNumber].SubTitleTex != null) {
|
||||||
OpenTaiko.DTX.List_DanSongs[NowShowingNumber].SubTitleTex.Opacity--;
|
OpenTaiko.TJA.List_DanSongs[NowShowingNumber].SubTitleTex.Opacity--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (OpenTaiko.DTX.List_DanSongs[NowShowingNumber].TitleTex != null) {
|
if (OpenTaiko.TJA.List_DanSongs[NowShowingNumber].TitleTex != null) {
|
||||||
OpenTaiko.DTX.List_DanSongs[NowShowingNumber].TitleTex.Opacity = 255;
|
OpenTaiko.TJA.List_DanSongs[NowShowingNumber].TitleTex.Opacity = 255;
|
||||||
}
|
}
|
||||||
if (OpenTaiko.DTX.List_DanSongs[NowShowingNumber].SubTitleTex != null) {
|
if (OpenTaiko.TJA.List_DanSongs[NowShowingNumber].SubTitleTex != null) {
|
||||||
OpenTaiko.DTX.List_DanSongs[NowShowingNumber].SubTitleTex.Opacity = 255;
|
OpenTaiko.TJA.List_DanSongs[NowShowingNumber].SubTitleTex.Opacity = 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Counter_Text_Old = Counter_Text.CurrentValue;
|
Counter_Text_Old = Counter_Text.CurrentValue;
|
||||||
@ -430,8 +430,8 @@ internal class Dan_Cert : CActivity {
|
|||||||
}
|
}
|
||||||
if (Counter_Text != null) {
|
if (Counter_Text != null) {
|
||||||
if (Counter_Text.IsUnEnded) {
|
if (Counter_Text.IsUnEnded) {
|
||||||
var title = OpenTaiko.DTX.List_DanSongs[NowShowingNumber].TitleTex;
|
var title = OpenTaiko.TJA.List_DanSongs[NowShowingNumber].TitleTex;
|
||||||
var subTitle = OpenTaiko.DTX.List_DanSongs[NowShowingNumber].SubTitleTex;
|
var subTitle = OpenTaiko.TJA.List_DanSongs[NowShowingNumber].SubTitleTex;
|
||||||
if (subTitle == null)
|
if (subTitle == null)
|
||||||
title?.t2D拡大率考慮中央基準描画(OpenTaiko.Skin.Game_DanC_Title_X[0], OpenTaiko.Skin.Game_DanC_Title_Y[0]);
|
title?.t2D拡大率考慮中央基準描画(OpenTaiko.Skin.Game_DanC_Title_X[0], OpenTaiko.Skin.Game_DanC_Title_Y[0]);
|
||||||
else {
|
else {
|
||||||
|
@ -49,7 +49,7 @@ class NotesManager {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int GetNoteX(CDTX.CChip pChip, double timems, double scroll, int interval, float play_bpm_time, EScrollMode eScrollMode, bool roll) {
|
public static int GetNoteX(CChip pChip, double timems, double scroll, int interval, float play_bpm_time, EScrollMode eScrollMode, bool roll) {
|
||||||
double hbtime = ((roll ? pChip.fBMSCROLLTime_end : pChip.fBMSCROLLTime) - (play_bpm_time));
|
double hbtime = ((roll ? pChip.fBMSCROLLTime_end : pChip.fBMSCROLLTime) - (play_bpm_time));
|
||||||
double screen_ratio = OpenTaiko.Skin.Resolution[0] / 1280.0;
|
double screen_ratio = OpenTaiko.Skin.Resolution[0] / 1280.0;
|
||||||
switch (eScrollMode) {
|
switch (eScrollMode) {
|
||||||
@ -66,7 +66,7 @@ class NotesManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int GetNoteY(CDTX.CChip pChip, double timems, double scroll, int interval, float play_bpm_time, EScrollMode eScrollMode, bool roll) {
|
public static int GetNoteY(CChip pChip, double timems, double scroll, int interval, float play_bpm_time, EScrollMode eScrollMode, bool roll) {
|
||||||
double hbtime = ((roll ? pChip.fBMSCROLLTime_end : pChip.fBMSCROLLTime) - (play_bpm_time));
|
double hbtime = ((roll ? pChip.fBMSCROLLTime_end : pChip.fBMSCROLLTime) - (play_bpm_time));
|
||||||
double screen_ratio = OpenTaiko.Skin.Resolution[1] / 720.0;
|
double screen_ratio = OpenTaiko.Skin.Resolution[1] / 720.0;
|
||||||
switch (eScrollMode) {
|
switch (eScrollMode) {
|
||||||
@ -87,7 +87,7 @@ class NotesManager {
|
|||||||
|
|
||||||
#region [Gameplay]
|
#region [Gameplay]
|
||||||
|
|
||||||
public static bool IsExpectedPad(int stored, int hit, CDTX.CChip chip, EGameType gt) {
|
public static bool IsExpectedPad(int stored, int hit, CChip chip, EGameType gt) {
|
||||||
var inPad = (EPad)hit;
|
var inPad = (EPad)hit;
|
||||||
var onPad = (EPad)stored;
|
var onPad = (EPad)stored;
|
||||||
|
|
||||||
@ -120,56 +120,56 @@ class NotesManager {
|
|||||||
|
|
||||||
#region [General]
|
#region [General]
|
||||||
|
|
||||||
public static bool IsCommonNote(CDTX.CChip chip) {
|
public static bool IsCommonNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 >= 0x11 && chip.nチャンネル番号 < 0x18;
|
return chip.nChannelNo >= 0x11 && chip.nChannelNo < 0x18;
|
||||||
}
|
}
|
||||||
public static bool IsMine(CDTX.CChip chip) {
|
public static bool IsMine(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x1C;
|
return chip.nChannelNo == 0x1C;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsDonNote(CDTX.CChip chip) {
|
public static bool IsDonNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x11 || chip.nチャンネル番号 == 0x13 || chip.nチャンネル番号 == 0x1A;
|
return chip.nChannelNo == 0x11 || chip.nChannelNo == 0x13 || chip.nChannelNo == 0x1A;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsKaNote(CDTX.CChip chip) {
|
public static bool IsKaNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x12 || chip.nチャンネル番号 == 0x14 || chip.nチャンネル番号 == 0x1B;
|
return chip.nChannelNo == 0x12 || chip.nChannelNo == 0x14 || chip.nChannelNo == 0x1B;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsSmallNote(CDTX.CChip chip, bool blue) {
|
public static bool IsSmallNote(CChip chip, bool blue) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return blue ? chip.nチャンネル番号 == 0x12 : chip.nチャンネル番号 == 0x11;
|
return blue ? chip.nChannelNo == 0x12 : chip.nChannelNo == 0x11;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsSmallNote(CDTX.CChip chip) {
|
public static bool IsSmallNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x12 || chip.nチャンネル番号 == 0x11;
|
return chip.nChannelNo == 0x12 || chip.nChannelNo == 0x11;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsBigNote(CDTX.CChip chip) {
|
public static bool IsBigNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (chip.nチャンネル番号 == 0x13 || chip.nチャンネル番号 == 0x14 || chip.nチャンネル番号 == 0x1A || chip.nチャンネル番号 == 0x1B);
|
return (chip.nChannelNo == 0x13 || chip.nChannelNo == 0x14 || chip.nChannelNo == 0x1A || chip.nChannelNo == 0x1B);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsBigKaTaiko(CDTX.CChip chip, EGameType gt) {
|
public static bool IsBigKaTaiko(CChip chip, EGameType gt) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (chip.nチャンネル番号 == 0x14 || chip.nチャンネル番号 == 0x1B) && gt == EGameType.Taiko;
|
return (chip.nChannelNo == 0x14 || chip.nChannelNo == 0x1B) && gt == EGameType.Taiko;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsBigDonTaiko(CDTX.CChip chip, EGameType gt) {
|
public static bool IsBigDonTaiko(CChip chip, EGameType gt) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (chip.nチャンネル番号 == 0x13 || chip.nチャンネル番号 == 0x1A) && gt == EGameType.Taiko;
|
return (chip.nChannelNo == 0x13 || chip.nChannelNo == 0x1A) && gt == EGameType.Taiko;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsClapKonga(CDTX.CChip chip, EGameType gt) {
|
public static bool IsClapKonga(CChip chip, EGameType gt) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (chip.nチャンネル番号 == 0x14 || chip.nチャンネル番号 == 0x1B) && gt == EGameType.Konga;
|
return (chip.nChannelNo == 0x14 || chip.nChannelNo == 0x1B) && gt == EGameType.Konga;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsSwapNote(CDTX.CChip chip, EGameType gt) {
|
public static bool IsSwapNote(CChip chip, EGameType gt) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (
|
return (
|
||||||
IsKongaPink(chip, gt) // Konga Pink note
|
IsKongaPink(chip, gt) // Konga Pink note
|
||||||
@ -177,87 +177,87 @@ class NotesManager {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsKongaPink(CDTX.CChip chip, EGameType gt) {
|
public static bool IsKongaPink(CChip chip, EGameType gt) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
// Purple notes are treated as Pink in Konga
|
// Purple notes are treated as Pink in Konga
|
||||||
return (chip.nチャンネル番号 == 0x13 || chip.nチャンネル番号 == 0x1A || IsPurpleNote(chip)) && gt == EGameType.Konga;
|
return (chip.nChannelNo == 0x13 || chip.nChannelNo == 0x1A || IsPurpleNote(chip)) && gt == EGameType.Konga;
|
||||||
}
|
}
|
||||||
public static bool IsPurpleNote(CDTX.CChip chip) {
|
public static bool IsPurpleNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (chip.nチャンネル番号 == 0x101);
|
return (chip.nChannelNo == 0x101);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsYellowRoll(CDTX.CChip chip) {
|
public static bool IsYellowRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x21;
|
return chip.nChannelNo == 0x21;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsClapRoll(CDTX.CChip chip) {
|
public static bool IsClapRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x20;
|
return chip.nChannelNo == 0x20;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsKusudama(CDTX.CChip chip) {
|
public static bool IsKusudama(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x19;
|
return chip.nChannelNo == 0x19;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsFuzeRoll(CDTX.CChip chip) {
|
public static bool IsFuzeRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x1D;
|
return chip.nChannelNo == 0x1D;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsRollEnd(CDTX.CChip chip) {
|
public static bool IsRollEnd(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x18;
|
return chip.nChannelNo == 0x18;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsBalloon(CDTX.CChip chip) {
|
public static bool IsBalloon(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x17;
|
return chip.nChannelNo == 0x17;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsBigRoll(CDTX.CChip chip) {
|
public static bool IsBigRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x16;
|
return chip.nChannelNo == 0x16;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsSmallRoll(CDTX.CChip chip) {
|
public static bool IsSmallRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x15;
|
return chip.nChannelNo == 0x15;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsADLIB(CDTX.CChip chip) {
|
public static bool IsADLIB(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return chip.nチャンネル番号 == 0x1F;
|
return chip.nChannelNo == 0x1F;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsRoll(CDTX.CChip chip) {
|
public static bool IsRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return IsBigRoll(chip) || IsSmallRoll(chip) || IsClapRoll(chip) || IsYellowRoll(chip);
|
return IsBigRoll(chip) || IsSmallRoll(chip) || IsClapRoll(chip) || IsYellowRoll(chip);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsGenericBalloon(CDTX.CChip chip) {
|
public static bool IsGenericBalloon(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return IsBalloon(chip) || IsKusudama(chip) || IsFuzeRoll(chip);
|
return IsBalloon(chip) || IsKusudama(chip) || IsFuzeRoll(chip);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsGenericRoll(CDTX.CChip chip) {
|
public static bool IsGenericRoll(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (0x15 <= chip.nチャンネル番号 && chip.nチャンネル番号 <= 0x19) ||
|
return (0x15 <= chip.nChannelNo && chip.nChannelNo <= 0x19) ||
|
||||||
(chip.nチャンネル番号 == 0x20 || chip.nチャンネル番号 == 0x21)
|
(chip.nChannelNo == 0x20 || chip.nChannelNo == 0x21)
|
||||||
|| chip.nチャンネル番号 == 0x1D;
|
|| chip.nChannelNo == 0x1D;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsMissableNote(CDTX.CChip chip) {
|
public static bool IsMissableNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return (0x11 <= chip.nチャンネル番号 && chip.nチャンネル番号 <= 0x14)
|
return (0x11 <= chip.nChannelNo && chip.nChannelNo <= 0x14)
|
||||||
|| chip.nチャンネル番号 == 0x1A
|
|| chip.nChannelNo == 0x1A
|
||||||
|| chip.nチャンネル番号 == 0x1B
|
|| chip.nChannelNo == 0x1B
|
||||||
|| chip.nチャンネル番号 == 0x101;
|
|| chip.nChannelNo == 0x101;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsHittableNote(CDTX.CChip chip) {
|
public static bool IsHittableNote(CChip chip) {
|
||||||
if (chip == null) return false;
|
if (chip == null) return false;
|
||||||
return IsMissableNote(chip)
|
return IsMissableNote(chip)
|
||||||
|| IsGenericRoll(chip)
|
|| IsGenericRoll(chip)
|
||||||
@ -287,7 +287,7 @@ class NotesManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Regular display
|
// Regular display
|
||||||
public static void DisplayNote(int player, int x, int y, CDTX.CChip chip, int frame, int length = -1) {
|
public static void DisplayNote(int player, int x, int y, CChip chip, int frame, int length = -1) {
|
||||||
if (OpenTaiko.ConfigIni.eSTEALTH[OpenTaiko.GetActualPlayer(player)] != EStealthMode.Off || !chip.bShow)
|
if (OpenTaiko.ConfigIni.eSTEALTH[OpenTaiko.GetActualPlayer(player)] != EStealthMode.Off || !chip.bShow)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -325,7 +325,7 @@ class NotesManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Roll display
|
// Roll display
|
||||||
public static void DisplayRoll(int player, int x, int y, CDTX.CChip chip, int frame,
|
public static void DisplayRoll(int player, int x, int y, CChip chip, int frame,
|
||||||
Color4 normalColor, Color4 effectedColor, int x末端, int y末端) {
|
Color4 normalColor, Color4 effectedColor, int x末端, int y末端) {
|
||||||
EGameType _gt = OpenTaiko.ConfigIni.nGameType[OpenTaiko.GetActualPlayer(player)];
|
EGameType _gt = OpenTaiko.ConfigIni.nGameType[OpenTaiko.GetActualPlayer(player)];
|
||||||
|
|
||||||
@ -417,7 +417,7 @@ class NotesManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SENotes
|
// SENotes
|
||||||
public static void DisplaySENotes(int player, int x, int y, CDTX.CChip chip) {
|
public static void DisplaySENotes(int player, int x, int y, CChip chip) {
|
||||||
if (OpenTaiko.ConfigIni.eSTEALTH[OpenTaiko.GetActualPlayer(player)] == EStealthMode.Stealth)
|
if (OpenTaiko.ConfigIni.eSTEALTH[OpenTaiko.GetActualPlayer(player)] == EStealthMode.Stealth)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -249,12 +249,12 @@ class ScriptBG : IDisposable {
|
|||||||
}
|
}
|
||||||
double timestamp = -1.0;
|
double timestamp = -1.0;
|
||||||
|
|
||||||
if (OpenTaiko.DTX != null) {
|
if (OpenTaiko.TJA != null) {
|
||||||
double timeoffset = OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0] != (int)Difficulty.Dan ? -2.0 : -8.2;
|
double timeoffset = OpenTaiko.stageSongSelect.nChoosenSongDifficulty[0] != (int)Difficulty.Dan ? -2.0 : -8.2;
|
||||||
// Due to the fact that all Dans use DELAY to offset instead of OFFSET, Dan offset can't be properly synced. ¯\_(ツ)_/¯
|
// Due to the fact that all Dans use DELAY to offset instead of OFFSET, Dan offset can't be properly synced. ¯\_(ツ)_/¯
|
||||||
|
|
||||||
timestamp = (((double)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed)) / 1000.0) +
|
timestamp = (((double)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed)) / 1000.0) +
|
||||||
(-(OpenTaiko.ConfigIni.MusicPreTimeMs + OpenTaiko.DTX.nOFFSET) / 1000.0) +
|
(-(OpenTaiko.ConfigIni.MusicPreTimeMs + OpenTaiko.TJA.nOFFSET) / 1000.0) +
|
||||||
timeoffset;
|
timeoffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,12 +65,12 @@ internal class CActResultImage : CActivity {
|
|||||||
private CTexture txリザルト画像;
|
private CTexture txリザルト画像;
|
||||||
|
|
||||||
private bool tプレビュー画像の指定があれば構築する() {
|
private bool tプレビュー画像の指定があれば構築する() {
|
||||||
if (string.IsNullOrEmpty(OpenTaiko.DTX.PREIMAGE)) {
|
if (string.IsNullOrEmpty(OpenTaiko.TJA.PREIMAGE)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
OpenTaiko.tDisposeSafely(ref this.txリザルト画像);
|
OpenTaiko.tDisposeSafely(ref this.txリザルト画像);
|
||||||
this.r表示するリザルト画像 = null;
|
this.r表示するリザルト画像 = null;
|
||||||
string path = OpenTaiko.DTX.strフォルダ名 + OpenTaiko.DTX.PREIMAGE;
|
string path = OpenTaiko.TJA.strフォルダ名 + OpenTaiko.TJA.PREIMAGE;
|
||||||
if (!File.Exists(path)) {
|
if (!File.Exists(path)) {
|
||||||
Trace.TraceWarning("ファイルが存在しません。({0})", new object[] { path });
|
Trace.TraceWarning("ファイルが存在しません。({0})", new object[] { path });
|
||||||
return false;
|
return false;
|
||||||
|
@ -460,7 +460,7 @@ internal class CActResultParameterPanel : CActivity {
|
|||||||
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nGood,
|
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nGood,
|
||||||
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nMiss,
|
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nMiss,
|
||||||
OpenTaiko.stage演奏ドラム画面.GetRoll(i),
|
OpenTaiko.stage演奏ドラム画面.GetRoll(i),
|
||||||
OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[i],
|
OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[i],
|
||||||
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nADLIB,
|
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nADLIB,
|
||||||
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nMine,
|
OpenTaiko.stage演奏ドラム画面.CChartScore[i].nMine,
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ internal class CActResultSongBar : CActivity {
|
|||||||
|
|
||||||
public override void Activate() {
|
public override void Activate() {
|
||||||
|
|
||||||
var title = OpenTaiko.DTX.TITLE.GetString("");
|
var title = OpenTaiko.TJA.TITLE.GetString("");
|
||||||
|
|
||||||
using (var bmpSongTitle = pfMusicName.DrawText(title, OpenTaiko.Skin.Result_MusicName_ForeColor, OpenTaiko.Skin.Result_MusicName_BackColor, null, 30)) {
|
using (var bmpSongTitle = pfMusicName.DrawText(title, OpenTaiko.Skin.Result_MusicName_ForeColor, OpenTaiko.Skin.Result_MusicName_BackColor, null, 30)) {
|
||||||
this.txMusicName = OpenTaiko.tテクスチャの生成(bmpSongTitle, false);
|
this.txMusicName = OpenTaiko.tテクスチャの生成(bmpSongTitle, false);
|
||||||
|
@ -39,7 +39,7 @@ internal class CStage結果 : CStage {
|
|||||||
public int[] nスコアランク = { 0, 0, 0, 0, 0 }; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
|
public int[] nスコアランク = { 0, 0, 0, 0, 0 }; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
|
||||||
public int[] nHighScore = { 0, 0, 0, 0, 0 };
|
public int[] nHighScore = { 0, 0, 0, 0, 0 };
|
||||||
|
|
||||||
public CDTX.CChip[] r空うちドラムチップ;
|
public CChip[] r空うちドラムチップ;
|
||||||
public STDGBVALUE<CScoreIni.C演奏記録> st演奏記録;
|
public STDGBVALUE<CScoreIni.C演奏記録> st演奏記録;
|
||||||
|
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ internal class CStage結果 : CStage {
|
|||||||
this.st演奏記録.Guitar = new CScoreIni.C演奏記録();
|
this.st演奏記録.Guitar = new CScoreIni.C演奏記録();
|
||||||
this.st演奏記録.Bass = new CScoreIni.C演奏記録();
|
this.st演奏記録.Bass = new CScoreIni.C演奏記録();
|
||||||
this.st演奏記録.Taiko = new CScoreIni.C演奏記録();
|
this.st演奏記録.Taiko = new CScoreIni.C演奏記録();
|
||||||
this.r空うちドラムチップ = new CDTX.CChip[10];
|
this.r空うちドラムチップ = new CChip[10];
|
||||||
this.n総合ランク値 = -1;
|
this.n総合ランク値 = -1;
|
||||||
this.nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 };
|
this.nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 };
|
||||||
base.eStageID = CStage.EStage.Results;
|
base.eStageID = CStage.EStage.Results;
|
||||||
@ -325,7 +325,7 @@ internal class CStage結果 : CStage {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int level = OpenTaiko.stageSongSelect.rChoosenSong.nLevel[diff];
|
int level = OpenTaiko.stageSongSelect.rChoosenSong.nLevel[diff];
|
||||||
CDTX.ELevelIcon levelIcon = OpenTaiko.stageSongSelect.rChoosenSong.nLevelIcon[diff];
|
CTja.ELevelIcon levelIcon = OpenTaiko.stageSongSelect.rChoosenSong.nLevelIcon[diff];
|
||||||
|
|
||||||
return (diffArr[Math.Min(diff, 6)] + "Lv." + level + diffArrIcon[(int)levelIcon]);
|
return (diffArr[Math.Min(diff, 6)] + "Lv." + level + diffArrIcon[(int)levelIcon]);
|
||||||
}
|
}
|
||||||
@ -630,7 +630,7 @@ internal class CStage結果 : CStage {
|
|||||||
this.ctPhase3 = null;
|
this.ctPhase3 = null;
|
||||||
examsShift = 0;
|
examsShift = 0;
|
||||||
|
|
||||||
Dan_Plate = OpenTaiko.tテクスチャの生成(Path.GetDirectoryName(OpenTaiko.DTX.strファイル名の絶対パス) + @$"{Path.DirectorySeparatorChar}Dan_Plate.png");
|
Dan_Plate = OpenTaiko.tテクスチャの生成(Path.GetDirectoryName(OpenTaiko.TJA.strファイル名の絶対パス) + @$"{Path.DirectorySeparatorChar}Dan_Plate.png");
|
||||||
|
|
||||||
base.Activate();
|
base.Activate();
|
||||||
|
|
||||||
@ -1533,7 +1533,7 @@ internal class CStage結果 : CStage {
|
|||||||
OpenTaiko.stage演奏ドラム画面.GetRoll(0), 1.0f);
|
OpenTaiko.stage演奏ドラム画面.GetRoll(0), 1.0f);
|
||||||
|
|
||||||
this.actParameterPanel.t小文字表示(OpenTaiko.Skin.DanResult_MaxCombo[0] + offset, OpenTaiko.Skin.DanResult_MaxCombo[1],
|
this.actParameterPanel.t小文字表示(OpenTaiko.Skin.DanResult_MaxCombo[0] + offset, OpenTaiko.Skin.DanResult_MaxCombo[1],
|
||||||
OpenTaiko.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0], 1.0f);
|
OpenTaiko.stage演奏ドラム画面.actCombo.nCurrentCombo.最高値[0], 1.0f);
|
||||||
|
|
||||||
this.actParameterPanel.t小文字表示(OpenTaiko.Skin.DanResult_TotalHit[0] + offset, OpenTaiko.Skin.DanResult_TotalHit[1],
|
this.actParameterPanel.t小文字表示(OpenTaiko.Skin.DanResult_TotalHit[0] + offset, OpenTaiko.Skin.DanResult_TotalHit[1],
|
||||||
totalHit, 1.0f);
|
totalHit, 1.0f);
|
||||||
@ -1596,10 +1596,10 @@ internal class CStage結果 : CStage {
|
|||||||
|
|
||||||
int[] scoresArr =
|
int[] scoresArr =
|
||||||
{
|
{
|
||||||
OpenTaiko.stage演奏ドラム画面.n良[i],
|
OpenTaiko.stage演奏ドラム画面.nGood[i],
|
||||||
OpenTaiko.stage演奏ドラム画面.n可[i],
|
OpenTaiko.stage演奏ドラム画面.nOk[i],
|
||||||
OpenTaiko.stage演奏ドラム画面.n不可[i],
|
OpenTaiko.stage演奏ドラム画面.nBad[i],
|
||||||
OpenTaiko.stage演奏ドラム画面.n連打[i]
|
OpenTaiko.stage演奏ドラム画面.nRoll[i]
|
||||||
};
|
};
|
||||||
|
|
||||||
int[] num_x = {
|
int[] num_x = {
|
||||||
|
Loading…
Reference in New Issue
Block a user