[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 Sunday 04 February 2001 18:57, Brian Olson wrote:
> 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/
The reason for the *_iso() functions is that they need another API than other
functions... in the cases they use the same API they are not called _iso. So
a common API would be hard to make...
-Thue
|
|