1
0
mirror of synced 2024-11-24 07:30:21 +01:00

(Pre. v0.5.0) Preparations for the Tower lower background and optimised Dan by removing unnecessary operations

This commit is contained in:
0aubsq 2021-10-16 11:27:15 +02:00
parent 66efd63dc2
commit 0bc5533f2b
6 changed files with 230 additions and 39 deletions

View File

@ -2653,15 +2653,20 @@ namespace TJAPlayer3
public Color SongLoading_Title_BackColor = ColorTranslator.FromHtml("#000000");
public Color SongLoading_SubTitle_ForeColor = ColorTranslator.FromHtml("#000000");
public Color SongLoading_SubTitle_BackColor = ColorTranslator.FromHtml("#00000000");
public bool SongLoading_Plate_ScreenBlend = false;
public bool SongLoading_Plate_ScreenBlend = false;
#endregion
#region Game
// Game parameters here
public bool Game_Notes_Anime = false;
public string Game_StageText = "1曲目";
public RollColorMode Game_RollColorMode = RollColorMode.All;
public bool Game_JudgeFrame_AddBlend = true;
#region Chara
public int[] Game_Chara_X = new int[] { 0, 0 };
public int[] Game_Chara_Y = new int[] { 0, 537 };
public int[] Game_Chara_Balloon_X = new int[] { 240, 240, 0, 0 };
@ -2687,15 +2692,34 @@ namespace TJAPlayer3
public int Game_Chara_Balloon_Timer = 28;
public int Game_Chara_Balloon_Delay = 500;
public int Game_Chara_Balloon_FadeOut = 84;
#endregion
#region Dancer
public int[] Game_Dancer_X = new int[] { 640, 430, 856, 215, 1070 };
public int[] Game_Dancer_Y = new int[] { 500, 500, 500, 500, 500 };
public string Game_Dancer_Motion = "0";
public int Game_Dancer_Ptn = 0;
public int Game_Dancer_Beat = 8;
public int[] Game_Dancer_Gauge = new int[] { 0, 0, 0, 40, 80 };
public int[] Game_Dancer_Gauge = new int[] { 0, 0, 0, 40, 80 };
#endregion
#region Tower
public int Game_Tower_Ptn;
public int[] Game_Tower_Ptn_Deco,
Game_Tower_Ptn_Base;
public int Game_Tower_Ptn_Don;
public int[] Game_Tower_Ptn_Don_Standing,
Game_Tower_Ptn_Don_Jump,
Game_Tower_Ptn_Don_Climbing,
Game_Tower_Ptn_Don_Running;
#endregion
#region Mob
public int Game_Mob_Ptn = 1;
public int Game_Mob_Beat,

View File

