1
0
Fork 0

Codechange: Use SingleGRFFileProps, if the feature has no spritegroup keys.

pull/14133/head
frosch 2025-04-26 18:59:55 +02:00 committed by frosch
parent 41a20e512d
commit 05504ec463
2 changed files with 16 additions and 6 deletions

View File

@ -266,7 +266,7 @@ static void TownHouseMapSpriteGroup(ByteReader &buf, uint8_t idcount)
continue;
}
hs->grf_prop.SetSpriteGroup(0, _cur_gps.spritegroups[groupid]);
hs->grf_prop.SetSpriteGroup(_cur_gps.spritegroups[groupid]);
}
}
@ -298,7 +298,7 @@ static void IndustryMapSpriteGroup(ByteReader &buf, uint8_t idcount)
continue;
}
indsp->grf_prop.SetSpriteGroup(0, _cur_gps.spritegroups[groupid]);
indsp->grf_prop.SetSpriteGroup(_cur_gps.spritegroups[groupid]);
}
}
@ -330,7 +330,7 @@ static void IndustrytileMapSpriteGroup(ByteReader &buf, uint8_t idcount)
continue;
}
indtsp->grf_prop.SetSpriteGroup(0, _cur_gps.spritegroups[groupid]);
indtsp->grf_prop.SetSpriteGroup(_cur_gps.spritegroups[groupid]);
}
}
@ -514,7 +514,7 @@ static void AirportMapSpriteGroup(ByteReader &buf, uint8_t idcount)
continue;
}
as->grf_prop.SetSpriteGroup(0, _cur_gps.spritegroups[groupid]);
as->grf_prop.SetSpriteGroup(_cur_gps.spritegroups[groupid]);
}
}
@ -546,7 +546,7 @@ static void AirportTileMapSpriteGroup(ByteReader &buf, uint8_t idcount)
continue;
}
airtsp->grf_prop.SetSpriteGroup(0, _cur_gps.spritegroups[groupid]);
airtsp->grf_prop.SetSpriteGroup(_cur_gps.spritegroups[groupid]);
}
}

View File

@ -327,6 +327,16 @@ struct FixedGRFFileProps : GRFFilePropsBase {
void SetSpriteGroup(size_t index, const struct SpriteGroup *spritegroup) { this->spritegroups[index] = spritegroup; }
};
/**
* Entities with single sprite group.
*/
struct SingleGRFFileProps : GRFFilePropsBase {
const struct SpriteGroup *spritegroup;
const struct SpriteGroup *GetSpriteGroup() const { return this->spritegroup; }
void SetSpriteGroup(const struct SpriteGroup *spritegroup) { this->spritegroup = spritegroup; }
};
/**
* Variable-length list of sprite groups for an entity.
* @tparam Tkey Key for indexing spritegroups
@ -374,7 +384,7 @@ struct CargoGRFFileProps : VariableGRFFileProps<CargoType> {
};
/** Data related to the handling of grf files. */
struct GRFFileProps : FixedGRFFileProps<1> {
struct GRFFileProps : SingleGRFFileProps {
/** Set all default data constructor for the props. */
constexpr GRFFileProps(uint16_t subst_id = 0) : subst_id(subst_id), override_id(subst_id) {}