Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Crossfire portability



 In general, most of the X specific stuff is in the common/xutil.c and
server/xio.c file.

 However, some X stuff is in the various structures (things like the
pixmaps structures).  There is no clean way around it, except to use
(store) these in the two files mentioned, and then ahve some element in
the player structure that indexes these.  This gets pretty messy.

 Why is it only X?  Can't really say.  I have heard the someone ported
it to the Amiga at some time (but performance was a different issue).  So
it can certainly be done.  But a few thoughts:

1) Many people like the fact that Crossfire is a multi player game.  I
think that porting all the stuff to the different platforms (Sockets, and
transmission of graphics) would make keeping it a multi player game on those
other systems pretty difficulty.

 Also, X had the built in ability to display graphics on remote systems.
This makes for the multiplayer aspect much easier.  I don't know to what
extent those capabilities exist on other platforms.

 As a side note, there are programs for both the Mac and PC that allow them
to display X graphics without having to run a unix variant.  These
tend to be commercial products, and fairly expensive, but they do exist.

 The main reason the Crossfire is unix and X only is that is the platform
it was developed on.  IT could be asked about many X programs 'why
isn't there a port to XXX for this program?'.  And the simple answer is,
that the authors wrote it for X/unix, and don't want to spend the
effort to port it to other systems (make lack the facilities to do so also),
and someone else has not.

 When client/server comes about, the protocol that uses should make it easier
to have client programs for most any system.  I believe it was Carl who
was coming up with a second draft of the protocol for it, don't know where
that has gone,

 --MArk