From e206db822bd087d6430c796db8aca40124e15ce1 Mon Sep 17 00:00:00 2001
From: 0aubsq <0aubsq@gmail.com>
Date: Thu, 14 Oct 2021 12:56:11 +0200
Subject: [PATCH] Version 0.4.3 : Course:Tower are now fully playable,
including LIFE parameter, early lose condition if LIFE reachs 0, and so on.
Full result screen and Lower background will release later
---
README.md | 11 ++-
TJAPlayer3/Common/CSkin.cs | 6 ++
TJAPlayer3/Stages/01.StartUp/TextureLoader.cs | 28 +++++-
.../Stages/07.Game/CAct演奏ステージ失敗.cs | 94 ++++++++++++++-----
.../Stages/07.Game/CStage演奏画面共通.cs | 22 ++++-
.../Taiko/CAct演奏Drumsキャラクター.cs | 18 ++--
.../Taiko/CAct演奏Drums演奏終了演出.cs | 19 +++-
.../Stages/07.Game/Taiko/CAct演奏Drums背景.cs | 8 +-
.../07.Game/Taiko/CStage演奏ドラム画面.cs | 5 +-
TJAPlayer3/Stages/08.Result/CStage結果.cs | 37 +++++++-
Test/System | 2 +-
11 files changed, 201 insertions(+), 49 deletions(-)
diff --git a/README.md b/README.md
index b0e20068..56b0f46c 100644
--- a/README.md
+++ b/README.md
@@ -3,9 +3,9 @@ TJAPlayer3-Develop-ReWrite-1のフォーク, 太鼓の達人 ニジイロVerを
(English version coming soon)
-- 現在の版: v0.4.2
+- 現在の版: v0.4.3
-- スキンの最新版: v0.4.2
+- スキンの最新版: v0.4.3
## 予告情報 (重要)
@@ -49,6 +49,13 @@ Discord以外で配布しておりません。
## 更新記録
+
+ v0.4.3
+
+ - PS2の太鼓タワーを実装 (Gameplay)
+
+
+
v0.4.2
diff --git a/TJAPlayer3/Common/CSkin.cs b/TJAPlayer3/Common/CSkin.cs
index 22caf028..342a8a31 100644
--- a/TJAPlayer3/Common/CSkin.cs
+++ b/TJAPlayer3/Common/CSkin.cs
@@ -367,6 +367,10 @@ namespace TJAPlayer3
public Cシステムサウンド soundSelectAnnounce = null;
+ // Tower Sfx
+ public Cシステムサウンド soundTowerMiss = null;
+ public Cシステムサウンド bgmTowerResult = null;
+
//public Cシステムサウンド soundRed = null;
//public Cシステムサウンド soundBlue = null;
public Cシステムサウンド soundBalloon = null;
@@ -707,6 +711,8 @@ namespace TJAPlayer3
this.bgmDanResult = new Cシステムサウンド(@"Sounds\Dan\Dan_Result.ogg", false, false, true, ESoundGroup.SongPlayback);
+ this.bgmTowerResult = new Cシステムサウンド(@"Sounds\Tower\Tower_Result.ogg", false, false, true, ESoundGroup.SongPlayback);
+ this.soundTowerMiss = new Cシステムサウンド(@"Sounds\Tower\Miss.wav", false, false, true, ESoundGroup.SoundEffect);
this.soundCrownIn = new Cシステムサウンド(@"Sounds\ResultScreen\CrownIn.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundRankIn = new Cシステムサウンド(@"Sounds\ResultScreen\RankIn.ogg", false, false, false, ESoundGroup.SoundEffect);
diff --git a/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs b/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs
index f30dbcf4..e4576b31 100644
--- a/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs
+++ b/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs
@@ -20,6 +20,7 @@ namespace TJAPlayer3
const string RESULT = @"6_Result\";
const string EXIT = @"7_Exit\";
const string DANRESULT = @"7_DanResult\";
+ const string TOWERRESULT = @"8_TowerResult\";
// InGame
const string CHARA = @"1_Chara\";
@@ -774,7 +775,7 @@ namespace TJAPlayer3
Exit_Background = TxC(EXIT + @"Background.png");
#endregion
- #region [8_DanResults]
+ #region [7_DanResults]
DanResult_Background = TxC(DANRESULT + @"Background.png");
DanResult_Rank = TxC(DANRESULT + @"Rank.png");
@@ -785,9 +786,21 @@ namespace TJAPlayer3
#endregion
+ #region [8_TowerResults]
+
+ TowerResult_Background = TxC(TOWERRESULT + @"Background.png");
+ TowerResult_Panel = TxC(TOWERRESULT + @"Panel.png");
+
+ for (int i = 0; i < TowerResult_Tower.Length; i++)
+ {
+ TowerResult_Tower[i] = TxC(TOWERRESULT + @"Tower\" + i.ToString() + ".png");
+ }
+
+ #endregion
+
}
- public void DisposeTexture()
+ public void DisposeTexture()
{
foreach (var tex in listTexture)
{
@@ -1128,7 +1141,7 @@ namespace TJAPlayer3
/*Exit_Text */;
#endregion
- #region [8_DanResults]
+ #region [7_DanResults]
public CTexture DanResult_Background,
DanResult_Rank,
@@ -1139,6 +1152,15 @@ namespace TJAPlayer3
#endregion
+ #region [8_TowerResults]
+
+ public CTexture TowerResult_Background,
+ TowerResult_Panel;
+ public CTexture[]
+ TowerResult_Tower = new CTexture[1];
+
+ #endregion
+
#region [ 解放用 ]
public List listTexture = new List();
#endregion
diff --git a/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs b/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs
index 087fb579..dff99259 100644
--- a/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs
+++ b/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs
@@ -70,8 +70,9 @@ namespace TJAPlayer3
public void Start()
{
this.dbFailedTime = TJAPlayer3.Timer.n現在時刻;
- this.ct進行 = new CCounter( 0, 1000, 2, TJAPlayer3.Timer );
- if( TJAPlayer3.ConfigIni.eGameMode != EGame.OFF )
+ this.ct進行 = new CCounter( 0, 300, 22, TJAPlayer3.Timer );
+ this.ctEnd_ClearFailed = new CCounter(0, 69, 30, TJAPlayer3.Timer);
+ if ( TJAPlayer3.ConfigIni.eGameMode != EGame.OFF )
{
this.ct進行 = new CCounter( 0, 4000, 2, TJAPlayer3.Timer );
}
@@ -99,26 +100,58 @@ namespace TJAPlayer3
}
public override void OnManagedリソースの作成()
{
+ this.failedSongPlayed = false;
if( !base.b活性化してない )
- {
- // this.txBlack = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ) );
- //this.txStageFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_stage_failed.jpg" ) );
- //this.txGameFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_GameFailed.png" ) );
- // this.tx数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_RollNumber.png" ) );
+ {
+ // this.txBlack = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ) );
+ //this.txStageFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_stage_failed.jpg" ) );
+ //this.txGameFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_GameFailed.png" ) );
+ // this.tx数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_RollNumber.png" ) );
+ this.soundFailed = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Failed.ogg"), ESoundGroup.SoundEffect);
base.OnManagedリソースの作成();
}
}
public override void OnManagedリソースの解放()
{
if( !base.b活性化してない )
- {
- //CDTXMania.tテクスチャの解放( ref this.txStageFailed );
- //CDTXMania.tテクスチャの解放( ref this.txGameFailed );
- // CDTXMania.tテクスチャの解放( ref this.txBlack );
- // CDTXMania.tテクスチャの解放( ref this.tx数字 );
+ {
+ //CDTXMania.tテクスチャの解放( ref this.txStageFailed );
+ //CDTXMania.tテクスチャの解放( ref this.txGameFailed );
+ // CDTXMania.tテクスチャの解放( ref this.txBlack );
+ // CDTXMania.tテクスチャの解放( ref this.tx数字 );
+ if (this.soundFailed != null)
+ this.soundFailed.t解放する();
base.OnManagedリソースの解放();
}
- }
+ }
+
+ #region [Effect]
+
+ private void showEndEffect_Failed(int i)
+ {
+ int[] y = new int[] { 0, 176 };
+
+ this.ctEnd_ClearFailed.t進行();
+ if (this.ctEnd_ClearFailed.n現在の値 <= 20)
+ {
+ TJAPlayer3.Tx.End_ClearFailed[this.ctEnd_ClearFailed.n現在の値].t2D描画(TJAPlayer3.app.Device, 505, y[i] + 145);
+ }
+ if (this.ctEnd_ClearFailed.n現在の値 >= 20 && this.ctEnd_ClearFailed.n現在の値 <= 67)
+ {
+ TJAPlayer3.Tx.ClearFailed.t2D描画(TJAPlayer3.app.Device, 502, y[i] + 192);
+ }
+ else if (this.ctEnd_ClearFailed.n現在の値 == 68)
+ {
+ TJAPlayer3.Tx.ClearFailed1.t2D描画(TJAPlayer3.app.Device, 502, y[i] + 192);
+ }
+ else if (this.ctEnd_ClearFailed.n現在の値 >= 69)
+ {
+ TJAPlayer3.Tx.ClearFailed2.t2D描画(TJAPlayer3.app.Device, 502, y[i] + 192);
+ }
+ }
+
+ #endregion
+
public override int On進行描画()
{
if( base.b活性化してない )
@@ -129,9 +162,22 @@ namespace TJAPlayer3
{
return 0;
}
- this.ct進行.t進行();
-
- if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー || TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛)
+ this.ct進行.t進行();
+
+ #region [Failed screen]
+
+ if (this.soundFailed != null && !this.failedSongPlayed)
+ {
+ this.soundFailed.t再生を開始する();
+ this.failedSongPlayed = true;
+ }
+ this.showEndEffect_Failed(0);
+
+ #endregion
+
+ /*
+
+ if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー || TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛)
{
if (TJAPlayer3.Tx.Tile_Black != null)
{
@@ -191,6 +237,8 @@ namespace TJAPlayer3
}
}
+ */
+
if( !this.ct進行.b終了値に達した )
{
return 0;
@@ -206,11 +254,15 @@ namespace TJAPlayer3
private bool b効果音再生済み;
private CCounter ct進行;
private CSound sd効果音;
- //private CTexture txStageFailed;
- // private CTexture txGameFailed;
- // private CTexture txBlack;
- // private CTexture tx数字;
- private double dbFailedTime;
+
+ private bool failedSongPlayed;
+ private CSound soundFailed;
+ private CCounter ctEnd_ClearFailed;
+ //private CTexture txStageFailed;
+ // private CTexture txGameFailed;
+ // private CTexture txBlack;
+ // private CTexture tx数字;
+ private double dbFailedTime;
//-----------------
private ST文字位置[] st文字位置;
diff --git a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs
index 3077b539..5c5a9801 100644
--- a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs
+++ b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs
@@ -3081,12 +3081,24 @@ namespace TJAPlayer3
}
protected void t進行描画_STAGEFAILED()
{
- if ( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )
+ // Transition for failed games
+ if ( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED )
+ || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )
+ && ( ( this.actStageFailed.On進行描画() != 0 )
+ && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )
{
- this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗;
- base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト;
- this.actFO.tフェードアウト開始();
- }
+ if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
+ {
+ this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージクリア;
+ }
+ else
+ {
+ this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗;
+
+ }
+ base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト;
+ this.actFO.tフェードアウト開始();
+ }
}
protected void t進行描画_チップファイアGB()
diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs
index 53d0a5f4..8bd3d225 100644
--- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs
+++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs
@@ -126,18 +126,17 @@ namespace TJAPlayer3
if (this.ctキャラクターアクション_ゴーゴースタート != null || TJAPlayer3.Skin.Game_Chara_Ptn_GoGoStart != 0) this.ctキャラクターアクション_ゴーゴースタート[i].t進行db();
if (this.ctキャラクターアクション_ゴーゴースタートMAX != null || TJAPlayer3.Skin.Game_Chara_Ptn_GoGoStart_Max != 0) this.ctキャラクターアクション_ゴーゴースタートMAX[i].t進行db();
if (this.ctキャラクターアクション_ノルマ != null || TJAPlayer3.Skin.Game_Chara_Ptn_ClearIn != 0) this.ctキャラクターアクション_ノルマ[i].t進行db();
- if (this.ctキャラクターアクション_魂MAX != null || TJAPlayer3.Skin.Game_Chara_Ptn_SoulIn != 0) this.ctキャラクターアクション_魂MAX[i].t進行db();
-
+ if (this.ctキャラクターアクション_魂MAX != null || TJAPlayer3.Skin.Game_Chara_Ptn_SoulIn != 0) this.ctキャラクターアクション_魂MAX[i].t進行db();
+
+ // Blinking animation during invincibility frames
+ if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
+ {
+ if (CFloorManagement.isBlinking() == true)
+ break;
+ }
if (this.b風船連打中[i] != true && this.bマイどんアクション中[i] != true && CharaAction_Balloon_Delay[i].b終了値に達した)
{
- // Blinking animation during invincibility frames
- if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
- {
- if (CFloorManagement.isBlinking() == true)
- break;
- }
-
if (!TJAPlayer3.stage演奏ドラム画面.bIsGOGOTIME[i])
{
if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 100.0 && TJAPlayer3.Skin.Game_Chara_Ptn_Clear != 0)
@@ -177,7 +176,6 @@ namespace TJAPlayer3
if (this.b風船連打中[i] != true && bマイどんアクション中[i] == true && CharaAction_Balloon_Delay[i].b終了値に達した)
{
-
if (this.ctキャラクターアクション_10コンボ[i].b進行中)
{
if (TJAPlayer3.Tx.Chara_10Combo[i] != null && TJAPlayer3.Skin.Game_Chara_Ptn_10combo != 0)
diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs
index 1ee20d4b..8bad6411 100644
--- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs
+++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs
@@ -31,7 +31,24 @@ namespace TJAPlayer3
this.ctEnd_DondaFullComboLoop = new CCounter(0, 2, 30, TJAPlayer3.Timer);
// モードの決定。クリア失敗・フルコンボも事前に作っとく。
- if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
+ if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
+ {
+ if (CFloorManagement.CurrentNumberOfLives > 0)
+ {
+ if (TJAPlayer3.stage演奏ドラム画面.CBranchScore[0].nMiss == 0)
+ {
+ if (TJAPlayer3.stage演奏ドラム画面.CBranchScore[0].nGood == 0)
+ this.Mode[0] = EndMode.StageDondaFullCombo;
+ else
+ this.Mode[0] = EndMode.StageFullCombo;
+ }
+ else
+ this.Mode[0] = EndMode.StageCleared;
+ }
+ else
+ this.Mode[0] = EndMode.StageFailed;
+ }
+ else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
{
// 段位認定モード。
if (!TJAPlayer3.stage演奏ドラム画面.actDan.GetFailedAllChallenges())
diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs
index 1f4d353f..2962ea78 100644
--- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs
+++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs
@@ -26,7 +26,7 @@ namespace TJAPlayer3
{
CFloorManagement.InvincibilityFrames = new CCounter(0, CFloorManagement.InvincibilityDuration + 1000, 1, TJAPlayer3.Timer);
CFloorManagement.CurrentNumberOfLives--;
- // Play "outch" sfx
+ TJAPlayer3.Skin.soundTowerMiss.t再生する();
}
}
@@ -253,8 +253,8 @@ namespace TJAPlayer3
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
{
- TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTouTatsuKaiSuu).t2D描画(TJAPlayer3.app.Device, 550, 32);
- TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkKai).t2D描画(TJAPlayer3.app.Device, 750, 104);
+ TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTouTatsuKaiSuu).t2D描画(TJAPlayer3.app.Device, 350, 32);
+ TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkKai).t2D描画(TJAPlayer3.app.Device, 550, 104);
this.ct炎.t進行Loop();
CFloorManagement.loopFrames();
@@ -278,7 +278,7 @@ namespace TJAPlayer3
{
int currentNum = int.Parse(floorStr[idx].ToString());
- TJAPlayer3.Tx.Taiko_Combo[0].t2D描画(TJAPlayer3.app.Device, 756 - ((digitLength - 8) * (len - idx) * 1.4f),
+ TJAPlayer3.Tx.Taiko_Combo[0].t2D描画(TJAPlayer3.app.Device, 556 - ((digitLength - 8) * (len - idx) * 1.4f),
84,
new Rectangle(digitLength * currentNum, 0,
digitLength, TJAPlayer3.Tx.Taiko_Combo[0].szテクスチャサイズ.Height));
diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs
index c86eb4bc..a4ab871e 100644
--- a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs
+++ b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs
@@ -435,7 +435,10 @@ namespace TJAPlayer3
base.b初めての進行描画 = false;
}
#endregion
- if ( ( ( TJAPlayer3.ConfigIni.nRisky != 0 && this.actGauge.IsFailed( E楽器パート.TAIKO ) ) || this.actGame.st叩ききりまショー.ct残り時間.b終了値に達した ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) )
+ if ( ( ( TJAPlayer3.ConfigIni.nRisky != 0 && this.actGauge.IsFailed( E楽器パート.TAIKO ) )
+ || this.actGame.st叩ききりまショー.ct残り時間.b終了値に達した
+ || (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower && CFloorManagement.CurrentNumberOfLives <= 0))
+ && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ))
{
this.actStageFailed.Start();
TJAPlayer3.DTX.t全チップの再生停止();
diff --git a/TJAPlayer3/Stages/08.Result/CStage結果.cs b/TJAPlayer3/Stages/08.Result/CStage結果.cs
index 26d7da87..6543ce72 100644
--- a/TJAPlayer3/Stages/08.Result/CStage結果.cs
+++ b/TJAPlayer3/Stages/08.Result/CStage結果.cs
@@ -319,6 +319,11 @@ namespace TJAPlayer3
ctShine_Plate = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
ctWork_Plate = new CCounter(0, 4000, 1, TJAPlayer3.Timer);
+ if (TJAPlayer3.Tx.TowerResult_Background != null)
+ ctTower_Animation = new CCounter(0, TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height - 720, 25, TJAPlayer3.Timer);
+ else
+ ctTower_Animation = new CCounter();
+
Dan_Plate = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(TJAPlayer3.DTX.strファイル名の絶対パス) + @"\Dan_Plate.png");
@@ -666,7 +671,33 @@ namespace TJAPlayer3
{
#region [Tower result screen]
+ if (!b音声再生 && !TJAPlayer3.Skin.bgmTowerResult.b再生中)
+ {
+ TJAPlayer3.Skin.bgmTowerResult.t再生する();
+ b音声再生 = true;
+ }
+ // Pictures here
+
+ this.ctTower_Animation.t進行();
+
+ int xFactor = 0;
+ float yFactor = 1f;
+ if (TJAPlayer3.Tx.TowerResult_Background != null && TJAPlayer3.Tx.TowerResult_Tower[0] != null)
+ {
+ xFactor = (TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Width - TJAPlayer3.Tx.TowerResult_Tower[0].szテクスチャサイズ.Width) / 2;
+ yFactor = TJAPlayer3.Tx.TowerResult_Tower[0].szテクスチャサイズ.Height / (float)TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height;
+ }
+
+ TJAPlayer3.Tx.TowerResult_Background?.t2D描画(TJAPlayer3.app.Device, 0, -1 * this.ctTower_Animation.n現在の値);
+ TJAPlayer3.Tx.TowerResult_Tower[0]?.t2D描画(TJAPlayer3.app.Device, xFactor, -1 * yFactor * this.ctTower_Animation.n現在の値);
+ TJAPlayer3.Tx.TowerResult_Panel?.t2D描画(TJAPlayer3.app.Device, 0, 0);
+
+ if (!b音声再生 && !TJAPlayer3.Skin.bgmTowerResult.b再生中)
+ {
+ TJAPlayer3.Skin.bgmTowerResult.t再生する();
+ b音声再生 = true;
+ }
#endregion
@@ -752,6 +783,7 @@ namespace TJAPlayer3
this.eフェードアウト完了時の戻り値 = E戻り値.完了;
TJAPlayer3.Skin.bgmリザルト音.t停止する();
TJAPlayer3.Skin.bgmDanResult.t停止する();
+ TJAPlayer3.Skin.bgmTowerResult.t停止する();
TJAPlayer3.Skin.sound決定音.t再生する();
}
}
@@ -925,7 +957,10 @@ namespace TJAPlayer3
private int[] WorksTimeStamp = { 1000, 2000, 3000 };
// Dan informations
- private CTexture Dan_Plate;
+ private CTexture Dan_Plate;
+
+ // Tower informations
+ private CCounter ctTower_Animation;
private CCounter ctAutoReturn;
//private CTexture txオプションパネル;
diff --git a/Test/System b/Test/System
index cfa3580a..dcc5f2f6 160000
--- a/Test/System
+++ b/Test/System
@@ -1 +1 @@
-Subproject commit cfa3580a0dab1354420d2d306c059cb7c30de91c
+Subproject commit dcc5f2f6230cf9c647451687acf1fcb824607189