/** ** Init unit types. */ void InitUnitTypes(int reset_player_stats) { for (size_t i = 0; i < UnitTypes.size(); ++i) { CUnitType &type = *UnitTypes[i]; Assert(type.Slot == (int)i); if (type.Animations == NULL) { DebugPrint(_("unit-type '%s' without animations, ignored.\n") _C_ type.Ident.c_str()); continue; } // Add idents to hash. UnitTypeMap[type.Ident] = UnitTypes[i]; // Determine still frame type.StillFrame = GetStillFrame(type); // Lookup BuildingTypes for (std::vector<CBuildRestriction *>::iterator b = type.BuildingRules.begin(); b < type.BuildingRules.end(); ++b) { (*b)->Init(); } // Lookup AiBuildingTypes for (std::vector<CBuildRestriction *>::iterator b = type.AiBuildingRules.begin(); b < type.AiBuildingRules.end(); ++b) { (*b)->Init(); } } // LUDO : called after game is loaded -> don't reset stats ! UpdateStats(reset_player_stats); // Calculate the stats }
/** ** Init unit types. */ void InitUnitTypes(int reset_player_stats) { CUnitType *type; for (size_t i = 0; i < UnitTypes.size(); ++i) { type = UnitTypes[i]; Assert(type->Slot == (int)i); // Add idents to hash. UnitTypeMap[type->Ident] = UnitTypes[i]; // Determine still frame type->StillFrame = GetStillFrame(type); // Lookup BuildingTypes for (std::vector<CBuildRestriction *>::iterator b = type->BuildingRules.begin(); b < type->BuildingRules.end(); ++b) { (*b)->Init(); } } // LUDO : called after game is loaded -> don't reset stats ! UpdateStats(reset_player_stats); // Calculate the stats }