(v0.4.1) Ura-only and no oni maps no longer crash on the song select menu (Issue #7), clean some code bloating, red star icon is no longer needed
This commit is contained in:
parent
7f5cc53780
commit
7c7c51947f
13
README.md
13
README.md
@ -3,7 +3,7 @@ TJAPlayer3-Develop-ReWrite-1のフォーク, 太鼓の達人 ニジイロVerを
|
||||
|
||||
(English version coming soon)
|
||||
|
||||
- 現在の版: v0.4.0
|
||||
- 現在の版: v0.4.1
|
||||
|
||||
- スキンの最新版: v0.4.0
|
||||
|
||||
@ -11,9 +11,9 @@ TJAPlayer3-Develop-ReWrite-1のフォーク, 太鼓の達人 ニジイロVerを
|
||||
|
||||
このプログラムはまだスキンを含みません。
|
||||
|
||||
訴えを全く避けるためにデフォルトスキンを作る予定でございます。
|
||||
著作権を全く満ちるためにデフォルトスキンを作る予定でございます。
|
||||
|
||||
それまでニジイロスキンが希望なら僕のDiscordでご連絡ください:
|
||||
それまでニジイロ系のスキンが希望なら僕のDiscordでご連絡ください:
|
||||
|
||||
- 申しコミ#5734 (日本語・英語・仏語可)
|
||||
|
||||
@ -49,6 +49,13 @@ Discord以外で配布しておりません。
|
||||
|
||||
## 更新記録
|
||||
|
||||
<details>
|
||||
<summary>v0.4.1</summary>
|
||||
|
||||
- 演奏選曲画面に複数のバグとクラッシュ場面を修正
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>v0.4.0</summary>
|
||||
|
||||
|
@ -931,11 +931,15 @@ namespace TJAPlayer3
|
||||
if (stバー情報[index].nスコアランク == null)
|
||||
this.stバー情報[index].nスコアランク = new int[5];
|
||||
|
||||
if (song.arスコア[3] != null)
|
||||
{
|
||||
this.stバー情報[index].nクリア = song.arスコア[3].譜面情報.nクリア;
|
||||
this.stバー情報[index].nスコアランク = song.arスコア[3].譜面情報.nスコアランク;
|
||||
for (int i = 0; i <= (int)Difficulty.Edit; i++)
|
||||
{
|
||||
if (song.arスコア[i] != null)
|
||||
{
|
||||
this.stバー情報[index].nクリア = song.arスコア[i].譜面情報.nクリア;
|
||||
this.stバー情報[index].nスコアランク = song.arスコア[i].譜面情報.nスコアランク;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// stバー情報[] の内容を1行ずつずらす。
|
||||
|
||||
@ -1011,16 +1015,19 @@ namespace TJAPlayer3
|
||||
if (stバー情報[index].nクリア == null)
|
||||
this.stバー情報[index].nクリア = new int[5];
|
||||
if (stバー情報[index].nスコアランク == null)
|
||||
this.stバー情報[index].nスコアランク = new int[5];
|
||||
|
||||
if (song.arスコア[3] != null)
|
||||
{
|
||||
this.stバー情報[index].nクリア = song.arスコア[3].譜面情報.nクリア;
|
||||
this.stバー情報[index].nスコアランク = song.arスコア[3].譜面情報.nスコアランク;
|
||||
}
|
||||
|
||||
// stバー情報[] の内容を1行ずつずらす。
|
||||
|
||||
this.stバー情報[index].nスコアランク = new int[5];
|
||||
|
||||
for (int i = 0; i <= (int)Difficulty.Edit; i++)
|
||||
{
|
||||
if (song.arスコア[i] != null)
|
||||
{
|
||||
this.stバー情報[index].nクリア = song.arスコア[i].譜面情報.nクリア;
|
||||
this.stバー情報[index].nスコアランク = song.arスコア[i].譜面情報.nスコアランク;
|
||||
}
|
||||
}
|
||||
|
||||
// stバー情報[] の内容を1行ずつずらす。
|
||||
|
||||
C曲リストノード song2 = this.r現在選択中の曲;
|
||||
for (int i = 0; i < 4; i++)
|
||||
song2 = this.r前の曲(song2);
|
||||
@ -1336,29 +1343,40 @@ namespace TJAPlayer3
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.SongSelect_Bar_Genre_Overlay.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 360, new Rectangle(0, 0, 632, 92));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region [ Crown and ScoreRank ]
|
||||
|
||||
if (this.r現在選択中の曲.arスコア[3] != null)
|
||||
|
||||
if (this.r現在選択中の曲.arスコア[3] != null || this.r現在選択中の曲.arスコア[4] != null)
|
||||
{
|
||||
var クリア = this.r現在選択中の曲.arスコア[3].譜面情報.nクリア;
|
||||
var スコアランク = this.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク;
|
||||
int[] クリア;
|
||||
int[] スコアランク;
|
||||
|
||||
if (this.r現在選択中の曲.arスコア[3] != null)
|
||||
{
|
||||
クリア = this.r現在選択中の曲.arスコア[3].譜面情報.nクリア;
|
||||
スコアランク = this.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク;
|
||||
}
|
||||
else
|
||||
{
|
||||
クリア = this.r現在選択中の曲.arスコア[4].譜面情報.nクリア;
|
||||
スコアランク = this.r現在選択中の曲.arスコア[4].譜面情報.nスコアランク;
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.SongSelect_Crown.vc拡大縮小倍率.X = 0.8f + BarAnimeCount / 620f;
|
||||
TJAPlayer3.Tx.SongSelect_Crown.vc拡大縮小倍率.Y = 0.8f + BarAnimeCount / 620f;
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.vc拡大縮小倍率.X = 0.8f + BarAnimeCount / 620f;
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.vc拡大縮小倍率.Y = 0.8f + BarAnimeCount / 620f;
|
||||
|
||||
if (クリア[3] != 0)
|
||||
if (クリア[3] > 0 && クリア[4] == 0)
|
||||
TJAPlayer3.Tx.SongSelect_Crown.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 354, 344 - BarAnimeCount / 1.1f, new RectangleF(9 * 43.2f + (クリア[3] - 1) * 43.2f, 0, 43.2f, 39));
|
||||
else if (クリア[4] != 0)
|
||||
else if (クリア[4] > 0)
|
||||
TJAPlayer3.Tx.SongSelect_Crown.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 354, 344 - BarAnimeCount / 1.1f, new RectangleF(12 * 43.2f + (クリア[4] - 1) * 43.2f, 0, 43.2f, 39));
|
||||
|
||||
if (スコアランク[3] != 0)
|
||||
if (スコアランク[3] > 0 && スコアランク[4] == 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 354, 374 - BarAnimeCount / 1.15f, new RectangleF(0, (スコアランク[3] - 1) * 42.71f, 50, 42.71f));
|
||||
else if (スコアランク[4] != 0)
|
||||
else if (スコアランク[4] > 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 354, 374 - BarAnimeCount / 1.15f, new RectangleF(0, (スコアランク[4] - 1) * 42.71f, 50, 42.71f));
|
||||
}
|
||||
|
||||
@ -1972,10 +1990,13 @@ namespace TJAPlayer3
|
||||
|
||||
if(this.stバー情報[i].eバー種別 == Eバー種別.Score)
|
||||
{
|
||||
if (song.arスコア[3] != null)
|
||||
{
|
||||
this.stバー情報[i].nクリア = song.arスコア[3].譜面情報.nクリア;
|
||||
this.stバー情報[i].nスコアランク = song.arスコア[3].譜面情報.nスコアランク;
|
||||
for (int j = 0; j <= (int)Difficulty.Edit; j++)
|
||||
{
|
||||
if (song.arスコア[j] != null)
|
||||
{
|
||||
this.stバー情報[i].nクリア = song.arスコア[j].譜面情報.nクリア;
|
||||
this.stバー情報[i].nスコアランク = song.arスコア[j].譜面情報.nスコアランク;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2071,14 +2092,14 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.vc拡大縮小倍率.X = 0.8f;
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.vc拡大縮小倍率.Y = 0.8f;
|
||||
|
||||
if (クリア[3] != 0 && クリア[4] == 0)
|
||||
if (クリア[3] > 0 && クリア[4] == 0)
|
||||
TJAPlayer3.Tx.SongSelect_Crown.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x + 30, y + 30, new RectangleF(9 * 43.2f + (クリア[3] - 1) * 43.2f, 0, 43.2f, 39));
|
||||
if (クリア[4] != 0)
|
||||
else if (クリア[4] > 0)
|
||||
TJAPlayer3.Tx.SongSelect_Crown.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x + 30, y + 30, new RectangleF(12 * 43.2f + (クリア[4] - 1) * 43.2f, 0, 43.2f, 39));
|
||||
|
||||
if (スコアランク[3] != 0 && スコアランク[4] == 0)
|
||||
if (スコアランク[3] > 0 && スコアランク[4] == 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x + 30, y + 60, new RectangleF(0, (スコアランク[3] - 1) * 42.71f, 50, 42.71f));
|
||||
if (スコアランク[4] != 0)
|
||||
else if (スコアランク[4] > 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x + 30, y + 60, new RectangleF(0, (スコアランク[4] - 1) * 42.71f, 50, 42.71f));
|
||||
}
|
||||
}
|
||||
|
@ -58,13 +58,16 @@ namespace TJAPlayer3
|
||||
}
|
||||
else if (n現在の選択行[player] >= 5)
|
||||
{
|
||||
if (nスイッチカウント < 0 && TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] >= 0)
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] < 0 || TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[3] < 0)
|
||||
return;
|
||||
|
||||
if (nスイッチカウント < 0)
|
||||
{
|
||||
nスイッチカウント++;
|
||||
}
|
||||
else if (nスイッチカウント == 0 && TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] >= 0)
|
||||
else if (nスイッチカウント == 0)
|
||||
{
|
||||
for(int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
if(!bSelect[i])
|
||||
{
|
||||
@ -117,7 +120,8 @@ namespace TJAPlayer3
|
||||
this.n現在の選択行 = new int[2];
|
||||
this.bSelect[0] = false;
|
||||
this.bSelect[1] = false;
|
||||
this.b裏譜面 = false;
|
||||
|
||||
this.b裏譜面 = (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Edit] >= 0 && TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Oni] < 0);
|
||||
|
||||
this.b初めての進行描画 = true;
|
||||
}
|
||||
@ -182,6 +186,9 @@ namespace TJAPlayer3
|
||||
ctBarAnime[0].t進行();
|
||||
ctBarAnime[1].t進行();
|
||||
|
||||
bool uraExists = TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Edit] >= 0;
|
||||
bool omoteExists = TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Oni] >= 0;
|
||||
|
||||
#region [ キー入力 ]
|
||||
|
||||
if (this.ctBarAnimeIn.b終了値に達した)
|
||||
@ -306,84 +313,50 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(1.0f, 1.0f, 1.0f);
|
||||
TJAPlayer3.Tx.Difficulty_Bar.t2D描画(TJAPlayer3.app.Device, 255, 270, new RectangleF(0, 0, 171, 236)); //閉じる、演奏オプション
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if(TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i] > 0)
|
||||
|
||||
for (int i = 0; i <= (int)Difficulty.Edit; i++)
|
||||
{
|
||||
if (i == (int)Difficulty.Edit && (!uraExists || !b裏譜面))
|
||||
break;
|
||||
else if (i == (int)Difficulty.Oni && (!omoteExists && uraExists || b裏譜面))
|
||||
continue;
|
||||
|
||||
int screenPos = Math.Min((int)Difficulty.Oni, i);
|
||||
int level = TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i];
|
||||
bool avaliable = TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i] > 0;
|
||||
|
||||
if (avaliable)
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(1.0f, 1.0f, 1.0f);
|
||||
else
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(0.5f, 0.5f, 0.5f);
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(0.5f, 0.5f, 0.5f);
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Bar.t2D描画(TJAPlayer3.app.Device, 255 + 171 + 143 * screenPos, 270, new RectangleF(171 + 143 * i, 0, 138, 236));
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Bar.t2D描画(TJAPlayer3.app.Device, 255 + 171 + 143 * i, 270, new RectangleF(171 + 143 * i, 0, 143, 236)); //閉じる~難しいまで
|
||||
if (!avaliable)
|
||||
continue;
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Crown.t2D描画(TJAPlayer3.app.Device, 445 + i * 144, 284, new RectangleF(TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nクリア[i] * 24.5f, 0, 24.5f, 26));
|
||||
TJAPlayer3.Tx.Difficulty_Crown.t2D描画(TJAPlayer3.app.Device, 445 + screenPos * 144, 284, new RectangleF(TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[i].譜面情報.nクリア[i] * 24.5f, 0, 24.5f, 26));
|
||||
|
||||
if(TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク[i] != 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D描画(TJAPlayer3.app.Device, 467 + i * 144, 281, new RectangleF(0, (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク[i] - 1) * 42.71f, 50, 42.71f));
|
||||
if (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[i].譜面情報.nスコアランク[i] != 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D描画(TJAPlayer3.app.Device, 467 + screenPos * 144, 281, new RectangleF(0, (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[i].譜面情報.nスコアランク[i] - 1) * 42.71f, 50, 42.71f));
|
||||
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i] > 0)
|
||||
t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i].ToString(), 498 + i * 144, 434.5f);
|
||||
|
||||
|
||||
|
||||
for (int g = 0; g < 10; g++)
|
||||
{
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i] > g + 10)
|
||||
TJAPlayer3.Tx.Difficulty_Star_Red.t2D描画(TJAPlayer3.app.Device, 444 + i * 143 + g * 10, 459);
|
||||
else if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i] > g)
|
||||
TJAPlayer3.Tx.Difficulty_Star.t2D描画(TJAPlayer3.app.Device, 444 + i * 143 + g * 10, 459);
|
||||
}
|
||||
}
|
||||
|
||||
if (b裏譜面)
|
||||
{
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] > 0)
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(1.0f, 1.0f, 1.0f);
|
||||
else
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(0.5f, 0.5f, 0.5f);
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Bar.t2D描画(TJAPlayer3.app.Device, 855, 270, new RectangleF(743, 0, 138, 236));
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Crown.t2D描画(TJAPlayer3.app.Device, 445 + 3 * 144, 284, new RectangleF(TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nクリア[4] * 24.5f, 0, 24.5f, 26));
|
||||
|
||||
if (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク[4] != 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D描画(TJAPlayer3.app.Device, 467 + 3 * 144, 281, new RectangleF(0, (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク[4] - 1) * 42.71f, 50, 42.71f));
|
||||
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] > 0)
|
||||
t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4].ToString(), 498 + 3 * 143, 434.5f);
|
||||
if (level > 0)
|
||||
t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[i].ToString(), 498 + screenPos * 143, 434.5f);
|
||||
|
||||
for (int g = 0; g < 10; g++)
|
||||
{
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] > g + 10)
|
||||
TJAPlayer3.Tx.Difficulty_Star_Red.t2D描画(TJAPlayer3.app.Device, 444 + 3 * 143 + g * 10, 459);
|
||||
else if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[4] > g)
|
||||
TJAPlayer3.Tx.Difficulty_Star.t2D描画(TJAPlayer3.app.Device, 444 + 3 * 143 + g * 10, 459);
|
||||
if (level > g + 10)
|
||||
{
|
||||
TJAPlayer3.Tx.Difficulty_Star.color4 = new Color4(1f, 0.2f, 0.2f);
|
||||
TJAPlayer3.Tx.Difficulty_Star?.t2D描画(TJAPlayer3.app.Device, 444 + screenPos * 143 + g * 10, 459);
|
||||
}
|
||||
else if (level > g)
|
||||
{
|
||||
TJAPlayer3.Tx.Difficulty_Star.color4 = new Color4(1f, 1f, 1f);
|
||||
TJAPlayer3.Tx.Difficulty_Star?.t2D描画(TJAPlayer3.app.Device, 444 + screenPos * 143 + g * 10, 459);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[3] > 0)
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(1.0f, 1.0f, 1.0f);
|
||||
else
|
||||
TJAPlayer3.Tx.Difficulty_Bar.color4 = new Color4(0.5f, 0.5f, 0.5f);
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Bar.t2D描画(TJAPlayer3.app.Device, 855, 270, new RectangleF(600, 0, 143, 236));
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Crown.t2D描画(TJAPlayer3.app.Device, 445 + 3 * 144, 284, new RectangleF(TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nクリア[3] * 24.5f, 0, 24.5f, 26));
|
||||
|
||||
if (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク[3] != 0)
|
||||
TJAPlayer3.Tx.SongSelect_ScoreRank.t2D描画(TJAPlayer3.app.Device, 467 + 3 * 144, 281, new RectangleF(0, (TJAPlayer3.stage選曲.r現在選択中の曲.arスコア[3].譜面情報.nスコアランク[3] - 1) * 42.71f, 50, 42.71f));
|
||||
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[3] > 0)
|
||||
t小文字表示(TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[3].ToString(), 498 + 3 * 143, 434.5f);
|
||||
|
||||
for (int g = 0; g < 10; g++)
|
||||
{
|
||||
if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[3] > g + 10)
|
||||
TJAPlayer3.Tx.Difficulty_Star_Red.t2D描画(TJAPlayer3.app.Device, 444 + 3 * 143 + g * 10, 459);
|
||||
else if (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[3] > g)
|
||||
TJAPlayer3.Tx.Difficulty_Star.t2D描画(TJAPlayer3.app.Device, 444 + 3 * 143 + g * 10, 459);
|
||||
}
|
||||
}
|
||||
|
||||
this.txTitle.t2D中心基準描画(TJAPlayer3.app.Device, 640 + TJAPlayer3.Skin.SongSelect_Title_X, 140 + TJAPlayer3.Skin.SongSelect_Title_Y);
|
||||
|
Loading…
Reference in New Issue
Block a user