diff --git a/TJAPlayer3/Common/CSkin.cs b/TJAPlayer3/Common/CSkin.cs index 3b3cd6e8..84742c32 100644 --- a/TJAPlayer3/Common/CSkin.cs +++ b/TJAPlayer3/Common/CSkin.cs @@ -9009,6 +9009,8 @@ namespace TJAPlayer3 public int Gauge_Soul_Fire_X_Tower = 886; public int Gauge_Soul_Fire_Y_Tower = 22; public int Game_Gauge_Rainbow_Ptn; + public int Game_Gauge_Rainbow_2PGauge_Ptn; + public int Game_Gauge_Rainbow_Flat_Ptn; public int Game_Gauge_Dan_Rainbow_Ptn; public int Game_Gauge_Rainbow_Timer = 50; diff --git a/TJAPlayer3/Helpers/HGaugeMethods.cs b/TJAPlayer3/Helpers/HGaugeMethods.cs new file mode 100644 index 00000000..8dd93006 --- /dev/null +++ b/TJAPlayer3/Helpers/HGaugeMethods.cs @@ -0,0 +1,790 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; +using FDK; + + +namespace TJAPlayer3 +{ + class HGaugeMethods + { + public enum EGaugeType + { + NORMAL = 0, + HARD, + EXTREME + } + + public static float BombDamage = 4f; + public static float FuserollDamage = 4f; + public static float HardGaugeFillRatio = 1f; + public static float ExtremeGaugeFillRatio = 1f; + + private static Dictionary DifficultyToHardGaugeDamage = new Dictionary + { + [Difficulty.Easy] = 4.5f, + [Difficulty.Normal] = 5f, + [Difficulty.Hard] = 6f, + [Difficulty.Oni] = 6.5f, + [Difficulty.Edit] = 6.5f + }; + + private static Dictionary DifficultyToExtremeGaugeDamage = new Dictionary + { + [Difficulty.Easy] = 4.5f, + [Difficulty.Normal] = 5f, + [Difficulty.Hard] = 6f, + [Difficulty.Oni] = 6.5f, + [Difficulty.Edit] = 6.5f + }; + + private static Dictionary LevelExtraToHardGaugeDamage = new Dictionary + { + [11] = 7.5f, + [12] = 8f, + [13] = 8.5f + }; + + private static Dictionary LevelExtraToExtremeGaugeDamage = new Dictionary + { + [11] = 7.5f, + [12] = 8f, + [13] = 8.5f + }; + + private static Dictionary GaugeTypeStringToEnum = new Dictionary + { + ["Normal"] = EGaugeType.NORMAL, + ["Hard"] = EGaugeType.HARD, + ["Extreme"] = EGaugeType.EXTREME + }; + + private static Dictionary DifficultyToNorma = new Dictionary + { + [Difficulty.Easy] = 60f, + [Difficulty.Normal] = 70f, + [Difficulty.Hard] = 70f, + [Difficulty.Oni] = 80f, + [Difficulty.Edit] = 80f + }; + + private static Dictionary LevelExtraToNorma = new Dictionary + { + [11] = 88f, + [12] = 92f, + [13] = 96f + }; + + #region [General calculation] + + public static float tHardGaugeGetDamage(Difficulty diff, int level) + { + float damage = 6.5f; + + if (DifficultyToHardGaugeDamage.ContainsKey(diff)) + damage = DifficultyToHardGaugeDamage[diff]; + + int levelCaped = Math.Min(13, level); + if (LevelExtraToHardGaugeDamage.ContainsKey(levelCaped)) + damage = LevelExtraToHardGaugeDamage[levelCaped]; + + return damage; + } + + public static float tExtremeGaugeGetDamage(Difficulty diff, int level) + { + float damage = 6.5f; + + if (DifficultyToExtremeGaugeDamage.ContainsKey(diff)) + damage = DifficultyToExtremeGaugeDamage[diff]; + + int levelCaped = Math.Min(13, level); + if (LevelExtraToExtremeGaugeDamage.ContainsKey(levelCaped)) + damage = LevelExtraToExtremeGaugeDamage[levelCaped]; + + return damage; + } + + public static float tHardGaugeGetKillscreenRatio(Difficulty diff, int level, EGaugeType gaugeType, int perfectHits, int totalNotes) + { + if (gaugeType != EGaugeType.EXTREME) return 0f; + + float norma = tGetCurrentGaugeNorma(diff, level); + float ratio = Math.Min(1f, Math.Max(0f, perfectHits / (float)totalNotes)); + + return ratio * norma; + } + + public static bool tIsDangerHardGauge(Difficulty diff, int level, EGaugeType gaugeType, float percentObtained, int perfectHits, int totalNotes) + { + if (gaugeType == EGaugeType.NORMAL || diff > Difficulty.Edit) return false; + float percent = Math.Min(100f, Math.Max(0f, percentObtained)); + return percent < 100f - ((100f - tHardGaugeGetKillscreenRatio(diff, level, gaugeType, perfectHits, totalNotes)) * 0.7f); + } + + public static float tGetCurrentGaugeNorma(Difficulty diff, int level) + { + float norma = 80f; + + if (DifficultyToNorma.ContainsKey(diff)) + norma = DifficultyToNorma[diff]; + + int levelCaped = Math.Min(13, level); + if (LevelExtraToNorma.ContainsKey(levelCaped)) + norma = LevelExtraToNorma[levelCaped]; + + return norma; + } + + public static EGaugeType tGetGaugeTypeEnum(string gaugeType) + { + EGaugeType gt = EGaugeType.NORMAL; + + if (GaugeTypeStringToEnum.ContainsKey(gaugeType)) + gt = GaugeTypeStringToEnum[gaugeType]; + + return gt; + } + + public static bool tNormaCheck(Difficulty diff, int level, EGaugeType gaugeType, float percentObtained, float killZonePercent) + { + float percent = Math.Min(100f, Math.Max(0f, percentObtained)); + float norma = tGetCurrentGaugeNorma(diff, level); + + if ((gaugeType == EGaugeType.HARD || gaugeType == EGaugeType.EXTREME) && percent > killZonePercent) return true; + if (gaugeType == EGaugeType.NORMAL && percent >= norma) return true; + + return false; + } + + #endregion + + #region [Displayables] + + public static void tDrawGaugeBase(CTexture baseTexture, int x, int y, float scale_x, float scale_y) + { + if (baseTexture != null) + { + baseTexture.vc拡大縮小倍率.X = scale_x; + baseTexture.vc拡大縮小倍率.Y = scale_y; + + baseTexture.t2D描画(TJAPlayer3.app.Device, x, y, + new Rectangle( + GaugeBox[0], + GaugeBox[1], + GaugeBox[2], + GaugeBox[3]) + ); + } + } + + public static void tDrawGaugeBaseClear(CTexture baseTexture, int x, int y, Difficulty diff, int level, EGaugeType gaugeType, float scale_x, float scale_y) + { + if (gaugeType != EGaugeType.NORMAL || diff > Difficulty.Edit) return; + float norma = tGetCurrentGaugeNorma(diff, level) - 2f; // A segment flashes earlier + float revnorma = 100f - norma; + + if (baseTexture != null) + { + baseTexture.vc拡大縮小倍率.X = scale_x; + baseTexture.vc拡大縮小倍率.Y = scale_y; + + int gaugeTexLength = GaugeBox[2]; + int clearPartLength = (int)(gaugeTexLength * (revnorma / 100f)); + int texStartPoint = (int)(gaugeTexLength * (norma / 100f)); + int xOff = (int)(scale_x * texStartPoint); + + baseTexture.t2D描画(TJAPlayer3.app.Device, x + xOff, y, + new Rectangle( + GaugeBox[0] + texStartPoint, + GaugeBox[1], + clearPartLength, + GaugeBox[3]) + ); + } + } + + public static void tDrawGaugeFill( + CTexture fillTexture, + CTexture yellowTexture, + CTexture rainbowTexture, + int x, + int y, + Difficulty diff, + int level, + float currentPercent, + EGaugeType gaugeType, + float scale_x, + float scale_y, + int flashOpacity, + int perfectHits, + int totalNotes + ) + { + if (diff > Difficulty.Edit) return; + float norma = tGetCurrentGaugeNorma(diff, level) - 2f; // A segment flashes earlier + float percent = Math.Min(100f, Math.Max(0f, currentPercent)); + + int gaugeTexLength = GaugeBox[2]; + float nWidth = (gaugeTexLength / 50f); + int closestTwo = (int)((int)(percent / 2) * nWidth); + int closestNorma = (gaugeType != EGaugeType.NORMAL) ? gaugeTexLength : (int)(gaugeTexLength * (norma / 100f)); + + bool normaCheck = tNormaCheck(diff, level, gaugeType, percent, 0); + bool isRainbow = (rainbowTexture != null && percent >= 100f && gaugeType == EGaugeType.NORMAL); + + // Fill + if (fillTexture != null && !isRainbow) + { + fillTexture.vc拡大縮小倍率.X = scale_x; + fillTexture.vc拡大縮小倍率.Y = scale_y; + + fillTexture.Opacity = 255; + if (gaugeType != EGaugeType.NORMAL && tIsDangerHardGauge(diff, level, gaugeType, percent, perfectHits, totalNotes)) fillTexture.Opacity = 255 - flashOpacity; + fillTexture.t2D描画(TJAPlayer3.app.Device, x, y, + new Rectangle( + GaugeBox[0], + GaugeBox[1], + Math.Min(closestTwo, closestNorma), + GaugeBox[3]) + ); + } + + if (gaugeType != EGaugeType.NORMAL) return; + if (!normaCheck) return; + + // Yellow + if (yellowTexture != null && !isRainbow) + { + int texStartPoint = (int)(gaugeTexLength * (norma / 100f)); + int differencial = closestTwo - closestNorma; + int xOff = (int)(scale_x * texStartPoint); + + yellowTexture.vc拡大縮小倍率.X = scale_x; + yellowTexture.vc拡大縮小倍率.Y = scale_y; + + yellowTexture.Opacity = 255; + yellowTexture.t2D描画(TJAPlayer3.app.Device, x + xOff, y, + new Rectangle( + GaugeBox[0] + texStartPoint, + GaugeBox[1], + differencial, + GaugeBox[3]) + ); + } + + // Rainbow + if (rainbowTexture != null && percent >= 100f) + { + rainbowTexture.vc拡大縮小倍率.X = scale_x; + rainbowTexture.vc拡大縮小倍率.Y = scale_y; + + rainbowTexture.t2D描画(TJAPlayer3.app.Device, x, y, + new Rectangle( + GaugeBox[0], + GaugeBox[1], + GaugeBox[2], + GaugeBox[3]) + ); + } + + } + + public static void tDrawGaugeFlash(CTexture flashTexture, int x, int y, int Opacity, Difficulty diff, int level, float currentPercent, EGaugeType gaugeType, float scale_x, float scale_y) + { + if (gaugeType != EGaugeType.NORMAL || diff > Difficulty.Edit) return ; + float norma = tGetCurrentGaugeNorma(diff, level) - 2f; // A segment flashes earlier + float percent = Math.Min(100f, Math.Max(0f, currentPercent)); + if (tNormaCheck(diff, level, gaugeType, percent, 0) && percent < 100.0) + { + if (flashTexture != null) + { + flashTexture.vc拡大縮小倍率.X = scale_x; + flashTexture.vc拡大縮小倍率.Y = scale_y; + + flashTexture.Opacity = Opacity; + flashTexture.t2D描画(TJAPlayer3.app.Device, x, y, + new Rectangle( + GaugeBox[0], + GaugeBox[1], + (int)(GaugeBox[2] * (norma / 100f)), + GaugeBox[3]) + ); + } + + } + } + + public static void tDrawKillZone(CTexture killzoneTexture, int x, int y, Difficulty diff, int level, EGaugeType gaugeType, float scale_x, float scale_y, int perfectHits, int totalNotes) + { + if (gaugeType != EGaugeType.EXTREME || diff > Difficulty.Edit) return; + float currentFill = tHardGaugeGetKillscreenRatio(diff, level, gaugeType, perfectHits, totalNotes); + if (killzoneTexture != null) + { + killzoneTexture.vc拡大縮小倍率.X = scale_x; + killzoneTexture.vc拡大縮小倍率.Y = scale_y; + + killzoneTexture.t2D描画(TJAPlayer3.app.Device, x, y, + new Rectangle( + GaugeBox[0], + GaugeBox[1], + (int)(GaugeBox[2] * (currentFill / 100f)), + GaugeBox[3]) + ); + } + } + + public static void tDrawClearIcon(CTexture clearIcon, Difficulty diff, int level, float currentPercent, int text_x, int text_y, EGaugeType gaugeType, int perfectHits, int totalNotes) + { + if (clearIcon == null) return; + if (diff > Difficulty.Edit) return; + + float percent = Math.Min(100f, Math.Max(0f, currentPercent)); + bool highlight = (gaugeType != EGaugeType.NORMAL) + ? tIsDangerHardGauge(diff, level, gaugeType, currentPercent, perfectHits, totalNotes) + : tNormaCheck(diff, level, gaugeType, percent, 0); + + clearIcon.Opacity = 255; + if (highlight) + { + clearIcon.t2D描画(TJAPlayer3.app.Device, text_x, text_y, + new Rectangle( + TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[0], + TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[1], + TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[2], + TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[3] + )); + } + else + { + clearIcon.t2D描画(TJAPlayer3.app.Device, text_x, text_y, + new Rectangle( + TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[0], + TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[1], + TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[2], + TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[3] + )); + } + } + + public static void tDrawSoulFire(CTexture soulFire, Difficulty diff, int level, float currentPercent, EGaugeType gaugeType, float scale_x, float scale_y, int fire_x, int fire_y, int fireFrame) + { + if (soulFire == null) return; + if (gaugeType != EGaugeType.NORMAL || diff > Difficulty.Edit) return; + float percent = Math.Min(100f, Math.Max(0f, currentPercent)); + + int soulfire_width = soulFire.szテクスチャサイズ.Width / 8; + int soulfire_height = soulFire.szテクスチャサイズ.Height; + + if (percent >= 100.0) + { + soulFire.vc拡大縮小倍率.X = scale_x; + soulFire.vc拡大縮小倍率.Y = scale_y; + + soulFire.t2D描画(TJAPlayer3.app.Device, fire_x, fire_y, new Rectangle(soulfire_width * fireFrame, 0, soulfire_width, soulfire_height)); + } + } + + public static void tDrawSoulLetter(CTexture soulLetter, Difficulty diff, int level, float currentPercent, EGaugeType gaugeType, float scale_x, float scale_y, int soul_x, int soul_y) + { + if (soulLetter == null) return; + if (gaugeType != EGaugeType.NORMAL || diff > Difficulty.Edit) return; + float norma = tGetCurrentGaugeNorma(diff, level); + float percent = Math.Min(100f, Math.Max(0f, currentPercent)); + + soulLetter.vc拡大縮小倍率.X = scale_x; + soulLetter.vc拡大縮小倍率.Y = scale_y; + + int soul_height = soulLetter.szテクスチャサイズ.Height / 2; + if (tNormaCheck(diff, level, gaugeType, percent, 0)) + { + soulLetter.t2D描画(TJAPlayer3.app.Device, soul_x, soul_y, new Rectangle(0, 0, soulLetter.szテクスチャサイズ.Width, soul_height)); + } + else + { + soulLetter.t2D描画(TJAPlayer3.app.Device, soul_x, soul_y, new Rectangle(0, soul_height, soulLetter.szテクスチャサイズ.Width, soul_height)); + } + } + + public static void tDrawCompleteGauge( + CTexture baseTexture, + CTexture baseNormaTexture, + CTexture flashTexture, + CTexture fillTexture, + CTexture yellowTexture, + CTexture[] rainbowTextureArr, + CTexture killzoneTexture, + CTexture clearIcon, + CTexture soulLetter, + CTexture soulFire, + int x, + int y, + int Opacity, + int RainbowTextureIndex, + int SoulFireIndex, + Difficulty diff, + int level, + float currentPercent, + EGaugeType gaugeType, + float scale_x, + float scale_y, + int text_x, + int text_y, + int perfectHits, + int totalNotes, + int soul_x, + int soul_y, + int fire_x, + int fire_y + ) + { + // Layers : Base - Base clear - Fill - Flash - Killzone - Clear logo - Soul fire - Soul text + tDrawGaugeBase(baseTexture, x, y, scale_x, scale_y); + tDrawGaugeBaseClear(baseNormaTexture, x, y, diff, level, gaugeType, scale_x, scale_y); + tDrawGaugeFill(fillTexture, yellowTexture, (rainbowTextureArr != null && RainbowTextureIndex < rainbowTextureArr.Length) ? rainbowTextureArr[RainbowTextureIndex] : null, x, y, diff, level, currentPercent, gaugeType, scale_x, scale_y, Opacity, perfectHits, totalNotes); + tDrawGaugeFlash(flashTexture, x, y, Opacity, diff, level, currentPercent, gaugeType, scale_x, scale_y); + tDrawKillZone(killzoneTexture, x, y, diff, level, gaugeType, scale_x, scale_y, perfectHits, totalNotes); + tDrawClearIcon(clearIcon, diff, level, currentPercent, text_x, text_y, gaugeType, perfectHits, totalNotes); + tDrawSoulFire(soulFire, diff, level, currentPercent, gaugeType, scale_x, scale_y, fire_x, fire_y, SoulFireIndex); + tDrawSoulLetter(soulLetter, diff, level, currentPercent, gaugeType, scale_x, scale_y, soul_x, soul_y); + } + + #endregion + + // Use with caution + #region [Unsafe methods] + + public static bool UNSAFE_FastNormaCheck(int player) + { + var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; + var _dif = TJAPlayer3.stage選曲.n確定された曲の難易度[player]; + return tNormaCheck( + (Difficulty)_dif, + TJAPlayer3.stage選曲.r確定された曲.arスコア[_dif].譜面情報.nレベル[_dif], + tGetGaugeTypeEnum(chara.effect.Gauge), + (float)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[player], + UNSAFE_KillZonePercent(player) + ); + } + + public static bool UNSAFE_IsRainbow(int player) + { + var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; + if (tGetGaugeTypeEnum(chara.effect.Gauge) != EGaugeType.NORMAL) return false; + return (float)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[player] >= 100f; + } + + public static float UNSAFE_KillZonePercent(int player) + { + var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; + CDTX[] dtxs = + { + TJAPlayer3.DTX, + TJAPlayer3.DTX_2P, + TJAPlayer3.DTX_3P, + TJAPlayer3.DTX_4P, + TJAPlayer3.DTX_5P + }; + + // Total hits and perfect hits + int perfectHits = TJAPlayer3.stage演奏ドラム画面.CChartScore[player].nGreat; + int totalHits = dtxs[player].nノーツ数[3]; + + // Difficulty + int _dif = TJAPlayer3.stage選曲.n確定された曲の難易度[player]; + Difficulty difficulty = (Difficulty)_dif; + int level = TJAPlayer3.stage選曲.r確定された曲.arスコア[_dif].譜面情報.nレベル[_dif]; + + return tHardGaugeGetKillscreenRatio( + difficulty, + level, + tGetGaugeTypeEnum(chara.effect.Gauge), + perfectHits, + totalHits); + } + + public static void UNSAFE_DrawGaugeFast(int player, int opacity, int rainbowTextureIndex, int soulFlameIndex) + { + var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; + CDTX[] dtxs = + { + TJAPlayer3.DTX, + TJAPlayer3.DTX_2P, + TJAPlayer3.DTX_3P, + TJAPlayer3.DTX_4P, + TJAPlayer3.DTX_5P + }; + + // Set box + GaugeBox = new int[]{ TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3] }; + + // Gauge pos + int gauge_x = 0; + int gauge_y = 0; + + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + gauge_x = TJAPlayer3.Skin.Game_Gauge_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player); + gauge_y = TJAPlayer3.Skin.Game_Gauge_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player); + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + gauge_x = TJAPlayer3.Skin.Game_Gauge_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * player); + gauge_y = TJAPlayer3.Skin.Game_Gauge_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * player); + } + else + { + gauge_x = TJAPlayer3.Skin.Game_Gauge_X[player]; + gauge_y = TJAPlayer3.Skin.Game_Gauge_Y[player]; + } + + // Text pos + int text_x = 0; + int text_y = 0; + if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) + { + if (TJAPlayer3.ConfigIni.bAIBattleMode) + { + text_x = TJAPlayer3.Skin.Game_Gauge_ClearText_X_AI; + text_y = TJAPlayer3.Skin.Game_Gauge_ClearText_Y_AI; + } + else + { + text_x = TJAPlayer3.Skin.Game_Gauge_ClearText_X[player]; + text_y = TJAPlayer3.Skin.Game_Gauge_ClearText_Y[player]; + } + } + + // Soul pos + int soul_x = 0; + int soul_y = 0; + if (TJAPlayer3.ConfigIni.bAIBattleMode) + { + soul_x = TJAPlayer3.Skin.Gauge_Soul_X_AI; + soul_y = TJAPlayer3.Skin.Gauge_Soul_Y_AI; + } + else + { + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + soul_x = TJAPlayer3.Skin.Gauge_Soul_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player); + soul_y = TJAPlayer3.Skin.Gauge_Soul_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player); + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + soul_x = TJAPlayer3.Skin.Gauge_Soul_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * player); + soul_y = TJAPlayer3.Skin.Gauge_Soul_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * player); + } + else + { + soul_x = TJAPlayer3.Skin.Gauge_Soul_X[player]; + soul_y = TJAPlayer3.Skin.Gauge_Soul_Y[player]; + } + } + + // Fire pos + int fire_x = 0; + int fire_y = 0; + if (TJAPlayer3.ConfigIni.bAIBattleMode) + { + fire_x = TJAPlayer3.Skin.Gauge_Soul_Fire_X_AI; + fire_y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y_AI; + } + else + { + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + fire_x = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player); + fire_y = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player); + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + fire_x = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * player); + fire_y = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * player); + } + else + { + fire_x = TJAPlayer3.Skin.Gauge_Soul_Fire_X[player]; + fire_y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y[player]; + } + } + + // Total hits and perfect hits + int perfectHits = TJAPlayer3.stage演奏ドラム画面.CChartScore[player].nGreat; + int totalHits = dtxs[player].nノーツ数[3]; + + // Scale + float scale = 1.0f; + if (TJAPlayer3.ConfigIni.bAIBattleMode) + { + scale = 0.8f; + } + + // Difficulty + int _dif = TJAPlayer3.stage選曲.n確定された曲の難易度[player]; + Difficulty difficulty = (Difficulty)_dif; + int level = TJAPlayer3.stage選曲.r確定された曲.arスコア[_dif].譜面情報.nレベル[_dif]; + + // Current percent + float currentPercent = (float)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[player]; + + // Gauge type + EGaugeType gaugeType = tGetGaugeTypeEnum(chara.effect.Gauge); + + // Textures + int _4pGaugeIDX = (TJAPlayer3.ConfigIni.nPlayerCount >= 3) ? 1 : 0; + int _usedGauge = player + 3 * _4pGaugeIDX; + if (TJAPlayer3.P1IsBlue()) _usedGauge = 2; + _4pGaugeIDX = (TJAPlayer3.ConfigIni.nPlayerCount >= 3) ? 2 + : (player == 1) ? 1 + : 0; + + CTexture baseTexture = TJAPlayer3.Tx.Gauge_Base[_usedGauge]; + CTexture fillTexture = TJAPlayer3.Tx.Gauge[_usedGauge]; + + CTexture[] rainbowTextureArr = (new CTexture[][]{ TJAPlayer3.Tx.Gauge_Rainbow , TJAPlayer3.Tx.Gauge_Rainbow_2PGauge, TJAPlayer3.Tx.Gauge_Rainbow_Flat })[_4pGaugeIDX]; + CTexture yellowTexture = TJAPlayer3.Tx.Gauge_Clear[_4pGaugeIDX]; + CTexture baseNormaTexture = TJAPlayer3.Tx.Gauge_Base_Norma[_4pGaugeIDX]; + CTexture killzoneTexture = TJAPlayer3.Tx.Gauge_Killzone[_4pGaugeIDX]; + + CTexture flashTexture = yellowTexture; + CTexture clearIcon = (_4pGaugeIDX == 2) + ? null + : (gaugeType != EGaugeType.NORMAL) + ? TJAPlayer3.Tx.Gauge_Killzone[0] + : TJAPlayer3.Tx.Gauge[0]; + CTexture soulLetter = TJAPlayer3.Tx.Gauge_Soul; + CTexture soulFlame = TJAPlayer3.Tx.Gauge_Soul_Fire; + + tDrawCompleteGauge(baseTexture, baseNormaTexture, flashTexture, fillTexture, yellowTexture, rainbowTextureArr, killzoneTexture, clearIcon, soulLetter, soulFlame, 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); + } + + public static void UNSAFE_DrawResultGaugeFast(int player, int shiftPos, int pos, int segmentsDisplayed, int rainbowTextureIndex, int soulFlameIndex) + { + var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; + CDTX[] dtxs = + { + TJAPlayer3.DTX, + TJAPlayer3.DTX_2P, + TJAPlayer3.DTX_3P, + TJAPlayer3.DTX_4P, + TJAPlayer3.DTX_5P + }; + + // Set box + GaugeBox = new int[] { TJAPlayer3.Skin.Result_Gauge_Rect[0], TJAPlayer3.Skin.Result_Gauge_Rect[1], TJAPlayer3.Skin.Result_Gauge_Rect[2], TJAPlayer3.Skin.Result_Gauge_Rect[3] }; + + // Total hits and perfect hits + int perfectHits = TJAPlayer3.stage演奏ドラム画面.CChartScore[player].nGreat; + int totalHits = dtxs[player].nノーツ数[3]; + + // Gauge type + EGaugeType gaugeType = tGetGaugeTypeEnum(chara.effect.Gauge); + + // Current percent + float currentPercent = segmentsDisplayed * 2f; + + // Scale x + float scale_x = 1.0f; + if (TJAPlayer3.ConfigIni.nPlayerCount >= 3) + { + scale_x = 0.5f; + } + + // Difficulty + int _dif = TJAPlayer3.stage選曲.n確定された曲の難易度[player]; + Difficulty difficulty = (Difficulty)_dif; + int level = TJAPlayer3.stage選曲.r確定された曲.arスコア[_dif].譜面情報.nレベル[_dif]; + + int gauge_x; + int gauge_y; + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + gauge_x = TJAPlayer3.Skin.Result_Gauge_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos]; + gauge_y = TJAPlayer3.Skin.Result_Gauge_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[pos]; + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + gauge_x = TJAPlayer3.Skin.Result_Gauge_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[pos]; + gauge_y = TJAPlayer3.Skin.Result_Gauge_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[pos]; + } + else + { + gauge_x = TJAPlayer3.Skin.Result_Gauge_X[pos]; + gauge_y = TJAPlayer3.Skin.Result_Gauge_Y[pos]; + } + + // Flame and soul + int soulText_x; + int soulText_y; + int soulFire_x; + int soulFire_y; + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + soulText_x = TJAPlayer3.Skin.Result_Soul_Text_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos]; + soulText_y = TJAPlayer3.Skin.Result_Soul_Text_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[pos]; + soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos]; + soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[pos]; + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + soulText_x = TJAPlayer3.Skin.Result_Soul_Text_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[0]; + soulText_y = TJAPlayer3.Skin.Result_Soul_Text_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[1]; + soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[0]; + soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[1]; + } + else + { + soulText_x = TJAPlayer3.Skin.Result_Soul_Text_X[pos]; + soulText_y = TJAPlayer3.Skin.Result_Soul_Text_Y[pos]; + soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_X[pos]; + soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_Y[pos]; + } + + // Clear text + int clearText_x; + int clearText_y; + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[0]; + clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[1]; + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[0]; + clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[1]; + } + else + { + clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_X[pos]; + clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_Y[pos]; + } + + // Textures + int _usedGauge = shiftPos; + CTexture baseTexture = TJAPlayer3.Tx.Result_Gauge_Base[_usedGauge]; + CTexture fillTexture = TJAPlayer3.Tx.Result_Gauge[_usedGauge]; + + CTexture[] rainbowTextureArr = TJAPlayer3.Tx.Result_Rainbow; + CTexture yellowTexture = TJAPlayer3.Tx.Result_Gauge_Clear; + CTexture baseNormaTexture = TJAPlayer3.Tx.Result_Gauge_Clear_Base; + CTexture killzoneTexture = TJAPlayer3.Tx.Result_Gauge_Killzone; + + CTexture flashTexture = null; + CTexture clearIcon = TJAPlayer3.Tx.Result_Gauge[0]; + CTexture soulLetter = TJAPlayer3.Tx.Result_Soul_Text; + CTexture soulFlame = TJAPlayer3.Tx.Result_Soul_Fire; + + + tDrawCompleteGauge(baseTexture, baseNormaTexture, flashTexture, fillTexture, yellowTexture, rainbowTextureArr, killzoneTexture, clearIcon, soulLetter, soulFlame, gauge_x, gauge_y, 0, rainbowTextureIndex, soulFlameIndex, difficulty, level, currentPercent, gaugeType, scale_x, 1f, clearText_x, clearText_y, perfectHits, totalHits, soulText_x, soulText_y, soulFire_x, soulFire_y); + } + + #endregion + + private static int[] GaugeBox = { TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3] }; + + } +} diff --git a/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs b/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs index a1e5ca14..c745081c 100644 --- a/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs +++ b/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs @@ -575,6 +575,21 @@ namespace TJAPlayer3 Gauge_Line[0] = TxC(GAME + GAUGE + @"1P_Line.png"); Gauge_Line[1] = TxC(GAME + GAUGE + @"2P_Line.png"); + Gauge_Clear = new CTexture[3]; + Gauge_Clear[0] = TxC(GAME + GAUGE + @"Clear.png"); + Gauge_Clear[1] = TxC(GAME + GAUGE + @"Clear_2PGauge.png"); + Gauge_Clear[2] = TxC(GAME + GAUGE + @"Clear_4PGauge.png"); + + Gauge_Base_Norma = new CTexture[3]; + Gauge_Base_Norma[0] = TxC(GAME + GAUGE + @"Norma_Base.png"); + Gauge_Base_Norma[1] = TxC(GAME + GAUGE + @"Norma_Base_2PGauge.png"); + Gauge_Base_Norma[2] = TxC(GAME + GAUGE + @"Norma_Base_4PGauge.png"); + + Gauge_Killzone = new CTexture[3]; + Gauge_Killzone[0] = TxC(GAME + GAUGE + @"Killzone.png"); + Gauge_Killzone[1] = TxC(GAME + GAUGE + @"Killzone_2PGauge.png"); + Gauge_Killzone[2] = TxC(GAME + GAUGE + @"Killzone_4PGauge.png"); + TJAPlayer3.Skin.Game_Gauge_Rainbow_Ptn = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + GAUGE + @"Rainbow\")); if (TJAPlayer3.Skin.Game_Gauge_Rainbow_Ptn != 0) { @@ -585,6 +600,28 @@ namespace TJAPlayer3 } } + TJAPlayer3.Skin.Game_Gauge_Rainbow_Flat_Ptn = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + GAUGE + @"Rainbow_Flat\")); + if (TJAPlayer3.Skin.Game_Gauge_Rainbow_Flat_Ptn != 0) + { + Gauge_Rainbow_Flat = new CTexture[TJAPlayer3.Skin.Game_Gauge_Rainbow_Flat_Ptn]; + for (int i = 0; i < TJAPlayer3.Skin.Game_Gauge_Rainbow_Flat_Ptn; i++) + { + Gauge_Rainbow_Flat[i] = TxC(GAME + GAUGE + @"Rainbow_Flat\" + i.ToString() + ".png"); + } + } + + TJAPlayer3.Skin.Game_Gauge_Rainbow_2PGauge_Ptn = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + GAUGE + @"Rainbow_2PGauge\")); + if (TJAPlayer3.Skin.Game_Gauge_Rainbow_2PGauge_Ptn != 0) + { + Gauge_Rainbow_2PGauge = new CTexture[TJAPlayer3.Skin.Game_Gauge_Rainbow_2PGauge_Ptn]; + for (int i = 0; i < TJAPlayer3.Skin.Game_Gauge_Rainbow_2PGauge_Ptn; i++) + { + Gauge_Rainbow_2PGauge[i] = TxC(GAME + GAUGE + @"Rainbow_2PGauge\" + i.ToString() + ".png"); + } + } + + // Dan + TJAPlayer3.Skin.Game_Gauge_Dan_Rainbow_Ptn = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + DANC + @"Rainbow\")); if (TJAPlayer3.Skin.Game_Gauge_Dan_Rainbow_Ptn != 0) { @@ -1007,6 +1044,11 @@ namespace TJAPlayer3 Result_Gauge[4] = TxC(RESULT + @"Gauge_5.png"); Result_Gauge_Base[4] = TxC(RESULT + @"Gauge_Base_5.png"); + Result_Gauge_Frame = TxC(RESULT + @"Gauge_Frame.png"); + Result_Gauge_Clear = TxC(RESULT + @"Gauge_Clear.png"); + Result_Gauge_Clear_Base = TxC(RESULT + @"Gauge_Clear_Base.png"); + Result_Gauge_Killzone = TxC(RESULT + @"Gauge_Killzone.png"); + Result_Header = TxC(RESULT + @"Header.png"); Result_Number = TxC(RESULT + @"Number.png"); Result_Panel = TxC(RESULT + @"Panel.png"); @@ -2278,8 +2320,13 @@ namespace TJAPlayer3 #region ゲージ public CTexture[] Gauge, Gauge_Base, + Gauge_Base_Norma, Gauge_Line, Gauge_Rainbow, + Gauge_Rainbow_2PGauge, + Gauge_Rainbow_Flat, + Gauge_Clear, + Gauge_Killzone, Gauge_Soul_Explosion; public CTexture Gauge_Soul, Gauge_Flash, @@ -2467,10 +2514,14 @@ namespace TJAPlayer3 Result_CrownEffect, Result_ScoreRankEffect, - + //Result_Cloud, Result_Flower, Result_Shine, + Result_Gauge_Frame, + Result_Gauge_Clear, + Result_Gauge_Clear_Base, + Result_Gauge_Killzone, Result_Dan; diff --git a/TJAPlayer3/Stages/07.Game/CAct演奏ゲージ共通.cs b/TJAPlayer3/Stages/07.Game/CAct演奏ゲージ共通.cs index 031e271e..4eb7e8e4 100644 --- a/TJAPlayer3/Stages/07.Game/CAct演奏ゲージ共通.cs +++ b/TJAPlayer3/Stages/07.Game/CAct演奏ゲージ共通.cs @@ -110,23 +110,21 @@ namespace TJAPlayer3 { //ダメージ値の計算は太鼓の達人譜面Wikiのものを参考にしました。 - for (int i = 0; i < 5; i++) { - var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(nPlayer)].data.Character]; - switch(chara.effect.Gauge) + var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(nPlayer)].data.Character]; + switch (chara.effect.Gauge) { + default: case "Normal": - this.db現在のゲージ値[i] = 0; + this.db現在のゲージ値[nPlayer] = 0; break; case "Hard": - this.db現在のゲージ値[i] = 100; - break; case "Extreme": - this.db現在のゲージ値[i] = 100; + this.db現在のゲージ値[nPlayer] = 100; break; - } + } } - + //ゲージのMAXまでの最低コンボ数を計算 float dbGaugeMaxComboValue = 0; float[] dbGaugeMaxComboValue_branch = new float[3]; @@ -165,26 +163,11 @@ namespace TJAPlayer3 break; case 9: - case 10: + case 10: + default: gaugeRate = this.fGaugeMaxRate[2]; dbDamageRate = 2.0f; break; - - case 11: - gaugeRate = this.fGaugeMaxRate[3]; - dbDamageRate = 2.2f; - break; - - case 12: - gaugeRate = this.fGaugeMaxRate[4]; - dbDamageRate = 2.4f; - break; - - default: - gaugeRate = this.fGaugeMaxRate[5]; - dbDamageRate = 2.6f; - break; - } #region [(Unbloated) Gauge max combo values] @@ -204,27 +187,9 @@ namespace TJAPlayer3 #endregion - #region [Change the weights depending on the choosen difficulty (More lenient for easier diffs, set to 0 for Tower charts)] - float multiplicationFactor = 1f; - - if (nanidou <= (int)Difficulty.Edit) - { - float[] factors = - { - 1.6f, - 1.33f, - 1.14f, - 1f, - 1f, - }; - - multiplicationFactor = factors[nanidou]; - } - else if (nanidou == (int)Difficulty.Tower) - multiplicationFactor = 0f; - - #endregion + if (nanidou == (int)Difficulty.Tower) + multiplicationFactor = 0f; double nGaugeRankValue = 0D; double[] nGaugeRankValue_branch = new double[] { 0D, 0D, 0D }; @@ -346,14 +311,15 @@ namespace TJAPlayer3 var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(nPlayer)].data.Character]; switch (chara.effect.Gauge) { + default: case "Normal": dbゲージ増加量[i][nPlayer] = increase[i]; break; case "Hard": - dbゲージ増加量[i][nPlayer] = increase[i] / 2.0f; + dbゲージ増加量[i][nPlayer] = increase[i] * HGaugeMethods.HardGaugeFillRatio; break; case "Extreme": - dbゲージ増加量[i][nPlayer] = increase[i] / 4.0f; + dbゲージ増加量[i][nPlayer] = increase[i] * HGaugeMethods.ExtremeGaugeFillRatio; break; } } @@ -362,20 +328,21 @@ namespace TJAPlayer3 var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(nPlayer)].data.Character]; switch (chara.effect.Gauge) { + default: case "Normal": dbゲージ増加量_Branch[i, 0][nPlayer] = increaseBranch[i, 0]; dbゲージ増加量_Branch[i, 1][nPlayer] = increaseBranch[i, 1]; dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2]; break; case "Hard": - dbゲージ増加量_Branch[i, 0][nPlayer] = increaseBranch[i, 0] / 2.0f; - dbゲージ増加量_Branch[i, 1][nPlayer] = increaseBranch[i, 1] / 2.0f; - dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2] / 2.0f; + dbゲージ増加量_Branch[i, 0][nPlayer] = increaseBranch[i, 0] * HGaugeMethods.HardGaugeFillRatio; + dbゲージ増加量_Branch[i, 1][nPlayer] = increaseBranch[i, 1] * HGaugeMethods.HardGaugeFillRatio; + dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2] * HGaugeMethods.HardGaugeFillRatio; break; case "Extreme": - dbゲージ増加量_Branch[i, 0][nPlayer] = increaseBranch[i, 0] / 4.0f; - dbゲージ増加量_Branch[i, 1][nPlayer] = increaseBranch[i, 1] / 4.0f; - dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2] / 4.0f; + dbゲージ増加量_Branch[i, 0][nPlayer] = increaseBranch[i, 0] * HGaugeMethods.ExtremeGaugeFillRatio; + dbゲージ増加量_Branch[i, 1][nPlayer] = increaseBranch[i, 1] * HGaugeMethods.ExtremeGaugeFillRatio; + dbゲージ増加量_Branch[i, 2][nPlayer] = increaseBranch[i, 2] * HGaugeMethods.ExtremeGaugeFillRatio; break; } } @@ -422,7 +389,12 @@ namespace TJAPlayer3 public void MineDamage(int nPlayer) { - this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - 4); + this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - HGaugeMethods.BombDamage); + } + + public void FuseDamage(int nPlayer) + { + this.db現在のゲージ値[nPlayer] = Math.Max(0, this.db現在のゲージ値[nPlayer] - HGaugeMethods.FuserollDamage); } public void Damage(E楽器パート screenmode, E楽器パート part, E判定 e今回の判定, int nPlayer) @@ -471,13 +443,17 @@ namespace TJAPlayer3 } var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(nPlayer)].data.Character]; + + int nanidou = TJAPlayer3.stage選曲.n確定された曲の難易度[nPlayer]; + int level = this.DTX[nPlayer].LEVELtaiko[nanidou]; + switch (chara.effect.Gauge) { case "Hard": - fDamage = -25; + fDamage = -HGaugeMethods.tHardGaugeGetDamage((Difficulty)nanidou, level); break; case "Extreme": - fDamage = -50; + fDamage = -HGaugeMethods.tExtremeGaugeGetDamage((Difficulty)nanidou, level); break; } diff --git a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs index e29fb913..bd676c86 100644 --- a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs +++ b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs @@ -496,6 +496,7 @@ namespace TJAPlayer3 var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character]; switch (chara.effect.Gauge) { + default: case "Normal": bIsAlreadyCleared[player] = false; break; @@ -905,6 +906,7 @@ namespace TJAPlayer3 public int[] Chara_MissCount; protected E連打State eRollState; protected bool[] ifp = { false, false, false, false, false }; + protected bool[] isDeniedPlaying = { false, false, false, false, false }; protected int nタイマ番号; protected int n現在の音符の顔番号; @@ -1920,17 +1922,7 @@ namespace TJAPlayer3 } var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(nPlayer)].data.Character]; - bool cleared = false; - switch (chara.effect.Gauge) - { - case "Normal": - cleared = (int)actGauge.db現在のゲージ値[nPlayer] >= 80; - break; - case "Hard": - case "Extreme": - cleared = (int)actGauge.db現在のゲージ値[nPlayer] > 0; - break; - } + bool cleared = HGaugeMethods.UNSAFE_FastNormaCheck(nPlayer); if (eJudgeResult != E判定.Poor && eJudgeResult != E判定.Miss) { @@ -1941,7 +1933,7 @@ namespace TJAPlayer3 int Character = this.actChara.iCurrentCharacter[nPlayer]; - if ((int)actGauge.db現在のゲージ値[nPlayer] >= 100 && this.bIsAlreadyMaxed[nPlayer] == false) + if (HGaugeMethods.UNSAFE_IsRainbow(nPlayer) && this.bIsAlreadyMaxed[nPlayer] == false) { if(TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].b終了値に達した) { @@ -1964,7 +1956,7 @@ namespace TJAPlayer3 { // ランナー(みすったやつ) this.actRunner.Start(nPlayer, true, pChip); - if ((int)actGauge.db現在のゲージ値[nPlayer] < 100 && this.bIsAlreadyMaxed[nPlayer] == true) + if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer) && this.bIsAlreadyMaxed[nPlayer] == true) { this.bIsAlreadyMaxed[nPlayer] = false; } @@ -1978,9 +1970,22 @@ namespace TJAPlayer3 case "Hard": case "Extreme": { - CSound管理.rc演奏用タイマ.t一時停止(); - TJAPlayer3.DTX.t全チップの再生停止(); ifp[nPlayer] = true; + isDeniedPlaying[nPlayer] = true; // Prevents the player to ever be able to hit the drum, without freezing the whole game + + bool allDeniedPlaying = true; + for (int p = 0; p < TJAPlayer3.ConfigIni.nPlayerCount; p++) + { + if (!isDeniedPlaying[p]) + { + allDeniedPlaying = false; + break; + } + } + if (allDeniedPlaying) TJAPlayer3.DTX.t全チップの再生停止(); // Stop playing song + + // Stop timer : Pauses the whole game (to remove once is denied playing will work) + //CSound管理.rc演奏用タイマ.t一時停止(); } break; } @@ -2304,7 +2309,7 @@ namespace TJAPlayer3 { if (TJAPlayer3.Skin.Characters_10Combo_Ptn[Character] != 0 && this.actChara.eNowAnime[nPlayer] != CAct演奏Drumsキャラクター.Anime.Combo10 && actChara.CharaAction_Balloon_Delay[nPlayer].b終了値に達した) { - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[nPlayer] < 100) + if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer)) { // 魂ゲージMAXではない // ジャンプ_ノーマル @@ -2313,7 +2318,7 @@ namespace TJAPlayer3 } if (TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character] != 0 && this.actChara.eNowAnime[nPlayer] != CAct演奏Drumsキャラクター.Anime.Combo10_Max && actChara.CharaAction_Balloon_Delay[nPlayer].b終了値に達した) { - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[nPlayer] >= 100) + if (HGaugeMethods.UNSAFE_IsRainbow(nPlayer)) { // 魂ゲージMAX // ジャンプ_MAX @@ -3904,7 +3909,7 @@ namespace TJAPlayer3 { if (TJAPlayer3.Skin.Characters_GoGoStart_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].b終了値に達した) { - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[nPlayer] < 100) + if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer)) { // 魂ゲージMAXではない // ゴーゴースタート_ノーマル @@ -3914,7 +3919,7 @@ namespace TJAPlayer3 } if (TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].b終了値に達した) { - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[nPlayer] >= 100) + if (HGaugeMethods.UNSAFE_IsRainbow(nPlayer)) { // 魂ゲージMAX // ゴーゴースタート_MAX @@ -5055,6 +5060,7 @@ namespace TJAPlayer3 JPOSCROLLX[i] = 0; JPOSCROLLY[i] = 0; ifp[i] = false; + isDeniedPlaying[i] = false; TJAPlayer3.ConfigIni.nGameType[i] = eFirstGameType[i]; bSplitLane[i] = false; diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏DrumsMob.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏DrumsMob.cs index 3fc7ec34..9b47b3ae 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏DrumsMob.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏DrumsMob.cs @@ -55,7 +55,7 @@ namespace TJAPlayer3 TJAPlayer3.act文字コンソール.tPrint(0, 10, C文字コンソール.Eフォント種別.白, Math.Sin((float)this.ctMob.n現在の値 * (Math.PI / 180)).ToString()); */ - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[0] >= 100) + if (HGaugeMethods.UNSAFE_IsRainbow(0)) { if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) nNowMobCounter += (Math.Abs((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] / 60.0f) * (float)TJAPlayer3.FPS.DeltaTime) * 180 / nMobBeat; diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsゲージ.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsゲージ.cs index fdbe535e..8a3a5cc4 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsゲージ.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsゲージ.cs @@ -170,84 +170,101 @@ namespace TJAPlayer3 if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower || TJAPlayer3.ConfigIni.bTokkunMode) return 0; - float scale = 1.0f; - if (TJAPlayer3.ConfigIni.bAIBattleMode) + + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan) { - scale = 0.8f; + #region [Regular gauges] + + // Flash opacity + int Opacity = 0; + if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0; + else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f); + else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f); + + // Rainbow gauge + this.ct虹アニメ.t進行Loop(); + this.ct虹透明度.t進行Loop(); + int rainbowFrame = this.ct虹アニメ.n現在の値; + + // Soul fire frame + this.ct炎.t進行Loop(); + int soulFireFrame = this.ct炎.n現在の値; + + for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) + { + if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) continue; + HGaugeMethods.UNSAFE_DrawGaugeFast(i, Opacity, rainbowFrame, soulFireFrame); + } + + #endregion } - - int[] gauge_x = new int[5]; - int[] gauge_y = new int[5]; - - for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) + else { - if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + float scale = 1.0f; + if (TJAPlayer3.ConfigIni.bAIBattleMode) { - gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i); - gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i); - } - else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) - { - gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i); - gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i); - } - else - { - gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_X[i]; - gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_Y[i]; - } - } - - #region [Gauge base] - - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) - { - if (TJAPlayer3.P1IsBlue()) - { - TJAPlayer3.Tx.Gauge_Dan[4]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - else - { - TJAPlayer3.Tx.Gauge_Dan[0]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); + scale = 0.8f; } - if (TJAPlayer3.Tx.Gauge_Dan[2] != null) + int[] gauge_x = new int[5]; + int[] gauge_y = new int[5]; + + for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) { - for (int i = 0; i < TJAPlayer3.DTX.Dan_C.Length; i++) + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) { - if (TJAPlayer3.DTX.Dan_C[i] != null) + gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i); + gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i); + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i); + gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i); + } + else + { + gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_X[i]; + gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_Y[i]; + } + } + + #region [Gauge base] + + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + { + if (TJAPlayer3.P1IsBlue()) + { + TJAPlayer3.Tx.Gauge_Dan[4]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0], + new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); + } + else + { + TJAPlayer3.Tx.Gauge_Dan[0]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0], + new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); + } + + if (TJAPlayer3.Tx.Gauge_Dan[2] != null) + { + for (int i = 0; i < TJAPlayer3.DTX.Dan_C.Length; i++) { - if (TJAPlayer3.DTX.Dan_C[i].GetExamType() == Exam.Type.Gauge) + if (TJAPlayer3.DTX.Dan_C[i] != null) { - TJAPlayer3.Tx.Gauge_Dan[2].t2D描画(TJAPlayer3.app.Device, gauge_x[0] + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), gauge_y[0], - new Rectangle((TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), 0, TJAPlayer3.Skin.Game_Gauge_Rect[2] - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3])); + if (TJAPlayer3.DTX.Dan_C[i].GetExamType() == Exam.Type.Gauge) + { + TJAPlayer3.Tx.Gauge_Dan[2].t2D描画(TJAPlayer3.app.Device, gauge_x[0] + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), gauge_y[0], + new Rectangle((TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), 0, TJAPlayer3.Skin.Game_Gauge_Rect[2] - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3])); + } } } } } - } - else - { - if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay && !TJAPlayer3.ConfigIni.bAIBattleMode) - { - for (int i = 1; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) - { - int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 1 : 3 + i; - TJAPlayer3.Tx.Gauge_Base[index]?.t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - } - if (TJAPlayer3.P1IsBlue()) - { - TJAPlayer3.Tx.Gauge_Base[2]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - else - { - int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 0 : 3; + #endregion + + #region [ Gauge 1P ] + + if (TJAPlayer3.Tx.Gauge[0] != null) + { int x; int y; if (TJAPlayer3.ConfigIni.bAIBattleMode) @@ -261,354 +278,183 @@ namespace TJAPlayer3 y = gauge_y[0]; } - if (TJAPlayer3.Tx.Gauge_Base[index] != null) + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) { - TJAPlayer3.Tx.Gauge_Base[index].vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Base[index].vc拡大縮小倍率.Y = scale; + if (TJAPlayer3.P1IsBlue()) + TJAPlayer3.Tx.Gauge_Dan[5]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3])); + else + TJAPlayer3.Tx.Gauge_Dan[1]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - TJAPlayer3.Tx.Gauge_Base[index].t2D描画(TJAPlayer3.app.Device, x, y, - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - } - } - - #endregion - - #region [ Gauge 1P ] - - if( TJAPlayer3.Tx.Gauge[0] != null ) - { - int x; - int y; - if (TJAPlayer3.ConfigIni.bAIBattleMode) - { - x = TJAPlayer3.Skin.Game_Gauge_X_AI; - y = TJAPlayer3.Skin.Game_Gauge_Y_AI; - } - else - { - x = gauge_x[0]; - y = gauge_y[0]; - } - - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) - { - if (TJAPlayer3.P1IsBlue()) - TJAPlayer3.Tx.Gauge_Dan[5]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - else - TJAPlayer3.Tx.Gauge_Dan[1]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - - for (int i = 0; i < TJAPlayer3.DTX.Dan_C.Length; i++) - { - if (TJAPlayer3.DTX.Dan_C[i] != null && TJAPlayer3.DTX.Dan_C[i].GetExamType() == Exam.Type.Gauge && db現在のゲージ値[0] >= TJAPlayer3.DTX.Dan_C[i].GetValue(false)) + for (int i = 0; i < TJAPlayer3.DTX.Dan_C.Length; i++) { - TJAPlayer3.Tx.Gauge_Dan[3].Opacity = 255; - TJAPlayer3.Tx.Gauge_Dan[3]?.t2D描画(TJAPlayer3.app.Device, x + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), y, new Rectangle(0, 0, nRectX[0] - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3])); + if (TJAPlayer3.DTX.Dan_C[i] != null && TJAPlayer3.DTX.Dan_C[i].GetExamType() == Exam.Type.Gauge && db現在のゲージ値[0] >= TJAPlayer3.DTX.Dan_C[i].GetValue(false)) + { + TJAPlayer3.Tx.Gauge_Dan[3].Opacity = 255; + TJAPlayer3.Tx.Gauge_Dan[3]?.t2D描画(TJAPlayer3.app.Device, x + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), y, new Rectangle(0, 0, nRectX[0] - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3])); - int Opacity = 0; - if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0; - else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f); - else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f); - TJAPlayer3.Tx.Gauge_Dan[3].Opacity = Opacity; - TJAPlayer3.Tx.Gauge_Dan[3]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth, TJAPlayer3.Skin.Game_Gauge_Rect[3])); + int Opacity = 0; + if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0; + else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f); + else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f); + TJAPlayer3.Tx.Gauge_Dan[3].Opacity = Opacity; + TJAPlayer3.Tx.Gauge_Dan[3]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth, TJAPlayer3.Skin.Game_Gauge_Rect[3])); - break; + break; + } } - } - } - else - { - if (TJAPlayer3.P1IsBlue()) - TJAPlayer3.Tx.Gauge[2]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - else - { - int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 0 : 3; - - if (TJAPlayer3.Tx.Gauge[index] != null) - { - TJAPlayer3.Tx.Gauge[index].vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge[index].vc拡大縮小倍率.Y = scale; - - TJAPlayer3.Tx.Gauge[index].t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - } - } - - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && db現在のゲージ値[0] >= 80.0 && db現在のゲージ値[0] < 100.0) - { - int Opacity = 0; - if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0; - else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f); - else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f); - - if (TJAPlayer3.Tx.Gauge_Flash != null) - { - TJAPlayer3.Tx.Gauge_Flash.vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Flash.vc拡大縮小倍率.Y = scale; - - TJAPlayer3.Tx.Gauge_Flash.Opacity = Opacity; - TJAPlayer3.Tx.Gauge_Flash.t2D描画(TJAPlayer3.app.Device, x, y, - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); } - } - - if (TJAPlayer3.Tx.Gauge_Line[0] != null ) - { - #region [Rainbow] - - if ( this.db現在のゲージ値[ 0 ] >= 100.0 ) + if (TJAPlayer3.Tx.Gauge_Line[0] != null) { - this.ct虹アニメ.t進行Loop(); - this.ct虹透明度.t進行Loop(); - if(TJAPlayer3.Tx.Gauge_Rainbow[ this.ct虹アニメ.n現在の値 ] != null ) - { - TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].vc拡大縮小倍率.Y = scale; + #region [Rainbow] - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].vc拡大縮小倍率.Y = scale; - - bool smart = TJAPlayer3.ConfigIni.nPlayerCount > 2 || TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan; - - - TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].Opacity = 255; - TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, x, y + (smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0), - new RectangleF(0, - smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0, - TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Width, - smart ? TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height)); - - - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].Opacity = (ct虹透明度.n現在の値 * 255 / (int)ct虹透明度.n終了値)/1; - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D描画(TJAPlayer3.app.Device, x, y + (smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0), - new RectangleF(0, - smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0, - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Width, - smart ? TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height)); - } - } - - #endregion - - - TJAPlayer3.Tx.Gauge_Line[0].vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Line[0].vc拡大縮小倍率.Y = scale; - - TJAPlayer3.Tx.Gauge_Line[0].t2D描画( TJAPlayer3.app.Device, x, y); - } - - #region[ 「Clear」icon ] - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.ConfigIni.nPlayerCount <= 2) - { - int text_x; - int text_y; - if (TJAPlayer3.ConfigIni.bAIBattleMode) - { - text_x = TJAPlayer3.Skin.Game_Gauge_ClearText_X_AI; - text_y = TJAPlayer3.Skin.Game_Gauge_ClearText_Y_AI; - } - else - { - text_x = TJAPlayer3.Skin.Game_Gauge_ClearText_X[0]; - text_y = TJAPlayer3.Skin.Game_Gauge_ClearText_Y[0]; - } - - if (this.db現在のゲージ値[0] >= 80.0) - { - TJAPlayer3.Tx.Gauge[0].t2D描画(TJAPlayer3.app.Device, text_x, text_y, - new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[3])); - } - else - { - TJAPlayer3.Tx.Gauge[0].t2D描画(TJAPlayer3.app.Device, text_x, text_y, - new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[3])); - } - } - #endregion - - } - - #endregion - - #region [ Gauge 2P ] - - for (int i = 1; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) - { - int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 1 : i + 3; - if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay && !TJAPlayer3.ConfigIni.bAIBattleMode && TJAPlayer3.Tx.Gauge[index] != null) - { - TJAPlayer3.Tx.Gauge[index].t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i], new Rectangle(0, 0, nRectX[i], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - if (db現在のゲージ値[i] >= 80.0 && db現在のゲージ値[i] < 100.0) - { - int Opacity = 0; - if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0; - else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f); - else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f); - TJAPlayer3.Tx.Gauge_Flash.Opacity = Opacity; - if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) - { - TJAPlayer3.Tx.Gauge_Flash.t2D上下反転描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - else - { - TJAPlayer3.Tx.Gauge_Flash.t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3])); - } - } - if (TJAPlayer3.Tx.Gauge[index] != null) - { - if (this.db現在のゲージ値[i] >= 100.0) + if (this.db現在のゲージ値[0] >= 100.0) { this.ct虹アニメ.t進行Loop(); this.ct虹透明度.t進行Loop(); if (TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値] != null) { - TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].Opacity = 255; - if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) - { - TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].t2D上下反転描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i]); - } - else - { - TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i] + (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2), - new RectangleF(0, (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2), - TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].szテクスチャサイズ.Width, - TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2))); - } - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].Opacity = (int)(ct虹透明度.n現在の値 * 255 / ct虹透明度.n終了値) / 1; + TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].vc拡大縮小倍率.X = scale; + TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].vc拡大縮小倍率.Y = scale; - if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) - { - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D上下反転描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i]); - } - else - { - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i] + (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2), - new RectangleF(0, (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2), - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Width, - TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2))); - } + TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].vc拡大縮小倍率.X = scale; + TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].vc拡大縮小倍率.Y = scale; + + bool smart = TJAPlayer3.ConfigIni.nPlayerCount > 2 || TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan; + + + TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].Opacity = 255; + TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, x, y + (smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0), + new RectangleF(0, + smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0, + TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Width, + smart ? TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height)); + + + TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].Opacity = (ct虹透明度.n現在の値 * 255 / (int)ct虹透明度.n終了値) / 1; + TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D描画(TJAPlayer3.app.Device, x, y + (smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0), + new RectangleF(0, + smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0, + TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Width, + smart ? TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height)); } } - TJAPlayer3.Tx.Gauge_Line[1]?.t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i]); + + #endregion + + + TJAPlayer3.Tx.Gauge_Line[0].vc拡大縮小倍率.X = scale; + TJAPlayer3.Tx.Gauge_Line[0].vc拡大縮小倍率.Y = scale; + + TJAPlayer3.Tx.Gauge_Line[0].t2D描画(TJAPlayer3.app.Device, x, y); } - #region[ 「クリア」文字 ] - if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) + + } + + #endregion + + // Soul fire here + if (TJAPlayer3.Tx.Gauge_Soul_Fire != null) + { + //仮置き + int soulfire_width = TJAPlayer3.Tx.Gauge_Soul_Fire.szテクスチャサイズ.Width / 8; + int soulfire_height = TJAPlayer3.Tx.Gauge_Soul_Fire.szテクスチャサイズ.Height; + for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) { + if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break; + + int x; + int y; + if (TJAPlayer3.ConfigIni.bAIBattleMode) + { + x = TJAPlayer3.Skin.Gauge_Soul_Fire_X_AI; + y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y_AI; + } + else + { + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + x = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i); + y = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i); + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + x = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i); + y = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i); + } + else + { + x = TJAPlayer3.Skin.Gauge_Soul_Fire_X[i]; + y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y[i]; + } + } + + if (this.db現在のゲージ値[i] >= 100.0) + { + this.ct炎.t進行Loop(); + + TJAPlayer3.Tx.Gauge_Soul_Fire.vc拡大縮小倍率.X = scale; + TJAPlayer3.Tx.Gauge_Soul_Fire.vc拡大縮小倍率.Y = scale; + + TJAPlayer3.Tx.Gauge_Soul_Fire.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(soulfire_width * (this.ct炎.n現在の値), 0, soulfire_width, soulfire_height)); + } + } + } + if (TJAPlayer3.Tx.Gauge_Soul != null) + { + //仮置き + int soul_height = TJAPlayer3.Tx.Gauge_Soul.szテクスチャサイズ.Height / 2; + for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) + { + if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break; + + int x; + int y; + if (TJAPlayer3.ConfigIni.bAIBattleMode) + { + x = TJAPlayer3.Skin.Gauge_Soul_X_AI; + y = TJAPlayer3.Skin.Gauge_Soul_Y_AI; + } + else + { + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) + { + x = TJAPlayer3.Skin.Gauge_Soul_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i); + y = TJAPlayer3.Skin.Gauge_Soul_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i); + } + else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) + { + x = TJAPlayer3.Skin.Gauge_Soul_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i); + y = TJAPlayer3.Skin.Gauge_Soul_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i); + } + else + { + x = TJAPlayer3.Skin.Gauge_Soul_X[i]; + y = TJAPlayer3.Skin.Gauge_Soul_Y[i]; + } + } + + TJAPlayer3.Tx.Gauge_Soul.vc拡大縮小倍率.X = scale; + TJAPlayer3.Tx.Gauge_Soul.vc拡大縮小倍率.Y = scale; + if (this.db現在のゲージ値[i] >= 80.0) { - TJAPlayer3.Tx.Gauge[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_ClearText_X[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Y[1], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[3])); + TJAPlayer3.Tx.Gauge_Soul.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, TJAPlayer3.Tx.Gauge_Soul.szテクスチャサイズ.Width, soul_height)); } else { - TJAPlayer3.Tx.Gauge[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_ClearText_X[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Y[1], - new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[3])); + TJAPlayer3.Tx.Gauge_Soul.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, soul_height, TJAPlayer3.Tx.Gauge_Soul.szテクスチャサイズ.Width, soul_height)); } } - #endregion - } - } - #endregion - - // Soul fire here - if(TJAPlayer3.Tx.Gauge_Soul_Fire != null ) - { - //仮置き - int soulfire_width = TJAPlayer3.Tx.Gauge_Soul_Fire.szテクスチャサイズ.Width / 8; - int soulfire_height = TJAPlayer3.Tx.Gauge_Soul_Fire.szテクスチャサイズ.Height; - for ( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ ) - { - if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break; - - int x; - int y; - if (TJAPlayer3.ConfigIni.bAIBattleMode) - { - x = TJAPlayer3.Skin.Gauge_Soul_Fire_X_AI; - y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y_AI; - } - else - { - if (TJAPlayer3.ConfigIni.nPlayerCount == 5) - { - x = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i); - y = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i); - } - else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) - { - x = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i); - y = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i); - } - else - { - x = TJAPlayer3.Skin.Gauge_Soul_Fire_X[i]; - y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y[i]; - } - } - - if ( this.db現在のゲージ値[ i ] >= 100.0) - { - this.ct炎.t進行Loop(); - - TJAPlayer3.Tx.Gauge_Soul_Fire.vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Soul_Fire.vc拡大縮小倍率.Y = scale; - - TJAPlayer3.Tx.Gauge_Soul_Fire.t2D描画( TJAPlayer3.app.Device, x, y, new Rectangle(soulfire_width * ( this.ct炎.n現在の値 ), 0, soulfire_width, soulfire_height) ); - } } } - if(TJAPlayer3.Tx.Gauge_Soul != null ) - { - //仮置き - int soul_height = TJAPlayer3.Tx.Gauge_Soul.szテクスチャサイズ.Height / 2; - for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ ) - { - if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break; - int x; - int y; - if (TJAPlayer3.ConfigIni.bAIBattleMode) - { - x = TJAPlayer3.Skin.Gauge_Soul_X_AI; - y = TJAPlayer3.Skin.Gauge_Soul_Y_AI; - } - else - { - if (TJAPlayer3.ConfigIni.nPlayerCount == 5) - { - x = TJAPlayer3.Skin.Gauge_Soul_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i); - y = TJAPlayer3.Skin.Gauge_Soul_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i); - } - else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) - { - x = TJAPlayer3.Skin.Gauge_Soul_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i); - y = TJAPlayer3.Skin.Gauge_Soul_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i); - } - else - { - x = TJAPlayer3.Skin.Gauge_Soul_X[i]; - y = TJAPlayer3.Skin.Gauge_Soul_Y[i]; - } - } - TJAPlayer3.Tx.Gauge_Soul.vc拡大縮小倍率.X = scale; - TJAPlayer3.Tx.Gauge_Soul.vc拡大縮小倍率.Y = scale; - if ( this.db現在のゲージ値[ i ] >= 80.0) - { - TJAPlayer3.Tx.Gauge_Soul.t2D描画( TJAPlayer3.app.Device, x, y, new Rectangle( 0, 0, TJAPlayer3.Tx.Gauge_Soul.szテクスチャサイズ.Width, soul_height) ); - } - else - { - TJAPlayer3.Tx.Gauge_Soul.t2D描画( TJAPlayer3.app.Device, x, y, new Rectangle( 0, soul_height, TJAPlayer3.Tx.Gauge_Soul.szテクスチャサイズ.Width, soul_height) ); - } - } - } + + //仮置き int[] nSoulExplosion = new int[] { 73, 468, 0, 0 }; diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs index 5fcd6f85..089f468d 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs @@ -112,7 +112,7 @@ namespace TJAPlayer3 // 今の段階では魂ゲージ80%以上でチェック。 for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) { - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 80) + if (HGaugeMethods.UNSAFE_FastNormaCheck(i)) { if (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMine == 0) //if (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss == 0) @@ -819,6 +819,8 @@ namespace TJAPlayer3 private EndAnimeScript Dan_Gold_FullComboScript; private EndAnimeScript Dan_Gold_PerfectScript; + + bool b再生済み; bool bリザルトボイス再生済み; bool bSongsPlayed = false; @@ -837,6 +839,7 @@ namespace TJAPlayer3 CSound[] soundFailed = new CSound[5]; CSound[] soundFullCombo = new CSound[5]; CSound[] soundDondaFullCombo = new CSound[5]; + CSound soundDanFailed; CSound soundDanRedClear; CSound soundDanRedFC; diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs index f54d00dc..18702e73 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs @@ -210,12 +210,11 @@ namespace TJAPlayer3 base.On活性化(); base.eフェーズID = CStage.Eフェーズ.共通_通常状態;//初期化すれば、リザルト変遷は止まる。 - ifp[0] = false; - ifp[1] = false; - ifp[2] = false; - ifp[3] = false; - ifp[4] = false; - + for (int i = 0; i < 5; i++) { + ifp[i] = false; + isDeniedPlaying[i] = false; + } + this.nStoredHit = new int[TJAPlayer3.ConfigIni.nPlayerCount]; // MODIFY_BEGIN #25398 2011.06.07 FROM @@ -603,7 +602,7 @@ namespace TJAPlayer3 int Character = this.actChara.iCurrentCharacter[i]; if (TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character] != 0) { - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 100) + if (HGaugeMethods.UNSAFE_IsRainbow(i)) { double dbUnit = (((60.0 / (TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[i])))); this.actChara.ChangeAnime(i, CAct演奏Drumsキャラクター.Anime.Combo10_Max, true); @@ -970,6 +969,8 @@ namespace TJAPlayer3 break; } + if (TJAPlayer3.stage演奏ドラム画面.isDeniedPlaying[nUsePlayer]) break; + if (!TJAPlayer3.ConfigIni.bTokkunMode && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] && isPad1P)//2020.05.18 Mr-Ojii オート時の入力キャンセル break; else if ((TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1] || TJAPlayer3.ConfigIni.bAIBattleMode) && isPad2P) diff --git a/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs b/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs index 646c0676..a39575db 100644 --- a/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs +++ b/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs @@ -381,14 +381,17 @@ namespace TJAPlayer3 } //if (TJAPlayer3.ConfigIni.nPlayerCount <= 2) - { + var _frame = TJAPlayer3.Tx.Result_Gauge_Frame; + if (_frame != null) { int bar_x; int bar_y; int gauge_base_x; int gauge_base_y; + + if (TJAPlayer3.ConfigIni.nPlayerCount == 5) { - TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 0.5f; + _frame.vc拡大縮小倍率.X = 0.5f; bar_x = TJAPlayer3.Skin.Result_DifficultyBar_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos]; bar_y = TJAPlayer3.Skin.Result_DifficultyBar_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[pos]; gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos]; @@ -396,7 +399,7 @@ namespace TJAPlayer3 } else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3) { - TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 0.5f; + _frame.vc拡大縮小倍率.X = 0.5f; bar_x = TJAPlayer3.Skin.Result_DifficultyBar_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[pos]; bar_y = TJAPlayer3.Skin.Result_DifficultyBar_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[pos]; gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[pos]; @@ -404,7 +407,7 @@ namespace TJAPlayer3 } else { - TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 1.0f; + _frame.vc拡大縮小倍率.X = 1.0f; bar_x = TJAPlayer3.Skin.Result_DifficultyBar_X[pos]; bar_y = TJAPlayer3.Skin.Result_DifficultyBar_Y[pos]; gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_X[pos]; @@ -414,8 +417,8 @@ namespace TJAPlayer3 TJAPlayer3.Tx.Result_Diff_Bar.t2D描画(TJAPlayer3.app.Device, bar_x, bar_y, new RectangleF(0, TJAPlayer3.stage選曲.n確定された曲の難易度[i] * TJAPlayer3.Skin.Result_DifficultyBar_Size[1], TJAPlayer3.Skin.Result_DifficultyBar_Size[0], TJAPlayer3.Skin.Result_DifficultyBar_Size[1])); - TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].t2D描画(TJAPlayer3.app.Device, gauge_base_x, gauge_base_y); - TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 1.0f; + _frame.t2D描画(TJAPlayer3.app.Device, gauge_base_x, gauge_base_y); + _frame.vc拡大縮小倍率.X = 1.0f; } if (ct全体進行.n現在の値 >= 2000) @@ -436,6 +439,9 @@ namespace TJAPlayer3 ctゲージアニメ[i].n現在の値 = (int)ctゲージアニメ[i].n終了値; } + + + /* { int gauge_x; int gauge_y; @@ -462,9 +468,10 @@ namespace TJAPlayer3 new RectangleF(TJAPlayer3.Skin.Result_Gauge_Rect[0], TJAPlayer3.Skin.Result_Gauge_Rect[1], (TJAPlayer3.Skin.Result_Gauge_Rect[2] / 50.0f) * ctゲージアニメ[i].n現在の値, TJAPlayer3.Skin.Result_Gauge_Rect[3])); TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 1.0f; } + */ // Modify to array for each players using i - + /* int soultext_width = TJAPlayer3.Tx.Result_Soul_Text.szテクスチャサイズ.Width / 3; int soultext_height = TJAPlayer3.Tx.Result_Soul_Text.szテクスチャサイズ.Height; @@ -496,6 +503,7 @@ namespace TJAPlayer3 soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_Y[pos]; TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 1.0f; } + */ if (ctゲージアニメ[i].b終了値に達した) { @@ -523,6 +531,7 @@ namespace TJAPlayer3 ct虹ゲージアニメ.t進行Loop(); ctSoul.t進行Loop(); + /* int rainbow_x; int rainbow_y; if (TJAPlayer3.ConfigIni.nPlayerCount == 5) @@ -556,8 +565,13 @@ namespace TJAPlayer3 if (ctSoul.n現在の値 % 2 == 0) TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, soulText_x, soulText_y, new Rectangle(soultext_width * 2, 0, soultext_width, soultext_height)); } + */ } } + + HGaugeMethods.UNSAFE_DrawResultGaugeFast(i, shiftPos, pos, ctゲージアニメ[i].n現在の値, ct虹ゲージアニメ.n現在の値, ctSoul.n現在の値); + + /* if (ctゲージアニメ[i].n現在の値 != 50) { { @@ -596,6 +610,7 @@ namespace TJAPlayer3 new Rectangle(soultext_width * (ctゲージアニメ[i].n現在の値 <= 30 ? 0 : 1), 0, soultext_width, soultext_height)); } } + */ #endregion } diff --git a/TJAPlayer3/Stages/08.Result/CStage結果.cs b/TJAPlayer3/Stages/08.Result/CStage結果.cs index c5a47725..ee4c7b21 100644 --- a/TJAPlayer3/Stages/08.Result/CStage結果.cs +++ b/TJAPlayer3/Stages/08.Result/CStage結果.cs @@ -177,12 +177,16 @@ namespace TJAPlayer3 { var ccf = TJAPlayer3.stage演奏ドラム画面.CChartScore[p]; - this.nクリア[p] = (ccf.nMiss == 0 && ccf.nMine == 0 && TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[p] == 100) - ? ccf.nGood == 0 - ? 3 : 2 - : TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[p] >= 80 - ? 1 - : 0; + this.nクリア[p] = 0; + if (HGaugeMethods.UNSAFE_FastNormaCheck(p)) + { + this.nクリア[p] = 1; + if (ccf.nMiss == 0 && ccf.nMine == 0) + { + this.nクリア[p] = 2; + if (ccf.nGood == 0) this.nクリア[p] = 3; + } + } if ((int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, p) < 500000) { @@ -591,7 +595,7 @@ namespace TJAPlayer3 int clearModifier = modifiers[0]; - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 80) + if (HGaugeMethods.UNSAFE_FastNormaCheck(i)) { clearModifier = modifiers[1] * diffModifier; if (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss == 0) @@ -652,7 +656,7 @@ namespace TJAPlayer3 && !(TJAPlayer3.ConfigIni.bAIBattleMode && i == 1)) { int _cs = -1; - if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 80) + if (HGaugeMethods.UNSAFE_FastNormaCheck(i)) { _cs = 0; if (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss == 0) diff --git a/TJAPlayer3/TJAPlayer3.csproj b/TJAPlayer3/TJAPlayer3.csproj index 3c34ab43..3b7bd5d4 100644 --- a/TJAPlayer3/TJAPlayer3.csproj +++ b/TJAPlayer3/TJAPlayer3.csproj @@ -150,6 +150,7 @@ + diff --git a/Test/Global/Characters/NewTemplate/Effects.json b/Test/Global/Characters/NewTemplate/Effects.json new file mode 100644 index 00000000..c4d4db13 --- /dev/null +++ b/Test/Global/Characters/NewTemplate/Effects.json @@ -0,0 +1,5 @@ +{ + "gauge":"Hard", + "bombFactor":15, + "fuseRollFactor":5 +} \ No newline at end of file diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P.png index e665cd70..70ddf643 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_4PGauge.png index fd87d785..fc9f7e9d 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base.png index 388c62b2..18e80f90 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_4PGauge.png index 54451f08..ee0051fa 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_Right.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_Right.png index f184eda0..0e3ea2f2 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_Right.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Base_Right.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan.png index 626efbbf..fc9f7e9d 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base.png index c2b8062a..ee0051fa 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base_Right.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base_Right.png index 924d91a2..0b79058e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base_Right.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Base_Right.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear.png index 1829ba68..d4d2390a 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear_Base.png index e874a1b6..5a0e35c1 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear_Base.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Clear_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Right.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Right.png index 7530e9b6..e1970e33 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Right.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Dan_Right.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Right.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Right.png index 470d96ea..66fb4465 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Right.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/1P_Right.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P.png index 4cf41e99..5a6b6447 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_4PGauge.png index b14196f6..e1970e33 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base.png index e709ec98..4d8b17e4 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base_4PGauge.png index 492de8ac..0b79058e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/2P_Base_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_4PGauge.png index fe70ada1..8b8fa1c4 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_Base_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_Base_4PGauge.png index d4801fc1..0feadeb3 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_Base_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/3P_Base_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_4PGauge.png index 96aee43e..6ab8b9e2 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_Base_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_Base_4PGauge.png index d69ef58a..244bdeef 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_Base_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/4P_Base_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_4PGauge.png index cbb2c49e..d2ccf4c9 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_Base_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_Base_4PGauge.png index c6342763..ccee8a4e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_Base_4PGauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/5P_Base_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear.png new file mode 100644 index 00000000..1b9e2bed Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear_2PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear_2PGauge.png new file mode 100644 index 00000000..c772a961 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear_2PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear_4PGauge.png new file mode 100644 index 00000000..d4d2390a Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Clear_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Flash.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Flash.png index a7b67dca..1eadbe83 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Flash.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Flash.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone.png new file mode 100644 index 00000000..cffc407f Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone_2PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone_2PGauge.png new file mode 100644 index 00000000..2d131dfd Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone_2PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone_4PGauge.png new file mode 100644 index 00000000..eefb5bab Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Killzone_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base.png new file mode 100644 index 00000000..68e2d318 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base_2PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base_2PGauge.png new file mode 100644 index 00000000..981cf59b Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base_2PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base_4PGauge.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base_4PGauge.png new file mode 100644 index 00000000..5a0e35c1 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Norma_Base_4PGauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/0.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/0.png index 8081f6f3..348c80d0 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/0.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/0.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/1.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/1.png index 4564eed8..175c13b7 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/1.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/1.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/10.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/10.png index 0817fc5f..395ef126 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/10.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/10.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/11.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/11.png index fe497d42..1a3f2d91 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/11.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/11.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/2.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/2.png index bbac59cd..1c428f31 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/2.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/2.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/3.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/3.png index cc8c36af..dd61d211 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/3.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/3.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/4.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/4.png index 5d95cff6..48e16082 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/4.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/4.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/5.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/5.png index 5cabff01..cf980287 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/5.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/5.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/6.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/6.png index 00549ea7..52292958 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/6.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/6.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/7.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/7.png index 3c208026..6a14a3c6 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/7.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/7.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/8.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/8.png index eea8fc39..262704dc 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/8.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/8.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/9.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/9.png index e93625c3..e5de4be5 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/9.png and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow/9.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/0.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/0.png new file mode 100644 index 00000000..752760cf Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/0.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/1.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/1.png new file mode 100644 index 00000000..f024541b Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/1.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/10.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/10.png new file mode 100644 index 00000000..bbca207f Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/10.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/11.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/11.png new file mode 100644 index 00000000..fd08c0be Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/11.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/2.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/2.png new file mode 100644 index 00000000..dc9fbcb9 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/2.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/3.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/3.png new file mode 100644 index 00000000..5265c45a Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/3.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/4.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/4.png new file mode 100644 index 00000000..80eff045 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/4.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/5.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/5.png new file mode 100644 index 00000000..12d31f89 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/5.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/6.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/6.png new file mode 100644 index 00000000..02c219fc Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/6.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/7.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/7.png new file mode 100644 index 00000000..e4aa65ad Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/7.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/8.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/8.png new file mode 100644 index 00000000..b4bb7f2e Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/8.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/9.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/9.png new file mode 100644 index 00000000..40a6c2d6 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_2PGauge/9.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/0.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/0.png new file mode 100644 index 00000000..2bbb0f54 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/0.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/1.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/1.png new file mode 100644 index 00000000..abba653a Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/1.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/10.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/10.png new file mode 100644 index 00000000..356fc3e0 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/10.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/11.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/11.png new file mode 100644 index 00000000..8bad2b11 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/11.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/2.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/2.png new file mode 100644 index 00000000..43d57bcc Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/2.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/3.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/3.png new file mode 100644 index 00000000..5e517c3a Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/3.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/4.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/4.png new file mode 100644 index 00000000..2607c017 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/4.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/5.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/5.png new file mode 100644 index 00000000..8e49062f Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/5.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/6.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/6.png new file mode 100644 index 00000000..224759e8 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/6.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/7.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/7.png new file mode 100644 index 00000000..694619a1 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/7.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/8.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/8.png new file mode 100644 index 00000000..0b8b2650 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/8.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/9.png b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/9.png new file mode 100644 index 00000000..a099be52 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/5_Game/7_Gauge/Rainbow_Flat/9.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge.png index 1ad6977a..2be555e8 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_2.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_2.png index 2b4466aa..b9d35736 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_2.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_2.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_3.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_3.png index be555d2e..577b132e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_3.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_3.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_4.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_4.png index d30288ca..779a43b5 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_4.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_4.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_5.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_5.png index 1274fd5c..efe748e2 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_5.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_5.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base.png index 8a86c4c6..5a96af4e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_2.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_2.png index 0ffeeb1a..e4918226 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_2.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_2.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_3.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_3.png index c39ea3b1..44223d56 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_3.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_3.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_4.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_4.png index c97a6939..8dbe5436 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_4.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_4.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_5.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_5.png index 5b53ae40..3d761490 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_5.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Base_5.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Clear.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Clear.png new file mode 100644 index 00000000..7e866240 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Clear.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Clear_Base.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Clear_Base.png new file mode 100644 index 00000000..ffd00607 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Clear_Base.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Frame.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Frame.png new file mode 100644 index 00000000..364bf44a Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Frame.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Killzone.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Killzone.png new file mode 100644 index 00000000..d21f7521 Binary files /dev/null and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Gauge_Killzone.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/0.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/0.png index 7c974126..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/0.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/0.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/1.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/1.png index ac8da685..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/1.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/1.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/10.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/10.png index 97bfd68c..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/10.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/10.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/11.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/11.png index 50d6a8a4..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/11.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/11.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/12.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/12.png index 87e40f58..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/12.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/12.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/13.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/13.png index 911c74ad..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/13.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/13.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/14.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/14.png index bd5b1c44..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/14.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/14.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/15.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/15.png index c4179dfb..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/15.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/15.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/16.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/16.png index d2719d6e..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/16.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/16.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/17.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/17.png index fbdb2a1b..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/17.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/17.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/18.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/18.png index 9d5fa2ee..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/18.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/18.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/19.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/19.png index c59240d6..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/19.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/19.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/2.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/2.png index c5affefb..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/2.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/2.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/20.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/20.png index 1be67712..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/20.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/20.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/21.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/21.png index 0cbda228..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/21.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/21.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/22.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/22.png index 1f756d46..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/22.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/22.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/23.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/23.png index dfee8a38..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/23.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/23.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/24.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/24.png index e571d280..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/24.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/24.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/25.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/25.png index e05c53f3..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/25.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/25.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/26.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/26.png index a9b20027..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/26.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/26.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/27.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/27.png index 13187933..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/27.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/27.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/28.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/28.png index c0bbf40a..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/28.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/28.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/29.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/29.png index 106a5b41..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/29.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/29.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/3.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/3.png index 9b709fc6..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/3.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/3.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/30.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/30.png index b70d5d67..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/30.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/30.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/31.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/31.png index a74406c2..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/31.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/31.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/32.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/32.png index 6cbf5b4e..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/32.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/32.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/33.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/33.png index 8a73dfc1..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/33.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/33.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/34.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/34.png index 2e10dc18..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/34.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/34.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/35.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/35.png index 938983c2..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/35.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/35.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/36.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/36.png index 2680cc1c..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/36.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/36.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/37.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/37.png index 185001a1..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/37.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/37.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/38.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/38.png index 05cf4df2..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/38.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/38.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/39.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/39.png index 42299a10..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/39.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/39.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/4.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/4.png index 8badfd81..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/4.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/4.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/40.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/40.png index b6e6fd23..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/40.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/40.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/5.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/5.png index e2d4244a..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/5.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/5.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/6.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/6.png index 6bf73d98..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/6.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/6.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/7.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/7.png index 4bf16aa3..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/7.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/7.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/8.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/8.png index 849ffdc9..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/8.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/8.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/9.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/9.png index 982d0fe9..464f868e 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/9.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Rainbow/9.png differ diff --git a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Soul_Text.png b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Soul_Text.png index 0a83902d..654e9e6a 100644 Binary files a/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Soul_Text.png and b/Test/System/SimpleStyle (1080p)/Graphics/6_Result/Soul_Text.png differ