@ -42,6 +42,11 @@ namespace TJAPlayer3
const string PUCHICHARA = @"18_PuchiChara\";
const string TRAINING = @"19_Training\";
const string DANC = @"17_DanC\";
const string TOWER = @"20_Tower\";
// Tower infos
const string TOWERDON = @"Tower_Don\";
const string TOWERFLOOR = @"Tower_Floors\";
// InGame_Effects
const string FIRE = @"Fire\";
@ -289,10 +294,13 @@ namespace TJAPlayer3
Judge_Meter = TxC(GAME + @"Judge_Meter.png");
Bar = TxC(GAME + @"Bar.png");
Bar_Branch = TxC(GAME + @"Bar_Branch.png");
Bar_Branch = TxC(GAME + @"Bar_Branch.png");
#endregion
#region
// Count here
TJAPlayer3.Skin.Game_Chara_Ptn_Normal = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"Normal\"));
if (TJAPlayer3.Skin.Game_Chara_Ptn_Normal != 0)
{
@ -714,10 +722,92 @@ namespace TJAPlayer3
Tokkun_Background_Up = TxC(GAME + TRAINING + @"Background_Up.png");
Tokkun_BigNumber = TxC(GAME + TRAINING + @"BigNumber.png");
Tokkun_SmallNumber = TxC(GAME + TRAINING + @"SmallNumber.png");
Tokkun_Speed_Measure = TxC(GAME + TRAINING + @"Speed_Measure.png");
#endregion
Tokkun_Speed_Measure = TxC(GAME + TRAINING + @"Speed_Measure.png");
#endregion
#region [20_Tower]
Tower_Sky_Gradient = TxC(GAME + TOWER + @"Sky_Gradient.png");
// Tower elements
TJAPlayer3.Skin.Game_Tower_Ptn = System.IO.Directory.GetDirectories(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR)).Length;
Tower_Top = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn];
Tower_Base = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn][];
Tower_Deco = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn][];
TJAPlayer3.Skin.Game_Tower_Ptn_Base = new int[TJAPlayer3.Skin.Game_Tower_Ptn];
TJAPlayer3.Skin.Game_Tower_Ptn_Deco = new int[TJAPlayer3.Skin.Game_Tower_Ptn];
for (int i = 0; i < TJAPlayer3.Skin.Game_Tower_Ptn; i++)
{
TJAPlayer3.Skin.Game_Tower_Ptn_Base[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR + i.ToString() + @"\Base\"), "Base");
TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR + i.ToString() + @"\Deco\"), "Deco");
Tower_Top[i] = TxC(GAME + TOWER + TOWERFLOOR + i.ToString() + @"\Top.png");
Tower_Base[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Base[i]];
Tower_Deco[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i]];
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Base[i]; j++)
{
Tower_Base[i][j] = TxC(GAME + TOWER + TOWERFLOOR + i.ToString() + @"\Base\Base" + j.ToString() + ".png");
}
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i]; j++)
{
Tower_Deco[i][j] = TxC(GAME + TOWER + TOWERFLOOR + i.ToString() + @"\Deco\Deco" + j.ToString() + ".png");
}
}
// Tower climbing Don
TJAPlayer3.Skin.Game_Tower_Ptn_Don = System.IO.Directory.GetDirectories(CSkin.Path(BASE + GAME + TOWER + TOWERDON)).Length;
Tower_Don_Climbing = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don][];
Tower_Don_Jump = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don][];
Tower_Don_Running = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don][];
Tower_Don_Standing = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don][];
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Climbing = new int[TJAPlayer3.Skin.Game_Tower_Ptn_Don];
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Jump = new int[TJAPlayer3.Skin.Game_Tower_Ptn_Don];
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Running = new int[TJAPlayer3.Skin.Game_Tower_Ptn_Don];
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Standing = new int[TJAPlayer3.Skin.Game_Tower_Ptn_Don];
for (int i = 0; i < TJAPlayer3.Skin.Game_Tower_Ptn_Don; i++)
{
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Climbing[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERDON + i.ToString() + @"\Climbing\"), "Climbing");
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Running[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERDON + i.ToString() + @"\Running\"), "Running");
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Standing[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERDON + i.ToString() + @"\Standing\"), "Standing");
TJAPlayer3.Skin.Game_Tower_Ptn_Don_Jump[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERDON + i.ToString() + @"\Jump\"), "Jump");
Tower_Don_Climbing[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don_Climbing[i]];
Tower_Don_Running[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don_Running[i]];
Tower_Don_Standing[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don_Standing[i]];
Tower_Don_Jump[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Don_Jump[i]];
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Don_Climbing[i]; j++)
{
Tower_Don_Climbing[i][j] = TxC(GAME + TOWER + TOWERDON + i.ToString() + @"\Climbing\Climbing" + j.ToString() + ".png");
}
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Don_Running[i]; j++)
{
Tower_Don_Running[i][j] = TxC(GAME + TOWER + TOWERDON + i.ToString() + @"\Running\Running" + j.ToString() + ".png");
}
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Don_Standing[i]; j++)
{
Tower_Don_Standing[i][j] = TxC(GAME + TOWER + TOWERDON + i.ToString() + @"\Standing\Standing" + j.ToString() + ".png");
}
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Don_Jump[i]; j++)
{
Tower_Don_Jump[i][j] = TxC(GAME + TOWER + TOWERDON + i.ToString() + @"\Jump\Jump" + j.ToString() + ".png");
}
}
#endregion
#endregion
#region 6_
Result_FadeIn = TxC(RESULT + @"FadeIn.png");
Result_Gauge = TxC(RESULT + @"Gauge.png");
@ -969,7 +1059,7 @@ namespace TJAPlayer3
Background_Up_2nd,
Background_Up_3rd,
Background_Up_Dan = new CTexture[6],
Background_Up_Tower = new CTexture[7];
Background_Up_Tower = new CTexture[8];
#endregion
#region
public CTexture[] Taiko_Frame, // MTaiko下敷き
@ -1096,10 +1186,28 @@ namespace TJAPlayer3
Tokkun_Background_Up,
Tokkun_BigNumber,
Tokkun_SmallNumber,
Tokkun_Speed_Measure;
Tokkun_Speed_Measure;
#endregion
#region [20_Tower]
public CTexture Tower_Sky_Gradient;
public CTexture[] Tower_Top;
public CTexture[][] Tower_Base,
Tower_Deco,
Tower_Don_Running,
Tower_Don_Standing,
Tower_Don_Climbing,
Tower_Don_Jump;
#endregion
#endregion
#region 6_
public CTexture Result_FadeIn,
Result_Gauge,

