<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
and S_PILLAGE_BASE. >:(

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).

Ugh.


----------------------------------------------------------------------
出てけ!二度と見たくない。


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to