<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40237 >

Using tile_has_any_specials to test for the presence of any
specials can spuriosly return TRUE even if the tile has
no specials.

By specials I mean those in [0, S_LAST), i.e. those given by
tile_special_type_iterate and causing pretty pictures to
be drawn on the world, not the fake specials S_RESOURCE_VALID

The abuse of struct tile's bv_special special field to hold
the fake specials then causes tile_has_any_specials to act
confusingly (e.g. it would return TRUE, but then iterating
through the specials would not find any... :().

Modifying tile_has_any_specials to account for the fake
specials is not a good solution; the fakers need to be moved
out of bv_special and into their own fields in struct tile
(or whereever).



Freeciv-dev mailing list

Reply via email to