[CF-Devel] Client side improvements
crossfire-devel at archives.real-time.com
crossfire-devel at archives.real-time.com
Sun Nov 9 15:29:53 CST 2003
Nicolas Weeger wrote:
>
Hello.
>
>
I want to improve the client with things like macros, stuff like that.
>
>
I wanted opinions on the following questions:
>
* should i improve the 'common' client, or only a specific one? (i plan
>
on improving at least gtk one, since that's the one i'm using)
This depends on the nature of the change.
The stuff in the common directly is not directly aware of the graphic system
that is being used. So it can make calls to thing like 'update what the map
looks like', but can't do things like 'draw a line for x1,y1 to x2,y2', unless
appropriate callback is made into the specific graphic support area.
that said, almost certainly, you'd do a mix - some data in the common area to
process commands player may type, or grab information from server and
potentially add new flags/bits of data to information that the graphic area may
process.
It is acceptable to not update all the possible graphic clients, however, if
you are adding new callback routines, you need to at least put that stub in the
other directories.
>
* is it better to have some script system, with client's specific
>
language? or something like python/perl/your-language-here plugins, like
>
for server?
Well, what is the target audience? And what do you envision the scripts to do?
If the target is for most any player to write simple scripts (if $hp<20% apply
healing potion) then you may want a scripting language that is relatively simple
and specially written (because a client interperted script coudl look up
variables like $hp or what not directly). However, such a simple interface
limits what scripts can do.
If OTOH, you'd expect few people to write scripts, and more likely that they
get destributed to other peoples (posting on net, whatever) then a more esoteric
interface that is more powerful may not be as bad.
But note that if you do something like use python or perl, you'd need to write
some similar interface to what the server uses (dynamically loads the library,
connects to certain events, whole bunch of wrapper functions needed to return
information, etc). And at some level, I'm then concerned with the amount of
extra code and complication that adds to the client.
_______________________________________________
crossfire-devel mailing list
crossfire-devel at lists.real-time.com
https://mailman.real-time.com/mailman/listinfo/crossfire-devel
More information about the crossfire
mailing list