Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2001:
[Freeciv-Dev] Re: Isometric view as a run-time option
Home

[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]
To: Thue <thue@xxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Isometric view as a run-time option
From: Brian Olson <locke@xxxxxxx>
Date: Sun, 4 Feb 2001 12:57:26 -0500

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/


[Prev in Thread] Current Thread [Next in Thread]