<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