View File

@ -49,19 +49,23 @@ namespace TJAPlayer3
this.b初めての進行描画 = true;
}
if (this.ct踊り子モーション != null || TJAPlayer3.Skin.Game_Dancer_Ptn != 0) this.ct踊り子モーション.t進行LoopDb();
if (TJAPlayer3.ConfigIni.ShowDancer && this.ct踊り子モーション != null && TJAPlayer3.Skin.Game_Dancer_Ptn != 0)
{
for (int i = 0; i < 5; i++)
{
if (TJAPlayer3.Tx.Dancer[i][this.ar踊り子モーション番号[(int)this.ct踊り子モーション.n現在の値]] != null)
{
if ((int)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[0] >= TJAPlayer3.Skin.Game_Dancer_Gauge[i])
TJAPlayer3.Tx.Dancer[i][this.ar踊り子モーション番号[(int)this.ct踊り子モーション.n現在の値]].t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Dancer_X[i], TJAPlayer3.Skin.Game_Dancer_Y[i]);
}
}
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
{
if (this.ct踊り子モーション != null || TJAPlayer3.Skin.Game_Dancer_Ptn != 0) this.ct踊り子モーション.t進行LoopDb();
if (TJAPlayer3.ConfigIni.ShowDancer && this.ct踊り子モーション != null && TJAPlayer3.Skin.Game_Dancer_Ptn != 0)
{
for (int i = 0; i < 5; i++)
{
if (TJAPlayer3.Tx.Dancer[i][this.ar踊り子モーション番号[(int)this.ct踊り子モーション.n現在の値]] != null)
{
if ((int)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[0] >= TJAPlayer3.Skin.Game_Dancer_Gauge[i])
TJAPlayer3.Tx.Dancer[i][this.ar踊り子モーション番号[(int)this.ct踊り子モーション.n現在の値]].t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Dancer_X[i], TJAPlayer3.Skin.Game_Dancer_Y[i]);
}
}
}
}
return base.On進行描画();
}

View File

@ -50,7 +50,7 @@ namespace TJAPlayer3
if (ctMob != null) ctMob.t進行LoopDb();
if (ctMobPtn != null || TJAPlayer3.Skin.Game_Mob_Ptn != 0) ctMobPtn.t進行LoopDb();
if (TJAPlayer3.Skin.Game_Mob_Ptn != 0)
if (TJAPlayer3.Skin.Game_Mob_Ptn != 0 && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
{
/*
@ -69,14 +69,6 @@ namespace TJAPlayer3
if (TJAPlayer3.Tx.Mob[RandomMob] != null)
TJAPlayer3.Tx.Mob[RandomMob].t2D描画(TJAPlayer3.app.Device, 0, (720 - (TJAPlayer3.Tx.Mob[RandomMob].szテクスチャサイズ.Height - 70)) + -((float)Math.Sin((float)this.ctMob.n現在の値 * (Math.PI / 180)) * 70));
/*
if (TJAPlayer3.Tx.Mob[(int)ctMobPtn.n現在の値] != null)
{
TJAPlayer3.Tx.Mob[(int)ctMobPtn.n現在の値].t2D描画(TJAPlayer3.app.Device, 0, (720 - (TJAPlayer3.Tx.Mob[0].szテクスチャサイズ.Height - 70)) + -((float)Math.Sin((float)this.ctMob.n現在の値 * (Math.PI / 180)) * 70));
}
*/
}
}

