[Freeciv-Dev] Re: Isometric view as a run-time option
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Saturday, February 3, 2001, at 08:25 PM, Thue wrote:
> Just one thing - How do I figure out if the client I am in support isometric
> view? A function call into the port-specific part?
There seem to be some functions foo_bar that are specialized foo_bar_iso. I've
thought it might be useful for other reasons to define a large struct full of
function pointers which define a client GUI. In this case the server can test
for NULL in various positions to determine the capabilities of the client. A
few macros and this may even be transparent to the existing code.
Eventually, several client GUIs (or AI) could implement this interface
(possibly partially), and the server may call all registered plug-in
interfaces. That was my first though for this, allowing GUI and AI to function
in parallel, events draw things but you can just passively watch, or maybe the
AI is really a scripting layer and you can use the GUI to interact as normal.
On the other hand, about the _iso functions, I believe the best solution is for
the non-GUI client code to not change behavior when running iso. I skimmed the
tileset.c part of the patch, and I wonder how much of it could be replaced by
extending the tileset.spec language to make iso tilesets just more options.
Said another way, push the iso specific oddities out of code and into data.
One last point of consideration: How well does any of this scale to new
representations? Say I hack up an OpenGL map view. Tilesets become texture maps
and are sure to be used in a completely new way once again.
Just some suggestions and ideas, i havn't actually touched the iso code since
I'm not GTK+ enabled.
'Good day.
[insert clever signoff here]
Brian Olson http://bolson.org/
- [Freeciv-Dev] Re: Isometric view as a run-time option,
Brian Olson <=
|
|