Codechange: Replace GroupStatistics' num_engines with std::map. (#11849)

This removes manual memory management with calloc/free calls, and prevents potentially large arrays being allocated for each group.

(cherry picked from commit 8797cc7ef2)
This commit is contained in:
Peter Nelson
2024-01-21 14:09:44 +00:00
committed by Jonathan G Rennison
parent 17934bcc90
commit be147651d4
4 changed files with 22 additions and 21 deletions

View File

@@ -252,7 +252,7 @@ static bool EngineIntroDateSorter(const GUIEngineListItem &a, const GUIEngineLis
static bool EngineVehicleCountSorter(const GUIEngineListItem &a, const GUIEngineListItem &b)
{
const GroupStatistics &stats = GroupStatistics::Get(_local_company, ALL_GROUP, Engine::Get(a.engine_id)->type);
const int r = ((int) stats.num_engines[a.engine_id]) - ((int) stats.num_engines[b.engine_id]);
const int r = ((int) stats.GetNumEngines(a.engine_id)) - ((int) stats.GetNumEngines(b.engine_id));
/* Use EngineID to sort instead since we want consistent sorting */
if (r == 0) return EngineNumberSorter(a, b);