xwords/xwords4/linux
Eric House 55d86d5ca2 don't try drawing snapshot in curses mode
Was crashing on game save. Add to main launchParams struct whether we're
in curses or gtk mode and only save snapshot in latter case.
2016-11-09 07:38:41 -08:00
..
res test files for new bonus-squares-settable feature 2011-04-10 13:02:45 -07:00
scripts start UDP at 100% by default since all clients will be that way now 2015-12-29 19:01:15 -08:00
.gitignore add dict.xwd so I don't have to keep creating it 2016-02-16 20:48:28 -08:00
cursesask.c fix curses build for 64bit compile and to use common layout (meaning 2014-01-05 13:04:59 -08:00
cursesask.h fix curses build for 64bit compile and to use common layout (meaning 2014-01-05 13:04:59 -08:00
cursesdlgutil.c make curses version use udp socket when --db param passed. There's no 2013-01-24 07:49:49 -08:00
cursesdlgutil.h make curses version use udp socket when --db param passed. There's no 2013-01-24 07:49:49 -08:00
cursesdraw.c make beginDraw return a boolean so can abort 2016-08-04 15:12:05 -07:00
cursesletterask.c make curses version use udp socket when --db param passed. There's no 2013-01-24 07:49:49 -08:00
cursesletterask.h Use new dict API to get rid of XP_UCHAR4 type, replacing with const XP_UCHAR*. 2009-04-07 04:23:56 +00:00
cursesmain.c gtk: save game on every turn change 2016-09-19 09:12:23 -07:00
cursesmain.h Merge branch 'android_branch' into gtk_multigame 2013-07-09 07:18:00 -07:00
dict.xwd add dict.xwd so I don't have to keep creating it 2016-02-16 20:48:28 -08: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
gamesdb.c don't try drawing snapshot in curses mode 2016-11-09 07:38:41 -08:00
gamesdb.h gtk: add localTurn column; format date 2016-08-26 07:26:33 -07:00
gtkask.c add simple tell() as wrapper on ask() 2014-11-11 07:35:56 -08:00
gtkask.h add simple tell() as wrapper on ask() 2014-11-11 07:35:56 -08:00
gtkaskdict.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtkaskdict.h snapshot. New game button works and game gets saved in DB. Next: display and open from DB. 2013-01-05 16:08:19 -08:00
gtkaskm.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtkaskm.h progress on inviting via SMS 2013-12-12 06:08:56 -08:00
gtkboard.c gtk: save game on every turn change 2016-09-19 09:12:23 -07:00
gtkboard.h produce, store and display actual snapshot 2016-08-05 09:42:55 -07:00
gtkchat.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtkchat.h change names of two types and variables of that type to make a common 2013-01-15 19:04:20 -08:00
gtkconnsdlg.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtkconnsdlg.h change names of two types and variables of that type to make a common 2013-01-15 19:04:20 -08:00
gtkdraw.c fix crash loading new game before snapshot exists 2016-08-05 10:37:42 -07:00
gtkdraw.h produce, store and display actual snapshot 2016-08-05 09:42:55 -07:00
gtkinvit.c fix remaining gtk dialogs 2016-08-04 12:43:33 -07:00
gtkinvit.h Remove devID from comms address. It's not needed yet, may never be, 2015-07-22 06:16:29 -07:00
gtkletterask.c fix remaining gtk dialogs 2016-08-04 12:43:33 -07:00
gtkletterask.h snapshot. New game button works and game gets saved in DB. Next: display and open from DB. 2013-01-05 16:08:19 -08:00
gtkmain.c gtk: add localTurn column; format date 2016-08-26 07:26:33 -07:00
gtkmain.h get rematch working on linux, at least for two-device games. (Handling 2015-07-06 20:28:16 -07:00
gtknewgame.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtknewgame.h change names of two types and variables of that type to make a common 2013-01-15 19:04:20 -08:00
gtkntilesask.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtkntilesask.h snapshot. New game button works and game gets saved in DB. Next: display and open from DB. 2013-01-05 16:08:19 -08:00
gtkpasswdask.c fix remaining gtk dialogs 2016-08-04 12:43:33 -07:00
gtkpasswdask.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
gtkutils.c snapshot toward building with gtk3 2016-08-03 15:19:12 -07:00
gtkutils.h beginning of support for invite-by-relay (which is mostly interesting 2015-07-01 07:10:45 -07: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 use malloc to allocate storate for hci_inquiry instead of the 2016-04-09 15:49:11 -07:00
linuxbt.h toward improving bt support in gtk client: add scan button that only 2013-12-07 10:12:20 -08:00
linuxdict.c enlarge dictmgr to track a compile-time defined number of dicts 2014-03-10 21:01:24 -07:00
linuxdict.h fix curses version so discon_ok2 tests work again. 2013-01-07 20:40:46 -08:00
linuxmain.c don't try drawing snapshot in curses mode 2016-11-09 07:38:41 -08:00
linuxmain.h fix counting of messages sent by "Resend messages" menuitem: actually 2015-09-30 06:50:04 -07: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 make forceChannel part of CurGameInfo rather than comms, since Android 2014-12-29 07:39:28 -08:00
linuxsms.h make forceChannel part of CurGameInfo rather than comms, since Android 2014-12-29 07:39:28 -08: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 produce, store and display actual snapshot 2016-08-05 09:42:55 -07:00
linuxutl.h produce, store and display actual snapshot 2016-08-05 09:42:55 -07:00
LocalizedStrIncludes.h change final score formatting so it can be properly localized. 2015-05-13 07:51:32 -07:00
main.h don't try drawing snapshot in curses mode 2016-11-09 07:38:41 -08:00
Makefile gtk: save game on every turn change 2016-09-19 09:12:23 -07:00
README.txt note that file's out-of-date 2010-09-11 01:28:04 -07:00
relaycon.c android doesn't send its devid in the nli struct, so don't assert it's 2015-07-11 14:27:01 -07:00
relaycon.h rename common file and methods for consistency with android. No logic 2015-07-11 08:40:49 -07:00
uuidhack.c use libuuid to prep BT UUID, now a string instead of an array of bytes 2012-01-19 18:52:33 -08:00
uuidhack.h use libuuid to prep BT UUID, now a string instead of an array of bytes 2012-01-19 18:52:33 -08:00
value.xpm first checkin 2003-11-01 05:35:29 +00:00
xptypes.h add memmove 2014-03-10 20:25:38 -07:00

(This file is out-of-date and the instructions it contains don't work.)

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.