1
0
Fork 0

Codechange: use std::array.fill over memset

pull/14244/head
Rubidium 2025-05-06 22:25:36 +02:00 committed by rubidium42
parent 228f9ca941
commit 96873dee63
7 changed files with 10 additions and 11 deletions

View File

@ -424,7 +424,6 @@ Sprite *Blitter_32bppOptimized::EncodeInternal(SpriteType sprite_type, const Spr
dest_sprite->y_offs = root_sprite.y_offs;
SpriteData *dst = (SpriteData *)dest_sprite->data;
memset(dst, 0, sizeof(*dst));
uint32_t offset = 0;
for (ZoomLevel z = zoom_min; z <= zoom_max; z++) {

View File

@ -45,7 +45,7 @@ struct Object : ObjectPool::PoolItem<&_object_pool> {
static inline void IncTypeCount(ObjectType type)
{
assert(type < NUM_OBJECTS);
counts[type]++;
Object::counts[type]++;
}
/**
@ -56,7 +56,7 @@ struct Object : ObjectPool::PoolItem<&_object_pool> {
static inline void DecTypeCount(ObjectType type)
{
assert(type < NUM_OBJECTS);
counts[type]--;
Object::counts[type]--;
}
/**
@ -67,17 +67,17 @@ struct Object : ObjectPool::PoolItem<&_object_pool> {
static inline uint16_t GetTypeCount(ObjectType type)
{
assert(type < NUM_OBJECTS);
return counts[type];
return Object::counts[type];
}
/** Resets object counts. */
static inline void ResetTypeCounts()
{
memset(&counts, 0, sizeof(counts));
Object::counts.fill(0);
}
protected:
static uint16_t counts[NUM_OBJECTS]; ///< Number of objects per type ingame
static std::array<uint16_t, NUM_OBJECTS> counts; ///< Number of objects per type ingame
};
/**

View File

@ -45,7 +45,7 @@
ObjectPool _object_pool("Object");
INSTANTIATE_POOL_METHODS(Object)
uint16_t Object::counts[NUM_OBJECTS];
/* static */ std::array<uint16_t, NUM_OBJECTS> Object::counts;
/**
* Get the object associated with a tile.

View File

@ -25,7 +25,7 @@
*/
void PrepareOldDiffCustom()
{
memset(_old_diff_custom, 0, sizeof(_old_diff_custom));
_old_diff_custom.fill(0);
}
/**

View File

@ -39,6 +39,6 @@ extern SettingTable _win32_settings;
static const uint GAME_DIFFICULTY_NUM = 18;
extern const std::array<std::string, GAME_DIFFICULTY_NUM> _old_diff_settings;
extern uint16_t _old_diff_custom[GAME_DIFFICULTY_NUM];
extern std::array<uint16_t, GAME_DIFFICULTY_NUM> _old_diff_custom;
#endif /* SETTINGS_TABLE_H */

View File

@ -31,7 +31,7 @@ using SpriteComponents = EnumBitSet<SpriteComponent, uint8_t, SpriteComponent::E
*/
template <class T>
class SpriteCollMap {
std::array<T, to_underlying(ZoomLevel::End)> data;
std::array<T, to_underlying(ZoomLevel::End)> data{};
public:
inline constexpr T &operator[](const ZoomLevel &zoom) { return this->data[to_underlying(zoom)]; }
inline constexpr const T &operator[](const ZoomLevel &zoom) const { return this->data[to_underlying(zoom)]; }

View File

@ -10,7 +10,7 @@
[pre-amble]
const std::array<std::string, GAME_DIFFICULTY_NUM> _old_diff_settings{"max_no_competitors", "competitor_start_time", "number_towns", "industry_density", "max_loan", "initial_interest", "vehicle_costs", "competitor_speed", "competitor_intelligence", "vehicle_breakdowns", "subsidy_multiplier", "construction_cost", "terrain_type", "quantity_sea_lakes", "economy", "line_reverse_mode", "disasters", "town_council_tolerance"};
uint16_t _old_diff_custom[GAME_DIFFICULTY_NUM];
std::array<uint16_t, GAME_DIFFICULTY_NUM> _old_diff_custom;
uint8_t _old_diff_level; ///< Old difficulty level from old savegames
static void DifficultyNoiseChange(int32_t new_value);