<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40100 >
Just noting in passing that there's Yet Another Copy of the city worker in
citymap.c, this time as an -(pcity->id). What a mess!
We have a citymap (whole world), city_map for each city, the world tiles,
and player tiles.... With conversions from city_maps to CMA that I don't
even want to think about at the moment.
Also, the packet interface to the client sends this data per city, instead
of per tile, so every tiny change sends a huge city packet.
The code spends an inordinate amount of time circling outward from tiles
looking for adjacent cities to update.
Unfortunately, it's sufficiently embedded that ripping the entire thing out
entirely is too hard. I'll have to break it down into steps. The first
step will be trying to come up with a sensible naming scheme for functions,
and combining many cases of nearly identical code into common functions.
Maybe that will be enough to figure out how a city size is munged every few
Freeciv-dev mailing list