Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2000:
[Freeciv-Dev] Re: Windows
Home

[Freeciv-Dev] Re: Windows

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Sam BC <sambc@xxxxxxxxxxxxxxxxxxx>
Cc: Freeciv Development Mailing List <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: Windows
From: Daniel Burrows <Daniel_Burrows@xxxxxxxxx>
Date: Wed, 23 Feb 2000 19:52:32 -0500

On Thu, Feb 24, 2000 at 12:38:15AM -0000, Sam BC was heard to say:
> Okay, apologies if this is a tired topic and I missed it before joining
> recently, but:
> 
> would it not work to produce a separately-coded windows client that takes
> full advantage of Win32 APIs and GUI design, but knows how to connect to a
> FreeCiv server... my understanding is that all of the cunning code is at the
> server and the client it dumb (if that's wrong, sorry, my looks at the code
> have been very skim-ish). If so, then this would be (comparatively) easy.

  Hmm.  If you think about it, the server is probably actually *easier* to port
than the client (and I think it's already been done, which is probably why you
didn't offer to do it :) ), since all that cunning code is just calculations,
which shouldn't be platform-dependent, especially since it's been ported to
everything under the sun already :)  The lowest networking layer might need some
work, but everything else, all 26k lines of code, should be fine, as will
everything in common/ .  Probably.  (mind, I avoid Windows programming like the
plague [1], so there may be other subtle API dif^H^H^H^H^H^H^Hinnovations that
I'm not aware of)

  The client, on the other hand, is 25k lines of code, of which 18k are
*heavily* platform-dependent.  (this is for the GTK+ client; the MUI client
has 16k lines, the XAW client has 23k just in the platform-dependent area, and
the win32 and BeOS clients have..um..0 lines of code :-) )] -- that code deals
mostly with creating widgets, handling events, and drawing stuff on the screen,
which can't be abstracted in any useful way. [2]

  I'm not trying to dissuade you at all, just pointing out that it's not as
trivial as you might think at first.

  Daniel

  [1] ever since I tried to write a program on Windows, that is.

  [2] you could design some sort of abstract widget toolkit, but that wouldn't
     take the different UI conventions, and different capabilities, of different
     platforms into account, so you'd end up with something that was mediocre on
     all systems.

-- 
  Fate always wins...at least, when people stick to the rules.

             -- Terry Pratchett, _Interesting Times_



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