@@ -5159,24 +5159,29 @@ static void NewSpriteGroup(ByteReader *b
{
byte num_loaded = type;
byte num_loading = buf->ReadByte();
if (!_cur.HasValidSpriteSets(feature)) {
grfmsg(0, "NewSpriteGroup: No sprite set to work on! Skipping");
return;
}
grfmsg(6, "NewSpriteGroup: New SpriteGroup 0x%02X, %u loaded, %u loading",
setid, num_loaded, num_loading);
if (num_loaded + num_loading == 0) {
grfmsg(1, "NewSpriteGroup: no result, skipping invalid RealSpriteGroup");
break;
if (num_loaded + num_loading == 1) {
/* Avoid creating 'Real' sprite group if only one option. */
uint16 spriteid = buf->ReadWord();
act_group = CreateGroupFromGroupID(feature, setid, type, spriteid);
grfmsg(8, "NewSpriteGroup: one result, skipping RealSpriteGroup = subset %u", spriteid);
std::vector<uint16> loaded;
std::vector<uint16> loading;
for (uint i = 0; i < num_loaded; i++) {
Status change: