xwords/linux
ehouse 8f08667f5d Lots more changes, and some reversions. Win32, gtk and ncurses all
work now including saving/opening games.  Network play probably
doesn't as writing/reading a dict from stream has to change.  It's
doubtful patches from this branch will be merged.  Rather, I'll take
the concepts and crib some code when re-implementing.  Concepts:
XP_UCHAR becomes UTF-8 on both platforms, and on wince we translate to
wchar_t just as now but from the utf-8 codepage.  That keeps the work
and risk to a minimum.
2009-03-29 15:53:15 +00:00
..
scripts use PID as cookie so creation order visible on relay during testing 2009-03-02 01:46:10 +00:00
.cvsignore new directories to ignore 2006-02-18 14:08:04 +00:00
cursesask.c Make a couple of dialogs format for narrower screen and respect keypad buttons. 2008-02-02 20:58:44 +00:00
cursesask.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cursesdlgutil.c get rid of const-related warnings 2008-02-16 15:49:03 +00:00
cursesdlgutil.h get rid of const-related warnings 2008-02-16 15:49:03 +00:00
cursesdraw.c Use new draw API but same bitmap as always (large in tile, small in 2009-01-13 13:02:17 +00:00
cursesletterask.c separate UI-specific code so that a non-UI linux library can be compiled, e.g. for use with a toolkit not gtk or ncurses 2008-06-30 03:39:27 +00:00
cursesletterask.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cursesmain.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
cursesmain.h get rid of const-related warnings 2008-02-16 15:49:03 +00:00
filestream.c Add, and use, stream_putString. Saves 500 bytes on win32. 2006-04-25 13:31:15 +00:00
filestream.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
flip.xpm first checkin 2003-11-01 05:35:29 +00:00
gtkask.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
gtkask.h Too many changes to list. Linux works to display utf-8 dict text on 2009-03-22 23:58:22 +00:00
gtkconnsdlg.c Lots of changes to make gtk version better test with relay: make 2009-02-28 18:52:44 +00:00
gtkconnsdlg.h start adding conns dialog 2009-02-24 04:34:37 +00:00
gtkdraw.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
gtkdraw.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
gtkletterask.c Too many changes to list. Linux works to display utf-8 dict text on 2009-03-22 23:58:22 +00:00
gtkletterask.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
gtkmain.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
gtkmain.h cleanup; set locale based on ENV 2009-01-25 20:31:13 +00:00
gtknewgame.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
gtknewgame.h Lots of changes to make gtk version better test with relay: make 2009-02-28 18:52:44 +00:00
gtkntilesask.c Set -Wunused-parameter for those versions of gcc that support it, and 2006-08-16 13:44:44 +00:00
gtkntilesask.h Set -Wunused-parameter for those versions of gcc that support it, and 2006-08-16 13:44:44 +00:00
gtkpasswdask.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
gtkpasswdask.h Too many changes to list. Linux works to display utf-8 dict text on 2009-03-22 23:58:22 +00:00
gtkutils.c start adding conns dialog 2009-02-24 04:34:37 +00:00
gtkutils.h start adding conns dialog 2009-02-24 04:34:37 +00:00
hint.xpm first checkin 2003-11-01 05:35:29 +00:00
juggle.xpm first checkin 2003-11-01 05:35:29 +00:00
linuxbt.c Change util function to use signed type; other cleanup to compile with various features. 2007-12-05 06:28:51 +00:00
linuxbt.h Add and set a compile-time option so comms will set a periodic timer 2007-11-18 23:43:27 +00:00
linuxdict.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
linuxmain.c Too many changes to list. Linux works to display utf-8 dict text on 2009-03-22 23:58:22 +00:00
linuxmain.h plug memory leak by closing relay socket when quitting 2009-02-28 19:19:42 +00:00
linuxserver.c update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
linuxserver.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
linuxsms.c Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00
linuxsms.h Add support to gtk app for tranport over "sms", with files containing 2008-12-29 01:35:29 +00:00
linuxudp.c Cleanup to build with relay enabled; don't enable any network features 2009-01-03 23:56:20 +00:00
linuxudp.h Add files forgotten with last checkin; add additional parameter to 2007-11-28 03:59:26 +00:00
linuxutl.c Too many changes to list. Linux works to display utf-8 dict text on 2009-03-22 23:58:22 +00:00
linuxutl.h error message when hit feature is off but you try to use it; clean up memory on way out. 2008-08-30 13:27:27 +00:00
LocalizedStrIncludes.h Support new tri-part enabled type; add "game info" dialog/menu to test 2006-06-10 05:50:27 +00:00
main.h Lots of changes to make gtk version better test with relay: make 2009-02-28 18:52:44 +00:00
Makefile Too many changes to list. Linux works to display utf-8 dict text on 2009-03-22 23:58:22 +00:00
README.txt first checkin 2003-11-01 05:35:29 +00:00
value.xpm first checkin 2003-11-01 05:35:29 +00:00
xptypes.h Lots more changes, and some reversions. Win32, gtk and ncurses all 2009-03-29 15:53:15 +00:00

This directory contains the desktop Linux port of Crosswords.

To build, run a shell in this directory and type

# make
or
# make debug
or
# make memdebug

Any will work as long as you have both libncurses and libgtk-1.2 and
the associated headers installed on your system.  If you don't you can
play with the Makefile to build with only GTK or ncurses.

Once you've built, go to the linux directory that will be created
within this one and type, at a minimum

# ./xwords -s -n SomeName

to get a GTK-based game with the built-in (English) tiles.  (Add the
-u flag to run with ncurses instead of GTK.)  There will be no robot
player, and the hint feature ('?' button) won't work.  For that you
need a real dictionary, which you can build in the dawg directory.  If
you build the BasEnglish2to8.xwd one in dawg/English, this command
will run a two person game between you and the machine:

# ./xwords -s -r robot -n SomeName -d ../../dawg/English/BasEnglish2to8.xwd

Here are the commands to launch two copies playing against each other
over the network.  Do these in separate shells both in the same
directory as the above commands ran in.  Launch the one with the -s
flag (the "server") first.

 s1# ./xwords -s -r Eric -N -p 4000 -l 4001
 s2# ./xwords -d ../../dawg/English/BasEnglish2to8.xwd -r Kati -p 4001 -l 6002

Both of these have "robot" players.  Turn one or both -r flags to -n
for human players who make their own moves.

If you want to run them on different machines, just add the -a flag to
the client telling it on what machine to find the server (since it
sends the first message, and the server will use the return address
from that message.)



*****

Please keep in mind that these Linux desktop clients are meant for
development only, as testbeds for code in ../common/ that will also be
used for the "real" products on PalmOS, PocketPC, eBookman, etc.
They're not supposed to be polished.