1
0
mirror of synced 2024-12-01 02:27:21 +01:00

Fixed redirection bug for dan charts when played from ensou song select screen, add fugoukaku badge when failing a dan chart

This commit is contained in:
0aubsq 2022-01-06 08:30:21 +01:00
parent bf021950e0
commit 8e271667e1
4 changed files with 76 additions and 28 deletions

View File

@ -52,6 +52,12 @@ namespace TJAPlayer3
//public static readonly string D3DXDLL = "d3dx9_42.dll"; // February 2010 //public static readonly string D3DXDLL = "d3dx9_42.dll"; // February 2010
//public static readonly string D3DXDLL = "d3dx9_41.dll"; // March 2009 //public static readonly string D3DXDLL = "d3dx9_41.dll"; // March 2009
public static CStage latestSongSelect
{
get;
private set;
}
public static TJAPlayer3 app public static TJAPlayer3 app
{ {
get; get;
@ -855,6 +861,8 @@ namespace TJAPlayer3
stage選曲.On活性化(); stage選曲.On活性化();
r直前のステージ = r現在のステージ; r直前のステージ = r現在のステージ;
r現在のステージ = stage選曲; r現在のステージ = stage選曲;
TJAPlayer3.latestSongSelect = stage選曲;
//----------------------------- //-----------------------------
#endregion #endregion
break; break;
@ -868,6 +876,8 @@ namespace TJAPlayer3
stage段位選択.On活性化(); stage段位選択.On活性化();
r直前のステージ = r現在のステージ; r直前のステージ = r現在のステージ;
r現在のステージ = stage段位選択; r現在のステージ = stage段位選択;
TJAPlayer3.latestSongSelect = stage段位選択;
//----------------------------- //-----------------------------
#endregion #endregion
break; break;
@ -1224,6 +1234,10 @@ namespace TJAPlayer3
//DTX.t全チップの再生停止(); //DTX.t全チップの再生停止();
if( DTX != null ) if( DTX != null )
DTX.On非活性化(); DTX.On非活性化();
// ???
/*
if (stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) if (stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
{ {
Trace.TraceInformation("----------------------"); Trace.TraceInformation("----------------------");
@ -1240,12 +1254,23 @@ namespace TJAPlayer3
r直前のステージ = r現在のステージ; r直前のステージ = r現在のステージ;
r現在のステージ = stage選曲; r現在のステージ = stage選曲;
} }
*/
Trace.TraceInformation("----------------------");
Trace.TraceInformation("■ Return to song select menu");
TJAPlayer3.latestSongSelect.On活性化();
r直前のステージ = r現在のステージ;
// Seek latest registered song select screen
r現在のステージ = TJAPlayer3.latestSongSelect;
foreach ( STPlugin pg in this.listプラグイン ) foreach ( STPlugin pg in this.listプラグイン )
{ {
Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); Directory.SetCurrentDirectory( pg.strプラグインフォルダ );
pg.plugin.Onステージ変更(); pg.plugin.Onステージ変更();
Directory.SetCurrentDirectory( TJAPlayer3.strEXEのあるフォルダ ); Directory.SetCurrentDirectory( TJAPlayer3.strEXEのあるフォルダ );
} }
break; break;
} }
#endregion #endregion
@ -1397,6 +1422,10 @@ for (int i = 0; i < 3; i++) {
} }
else else
{ {
// Play cancelled return screen
/*
if(stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) if(stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
{ {
Trace.TraceInformation("----------------------"); Trace.TraceInformation("----------------------");
@ -1413,6 +1442,15 @@ for (int i = 0; i < 3; i++) {
r直前のステージ = r現在のステージ; r直前のステージ = r現在のステージ;
r現在のステージ = stage選曲; r現在のステージ = stage選曲;
} }
*/
Trace.TraceInformation("----------------------");
Trace.TraceInformation("■ Return to song select menu");
TJAPlayer3.latestSongSelect.On活性化();
r直前のステージ = r現在のステージ;
// Seek latest registered song select screen
r現在のステージ = TJAPlayer3.latestSongSelect;
#region [ Onステージ変更() ] #region [ Onステージ変更() ]
//--------------------- //---------------------
@ -1579,6 +1617,10 @@ for (int i = 0; i < 3; i++) {
this.tガベージコレクションを実行する(); this.tガベージコレクションを実行する();
if ( !bコンパクトモード ) if ( !bコンパクトモード )
{ {
// After result screen
/*
if (stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) if (stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
{ {
Trace.TraceInformation("----------------------"); Trace.TraceInformation("----------------------");
@ -1595,6 +1637,16 @@ for (int i = 0; i < 3; i++) {
r直前のステージ = r現在のステージ; r直前のステージ = r現在のステージ;
r現在のステージ = stage選曲; r現在のステージ = stage選曲;
} }
*/
Trace.TraceInformation("----------------------");
Trace.TraceInformation("■ Return to song select menu");
TJAPlayer3.latestSongSelect.On活性化();
r直前のステージ = r現在のステージ;
// Seek latest registered song select screen
r現在のステージ = TJAPlayer3.latestSongSelect;
stage選曲.NowSong++; stage選曲.NowSong++;
foreach( STPlugin pg in this.listプラグイン ) foreach( STPlugin pg in this.listプラグイン )

View File

@ -215,7 +215,7 @@ namespace TJAPlayer3
{ {
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 0.20f; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 0.20f;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 0.20f; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 0.20f;
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, xPos - 2, yPos - 14, new Rectangle(334 * currentRank, 0, 334, 334)); TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮上中央基準描画(TJAPlayer3.app.Device, xPos - 2, yPos - 14, new Rectangle(334 * (currentRank + 1), 0, 334, 334));
} }
#endregion #endregion
@ -356,7 +356,7 @@ namespace TJAPlayer3
{ {
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 0.8f; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 0.8f;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 0.8f; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 0.8f;
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, scroll + 173 + Anime, 422, new Rectangle(334 * currentRank, 0, 334, 334)); TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, scroll + 173 + Anime, 422, new Rectangle(334 * (currentRank + 1), 0, 334, 334));
} }
#endregion #endregion

View File

@ -2475,7 +2475,7 @@ namespace TJAPlayer3
TJAPlayer3.Tx.DanResult_Rank.Opacity = 255; TJAPlayer3.Tx.DanResult_Rank.Opacity = 255;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = _resize; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = _resize;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = _resize; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = _resize;
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x, y, new Rectangle(334 * grade, 0, 334, 334)); TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x, y, new Rectangle(334 * (grade + 1), 0, 334, 334));
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 1f; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 1f;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 1f; TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 1f;
} }