View File

@ -212,17 +212,52 @@ namespace TJAPlayer3
this.ct下背景スクロール用タイマー1.t進行Loop();
if (this.ct上背景スクロール用タイマー2stDan != null)
this.ct上背景スクロール用タイマー2stDan.t進行Loop();
#region 1P-2P-
this.ct上背景スクロール用タイマー2stDan.t進行Loop();
#region [Tower specific variables declaration]
float currentFloorPositionMax140 = 0;
#endregion
#region [Upper background]
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
{
#region [Tower animations variables]
this.bFloorChanged = CFloorManagement.LastRegisteredFloor != TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] + 1;
currentFloorPositionMax140 = Math.Min(TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] / 140f, 1f);
#endregion
#region [Tower HAIKEI]
TJAPlayer3.Tx.Background_Up_Tower[0]?.t2D描画(TJAPlayer3.app.Device, 0, 0);
if (TJAPlayer3.Tx.Background_Up_Tower[7] != null)
TJAPlayer3.Tx.Background_Up_Tower[7].Opacity = (int)(255f * currentFloorPositionMax140);
TJAPlayer3.Tx.Background_Up_Tower[7]?.t2D描画(TJAPlayer3.app.Device, 0, 0);
if (TJAPlayer3.Tx.Background_Up_Tower[1] != null && TJAPlayer3.Tx.Background_Up_Tower[2] != null && TJAPlayer3.Tx.Background_Up_Tower[3] != null)
{
float colorTmp = 0.5f + (1f - currentFloorPositionMax140) * 0.5f;
TJAPlayer3.Tx.Background_Up_Tower[1].color4 = new Color4(colorTmp, colorTmp, colorTmp);
TJAPlayer3.Tx.Background_Up_Tower[2].color4 = new Color4(colorTmp, colorTmp, colorTmp);
TJAPlayer3.Tx.Background_Up_Tower[3].color4 = new Color4(colorTmp, colorTmp, colorTmp);
TJAPlayer3.Tx.Background_Up_Tower[1].Opacity = (int)(255f * colorTmp);
TJAPlayer3.Tx.Background_Up_Tower[2].Opacity = (int)(255f * colorTmp);
TJAPlayer3.Tx.Background_Up_Tower[3].Opacity = (int)(255f * colorTmp);
}
if (TJAPlayer3.Tx.Background_Up_Tower[1] != null)
for (int i = 0; i < 1280 / TJAPlayer3.Tx.Background_Up_Tower[1].szテクスチャサイズ.Width + 2; i++)
TJAPlayer3.Tx.Background_Up_Tower[1].t2D描画(TJAPlayer3.app.Device, (i * TJAPlayer3.Tx.Background_Up_Dan[1].szテクスチャサイズ.Width) - ct上背景スクロール用タイマー1stDan[0].n現在の値, 0);
@ -525,9 +560,31 @@ namespace TJAPlayer3
#region 1P-
if (!TJAPlayer3.stage演奏ドラム画面.bDoublePlay)
{
#region [Lower background]
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
{
#region [Tower lower background]
#region [Skybox]
int skyboxYPosition = (int)(5000 * (1f - currentFloorPositionMax140));
TJAPlayer3.Tx.Tower_Sky_Gradient.t2D描画(TJAPlayer3.app.Device, 0, 360, new Rectangle(0, skyboxYPosition, 1280, 316));
#endregion
#endregion
}
else if (!TJAPlayer3.stage演奏ドラム画面.bDoublePlay && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
{
#region [Ensou lower background]
if (TJAPlayer3.Tx.Background_Down != null)
{
TJAPlayer3.Tx.Background_Down.t2D描画(TJAPlayer3.app.Device, 0, 360);
@ -555,8 +612,12 @@ namespace TJAPlayer3
}
}
}
}
#endregion
}
#endregion
return base.On進行描画();
@ -581,6 +642,8 @@ namespace TJAPlayer3
private TitleTextureKey ttkKai;
private CPrivateFastFont pfTowerText;
private bool bFloorChanged = false;
private CCounter ct炎;
private EFIFOモード eFadeMode;

Binary file not shown.