From 2c9743aaeb267a25d59f4d3438aa3b790af0d2b6 Mon Sep 17 00:00:00 2001 From: Micdu70 Date: Sun, 5 Jul 2026 19:46:48 +0200 Subject: [PATCH] Bug fix --- Entities/Multilingual.cs | 23 +++++++++++++++++++- FallGuysStats.csproj | 12 +++++----- FodyWeavers.xsd | 10 +++++++++ Views/Stats.cs | 47 ++++++++++++++++++++++++++++++++++++++-- 4 files changed, 83 insertions(+), 9 deletions(-) diff --git a/Entities/Multilingual.cs b/Entities/Multilingual.cs index 85cd6e7f5..25c416af3 100644 --- a/Entities/Multilingual.cs +++ b/Entities/Multilingual.cs @@ -1626,7 +1626,7 @@ public static class Multilingual { { "overlay_finals", "FINALES" }, { "overlay_qualify_chance", "CLASIF." }, { "overlay_qualify_gold", "ORO" }, - { "overlay_longest", "MAS LENTO" }, + { "overlay_longest", "MAS LARGO" }, { "overlay_fastest", "MAS RAPIDO" }, { "overlay_personal_best", "PB" }, { "overlay_high_score", "MEJOR PUNT." }, @@ -15604,6 +15604,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "Blast Ball Trials" }, { "event_only_blast_ball_trials_template", "Blast Ball Trials" }, { "event_only_bubbles_template", "Bubble Trouble Trials" }, + { "event_only_button_bashers_ranked", "Button Basher Royale Ranked" }, { "event_only_button_bashers_template", "Button Basher Royale" }, { "event_only_drumtop_0607_to_0707_2022", "Lily Leapers Limbo" }, { "event_only_drumtop_0908_to_1008_2022", "Lily Leapers Limbo" }, @@ -15657,6 +15658,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "Roll Call" }, { "event_only_roll_out_2005_to_2205_2022", "Roll Call" }, { "event_only_roll_out_custom_lobby", "Roll Call" }, + { "event_only_roll_out_ranked", "Roll Call Ranked" }, { "event_only_season_2_variation_template", "Medieval Mix Up" }, { "event_only_season_3_variation_template", "Mix it Up!" }, { "event_only_season_4", "Future Fumble" }, @@ -15760,6 +15762,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "X-treme Squads" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "X-treme Solos" }, { "event_xtreme_fall_guys_template", "X-treme Solos" }, + { "event_xtreme_squads_template_ranked", "X-treme Squads Ranked" }, { "event_yeetus_111022_121022", "Big Yeetus Tour" }, { "event_yeetus_3005_to_3105_2022", "Big Yeetus Tour" }, { "event_yeetus_template", "Big Yeetus Tour" }, @@ -16554,6 +16557,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "Épreuves Balle rebondissante" }, { "event_only_blast_ball_trials_template", "Épreuves Balle rebondissante" }, { "event_only_bubbles_template", "Bulles qui s'accumulent" }, + { "event_only_button_bashers_ranked", "Top Massacreurs de boutons - Classé" }, { "event_only_button_bashers_template", "Top Massacreur de boutons" }, { "event_only_drumtop_0607_to_0707_2022", "Fol'Virevoltes tropicales" }, { "event_only_drumtop_0908_to_1008_2022", "Fol'Virevoltes tropicales" }, @@ -16607,6 +16611,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "Tournée Générale" }, { "event_only_roll_out_2005_to_2205_2022", "Tournée Générale" }, { "event_only_roll_out_custom_lobby", "Tournée Générale" }, + { "event_only_roll_out_ranked", "Tournée Générale - Classé" }, { "event_only_season_2_variation_template", "Joutes médiévales" }, { "event_only_season_3_variation_template", "Remix" }, { "event_only_season_4", "Cafouillis futuristes" }, @@ -16710,6 +16715,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "Groupes Xtrême" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "Solo Xtrême" }, { "event_xtreme_fall_guys_template", "Solo Xtrême" }, + { "event_xtreme_squads_template_ranked", "Groupes Xtrême - Classé" }, { "event_yeetus_111022_121022", "Spéciale Big Yeetus" }, { "event_yeetus_3005_to_3105_2022", "Spéciale Big Yeetus" }, { "event_yeetus_template", "Spéciale Big Yeetus" }, @@ -17504,6 +17510,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "Blast Ball Trials" }, { "event_only_blast_ball_trials_template", "Blast Ball Trials" }, { "event_only_bubbles_template", "Bubble Trouble Trials" }, + { "event_only_button_bashers_ranked", "Button Basher Royale Ranked" }, { "event_only_button_bashers_template", "Button Basher Royale" }, { "event_only_drumtop_0607_to_0707_2022", "Lily Leapers Limbo" }, { "event_only_drumtop_0908_to_1008_2022", "Lily Leapers Limbo" }, @@ -17557,6 +17564,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "Roll Call" }, { "event_only_roll_out_2005_to_2205_2022", "Roll Call" }, { "event_only_roll_out_custom_lobby", "Roll Call" }, + { "event_only_roll_out_ranked", "Roll Call Ranked" }, { "event_only_season_2_variation_template", "Medieval Mix Up" }, { "event_only_season_3_variation_template", "Mix it Up!" }, { "event_only_season_4", "Future Fumble" }, @@ -17660,6 +17668,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "X-treme Squads" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "X-treme Solos" }, { "event_xtreme_fall_guys_template", "X-treme Solos" }, + { "event_xtreme_squads_template_ranked", "X-treme Squads Ranked" }, { "event_yeetus_111022_121022", "Big Yeetus Tour" }, { "event_yeetus_3005_to_3105_2022", "Big Yeetus Tour" }, { "event_yeetus_template", "Big Yeetus Tour" }, @@ -18454,6 +18463,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "블라스트 공 트라이얼" }, { "event_only_blast_ball_trials_template", "블라스트 공 트라이얼" }, { "event_only_bubbles_template", "<비눗방울 퐁퐁> 트라이얼" }, + { "event_only_button_bashers_ranked", "버튼 누르기 로얄 랭크" }, { "event_only_button_bashers_template", "버튼 누르기 배틀로얄" }, { "event_only_drumtop_0607_to_0707_2022", "정글 바운스 림보" }, { "event_only_drumtop_0908_to_1008_2022", "정글 바운스 림보" }, @@ -18507,6 +18517,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "돌고 또 돌고" }, { "event_only_roll_out_2005_to_2205_2022", "돌고 또 돌고" }, { "event_only_roll_out_custom_lobby", "돌고 또 돌고" }, + { "event_only_roll_out_ranked", "돌고 또 돌고 랭크" }, { "event_only_season_2_variation_template", "중세 믹스업" }, { "event_only_season_3_variation_template", "믹스업!" }, { "event_only_season_4", "미래 펌블" }, @@ -18610,6 +18621,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "X-익스트림 스쿼드" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "X-익스트림 솔로" }, { "event_xtreme_fall_guys_template", "X-익스트림 솔로" }, + { "event_xtreme_squads_template_ranked", "X-익스트림 스쿼드 랭크" }, { "event_yeetus_111022_121022", "대형 망치 투어" }, { "event_yeetus_3005_to_3105_2022", "대형 망치 투어" }, { "event_yeetus_template", "대형 망치 투어" }, @@ -19404,6 +19416,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "ブラストボールトライアル" }, { "event_only_blast_ball_trials_template", "ブラストボールトライアル" }, { "event_only_bubbles_template", "バブルトラブルトライアル" }, + { "event_only_button_bashers_ranked", "ボタンバッシャーズ・ロイヤル ランク戦" }, { "event_only_button_bashers_template", "ボタンバッシャーロワイヤル" }, { "event_only_drumtop_0607_to_0707_2022", "リリー・リーパー・リンボ" }, { "event_only_drumtop_0908_to_1008_2022", "リリー・リーパー・リンボ" }, @@ -19457,6 +19470,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "ロールコール" }, { "event_only_roll_out_2005_to_2205_2022", "ロールコール" }, { "event_only_roll_out_custom_lobby", "ロールコール" }, + { "event_only_roll_out_ranked", "ロールコール ランク戦" }, { "event_only_season_2_variation_template", "中世ざんまい" }, { "event_only_season_3_variation_template", "ミックスアップ!" }, { "event_only_season_4", "近未来ファンブル" }, @@ -19560,6 +19574,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "エクストリーム・スクワッド" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "エクストリーム・ソロ" }, { "event_xtreme_fall_guys_template", "エクストリーム・ソロ" }, + { "event_xtreme_squads_template_ranked", "エクストリーム・スクワッド ランク戦" }, { "event_yeetus_111022_121022", "ハンマーツアー" }, { "event_yeetus_3005_to_3105_2022", "ハンマーツアー" }, { "event_yeetus_template", "ハンマーツアー" }, @@ -20354,6 +20369,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "震荡球试炼" }, { "event_only_blast_ball_trials_template", "震荡球试炼" }, { "event_only_bubbles_template", "泡泡危机试炼" }, + { "event_only_button_bashers_ranked", "砸键狂豆大逃杀排位赛" }, { "event_only_button_bashers_template", "砸键狂豆大逃杀" }, { "event_only_drumtop_0607_to_0707_2022", "糖豆莲上飘" }, { "event_only_drumtop_0908_to_1008_2022", "糖豆莲上飘" }, @@ -20407,6 +20423,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "滚滚而来" }, { "event_only_roll_out_2005_to_2205_2022", "滚滚而来" }, { "event_only_roll_out_custom_lobby", "滚滚而来" }, + { "event_only_roll_out_ranked", "滚滚而来排位赛" }, { "event_only_season_2_variation_template", "中世纪大乱斗" }, { "event_only_season_3_variation_template", "大混战!" }, { "event_only_season_4", "未来探索" }, @@ -20510,6 +20527,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "极限糖豆人小队" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "极限糖豆人单人" }, { "event_xtreme_fall_guys_template", "极限糖豆人单人" }, + { "event_xtreme_squads_template_ranked", "极限糖豆人小队排位赛" }, { "event_yeetus_111022_121022", "重锤巡回赛" }, { "event_yeetus_3005_to_3105_2022", "重锤巡回赛" }, { "event_yeetus_template", "重锤巡回赛" }, @@ -21304,6 +21322,7 @@ public static class Multilingual { { "event_only_blast_ball_trials_1907_to_2007_2022", "震盪球試煉" }, { "event_only_blast_ball_trials_template", "震盪球試煉" }, { "event_only_bubbles_template", "泡泡危機試煉" }, + { "event_only_button_bashers_ranked", "按鈕破壞者大亂鬥排名戰" }, { "event_only_button_bashers_template", "砸鍵狂豆大逃殺" }, { "event_only_drumtop_0607_to_0707_2022", "糖豆蓮上飄" }, { "event_only_drumtop_0908_to_1008_2022", "糖豆蓮上飄" }, @@ -21357,6 +21376,7 @@ public static class Multilingual { { "event_only_roll_out_0806_to_0906_2022", "滾滾而來" }, { "event_only_roll_out_2005_to_2205_2022", "滾滾而來" }, { "event_only_roll_out_custom_lobby", "滾滾而來" }, + { "event_only_roll_out_ranked", "多爾滾 排名賽" }, { "event_only_season_2_variation_template", "中世紀大亂鬥" }, { "event_only_season_3_variation_template", "大混戰!" }, { "event_only_season_4", "未來探索" }, @@ -21460,6 +21480,7 @@ public static class Multilingual { { "event_xtreme_fall_guys_squads_template", "極限糖豆人小隊" }, { "event_xtreme_fall_guys_ss2_0310_0510_2022", "極限糖豆人單人" }, { "event_xtreme_fall_guys_template", "極限糖豆人單人" }, + { "event_xtreme_squads_template_ranked", "X 極限小隊排名戰" }, { "event_yeetus_111022_121022", "重錘巡迴賽" }, { "event_yeetus_3005_to_3105_2022", "重錘巡迴賽" }, { "event_yeetus_template", "重錘巡迴賽" }, diff --git a/FallGuysStats.csproj b/FallGuysStats.csproj index ff52181f8..63d75ea20 100644 --- a/FallGuysStats.csproj +++ b/FallGuysStats.csproj @@ -1177,7 +1177,7 @@ - + all @@ -1185,7 +1185,7 @@ - + @@ -1198,10 +1198,10 @@ - + - + @@ -1235,8 +1235,8 @@ - - + + diff --git a/FodyWeavers.xsd b/FodyWeavers.xsd index f2dbece78..dbeb10209 100644 --- a/FodyWeavers.xsd +++ b/FodyWeavers.xsd @@ -27,6 +27,16 @@ A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + A list of runtimes to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtimes names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + Obsolete, use UnmanagedWinX86Assemblies instead diff --git a/Views/Stats.cs b/Views/Stats.cs index 0a054b09f..7f64b092a 100644 --- a/Views/Stats.cs +++ b/Views/Stats.cs @@ -138,6 +138,8 @@ private static bool IsAlreadyRunning() { ("21.0.1", new DateTime(2025, 11, 11, 0, 0, 0, DateTimeKind.Utc)), // Arctic Adventures Update ("21.1", new DateTime(2026, 1, 1, 0, 0, 0, DateTimeKind.Utc)), // Myths and Legends Update ("21.2", new DateTime(2026, 3, 1, 0, 0, 0, DateTimeKind.Utc)), // Fools Folly Update + ("FP25", new DateTime(2026, 5, 1, 0, 0, 0, DateTimeKind.Utc)), // Aquatic Antics Fame Pass + ("FP26", new DateTime(2026, 7, 1, 0, 0, 0, DateTimeKind.Utc)), // Fall Forests Fame Pass }; private static DateTime SeasonStart, WeekStart, DayStart; private static DateTime SessionStart = DateTime.UtcNow; @@ -304,7 +306,7 @@ private static bool IsAlreadyRunning() { private readonly object dbTaskLock = new object(); public List dbTasks = new List(); - private readonly int currentDbVersion = 135; + private readonly int currentDbVersion = 136; public readonly string[] PublicShowIdList = { "main_show", @@ -352,7 +354,9 @@ private static bool IsAlreadyRunning() { }; public readonly string[] PublicShowIdList2 = { + "event_only_button_bashers_ranked", "event_only_finals_v3_ranked", + "event_only_roll_out_ranked", "xtreme_solos_template_ranked", "ranked_show_knockout", "knockout_mode", @@ -362,6 +366,7 @@ private static bool IsAlreadyRunning() { "no_elimination_explore", "event_only_races_any_final_template", "event_only_fall_ball_trios_ranked", + "event_xtreme_squads_template_ranked", "greatestsquads_ranked", "greatestsquads_ltm", "teams_show_ltm", @@ -2045,6 +2050,41 @@ private void UpdateDatabaseDateFormat() { private void UpdateDatabaseVersion() { for (int version = this.CurrentSettings.Version; version < currentDbVersion; version++) { switch (version) { + case 135: { + if (this.CurrentSettings.Multilingual >= 2) { + ++this.CurrentSettings.Multilingual; + CurrentLanguage = (Language)this.CurrentSettings.Multilingual; + Overlay.SetDefaultFont(18, CurrentLanguage); + } + + List roundInfoList = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "event_only_roll_out_ranked") || + string.Equals(ri.ShowNameId, "event_only_button_bashers_ranked") + select ri).ToList(); + + Profiles profile = this.Profiles.FindOne(Query.EQ("LinkedShowId", "ranked_solo_show")); + int profileId = profile?.ProfileId ?? -1; + foreach (RoundInfo ri in roundInfoList) { + if (profileId != -1) ri.Profile = profileId; + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList); + this.StatsDB.Commit(); + + List roundInfoList2 = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "event_xtreme_squads_template_ranked") + select ri).ToList(); + + Profiles profile2 = this.Profiles.FindOne(Query.EQ("LinkedShowId", "ranked_squads_show")); + profileId = profile2?.ProfileId ?? -1; + foreach (RoundInfo ri in roundInfoList2) { + if (profileId != -1) ri.Profile = profileId; + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList2); + this.StatsDB.Commit(); + break; + } case 134: { List roundInfoList = (from ri in this.RoundDetails.FindAll() where string.Equals(ri.ShowNameId, "reversed_knockout_show") @@ -6090,10 +6130,13 @@ public string GetMainGroupShowId(string showId) { case "ranked_show_knockout": case "xtreme_solos_template_ranked": case "event_only_finals_v3_ranked": + case "event_only_roll_out_ranked": + case "event_only_button_bashers_ranked": return "ranked_solo_show"; case "event_only_fall_ball_trios_ranked": return "ranked_trios_show"; case "greatestsquads_ranked": + case "event_xtreme_squads_template_ranked": return "ranked_squads_show"; // case "anniversary_fp12_ltm": case "classic_solo_main_show": @@ -6804,7 +6847,7 @@ private int GetDataGridViewColumnWidth(string columnName, string columnText) { break; case "AveFinish": sizeOfText = TextRenderer.MeasureText(columnText, this.dataGridViewCellStyle1.Font).Width; - sizeOfText += CurrentLanguage == Language.Spanish ? 10 : CurrentLanguage == Language.SimplifiedChinese || CurrentLanguage == Language.TraditionalChinese ? 20 : 0; + sizeOfText += CurrentLanguage == Language.French || CurrentLanguage == Language.Spanish ? 10 : CurrentLanguage == Language.SimplifiedChinese || CurrentLanguage == Language.TraditionalChinese ? 20 : 0; break; default: return 0;