xwords/xwords4/linux
Eric House cdbf574c0e add new files device{c,h}
I've long wanted common code and state that outlast a single game. The
smsproto stuff is a step in that direction, but this file will be a
place for anything new. Starting, perhaps, with a mapping of deviceID ->
addressInfo (e.g. BT name or SMS number of opponent device) that will
let me stop duplicating that stuff in every game's comms state. We'll
see. It's guarded by a compile-time flag so I can play with in on the
Linux version until ready.
2020-01-08 11:20:51 -08:00
..
res test files for new bonus-squares-settable feature 2011-04-10 13:02:45 -07:00
scripts remove unnecessary logging 2019-11-03 11:24:29 +00:00
.gitignore ignore log dir 2018-05-31 21:23:10 -07:00
CollegeEng_2to8.xwd rename dict symlink 2017-11-11 16:12:06 -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 differentiate betweeen PENDING and RECENT tiles 2019-04-09 09:51:04 -07:00
cursesletterask.c Revert "toward compiling with gcc8" 2019-01-29 09:05:54 -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 add new files device{c,h} 2020-01-08 11:20:51 -08:00
cursesmain.h wip: process moves received 2017-10-19 21:20:14 -07:00
dict.xwd comment out dead code I keep reading 2019-02-22 19:59:55 -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 add new files device{c,h} 2020-01-08 11:20:51 -08:00
gamesdb.h add save/restore of partial messages 2018-07-07 22:56:32 -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 don't pass relayDevID unless inviting using relay 2020-01-08 11:20:51 -08:00
gtkboard.h add debug-only pending-msg count to connstatus display 2019-12-10 14:42:54 -08: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 Revert "toward compiling with gcc8" 2019-01-29 09:05:54 -08: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 differentiate betweeen PENDING and RECENT tiles 2019-04-09 09:51:04 -07:00
gtkdraw.h fix to build with CURSES_ONLY flag 2016-12-22 08:57:54 -08:00
gtkinvit.c don't pass relayDevID unless inviting using relay 2020-01-08 11:20:51 -08:00
gtkinvit.h don't pass relayDevID unless inviting using relay 2020-01-08 11:20:51 -08:00
gtkletterask.c fix dialog not exiting when close button called 2019-08-19 07:50:33 +03:00
gtkletterask.h toward making tile picking work through rotations 2017-03-09 20:36:14 -08:00
gtkmain.c add new files device{c,h} 2020-01-08 11:20:51 -08: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 add timer to gtk's new-game dialog 2019-06-24 09:20:34 -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
lindutil.c add new files device{c,h} 2020-01-08 11:20:51 -08:00
lindutil.h Break part of util into dutil 2018-07-05 07:58:50 -07:00
linuxbt.c compile with latest gcc (untested on old) 2018-04-06 21:49:51 -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 comment out dead code I keep reading 2019-02-22 19:59:55 -08:00
linuxdict.h fix curses version so discon_ok2 tests work again. 2013-01-07 20:40:46 -08:00
linuxmain.c cleanup: make linux more like android 2019-12-14 10:55:05 -08:00
linuxmain.h use mem_stream_make_raw() where possible in linux code 2018-06-27 23:37:28 -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 cut logging in test app 2019-03-21 18:40:15 -07:00
linuxsms.h Move transision of cmd and gameid and port (pending) into smsproto 2018-07-26 07:50:16 -07:00
linuxudp.c add and use boolToStr 2017-01-22 14:15:29 -08:00
linuxudp.h Add files forgotten with last checkin; add additional parameter to 2007-11-28 03:59:26 +00:00
linuxutl.c Revert "toward compiling with gcc8" 2019-01-29 09:05:54 -08:00
linuxutl.h Break part of util into dutil 2018-07-05 07:58:50 -07:00
LocalizedStrIncludes.h change final score formatting so it can be properly localized. 2015-05-13 07:51:32 -07:00
main.h Revert "toward compiling with gcc8" 2019-01-29 09:05:54 -08:00
Makefile add new files device{c,h} 2020-01-08 11:20:51 -08:00
README.txt note that file's out-of-date 2010-09-11 01:28:04 -07:00
relaycon.c don't pass relayDevID unless inviting using relay 2020-01-08 11:20:51 -08:00
relaycon.h a shot at no-conn connecting 2017-11-10 21:34:02 -08:00
uuidhack.c compile with latest gcc (untested on old) 2018-04-06 21:49:51 -07:00
uuidhack.h compile with latest gcc (untested on old) 2018-04-06 21:49:51 -07:00
value.xpm first checkin 2003-11-01 05:35:29 +00:00
xptypes.h fix to build with CURSES_ONLY flag 2016-12-22 08:57:54 -08: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.