Summary: Ruleset-defined maximum city map radius (for UI,
Submitted by: jtn
Submitted on: Thu Jan 2 14:36:06 2014
Priority: 5 - Normal
Assigned to: None
Discussion Lock: Any
Since 2.3, we've had runtime variable city map radius controlled by effect
City_Radius_Sq (with the game supporting an absolute maximum radius of 5).
However, for a given ruleset, it's not feasible to determine an upper bound on
the city radius that is possible, so anything that has to be scaled by city
radius not in the context of a particular city at a particular time has to
assume the worst case (CITY_MAP_MAX_RADIUS_SQ).
This currently includes the city map UI, for instance, in
generate_citydlg_dimensions(). I also noticed it in bug #20905. It means
rulesets which don't use the maximum radius still pay for it in performance
Proposal: have cities.ruleset define a max_city_radius (or _sq) which clips
the possible values from the City_Radius_Sq effect. Send this to the client
and use it in e.g. generate_citydlg_dimensions().
This would ameliorate one of the main current usability issues with the SDL
client, the tiny city map caused by lack of bug #15804. As such I think it
could be worth doing even on stable branches, although it would need extra
fiddly signalling for backward compatibility.
(It has the slight disadvantage that bugs and usability issues with large city
radii now only show up with non-default rulesets. Fortunately we've been
beta-testing this since 2.3.0 so should hopefully have got most of the bugs
out by now :)
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list