diff --git a/isometric-park-fna/FNAGame.cs b/isometric-park-fna/FNAGame.cs --- a/isometric-park-fna/FNAGame.cs +++ b/isometric-park-fna/FNAGame.cs @@ -70,7 +70,8 @@ TimeSpan worldUpdateTime = TimeSpan.Zero; TimeSpan simulationUpdateTime = TimeSpan.Zero; - List past_fps = new List(100); + Queue past_fps = new Queue(100); + List past_fps_sorted = new List(100); // Queue past_draw = new Queue(100); List past_draw_millis = new List(100); int tilesDrawn = 0; @@ -1003,9 +1004,9 @@ { past_draw_millis.Add((float)this.drawTime.TotalMilliseconds); past_draw_millis.Sort(); - past_fps.Add(this.frameRate); - past_fps.Sort(); - + past_fps.Enqueue(this.frameRate); + past_fps_sorted.Add(this.frameRate); + past_fps_sorted.Sort(); /* if (this.frameRate > 60.0) @@ -1079,8 +1080,8 @@ additionalInfo.Add("Dialog entries", entries); additionalInfo.Add("Metadata entries", descriptions); - if ((past_fps.Count() > 5) && show_another_window) { - var past_fps_floats = past_fps.ToArray(); + if ((past_fps_sorted.Count() > 5) && show_another_window) { + var past_fps_floats = past_fps_sorted.ToArray(); additionalInfo.Add(".01%% fps", MathUtils.Percentile(past_fps_floats, 0.0001f).ToString()); additionalInfo.Add(".1%% fps", MathUtils.Percentile(past_fps_floats, 0.001f).ToString()); additionalInfo.Add("1%% fps", MathUtils.Percentile(past_fps_floats, 0.01f).ToString()); diff --git a/isometric-park-fna/Simulation.cs b/isometric-park-fna/Simulation.cs --- a/isometric-park-fna/Simulation.cs +++ b/isometric-park-fna/Simulation.cs @@ -56,7 +56,6 @@ } } - private const float SPONTANEOUS_NEW_TREE_CHANCE = 0.9995f; private const float NEIGHBOR_NEW_TREE_CHANCE = 0.995f; private const float NEIGHBOR_CROWDS_TREE_CHANCE = 0.995f; @@ -133,14 +132,12 @@ { if (this.budgets.Count >= 2) { return this.budgets[this.budgets.Count - 2]; - } else { return new Budget { }; } } - } public System.Collections.Generic.IEnumerable allBudgets() @@ -215,7 +212,6 @@ { get { return this.map.iterate_cells_with_neighbors(7).Where(c => c.HasTree).Count(); - } } @@ -375,12 +371,10 @@ public Budget applyBudget(Budget budget) { - this.money = budget.money - (budget.upkeep + budget.tree_planting + budget.tree_clearing + budget.enforcement) + (budget.subsidy + budget.contracts + budget.misc); - budget.final_money = this.money; budget.cashflow = budget.final_money - budget.money;