View File

@ -1104,6 +1104,9 @@ namespace TJAPlayer3
Exam.Status examStatus = TJAPlayer3.stage演奏ドラム画面.actDan.GetExamStatus(TJAPlayer3.stage結果.st演奏記録.Drums.Dan_C); Exam.Status examStatus = TJAPlayer3.stage演奏ドラム画面.actDan.GetExamStatus(TJAPlayer3.stage結果.st演奏記録.Drums.Dan_C);
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 1f;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 1f;
if (examStatus != Exam.Status.Failure) if (examStatus != Exam.Status.Failure)
{ {
int successType = 0; int successType = 0;
@ -1120,10 +1123,13 @@ namespace TJAPlayer3
comboType += 1; comboType += 1;
} }
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.X = 1f;
TJAPlayer3.Tx.DanResult_Rank.vc拡大縮小倍率.Y = 1f;
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 130, 380, new Rectangle(334 * (2 * comboType + successType), 0, 334, 334));
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 130, 380, new Rectangle(334 * (2 * comboType + successType + 1), 0, 334, 334));
}
else
{
TJAPlayer3.Tx.DanResult_Rank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 130, 380, new Rectangle(0, 0, 334, 334));
} }
#endregion #endregion
@ -1250,17 +1256,17 @@ namespace TJAPlayer3
this.bアニメが完了 = false; this.bアニメが完了 = false;
} }
#region #region Nameplate
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{ {
// To change while implementing the 2P result screen
int pos = i; int pos = i;
if (TJAPlayer3.P1IsBlue() && TJAPlayer3.stage選曲.n確定された曲の難易度[0] < (int)Difficulty.Tower) if (TJAPlayer3.P1IsBlue() && TJAPlayer3.stage選曲.n確定された曲の難易度[0] < (int)Difficulty.Tower)
pos = 1; pos = 1;
TJAPlayer3.NamePlate.tNamePlateDraw((pos == 1) ? 1280 - 28 - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width : 28, 621, i); TJAPlayer3.NamePlate.tNamePlateDraw((pos == 1) ? 1280 - 28 - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width : 28, 621, i);
// TJAPlayer3.NamePlate.tNamePlateDraw(28, 621, i);
} }
#endregion #endregion
if (base.eフェーズID == CStage.Eフェーズ._フェードイン) if (base.eフェーズID == CStage.Eフェーズ._フェードイン)
@ -1299,7 +1305,7 @@ namespace TJAPlayer3
TJAPlayer3.Skin.sound決定音.t再生する(); TJAPlayer3.Skin.sound決定音.t再生する();
actFI.tフェードアウト開始(); actFI.tフェードアウト開始();
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan) if (TJAPlayer3.latestSongSelect == TJAPlayer3.stage選曲)// TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
if (TJAPlayer3.stage選曲.r現在選択中の曲.r親ード != null) if (TJAPlayer3.stage選曲.r現在選択中の曲.r親ード != null)
TJAPlayer3.stage選曲.act曲リスト.tBOXを出る(); TJAPlayer3.stage選曲.act曲リスト.tBOXを出る();
@ -1320,7 +1326,7 @@ namespace TJAPlayer3
{ {
actFI.tフェードアウト開始(); actFI.tフェードアウト開始();
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan) if (TJAPlayer3.latestSongSelect == TJAPlayer3.stage選曲)// TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
if (TJAPlayer3.stage選曲.r現在選択中の曲.r親ード != null) if (TJAPlayer3.stage選曲.r現在選択中の曲.r親ード != null)
TJAPlayer3.stage選曲.act曲リスト.tBOXを出る(); TJAPlayer3.stage選曲.act曲リスト.tBOXを出る();
@ -1385,7 +1391,7 @@ namespace TJAPlayer3
if (!b最近遊んだ曲追加済み) if (!b最近遊んだ曲追加済み)
{ {
#region [ ] #region [ Apply new local status for song select screens ]
//--------------------- //---------------------
if (!TJAPlayer3.bコンパクトモード) if (!TJAPlayer3.bコンパクトモード)
{ {
@ -1560,9 +1566,6 @@ namespace TJAPlayer3
private CActオプションパネル actOption; private CActオプションパネル actOption;
private CActResultParameterPanel actParameterPanel; private CActResultParameterPanel actParameterPanel;
private CActResultRank actRank;
private CActResultImage actResultImage;
private CActResultSongBar actSongBar; private CActResultSongBar actSongBar;
private bool bアニメが完了; private bool bアニメが完了;
private bool bIsCheckedWhetherResultScreenShouldSaveOrNot; // #24509 2011.3.14 yyagi private bool bIsCheckedWhetherResultScreenShouldSaveOrNot; // #24509 2011.3.14 yyagi
@ -1606,17 +1609,10 @@ namespace TJAPlayer3
private CPrivateFastFont pfTowerText; private CPrivateFastFont pfTowerText;
private CPrivateFastFont pfTowerText48; private CPrivateFastFont pfTowerText48;
private CPrivateFastFont pfTowerText72; private CPrivateFastFont pfTowerText72;
private int TowerScoreRank;
// Don medals information // Don medals information
private int[] nEarnedMedalsCount = { 0, 0 }; private int[] nEarnedMedalsCount = { 0, 0 };
private CCounter ctAutoReturn;
//private CTexture txオプションパネル;
//private CTexture tx下部パネル;
//private CTexture tx上部パネル;
//private CTexture tx背景;
#region [ #24609 pngで保存する ] // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. #region [ #24609 pngで保存する ] // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.
/// <summary> /// <summary>
/// リザルト画像のキャプチャと保存。 /// リザルト画像のキャプチャと保存。