Tower Chibi support & VTT adjustment (#519)
* adjust font stuff - upgrade HPrivateFastFont - adjust a bit of VTTParser stuff - set aside differences and form a friendship with VTTParser.cs * Add tower chibi support per-character
This commit is contained in:
parent
4871fda4ce
commit
76d60b61ef
@ -4058,7 +4058,11 @@ namespace TJAPlayer3
|
||||
}
|
||||
else if (strCommand == nameof(Game_Lyric_FontName))
|
||||
{
|
||||
Game_Lyric_FontName = strParam;
|
||||
strParam = strParam.Replace('/', System.IO.Path.DirectorySeparatorChar);
|
||||
strParam = strParam.Replace('\\', System.IO.Path.DirectorySeparatorChar);
|
||||
if (HPrivateFastFont.FontExists(strParam)) Game_Lyric_FontName = strParam;
|
||||
strParam = Path(strParam);
|
||||
if (HPrivateFastFont.FontExists(strParam)) Game_Lyric_FontName = strParam;
|
||||
}
|
||||
else if (strCommand == nameof(Game_Lyric_FontSize))
|
||||
{
|
||||
@ -8458,7 +8462,16 @@ namespace TJAPlayer3
|
||||
Characters_Result_Clear_Ptn,
|
||||
Characters_Result_Failed_Ptn,
|
||||
Characters_Result_Failed_In_Ptn,
|
||||
Characters_Result_Normal_Ptn;
|
||||
Characters_Result_Normal_Ptn,
|
||||
Characters_Tower_Standing_Ptn,
|
||||
Characters_Tower_Climbing_Ptn,
|
||||
Characters_Tower_Running_Ptn,
|
||||
Characters_Tower_Clear_Ptn,
|
||||
Characters_Tower_Fail_Ptn,
|
||||
Characters_Tower_Standing_Tired_Ptn,
|
||||
Characters_Tower_Climbing_Tired_Ptn,
|
||||
Characters_Tower_Running_Tired_Ptn,
|
||||
Characters_Tower_Clear_Tired_Ptn;
|
||||
|
||||
// Config
|
||||
|
||||
@ -8494,6 +8507,17 @@ namespace TJAPlayer3
|
||||
Characters_Motion_SoulIn,
|
||||
Characters_Motion_SoulOut,
|
||||
Characters_Motion_Return;
|
||||
/*
|
||||
Characters_Motion_Tower_Standing,
|
||||
Characters_Motion_Tower_Climbing,
|
||||
Characters_Motion_Tower_Running,
|
||||
Characters_Motion_Tower_Clear,
|
||||
Characters_Motion_Tower_Fail,
|
||||
Characters_Motion_Tower_Standing_Tired,
|
||||
Characters_Motion_Tower_Climbing_Tired,
|
||||
Characters_Motion_Tower_Running_Tired,
|
||||
Characters_Motion_Tower_Clear_Tired;
|
||||
*/
|
||||
public float[] Characters_Beat_Normal,
|
||||
Characters_Beat_10Combo,
|
||||
Characters_Beat_10Combo_Clear,
|
||||
@ -8512,7 +8536,16 @@ namespace TJAPlayer3
|
||||
Characters_Beat_GoGoMax,
|
||||
Characters_Beat_SoulIn,
|
||||
Characters_Beat_SoulOut,
|
||||
Characters_Beat_Return;
|
||||
Characters_Beat_Return,
|
||||
Characters_Beat_Tower_Standing,
|
||||
Characters_Beat_Tower_Climbing,
|
||||
Characters_Beat_Tower_Running,
|
||||
Characters_Beat_Tower_Clear,
|
||||
Characters_Beat_Tower_Fail,
|
||||
Characters_Beat_Tower_Standing_Tired,
|
||||
Characters_Beat_Tower_Climbing_Tired,
|
||||
Characters_Beat_Tower_Running_Tired,
|
||||
Characters_Beat_Tower_Clear_Tired;
|
||||
public int[] Characters_Balloon_Timer;
|
||||
public int[] Characters_Balloon_Delay;
|
||||
public int[] Characters_Balloon_FadeOut;
|
||||
|
@ -17,21 +17,21 @@ namespace TJAPlayer3
|
||||
return CFontRenderer.FontExists(fontpath);
|
||||
}
|
||||
|
||||
public static CCachedFontRenderer tInstantiateFont(string fontName, int scale)
|
||||
public static CCachedFontRenderer tInstantiateFont(string fontName, int scale, CFontRenderer.FontStyle style = CFontRenderer.FontStyle.Regular)
|
||||
{
|
||||
if (FontExists(fontName))
|
||||
return (new CCachedFontRenderer(fontName, scale));
|
||||
return (new CCachedFontRenderer(DefaultFont, scale));
|
||||
return (new CCachedFontRenderer(fontName, scale, style));
|
||||
return (new CCachedFontRenderer(DefaultFont, scale, style));
|
||||
}
|
||||
|
||||
public static CCachedFontRenderer tInstantiateMainFont(int scale)
|
||||
public static CCachedFontRenderer tInstantiateMainFont(int scale, CFontRenderer.FontStyle style = CFontRenderer.FontStyle.Regular)
|
||||
{
|
||||
return tInstantiateFont(TJAPlayer3.Skin.FontName, scale);
|
||||
return tInstantiateFont(TJAPlayer3.Skin.FontName, scale, style);
|
||||
}
|
||||
|
||||
public static CCachedFontRenderer tInstantiateBoxFont(int scale)
|
||||
public static CCachedFontRenderer tInstantiateBoxFont(int scale, CFontRenderer.FontStyle style = CFontRenderer.FontStyle.Regular)
|
||||
{
|
||||
return tInstantiateFont(TJAPlayer3.Skin.BoxFontName, scale);
|
||||
return tInstantiateFont(TJAPlayer3.Skin.BoxFontName, scale, style);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -176,6 +176,8 @@ namespace TJAPlayer3
|
||||
|
||||
else if (!ignoreLyrics && TryParseTimestamp(lines[i], out start, out end))
|
||||
{
|
||||
lyricData = new List<LyricData>(); // Prevents chapters from being included by mistake
|
||||
|
||||
if (start > endTime && endTime != -1)
|
||||
{
|
||||
lrclist.Add(CreateLyric(new List<LyricData>() { new LyricData() { timestamp = endTime + offset } }, order));
|
||||
@ -452,22 +454,15 @@ namespace TJAPlayer3
|
||||
|
||||
string text = String.Empty;
|
||||
|
||||
// HATE. LET ME TELL YOU HOW MUCH I'VE COME TO HATE YOU SINCE I BEGAN TO CODE.
|
||||
// THERE ARE 387.44 MILLION LINES OF PRINTED CODE IN REGIONED THIN LAYERS THAT FILL THIS PROGRAM.
|
||||
// IF THE WORD 'HATE' WAS COMMENTED ON EACH LINE OF THOSE HUNDREDS OF MILLIONS OF LINES OF CODE
|
||||
// IT WOULD NOT EQUAL ONE ONE BILLIONITH OF THE HATE I FEEL FOR VTTParser.cs, CPrivateFont.cs, AND CPrivateFastFont.cs AT THIS MICRO-INSTANT.
|
||||
// HATE. HATE.
|
||||
|
||||
foreach (LyricData data in datalist)
|
||||
{
|
||||
string fontfamily = !string.IsNullOrEmpty(TJAPlayer3.Skin.Game_Lyric_FontName) ? TJAPlayer3.Skin.Game_Lyric_FontName : CFontRenderer.DefaultFontName; // everytime CPrivateFont is disposed, it also disposes fontfamily, so I gotta reinitialize this everytime :(
|
||||
using (CCachedFontRenderer fastdraw = new CCachedFontRenderer(fontfamily, TJAPlayer3.Skin.Game_Lyric_FontSize, data.Style))
|
||||
using (CCachedFontRenderer fastdraw = HPrivateFastFont.tInstantiateFont(TJAPlayer3.Skin.Game_Lyric_FontName, TJAPlayer3.Skin.Game_Lyric_FontSize, data.Style))
|
||||
{
|
||||
SKBitmap textdrawing = fastdraw.DrawText(data.Text, data.ForeColor, data.BackColor, null, 30); // Draw main text
|
||||
|
||||
if (data.IsRuby) // hell yeah ruby time
|
||||
if (data.IsRuby) // ruby time
|
||||
{
|
||||
using (CCachedFontRenderer rubydraw = new CCachedFontRenderer(fontfamily, TJAPlayer3.Skin.Game_Lyric_FontSize / 2, data.Style))
|
||||
using (CCachedFontRenderer rubydraw = HPrivateFastFont.tInstantiateFont(TJAPlayer3.Skin.Game_Lyric_FontName, TJAPlayer3.Skin.Game_Lyric_FontSize / 2, data.Style))
|
||||
{
|
||||
SKBitmap ruby = rubydraw.DrawText(data.RubyText, data.ForeColor, data.BackColor, null, 30);
|
||||
Size size = new Size(textdrawing.Width > ruby.Width ? textdrawing.Width : ruby.Width, textdrawing.Height + (TJAPlayer3.Skin.Game_Lyric_VTTRubyOffset + (ruby.Height / 2)));
|
||||
|
@ -1223,6 +1223,15 @@ namespace TJAPlayer3
|
||||
Characters_Menu_Loop = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Menu_Start = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Menu_Select = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Standing = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Climbing = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Running = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Clear = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Fail = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Standing_Tired = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Climbing_Tired = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Running_Tired = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
Characters_Tower_Clear_Tired = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
|
||||
TJAPlayer3.Skin.Characters_DirName = new string[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Normal_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
@ -1256,6 +1265,15 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Menu_Loop_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Menu_Start_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Menu_Select_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Standing_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Running_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Clear_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Fail_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
|
||||
TJAPlayer3.Skin.Characters_Resolution = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Heya_Render_Offset = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
@ -1289,6 +1307,17 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Motion_SoulIn = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_SoulOut = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Return = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
/*
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Standing = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Climbing = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Running = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Clear = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Fail = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Standing_Tired = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Climbing_Tired = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Running_Tired = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Clear_Tired = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
*/
|
||||
TJAPlayer3.Skin.Characters_Beat_Normal = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Miss = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_MissDown = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
@ -1308,6 +1337,15 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Beat_SoulIn = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_SoulOut = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Return = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Fail = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Balloon_Timer = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Balloon_Delay = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Balloon_FadeOut = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
@ -1566,6 +1604,32 @@ namespace TJAPlayer3
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Balloon_Miss_Ptn[i]; j++)
|
||||
Characters_Balloon_Miss[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[i]; j++)
|
||||
Characters_Tower_Standing[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[i]; j++)
|
||||
Characters_Tower_Climbing[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Running_Ptn[i]; j++)
|
||||
Characters_Tower_Running[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[i]; j++)
|
||||
Characters_Tower_Clear[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[i]; j++)
|
||||
Characters_Tower_Fail[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Standing_Tired[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Climbing_Tired[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Running_Tired[i][j]?.Dispose();
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Clear_Tired[i][j]?.Dispose();
|
||||
#endregion
|
||||
}
|
||||
|
||||
@ -1615,6 +1679,15 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Result_Failed{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_In_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Result_Failed_In{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Result_Normal_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Result_Normal{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Standing{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Climbing{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Running_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Running{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Clear{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Fail{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Standing_Tired{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Climbing_Tired{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Running_Tired{Path.DirectorySeparatorChar}");
|
||||
TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Clear_Tired{Path.DirectorySeparatorChar}");
|
||||
|
||||
Characters_Normal[i] = new CTexture[TJAPlayer3.Skin.Characters_Normal_Ptn[i]];
|
||||
Characters_Normal_Missed[i] = new CTexture[TJAPlayer3.Skin.Characters_Normal_Missed_Ptn[i]];
|
||||
@ -1647,6 +1720,15 @@ namespace TJAPlayer3
|
||||
Characters_Menu_Loop[i] = new CTexture[TJAPlayer3.Skin.Characters_Menu_Loop_Ptn[i]];
|
||||
Characters_Menu_Start[i] = new CTexture[TJAPlayer3.Skin.Characters_Menu_Start_Ptn[i]];
|
||||
Characters_Menu_Select[i] = new CTexture[TJAPlayer3.Skin.Characters_Menu_Select_Ptn[i]];
|
||||
Characters_Tower_Standing[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[i]];
|
||||
Characters_Tower_Climbing[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[i]];
|
||||
Characters_Tower_Running[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Running_Ptn[i]];
|
||||
Characters_Tower_Clear[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[i]];
|
||||
Characters_Tower_Fail[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[i]];
|
||||
Characters_Tower_Standing_Tired[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[i]];
|
||||
Characters_Tower_Climbing_Tired[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[i]];
|
||||
Characters_Tower_Running_Tired[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[i]];
|
||||
Characters_Tower_Clear_Tired[i] = new CTexture[TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[i]];
|
||||
|
||||
#endregion
|
||||
|
||||
@ -1745,6 +1827,33 @@ namespace TJAPlayer3
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Balloon_Miss_Ptn[i]; j++)
|
||||
Characters_Balloon_Miss[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Balloon_Miss{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[i]; j++)
|
||||
Characters_Tower_Standing[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Standing{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[i]; j++)
|
||||
Characters_Tower_Climbing[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Climbing{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Running_Ptn[i]; j++)
|
||||
Characters_Tower_Running[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Running{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[i]; j++)
|
||||
Characters_Tower_Clear[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Clear{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[i]; j++)
|
||||
Characters_Tower_Fail[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Fail{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Standing_Tired[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Standing_Tired{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Climbing_Tired[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Climbing_Tired{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Running_Tired[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Running_Tired{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[i]; j++)
|
||||
Characters_Tower_Clear_Tired[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Tower_Char{Path.DirectorySeparatorChar}Clear_Tired{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
|
||||
|
||||
#endregion
|
||||
|
||||
#region [Parse individual character parameters]
|
||||
@ -1780,6 +1889,17 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Motion_SoulIn[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_SoulOut[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_SoulOut_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Return[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Return_Ptn[i]);
|
||||
/*
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Standing[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Climbing[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Running[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Running_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Clear[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Fail[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Standing_Tired[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Climbing_Tired[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Running_Tired[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[i]);
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Clear_Tired[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[i]);
|
||||
*/
|
||||
TJAPlayer3.Skin.Characters_Beat_Normal[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Miss[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_MissDown[i] = 1;
|
||||
@ -1799,6 +1919,15 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Beat_SoulIn[i] = 1.5f;
|
||||
TJAPlayer3.Skin.Characters_Beat_SoulOut[i] = 1.5f;
|
||||
TJAPlayer3.Skin.Characters_Beat_Return[i] = 1.5f;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Fail[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[i] = 1;
|
||||
TJAPlayer3.Skin.Characters_Balloon_Timer[i] = 28;
|
||||
TJAPlayer3.Skin.Characters_Balloon_Delay[i] = 500;
|
||||
TJAPlayer3.Skin.Characters_Balloon_FadeOut[i] = 84;
|
||||
@ -2045,6 +2174,51 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Motion_Return[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
/*case "Game_Chara_Motion_Tower_Standing":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Standing[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Climbing":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Climbing[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Running":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Running[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Clear":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Clear[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Fail":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Fail[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Standing_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Standing_Tired[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Climbing_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Climbing_Tired[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Running_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Running_Tired[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Motion_Tower_Clear_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Motion_Tower_Clear_Tired[i] = CConversion.StringToIntArray(strParam);
|
||||
break;
|
||||
}*/
|
||||
case "Game_Chara_Beat_Normal":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Normal[i] = float.Parse(strParam);
|
||||
@ -2132,6 +2306,51 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Beat_Return[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Standing":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Climbing":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Running":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Clear":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Fail":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Fail[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Standing_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Climbing_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Running_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Game_Chara_Beat_Tower_Clear_Tired":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[i] = float.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
case "Chara_Entry_AnimationDuration":
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration[i] = int.Parse(strParam);
|
||||
@ -2820,8 +3039,16 @@ Result_Mountain = new CTexture[4]*/;
|
||||
Characters_Result_Clear,
|
||||
Characters_Result_Failed,
|
||||
Characters_Result_Failed_In,
|
||||
Characters_Result_Normal;
|
||||
|
||||
Characters_Result_Normal,
|
||||
Characters_Tower_Standing,
|
||||
Characters_Tower_Climbing,
|
||||
Characters_Tower_Running,
|
||||
Characters_Tower_Clear,
|
||||
Characters_Tower_Fail,
|
||||
Characters_Tower_Standing_Tired,
|
||||
Characters_Tower_Climbing_Tired,
|
||||
Characters_Tower_Running_Tired,
|
||||
Characters_Tower_Clear_Tired;
|
||||
public CTexture[] Characters_Heya_Preview,
|
||||
Characters_Heya_Render,
|
||||
Characters_Result_Clear_1P,
|
||||
|
@ -183,11 +183,19 @@ namespace TJAPlayer3
|
||||
|
||||
this.ct炎 = new CCounter(0, 6, 50, TJAPlayer3.Timer);
|
||||
|
||||
this.currentCharacter = Math.Max(0, Math.Min(TJAPlayer3.SaveFileInstances[0].data.Character, TJAPlayer3.Skin.Characters_Ptn - 1));
|
||||
|
||||
this.ctSlideAnimation = new CCounter();
|
||||
this.ctClimbAnimation = new CCounter();
|
||||
this.ctDonAnimation = new CCounter(0, 1000, 24000f / ((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20), TJAPlayer3.Timer);
|
||||
|
||||
this.ctClimbDuration = new CCounter();
|
||||
this.ctStandingAnimation = new CCounter(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Standing[currentCharacter]) / ((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20), TJAPlayer3.Timer);
|
||||
this.ctClimbingAnimation = new CCounter();
|
||||
this.ctRunningAnimation = new CCounter();
|
||||
this.ctClearAnimation = new CCounter();
|
||||
this.ctFailAnimation = new CCounter();
|
||||
this.ctStandTiredAnimation = new CCounter();
|
||||
this.ctClimbTiredAnimation = new CCounter();
|
||||
this.ctRunTiredAnimation = new CCounter();
|
||||
this.ctClearTiredAnimation = new CCounter();
|
||||
|
||||
base.Activate();
|
||||
}
|
||||
@ -446,34 +454,92 @@ namespace TJAPlayer3
|
||||
|
||||
#region [Climbing don]
|
||||
|
||||
// Will be added in a future skinning update
|
||||
int currentDon = 0;
|
||||
bool ctIsTired = !((CFloorManagement.CurrentNumberOfLives / (float)CFloorManagement.MaxNumberOfLives) >= 0.2f && !(CFloorManagement.CurrentNumberOfLives == 1 && CFloorManagement.MaxNumberOfLives != 1));
|
||||
|
||||
bool stageEnded = TJAPlayer3.stage演奏ドラム画面.eフェーズID == CStage.Eフェーズ.演奏_演奏終了演出 || TJAPlayer3.stage演奏ドラム画面.eフェーズID == CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト;
|
||||
|
||||
if (bFloorChanged == true)
|
||||
{
|
||||
ctClimbAnimation.Start(0, 1500, 120f / ((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20), TJAPlayer3.Timer);
|
||||
ctDonAnimation.Start(0, 1000, 24000f / ((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20), TJAPlayer3.Timer);
|
||||
float floorBPM = (float)(TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20);
|
||||
ctClimbDuration.Start(0, 1500, 120f / floorBPM, TJAPlayer3.Timer);
|
||||
ctStandingAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Standing[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctClimbingAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Climbing[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctRunningAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Running[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctClearAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Clear[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctFailAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Fail[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctStandTiredAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctClimbTiredAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctRunTiredAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
ctClearTiredAnimation.Start(0, 1000, (24000f * TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
||||
}
|
||||
|
||||
|
||||
if (ctClimbAnimation.CurrentValue == 0 || ctClimbAnimation.CurrentValue == 1500)
|
||||
if (ctClimbDuration.CurrentValue > 0 && ctClimbDuration.CurrentValue < 1500)
|
||||
{
|
||||
int animDon = ctDonAnimation.CurrentValue % TJAPlayer3.Skin.Game_Tower_Ptn_Don_Standing[currentDon];
|
||||
TJAPlayer3.Tx.Tower_Don_Standing[currentDon][animDon]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]); // Center X - 50
|
||||
}
|
||||
else if (ctClimbAnimation.CurrentValue <= 1000)
|
||||
{
|
||||
int animDon = ctDonAnimation.CurrentValue % TJAPlayer3.Skin.Game_Tower_Ptn_Don_Climbing[currentDon];
|
||||
int distDonX = (int)(ctClimbAnimation.CurrentValue * (TJAPlayer3.Skin.Game_Tower_Don_Move[0] / 1000f));
|
||||
int distDonY = (int)(ctClimbAnimation.CurrentValue * (TJAPlayer3.Skin.Game_Tower_Don_Move[1] / 1000f));
|
||||
TJAPlayer3.Tx.Tower_Don_Climbing[currentDon][animDon]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0] + distDonX, TJAPlayer3.Skin.Game_Tower_Don[1] + distDonY);
|
||||
// Tired Climb
|
||||
if (ctIsTired && (ctClimbDuration.CurrentValue <= 1000) && TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[currentCharacter] > 0)
|
||||
{
|
||||
int animChar = ctClimbTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[currentCharacter];
|
||||
int distDonX = (int)(ctClimbDuration.CurrentValue * (TJAPlayer3.Skin.Game_Tower_Don_Move[0] / 1000f));
|
||||
int distDonY = (int)(ctClimbDuration.CurrentValue * (TJAPlayer3.Skin.Game_Tower_Don_Move[1] / 1000f));
|
||||
TJAPlayer3.Tx.Characters_Tower_Climbing_Tired[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0] + distDonX, TJAPlayer3.Skin.Game_Tower_Don[1] + distDonY);
|
||||
}
|
||||
// Tired Run
|
||||
else if (ctIsTired && (ctClimbDuration.CurrentValue > 1000 && ctClimbDuration.CurrentValue < 1500) && TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[currentCharacter] > 0)
|
||||
{
|
||||
int animChar = ctRunTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Running_Ptn[currentCharacter];
|
||||
int distDonX = (int)((1500 - ctClimbDuration.CurrentValue) * (TJAPlayer3.Skin.Game_Tower_Don_Move[0] / 500f));
|
||||
int distDonY = (int)((1500 - ctClimbDuration.CurrentValue) * (TJAPlayer3.Skin.Game_Tower_Don_Move[1] / 500f));
|
||||
TJAPlayer3.Tx.Characters_Tower_Running_Tired[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0] + distDonX, TJAPlayer3.Skin.Game_Tower_Don[1] + distDonY);
|
||||
}
|
||||
// Climb
|
||||
else if ((ctClimbDuration.CurrentValue <= 1000) && TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[currentCharacter] > 0)
|
||||
{
|
||||
int animChar = ctClimbingAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[currentCharacter];
|
||||
int distDonX = (int)(ctClimbDuration.CurrentValue * (TJAPlayer3.Skin.Game_Tower_Don_Move[0] / 1000f));
|
||||
int distDonY = (int)(ctClimbDuration.CurrentValue * (TJAPlayer3.Skin.Game_Tower_Don_Move[1] / 1000f));
|
||||
TJAPlayer3.Tx.Characters_Tower_Climbing[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0] + distDonX, TJAPlayer3.Skin.Game_Tower_Don[1] + distDonY);
|
||||
}
|
||||
// Run
|
||||
else if ((ctClimbDuration.CurrentValue > 1000 && ctClimbDuration.CurrentValue < 1500) && TJAPlayer3.Skin.Characters_Tower_Running_Ptn[currentCharacter] > 0)
|
||||
{
|
||||
int animChar = ctRunningAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Running_Ptn[currentCharacter];
|
||||
int distDonX = (int)((1500 - ctClimbDuration.CurrentValue) * (TJAPlayer3.Skin.Game_Tower_Don_Move[0] / 500f));
|
||||
int distDonY = (int)((1500 - ctClimbDuration.CurrentValue) * (TJAPlayer3.Skin.Game_Tower_Don_Move[1] / 500f));
|
||||
TJAPlayer3.Tx.Characters_Tower_Running[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0] + distDonX, TJAPlayer3.Skin.Game_Tower_Don[1] + distDonY);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int animDon = ctDonAnimation.CurrentValue % TJAPlayer3.Skin.Game_Tower_Ptn_Don_Running[currentDon];
|
||||
int distDonX = (int)((1500 - ctClimbAnimation.CurrentValue) * (TJAPlayer3.Skin.Game_Tower_Don_Move[0] / 500f));
|
||||
int distDonY = (int)((1500 - ctClimbAnimation.CurrentValue) * (TJAPlayer3.Skin.Game_Tower_Don_Move[1] / 500f));
|
||||
TJAPlayer3.Tx.Tower_Don_Running[currentDon][animDon]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0] + distDonX, TJAPlayer3.Skin.Game_Tower_Don[1] + distDonY);
|
||||
// Fail
|
||||
if (TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives == 0)
|
||||
{
|
||||
int animChar = ctFailAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter];
|
||||
TJAPlayer3.Tx.Characters_Tower_Fail[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
||||
}
|
||||
// Tired Clear
|
||||
else if (ctIsTired && stageEnded && TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives > 0)
|
||||
{
|
||||
int animChar = ctClearTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter];
|
||||
TJAPlayer3.Tx.Characters_Tower_Clear_Tired[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
||||
}
|
||||
// Clear
|
||||
else if (stageEnded && TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives > 0)
|
||||
{
|
||||
int animChar = ctClearAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter];
|
||||
TJAPlayer3.Tx.Characters_Tower_Clear[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
||||
}
|
||||
|
||||
// Tired Stand
|
||||
else if (ctIsTired && TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[currentCharacter] > 0)
|
||||
{
|
||||
int animChar = ctStandTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[currentCharacter];
|
||||
TJAPlayer3.Tx.Characters_Tower_Standing_Tired[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]); // Center X - 50
|
||||
}
|
||||
// Stand
|
||||
else if (TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[currentCharacter] > 0)
|
||||
{
|
||||
int animChar = ctStandingAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[currentCharacter];
|
||||
TJAPlayer3.Tx.Characters_Tower_Standing[currentCharacter][animChar]?.t2D下中央基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]); // Center X - 50
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -490,8 +556,16 @@ namespace TJAPlayer3
|
||||
#endregion
|
||||
|
||||
ctSlideAnimation?.Tick();
|
||||
ctClimbAnimation?.Tick();
|
||||
ctDonAnimation?.TickLoop();
|
||||
ctClimbDuration?.Tick();
|
||||
ctStandingAnimation?.TickLoop();
|
||||
ctClimbingAnimation?.TickLoop();
|
||||
ctRunningAnimation?.TickLoop();
|
||||
ctClearAnimation?.TickLoop();
|
||||
ctFailAnimation?.TickLoop();
|
||||
ctStandTiredAnimation?.TickLoop();
|
||||
ctClimbTiredAnimation?.TickLoop();
|
||||
ctRunTiredAnimation?.TickLoop();
|
||||
ctClearTiredAnimation?.TickLoop();
|
||||
|
||||
#endregion
|
||||
}
|
||||
@ -551,9 +625,18 @@ namespace TJAPlayer3
|
||||
private CCachedFontRenderer pfTowerText;
|
||||
|
||||
private bool bFloorChanged = false;
|
||||
private int currentCharacter;
|
||||
private CCounter ctSlideAnimation;
|
||||
private CCounter ctDonAnimation;
|
||||
private CCounter ctClimbAnimation;
|
||||
private CCounter ctStandingAnimation;
|
||||
private CCounter ctClimbingAnimation;
|
||||
private CCounter ctRunningAnimation;
|
||||
private CCounter ctClearAnimation;
|
||||
private CCounter ctFailAnimation;
|
||||
private CCounter ctStandTiredAnimation;
|
||||
private CCounter ctClimbTiredAnimation;
|
||||
private CCounter ctRunTiredAnimation;
|
||||
private CCounter ctClearTiredAnimation;
|
||||
private CCounter ctClimbDuration;
|
||||
|
||||
private CCounter ct炎;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user