diff --git a/OpenTaiko/Global/Characters/NewTemplate/CharaConfig.txt b/OpenTaiko/Global/Characters/NewTemplate/CharaConfig.txt index 64ab0bb7..258a7dad 100644 --- a/OpenTaiko/Global/Characters/NewTemplate/CharaConfig.txt +++ b/OpenTaiko/Global/Characters/NewTemplate/CharaConfig.txt @@ -92,4 +92,6 @@ Chara_Result_Clear_AnimationDuration=1000 Chara_Result_Failed_In_AnimationDuration=1000 ;結果画面のクリア失敗のアニメーションにかける時間 (ms) -Chara_Result_Failed_AnimationDuration=1000 \ No newline at end of file +Chara_Result_Failed_AnimationDuration=1000 + +Result_UseResult1P=1 \ No newline at end of file diff --git a/OpenTaiko/Global/Characters/NewTemplate/Result_Clear_1P.png b/OpenTaiko/Global/Characters/NewTemplate/Result_Clear_1P.png new file mode 100644 index 00000000..1ac6b697 Binary files /dev/null and b/OpenTaiko/Global/Characters/NewTemplate/Result_Clear_1P.png differ diff --git a/OpenTaiko/Global/Characters/NewTemplate/Result_Failed_1P.png b/OpenTaiko/Global/Characters/NewTemplate/Result_Failed_1P.png new file mode 100644 index 00000000..04e69471 Binary files /dev/null and b/OpenTaiko/Global/Characters/NewTemplate/Result_Failed_1P.png differ diff --git a/OpenTaiko/src/Common/CSkin.cs b/OpenTaiko/src/Common/CSkin.cs index 15ec7dd2..11d14c2a 100644 --- a/OpenTaiko/src/Common/CSkin.cs +++ b/OpenTaiko/src/Common/CSkin.cs @@ -6073,6 +6073,10 @@ namespace TJAPlayer3 #endregion #region Result + else if (strCommand == "Result_Use1PUI") + { + Result_Use1PUI = CConversion.bONorOFF(strParam[0]); + } else if (strCommand == nameof(Result_Cloud_Count)) { Result_Cloud_Count = int.Parse(strParam); @@ -8362,6 +8366,7 @@ namespace TJAPlayer3 public int[][] Characters_Resolution; public int[][] Characters_Heya_Render_Offset; + public bool[] Characters_UseResult1P; public int[][] Characters_X; public int[][] Characters_Y; public int[][] Characters_4P; @@ -9446,6 +9451,8 @@ namespace TJAPlayer3 public int[] Result_UIMove_4P = new int[] { 320, 0 }; public int[] Result_UIMove_5P = new int[] { 256, 0 }; */ + + public bool Result_Use1PUI = false; public int[] Result_UIMove_4P_X = new int[] { 0, 320, 640, 960 }; public int[] Result_UIMove_4P_Y = new int[] { 0, 0, 0, 0 }; public int[] Result_UIMove_5P_X = new int[] { 0, 256, 512, 768, 1024 }; diff --git a/OpenTaiko/src/Helpers/HGaugeMethods.cs b/OpenTaiko/src/Helpers/HGaugeMethods.cs index a296d6c9..b781d939 100644 --- a/OpenTaiko/src/Helpers/HGaugeMethods.cs +++ b/OpenTaiko/src/Helpers/HGaugeMethods.cs @@ -670,7 +670,7 @@ namespace TJAPlayer3 tDrawCompleteGauge(baseTexture, baseNormaTexture, flashTexture, fillTexture, yellowTexture, rainbowTextureArr, killzoneTexture, clearIcon, soulLetter, soulFlame, gauge_x, gauge_y, gauge_x, gauge_y, opacity, rainbowTextureIndex, soulFlameIndex, difficulty, level, currentPercent, gaugeType, scale, scale, text_x, text_y, perfectHits, totalHits, soul_x, soul_y, fire_x, fire_y, clearRect, clearRectHighlight); } - public static void UNSAFE_DrawResultGaugeFast(int player, int shiftPos, int pos, int segmentsDisplayed, int rainbowTextureIndex, int soulFlameIndex) + public static void UNSAFE_DrawResultGaugeFast(int player, int shiftPos, int pos, int segmentsDisplayed, int rainbowTextureIndex, int soulFlameIndex, int uioffset_x) { var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; CDTX[] dtxs = @@ -721,7 +721,7 @@ namespace TJAPlayer3 } else { - gauge_x = TJAPlayer3.Skin.Result_Gauge_X[pos]; + gauge_x = TJAPlayer3.Skin.Result_Gauge_X[pos] + uioffset_x; gauge_y = TJAPlayer3.Skin.Result_Gauge_Y[pos]; } @@ -739,7 +739,7 @@ namespace TJAPlayer3 } else { - gauge_rainbow_x = TJAPlayer3.Skin.Result_Gauge_Rainbow_X[pos]; + gauge_rainbow_x = TJAPlayer3.Skin.Result_Gauge_Rainbow_X[pos] + uioffset_x; gauge_rainbow_y = TJAPlayer3.Skin.Result_Gauge_Rainbow_Y[pos]; } @@ -764,9 +764,9 @@ namespace TJAPlayer3 } else { - soulText_x = TJAPlayer3.Skin.Result_Soul_Text_X[pos]; + soulText_x = TJAPlayer3.Skin.Result_Soul_Text_X[pos] + uioffset_x; soulText_y = TJAPlayer3.Skin.Result_Soul_Text_Y[pos]; - soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_X[pos]; + soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_X[pos] + uioffset_x; soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_Y[pos]; } @@ -785,7 +785,7 @@ namespace TJAPlayer3 } else { - clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_X[pos]; + clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_X[pos] + uioffset_x; clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_Y[pos]; } diff --git a/OpenTaiko/src/Songs/CBoxDef.cs b/OpenTaiko/src/Songs/CBoxDef.cs index b536391a..56e835bd 100644 --- a/OpenTaiko/src/Songs/CBoxDef.cs +++ b/OpenTaiko/src/Songs/CBoxDef.cs @@ -31,13 +31,13 @@ namespace TJAPlayer3 public int BoxChara; public bool IsChangedBoxChara; public string DefaultPreimage; - public string ScenePreset; - - private readonly string langTITLE = "#TITLE" + CLangManager.fetchLang().ToUpper(); - private readonly string langBOXEXPLANATION = "#BOXEXPLANATION" + CLangManager.fetchLang().ToUpper(); - - // コンストラクタ - + public string ScenePreset; + + private readonly string langTITLE = "#TITLE" + CLangManager.fetchLang().ToUpper(); + private readonly string langBOXEXPLANATION = "#BOXEXPLANATION" + CLangManager.fetchLang().ToUpper(); + + // コンストラクタ + public CBoxDef() { for (int i = 0; i < 3; i++) @@ -52,7 +52,7 @@ namespace TJAPlayer3 BoxChara = 0; BgColor = Color.White; DefaultPreimage = null; - ScenePreset = null; + ScenePreset = ""; } public CBoxDef( string boxdefファイル名 ) : this() @@ -82,90 +82,90 @@ namespace TJAPlayer3 str = str.Substring( 0, str.IndexOf( ';' ) ); } - char[] ignoreChars = new char[] { ':', ' ', '\t' }; - - var split = str.Split(':'); - if (split.Length == 2) - { - string key = split[0]; - string value = split[1]; - - if (key == langTITLE) - { - this.Title = value.Trim(ignoreChars); - } - else if (key == "#TITLE") - { - if (this.Title == "") this.Title = value.Trim(ignoreChars); - } - else if (key == "#GENRE") - { - this.Genre = value.Trim(ignoreChars); - } - else if (key == "#SELECTBG") - { - this.SelectBG = value.Trim(ignoreChars); - } - else if (key == "#FONTCOLOR") - { - this.Color = ColorTranslator.FromHtml(value.Trim(ignoreChars)); - } - else if (key == "#FORECOLOR") - { - this.ForeColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); - IsChangedForeColor = true; - } - else if (key == "#BACKCOLOR") - { - this.BackColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); - IsChangedBackColor = true; - } - else if (key == "#BOXCOLOR") - { - this.BoxColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); - IsChangedBoxColor = true; - } - else if (key == "#BGCOLOR") - { - this.BgColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); - IsChangedBgColor = true; - } - else if (key == "#BGTYPE") - { - this.BgType = int.Parse(value.Trim(ignoreChars)); - IsChangedBgType = true; - } - else if (key == "#BOXTYPE") - { - this.BoxType = int.Parse(value.Trim(ignoreChars)); - IsChangedBoxType = true; - } - else if (key == "#BOXCHARA") - { - this.BoxChara = int.Parse(value.Trim(ignoreChars)); - IsChangedBoxChara = true; - } - else if (key == "#SCENEPRESET") - { - this.ScenePreset = value.Trim(ignoreChars); - } - else if (key == "#DEFAULTPREIMAGE") - { - this.DefaultPreimage = Path.Combine(Directory.GetParent(boxdefファイル名).FullName, value.Trim(ignoreChars)); - } - else - { - for (int i = 0; i < 3; i++) - { - if (key == langBOXEXPLANATION + (i + 1).ToString()) - { - this.strBoxText[i] = value.Trim(ignoreChars); - } - else if (key == "#BOXEXPLANATION" + (i + 1).ToString()) - { - if (this.strBoxText[i] == "") this.strBoxText[i] = value.Trim(ignoreChars); - } - } + char[] ignoreChars = new char[] { ':', ' ', '\t' }; + + var split = str.Split(':'); + if (split.Length == 2) + { + string key = split[0]; + string value = split[1]; + + if (key == langTITLE) + { + this.Title = value.Trim(ignoreChars); + } + else if (key == "#TITLE") + { + if (this.Title == "") this.Title = value.Trim(ignoreChars); + } + else if (key == "#GENRE") + { + this.Genre = value.Trim(ignoreChars); + } + else if (key == "#SELECTBG") + { + this.SelectBG = value.Trim(ignoreChars); + } + else if (key == "#FONTCOLOR") + { + this.Color = ColorTranslator.FromHtml(value.Trim(ignoreChars)); + } + else if (key == "#FORECOLOR") + { + this.ForeColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); + IsChangedForeColor = true; + } + else if (key == "#BACKCOLOR") + { + this.BackColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); + IsChangedBackColor = true; + } + else if (key == "#BOXCOLOR") + { + this.BoxColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); + IsChangedBoxColor = true; + } + else if (key == "#BGCOLOR") + { + this.BgColor = ColorTranslator.FromHtml(value.Trim(ignoreChars)); + IsChangedBgColor = true; + } + else if (key == "#BGTYPE") + { + this.BgType = int.Parse(value.Trim(ignoreChars)); + IsChangedBgType = true; + } + else if (key == "#BOXTYPE") + { + this.BoxType = int.Parse(value.Trim(ignoreChars)); + IsChangedBoxType = true; + } + else if (key == "#BOXCHARA") + { + this.BoxChara = int.Parse(value.Trim(ignoreChars)); + IsChangedBoxChara = true; + } + else if (key == "#SCENEPRESET") + { + this.ScenePreset = value.Trim(ignoreChars); + } + else if (key == "#DEFAULTPREIMAGE") + { + this.DefaultPreimage = Path.Combine(Directory.GetParent(boxdefファイル名).FullName, value.Trim(ignoreChars)); + } + else + { + for (int i = 0; i < 3; i++) + { + if (key == langBOXEXPLANATION + (i + 1).ToString()) + { + this.strBoxText[i] = value.Trim(ignoreChars); + } + else if (key == "#BOXEXPLANATION" + (i + 1).ToString()) + { + if (this.strBoxText[i] == "") this.strBoxText[i] = value.Trim(ignoreChars); + } + } } } } @@ -182,13 +182,13 @@ namespace TJAPlayer3 reader.Close(); /* - if (!IsChangedBoxType) - { - this.BoxType = this.nStrジャンルtoNum(this.Genre); + if (!IsChangedBoxType) + { + this.BoxType = this.nStrジャンルtoNum(this.Genre); } - if (!IsChangedBgType) - { - this.BgType = this.nStrジャンルtoNum(this.Genre); + if (!IsChangedBgType) + { + this.BgType = this.nStrジャンルtoNum(this.Genre); } */ } diff --git a/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs b/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs index d635c49e..48402c90 100644 --- a/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs +++ b/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs @@ -1183,6 +1183,8 @@ namespace TJAPlayer3 Characters_Heya_Preview = new CTexture[TJAPlayer3.Skin.Characters_Ptn]; Characters_Heya_Render = new CTexture[TJAPlayer3.Skin.Characters_Ptn]; + Characters_Result_Clear_1P = new CTexture[TJAPlayer3.Skin.Characters_Ptn]; + Characters_Result_Failed_1P = new CTexture[TJAPlayer3.Skin.Characters_Ptn]; Characters = new CCharacter[TJAPlayer3.Skin.Characters_Ptn]; Characters_Normal = new CTexture[TJAPlayer3.Skin.Characters_Ptn][]; @@ -1252,6 +1254,7 @@ namespace TJAPlayer3 TJAPlayer3.Skin.Characters_Resolution = new int[TJAPlayer3.Skin.Characters_Ptn][]; TJAPlayer3.Skin.Characters_Heya_Render_Offset = new int[TJAPlayer3.Skin.Characters_Ptn][]; + TJAPlayer3.Skin.Characters_UseResult1P = new bool[TJAPlayer3.Skin.Characters_Ptn]; TJAPlayer3.Skin.Characters_X = new int[TJAPlayer3.Skin.Characters_Ptn][]; TJAPlayer3.Skin.Characters_Y = new int[TJAPlayer3.Skin.Characters_Ptn][]; TJAPlayer3.Skin.Characters_4P = new int[TJAPlayer3.Skin.Characters_Ptn][]; @@ -1331,9 +1334,13 @@ namespace TJAPlayer3 { Characters_Heya_Preview[i] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Normal{Path.DirectorySeparatorChar}0.png"); Characters_Heya_Render[i] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Render.png"); + Characters_Result_Clear_1P[i] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Result_Clear_1P.png"); + Characters_Result_Failed_1P[i] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Result_Failed_1P.png"); TJAPlayer3.Skin.Characters_Resolution[i] = new int[] { 1280, 720 }; TJAPlayer3.Skin.Characters_Heya_Render_Offset[i] = new int[] { 0, 0 }; + TJAPlayer3.Skin.Characters_UseResult1P[i] = false; + var _str = ""; TJAPlayer3.Skin.LoadSkinConfigFromFile(charaDirs[i] + @$"{Path.DirectorySeparatorChar}CharaConfig.txt", ref _str); @@ -1355,6 +1362,10 @@ namespace TJAPlayer3 TJAPlayer3.Skin.Characters_Heya_Render_Offset[i][0] = int.Parse(values[0]); TJAPlayer3.Skin.Characters_Heya_Render_Offset[i][1] = int.Parse(values[1]); } + else if (line.StartsWith("Result_UseResult1P=")) + { + TJAPlayer3.Skin.Characters_UseResult1P[i] = FDK.CConversion.bONorOFF(line.Substring(19).Trim()[0]); + } } Characters[i] = new CCharacter(charaDirs[i]); @@ -2792,7 +2803,9 @@ Result_Mountain = new CTexture[4]*/; Characters_Result_Normal; public CTexture[] Characters_Heya_Preview, - Characters_Heya_Render; + Characters_Heya_Render, + Characters_Result_Clear_1P, + Characters_Result_Failed_1P; public CCharacter[] Characters; #endregion diff --git a/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs b/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs index f593364e..9dbe3117 100644 --- a/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs +++ b/OpenTaiko/src/Stages/08.Result/CActResultParameterPanel.cs @@ -223,6 +223,8 @@ namespace TJAPlayer3 ctAISectionChange = new CCounter(0, 2000, 1, TJAPlayer3.Timer); ctAISectionChange.CurrentValue = 255; + ctUIMove = new CCounter(); + for (int i = 0; i < 5; i++) { CResultCharacter.tMenuResetTimer(CResultCharacter.ECharacterResult.NORMAL); @@ -326,11 +328,16 @@ namespace TJAPlayer3 } else { - namePlate_x[i] = TJAPlayer3.Skin.Result_NamePlate_X[i]; - namePlate_y[i] = TJAPlayer3.Skin.Result_NamePlate_Y[i]; + int pos = i; + if (TJAPlayer3.P1IsBlue()) + pos = 1; + namePlate_x[pos] = TJAPlayer3.Skin.Result_NamePlate_X[pos]; + namePlate_y[pos] = TJAPlayer3.Skin.Result_NamePlate_Y[pos]; } } + ctUIMove.Tick(); + #region [ Ensou result contents ] int AnimeCount = 3000 + GaugeFactor * 59; @@ -341,6 +348,14 @@ namespace TJAPlayer3 int shift = 635; + int uioffset_x = 0; + double uioffset_value = Math.Sin((ctUIMove.CurrentValue / 1000.0) * Math.PI / 2.0); + if (is1P) + { + uioffset_x = (int)(uioffset_value * TJAPlayer3.Skin.Resolution[0] / 2.0); + if (is2PSide) uioffset_x *= -1; + } + for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) { if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break; @@ -357,9 +372,9 @@ namespace TJAPlayer3 if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) { if (shiftPos == 0) - TJAPlayer3.Tx.Result_Panel.t2D描画(0, 0); + TJAPlayer3.Tx.Result_Panel.t2D描画(0 + uioffset_x, 0); else - TJAPlayer3.Tx.Result_Panel_2P.t2D描画(0, 0); + TJAPlayer3.Tx.Result_Panel_2P.t2D描画(0 + uioffset_x, 0); } else { @@ -401,9 +416,9 @@ namespace TJAPlayer3 else { _frame.vc拡大縮小倍率.X = 1.0f; - bar_x = TJAPlayer3.Skin.Result_DifficultyBar_X[pos]; + bar_x = TJAPlayer3.Skin.Result_DifficultyBar_X[pos] + uioffset_x; bar_y = TJAPlayer3.Skin.Result_DifficultyBar_Y[pos]; - gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_X[pos]; + gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_X[pos] + uioffset_x; gauge_base_y = TJAPlayer3.Skin.Result_Gauge_Base_Y[pos]; } @@ -461,7 +476,7 @@ namespace TJAPlayer3 } } - HGaugeMethods.UNSAFE_DrawResultGaugeFast(i, shiftPos, pos, ctゲージアニメ[i].CurrentValue, ct虹ゲージアニメ.CurrentValue, ctSoul.CurrentValue); + HGaugeMethods.UNSAFE_DrawResultGaugeFast(i, shiftPos, pos, ctゲージアニメ[i].CurrentValue, ct虹ゲージアニメ.CurrentValue, ctSoul.CurrentValue, uioffset_x); #endregion } @@ -574,7 +589,7 @@ namespace TJAPlayer3 if ((k != 5 || TJAPlayer3.Skin.Result_ADLib_Show) && (k != 6 || TJAPlayer3.Skin.Result_Bomb_Show)) { - this.t小文字表示(num_x[k][pos], num_y[k][pos], scoresArr[k]); + this.t小文字表示(num_x[k][pos] + uioffset_x, num_y[k][pos], scoresArr[k]); } TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = 1f; @@ -613,7 +628,7 @@ namespace TJAPlayer3 } else { - score_x = TJAPlayer3.Skin.Result_Score_X[pos]; + score_x = TJAPlayer3.Skin.Result_Score_X[pos] + uioffset_x; score_y = TJAPlayer3.Skin.Result_Score_Y[pos]; } @@ -745,6 +760,8 @@ namespace TJAPlayer3 if (!this.ctMountain_ClearIn.IsTicked) this.ctMountain_ClearIn.Start(0, 515, 3, TJAPlayer3.Timer); + + if (ctUIMove.EndValue != 1000 && TJAPlayer3.Skin.Result_Use1PUI && is1P) ctUIMove = new CCounter(0, 1000, 0.5, TJAPlayer3.Timer); if (TJAPlayer3.stage結果.bClear[p]) { @@ -775,16 +792,66 @@ namespace TJAPlayer3 //int chara_x = TJAPlayer3.Skin.Characters_Result_X[_charaId][pos]; //int chara_y = TJAPlayer3.Skin.Characters_Result_Y[_charaId][pos]; - int chara_x = namePlate_x[pos] + TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width / 2; + int chara_x = namePlate_x[pos] - (TJAPlayer3.Skin.Characters_UseResult1P[_charaId] ? uioffset_x : 0) + TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width / 2; int chara_y = namePlate_y[pos]; + int p1chara_x = is2PSide ? TJAPlayer3.Skin.Resolution[0] / 2 : 0; + int p1chara_y = TJAPlayer3.Skin.Resolution[1] - (int)(uioffset_value * TJAPlayer3.Skin.Resolution[1]); + float renderRatioX = TJAPlayer3.Skin.Resolution[0] / (float)TJAPlayer3.Skin.Characters_Resolution[_charaId][0]; + float renderRatioY = TJAPlayer3.Skin.Resolution[1] / (float)TJAPlayer3.Skin.Characters_Resolution[_charaId][1]; if (CResultCharacter.tIsCounterProcessing(p, CResultCharacter.ECharacterResult.CLEAR)) + { CResultCharacter.tMenuDisplayCharacter(p, chara_x, chara_y, CResultCharacter.ECharacterResult.CLEAR, pos); + + if (TJAPlayer3.Skin.Characters_UseResult1P[_charaId] && TJAPlayer3.Skin.Result_Use1PUI && TJAPlayer3.Tx.Characters_Result_Clear_1P[_charaId] != null) + { + TJAPlayer3.Tx.Characters_Result_Clear_1P[_charaId].vc拡大縮小倍率.X = renderRatioX; + TJAPlayer3.Tx.Characters_Result_Clear_1P[_charaId].vc拡大縮小倍率.Y = renderRatioY; + if (is2PSide) + { + TJAPlayer3.Tx.Characters_Result_Clear_1P[_charaId].t2D左右反転描画(p1chara_x, p1chara_y); + } + else + { + TJAPlayer3.Tx.Characters_Result_Clear_1P[_charaId].t2D描画(p1chara_x, p1chara_y); + } + } + } else if (CResultCharacter.tIsCounterProcessing(p, CResultCharacter.ECharacterResult.FAILED)) + { CResultCharacter.tMenuDisplayCharacter(p, chara_x, chara_y, CResultCharacter.ECharacterResult.FAILED, pos); - else if (CResultCharacter.tIsCounterProcessing(p, CResultCharacter.ECharacterResult.FAILED_IN)) + if (TJAPlayer3.Skin.Characters_UseResult1P[_charaId] && TJAPlayer3.Skin.Result_Use1PUI && TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId] != null) + { + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].vc拡大縮小倍率.X = renderRatioX; + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].vc拡大縮小倍率.Y = renderRatioY; + if (is2PSide) + { + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].t2D左右反転描画(p1chara_x, p1chara_y); + } + else + { + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].t2D描画(p1chara_x, p1chara_y); + } + } + } + else if (CResultCharacter.tIsCounterProcessing(p, CResultCharacter.ECharacterResult.FAILED_IN) && TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId] != null) + { CResultCharacter.tMenuDisplayCharacter(p, chara_x, chara_y, CResultCharacter.ECharacterResult.FAILED_IN, pos); + if (TJAPlayer3.Skin.Characters_UseResult1P[_charaId] && TJAPlayer3.Skin.Result_Use1PUI) + { + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].vc拡大縮小倍率.X = renderRatioX; + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].vc拡大縮小倍率.Y = renderRatioY; + if (is2PSide) + { + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].t2D左右反転描画(p1chara_x, p1chara_y); + } + else + { + TJAPlayer3.Tx.Characters_Result_Failed_1P[_charaId].t2D描画(p1chara_x, p1chara_y); + } + } + } else CResultCharacter.tMenuDisplayCharacter(p, chara_x, chara_y, CResultCharacter.ECharacterResult.NORMAL, pos); @@ -992,7 +1059,7 @@ namespace TJAPlayer3 } else { - scoreRankEffect_x = TJAPlayer3.Skin.Result_ScoreRankEffect_X[pos]; + scoreRankEffect_x = TJAPlayer3.Skin.Result_ScoreRankEffect_X[pos] + uioffset_x; scoreRankEffect_y = TJAPlayer3.Skin.Result_ScoreRankEffect_Y[pos]; } @@ -1067,7 +1134,7 @@ namespace TJAPlayer3 } else { - crownEffect_x = TJAPlayer3.Skin.Result_CrownEffect_X[pos]; + crownEffect_x = TJAPlayer3.Skin.Result_CrownEffect_X[pos] + uioffset_x; crownEffect_y = TJAPlayer3.Skin.Result_CrownEffect_Y[pos]; } @@ -1166,6 +1233,8 @@ namespace TJAPlayer3 private CCounter ctAISectionChange; + private CCounter ctUIMove; + private int nNowAISection; private void NextAISection()