Andy2
2492e7cfc5
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/linux/cursesmain.c
2011-11-13 17:10:46 -08:00
Andy2
dddec50f1d
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/android/XWords4/jni/Android.mk
xwords4/linux/Makefile
xwords4/linux/linuxmain.c
2011-11-10 19:22:57 -08:00
Eric House
268f018140
add dict sanity check that will, I hope, catch corrupt dicts.
2011-11-09 06:51:12 -08:00
Andy2
4b5a06fe20
test code tweaks
2011-11-05 06:14:46 -07:00
Eric House
adb9473a87
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/common/dictiter.c
xwords4/linux/linuxmain.c
2011-11-03 21:32:04 -07:00
Eric House
a2319a8073
experimental additions, mostly compile-time disable-able, so prune
...
dict by wordlen.
2011-11-03 21:25:51 -07:00
Andy2
1de9f806e9
test dict_countWords()
2011-11-03 06:19:07 -07:00
Andy2
5c995af38c
stop changing formats between internal and external structs
...
(iterators); use internal format all the time for speed. Update linux
test code for new API.
2011-11-02 18:32:00 -07:00
Andy2
ab4ccb1a22
use realloc for testing
2011-11-02 04:39:12 -07:00
Andy2
0d4404d43b
add dict_getStartsWith(), and code to test it. Lots of cleanup and
...
bugfixing of dictiter code as well.
2011-10-31 21:05:34 -07:00
Andy2
69b1b4da27
break dict iteration stuff out into new files. No code change
...
otherwise.
2011-10-31 18:30:55 -07:00
eehouse@eehouse.org
916d817ef2
Merge remote branch 'origin/android_branch' into android_branch
2011-10-31 07:02:30 -07:00
Andy2
dc58d123d5
combine params into single struct
2011-10-31 06:34:21 -07:00
Eric House
491c9d06d6
reverse sense of option to mmap dicts by default
2011-10-29 20:31:47 -07:00
Eric House
71450b02b3
use indexing (and add binary search) to double speed of getNthWord
2011-10-28 20:27:16 -07:00
Andy2
b62fe13c97
move dict iterator test into separate function and add test for
...
dict_getNthWord(). Still ifdef'd out.
2011-10-25 06:48:59 -07:00
Andy2
ac214236c4
add code to walk dict backwards as well, and test code that
...
succesfully walks huge dicts in both directions turning out the same
list of words either way. Still compile-time disabled.
2011-10-24 18:27:16 -07:00
Andy2
7c7cd82e0a
add code to iterate over words in a dict. Works on Linux (iterating
...
forward only) but disabled at compile time. Idea's to have a dict
browser. There was some simple refactoring in common code Android
uses, and that tests fine.
2011-10-21 18:51:33 -07:00
Andy2
2af4888098
unlink socket file before trying to bind to it
2011-09-30 06:51:24 -07:00
Andy2
c992c65015
changes to support automated testing of background messages sends: new
...
param gives name of Unix domain socket to be used to accept connection
that passes in messages from relay and receives messages to be sent
back. Works once but needs debugging....
2011-09-30 06:32:21 -07:00
Eric House
cbfdf992bd
add compile-time option to allow passing game seed from commandline.
...
This should allow testing relay changes to deal better with duplicate
seeds.
2011-07-31 22:23:46 -07:00
Eric House
4093e1c947
add option to switch between mmap and malloc for dict runtime access.
2011-07-18 18:07:15 -07:00
Andy2
1686f3d9a8
make --skip-confirm do what it says, and include it in test script.
2011-07-12 07:13:58 -07:00
Andy2
e122953fd5
clean up logging
2011-06-27 18:27:07 -07:00
Andy2
e44ed96691
fix logging: calling read(), not recv()
2011-06-24 18:28:18 -07:00
Andy2
c87df3ce16
add option to drop incoming packets randomly (rather than 1st, then
...
2nd, then 3rd etc.)
2011-06-20 18:55:57 -07:00
Andy2
2d7a1f13b8
add drop-nth-packet option
2011-06-15 06:47:08 -07:00
Eric House
0474fda127
reverse (back) sense of show-other option
2011-04-13 06:41:49 -07:00
Eric House
26eadb3b99
add commandline option to set bonus square pattern via an external
...
file. (Effects only Linux versions.)
2011-04-10 13:04:05 -07:00
Eric House
c77d3039cc
add XP_FREEP. Should be no change in behavior.
2011-04-07 18:07:45 -07:00
Andy2
3b7b4802a9
add ability to specify, track and use separate dictionaries for each
...
player. Works for gtk client. Compiles for Android but there's no UI
yet to specify more than one dict. Management of dupicate dicts
without duplicating memory -- refcounting -- will be up to the
platforms.
2011-04-01 19:57:10 -07:00
Andy2
d430e158ba
add commandline flag for phonies
2011-04-01 17:36:04 -07:00
Andy2
379538fd7e
show robot/remote scores by default
2011-03-31 06:41:34 -07:00
Eric House
553bee4956
replace fwrite etc with write so fsync can be added before close.
2011-03-14 18:56:17 -07:00
Andy2
f41356c98b
fix the show-other param
2011-02-01 18:57:01 -08:00
Eric House
4bf613a006
move pipe handling code to where can be shared by curses and gtk -- but use from curses is untested.
2011-01-24 22:20:47 -08:00
Andy2
825cda9125
new feature for testing proxy: --with-pipe option causes linux client
...
to, instead of putting up UI, blocking on pipe and once it's readable
opening saved game and passing messages into it from pipe then saving
it when done. Works, but requires gtk so far.
2011-01-23 21:52:26 -08:00
Andy2
09b5c44fb4
add option to prevent switching players by tapping scoreboard (to
...
mimic android)
2011-01-21 21:29:28 -08:00
Andy2
f48c1cc8b2
add robot-iq param to test new common code and adapt to its API
...
changes; change param from robot-name to robot.
2011-01-10 06:46:09 -08:00
Andy2
63e7084cc8
fix a couple of the new options
2010-12-21 08:01:44 -08:00
Andy2
a7aabdc41b
use getopt_long_only and a table to make adding params easier, fix
...
running out of letters, and force better usage.
2010-12-21 00:58:02 -08:00
Eric House
6e843dec6c
make 10997 default relay port
2010-10-22 18:30:19 -07:00
Andy2
00cdbc97d3
Install a no-op TERM handler at first then replace later with one that
...
just exits main loop. Do cleanup/file saving on exit from mainloop.
Fixes occasional crash where TERM came in before we were setup to
cleanup.
2010-09-20 04:55:35 -07:00
Eric House
9fc39a55ed
add params to set public-room-related booleans; add timeout option on
...
modal dialogs so gtk version can run unattended.
2010-09-14 21:13:45 -07:00
Andy2
b3d3673dc9
read the langcode out of dict and into common struct
2010-09-10 01:57:22 -07:00
Andy2
20312144dd
tons of changes, still rough, snapshoted here: a gtk device vs device
...
game works to completion with both signing up as guests (no -s) with
one local and one remote player (identical commandlines.) Not yet
tested: if any signs up as a host, reconnecting rather than
connecting, etc. This is just a snapshot.
2010-09-10 01:30:40 -07:00
Andy2
6dc21ae7a8
pass (hard-coded) param controlling non-turn board switching
2010-07-17 06:22:42 -07:00
Andy2
e4feef9bbc
reverse sense of -I since hint region unsupported on Android
2010-07-16 18:24:17 -07:00
Andy2
80aa22b2d1
add common prefs field sortNewTiles and way to set on linux cmdline
2010-06-17 18:10:32 -07:00
eehouse
603462fc33
add option to skip modal dialog showing final game score (may prevent
...
curses version from becoming nonresponsive when used from playme.sh);
add menu command to curses version to resend messages.
2010-03-28 16:08:54 +00:00
ehouse
4425eaa99e
move showColors into CommonPrefs, removing separate storage in linux
...
and wince and removing setter from board and jni APIs. Palm change
pending.
2010-01-26 04:14:18 +00:00
ehouse
82382a7cfa
Pass results back via timers and call board_draw() when so indicates.
...
Needed to test dragDropSetAdd. Candidate for merge to trunk.
2010-01-25 00:28:30 +00:00
ehouse
273f3d2f4a
don't show turn confirm dialog by default
2009-12-14 02:54:56 +00:00
ehouse
066c3de9a7
add to gtk version a quick -F option to use new skip-confirm feature
2009-11-08 17:25:19 +00:00
ehouse
e65db4b8c2
use log macro rather than fprintf to stderr
2009-11-02 00:09:56 +00:00
ehouse
547c1758a9
For testing, add option to send duplicates of all packets
2009-09-26 13:47:51 +00:00
ehouse
a13e1d6488
add util_clearTimer, implement on all platforms, and call when closing
...
comms to fix crash on Wince when timer fired after comms had been
deleted. The closure stored and passed in was no longer a valid ptr.
2009-09-21 12:49:08 +00:00
ehouse
18e9301e87
rename Cookie to Invite, a change that may change. Rename everywhere
...
in clients but not in relay where cookie is too pervasive. (There are
no code changes in this checkin.)
2009-09-14 03:11:11 +00:00
ehouse
6827ab5d88
Unify signal handlers that do same thing; clean memory leaks and a
...
double-dispose.
2009-08-30 15:23:05 +00:00
ehouse
537de614b9
remove timer assert; log socket errors
2009-08-21 12:15:40 +00:00
ehouse
fbd3559e3b
Fix assertion failures
2009-07-31 13:03:05 +00:00
ehouse
9ab746d8ac
Include strerror output in a few socket-related error messages.
2009-07-28 05:17:44 +00:00
ehouse
d7cd277893
Add option to close stdin on startup, which seems required to run
...
curses version from script. There's probably a better way...
2009-07-12 01:32:14 +00:00
ehouse
4c523b628c
Make slow-robot work for curses client too.
2009-07-10 05:04:04 +00:00
ehouse
184a154c52
New feature, meant for testing relay, makes robot skip random number
...
of seconds within specified range before making a move. Working only
on gtk so far, and will probably never be used other than on linux
clients.
2009-07-09 12:43:51 +00:00
ehouse
a954286960
avoid mempool assertions by cleaning up on way out
2009-06-30 12:55:47 +00:00
ehouse
669e423ca8
Use new dict API to get rid of XP_UCHAR4 type, replacing with const XP_UCHAR*.
2009-04-07 04:23:56 +00:00
ehouse
cb72b3ffef
call gi_initPlayerInfo() for defaults when not provided on commandline.
2009-03-08 19:57:27 +00:00
ehouse
aa48b4c3ed
plug memory leak by closing relay socket when quitting
2009-02-28 19:19:42 +00:00
ehouse
3f01c9129e
Lots of changes to make gtk version better test with relay: make
...
possible to start without specifying comms params, to switch roles
and/or number of players when starting new game; clean up dialogs,
esp. use notebook widget to have tab switch between comms types.
2009-02-28 18:52:44 +00:00
ehouse
46cb6c2955
fix assertion on exit: nuke mempool after everything it contains; call
...
gtk_main_quit rather than gtk_exit() so can exit from main()
2009-02-28 16:31:03 +00:00
ehouse
c672fcfafd
Make it possible to run same binary against relay with relay heartbeat
...
and direct with comms heartbeat. This mostly means changing ifdefs.
2009-02-01 15:50:58 +00:00
ehouse
3a643c51a4
cleanup; set locale based on ENV
2009-01-25 20:31:13 +00:00
ehouse
7158ef3802
Cleanup; add sms example to usage()
2009-01-05 02:11:13 +00:00
ehouse
342674276a
Cleanup to build with relay enabled; don't enable any network features
...
if STANDALONE_ONLY is defined.
2009-01-03 23:56:20 +00:00
ehouse
863f79bfb9
Fix compile errors using latest gcc (fread etc must have return value checked)
2009-01-03 18:12:34 +00:00
ehouse
cefd69d8b3
Since there's now a flag indicating whether to show the value of a
...
tile, make value unsigned. Adjust/fix platforms. Add cmdline flag to
linux apps for hiding values.
2008-12-29 03:09:35 +00:00
ehouse
1755267d55
Add support to gtk app for tranport over "sms", with files containing
...
base64-encoded data as the messages. Make necessary changes to comms.
This is the foundation for doing real SMS transport on handhelds.
Currently a full robot game works for two gtk clients provided the
server is launched first.
2008-12-29 01:35:29 +00:00
ehouse
5cb97bf636
New Ubuntu has a stricter compiler...
2008-11-06 03:16:09 +00:00
ehouse
e30c72c829
make -q option take number of seconds to pause before quitting
2008-10-26 15:33:21 +00:00
ehouse
86fb79d969
Fix to compile and run for IP-direct case, possibly breaking
...
heartbeats used over bluetooth.
2008-10-11 17:33:07 +00:00
ehouse
f021964213
fix ncurses version so it can save games and read them back in: make existing gtk code run on both.
2008-09-18 03:46:27 +00:00
ehouse
4d6aec67fe
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
ehouse
ad52e63ff0
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
ehouse
c6da605b56
add missing error message
2008-05-24 16:08:13 +00:00
ehouse
ebad668227
add some consts.
2008-05-06 12:49:37 +00:00
ehouse
ff254fcef4
add ability to scroll the board by dragging it. add new method
...
util_altKeyDown to allow user to choose between scrolling board and
dragging the hint rect when both are possible. add adjustYOffset;
make it and board_setYOffset more tolerant of out-of-bounds inputs and
use that to simplify calling code.
2008-04-08 03:55:53 +00:00
ehouse
a3bc875191
Fix errors, all in debug-only code, flagged by __attribute__ format addition.
2008-03-11 12:24:23 +00:00
ehouse
6e9e5b5c99
Fix to compile and run standalone
2008-01-19 16:03:53 +00:00
ehouse
08da013d4d
Warn user, and refuse to continue, when new game is as host and has no remote players. API
...
changes, so other platforms won't compile until changed.
2008-01-04 14:47:52 +00:00
ehouse
3b1fcceb16
Fix compilation errors due to constant name changes -- no change to binary.
2007-12-14 13:06:44 +00:00
ehouse
d5d29adc0c
Change util function to use signed type; other cleanup to compile with various features.
2007-12-05 06:28:51 +00:00
ehouse
5457ea1b59
replace all __FUNCTION__ with __func__
2007-12-02 19:13:25 +00:00
ehouse
e1d5632a7b
Re-add direct-via-ip transport, and implement for linux in order to
...
better test heartbeats. Fix so can play against Palm over BT.
Assertions failing on Linux when reset, but it's otherwise done.
2007-11-26 02:58:25 +00:00
ehouse
4c8cf98d24
Add and set a compile-time option so comms will set a periodic timer
...
and use it to send and check for heartbeats over any transport.
Caller must supply a reset proc which is called when heartbeat hasn't
been received in too long. No changes required to comms protocol, but
that means the heartbeat interval is fixed at compile time: can't be
negotiated, and the two ends had better agree. Currently tested with
linux host and PalmOS guest, where only the first heartbeat failure is
recovered from. So there's some debugging to be done still.
2007-11-18 23:43:27 +00:00
ehouse
3060888264
Update BT code to advertise and search sdp records and use psm reported to work with new Palm
...
code. Log btaddr after converting from name.
2007-11-05 03:38:00 +00:00
ehouse
de640cda98
Update BT code to advertise and search sdp records and use psm reported to work with new Palm
...
code. Get rid of pthreads dependency which was for logging only.
2007-11-05 03:17:07 +00:00
ehouse
2f925349a6
Fix so can without BT, and so compiler can be specified to Makefile.
2007-06-02 02:07:45 +00:00
ehouse
dd7a5c8104
type name change only
2007-05-26 14:14:01 +00:00
ehouse
0fd0692748
better logging: include function name
2007-03-17 15:38:44 +00:00
ehouse
5afdcc20db
include result of strerror in messages logging errno; turn relay on by default (linux)
2007-02-04 01:22:00 +00:00
ehouse
7c8b7294cd
add const to a bunch of char* decls in APIs and variables; no code change
2007-02-03 17:54:20 +00:00
ehouse
098a2ec5c4
Use new keydown/up APIs from linux, and add key support and drawing
...
changes to implement keyboard navigation/focus in gtk port.
2007-01-06 17:46:02 +00:00
ehouse
5f25ba9f57
remove BEYOND_IR, replacing with XWFEATURE_RELAY and
...
XWFEATURE_BLUETOOTH. The goal is to be able to build to support
bluetooth only, or relay/ip only, e.g. for a palm bluetooth beta.
Seems to work.
2006-10-10 01:34:37 +00:00
ehouse
9137eff9fa
Largely untested changes to allow BT in ncurses mode, centered around
...
integrating sockets into poll fdset; move relay and bt globals out of
a union so can test if in use without knowing current connection method.
2006-09-19 03:39:08 +00:00
ehouse
40563a6790
strutils macro change; log PID on startup for easier attaching
2006-09-15 07:45:40 +00:00
ehouse
c27abcd486
Attempt to listen for connections on a separate thread so connected
...
game could disconnect and reconnect, but still need work on adding a
socket to the main thread's io queue from a different thread.
2006-09-08 07:23:19 +00:00
ehouse
f3eb95b891
Make linux client work as host. Currently accepts only one connection
...
and blocks in accept. Need threads and a piconet.
2006-08-29 13:20:09 +00:00
ehouse
fb87fd31d2
Start adding bt support to linux port. Required removing assumptions
...
that all connectivity was with relay and over streaming sockets (since
BT is using l2cap's datagram-style sockets.) With this checkin, a full
robot-vs-robot game is possible with palm as host and linux as client.
Linux as host isn't started yet.
2006-08-26 21:15:20 +00:00
ehouse
4daabf6fe5
Set -Wunused-parameter for those versions of gcc that support it, and
...
deal with the output by removing params where possible and elsewhere
by adding XP_UNUSED macro wrapping __attribute__((unused)). There
should be NO change in function in spite of the large number of files.
2006-08-16 13:44:44 +00:00
ehouse
b80808bc57
Support new tri-part enabled type; add "game info" dialog/menu to test
...
read-only side; support new attributes for column head and nplayers
label; hide labels as well as controls that go with them.
2006-06-10 05:50:27 +00:00
ehouse
19414ae505
Finish scrollbar work by passing number of visible rows to
...
util_trayHiddenChange, which means an API change. In board, calculate
bottom of board based on bottom of tray when tray is hidden, and round
so that it's an exact multiple of cell height. In wince, take
advantage of the new parameter to fix the scrollbar so that very
constrained boards can be scrolled even when the tray is hidden.
2006-05-19 13:44:05 +00:00
ehouse
912d221b1c
Replace overlap param with nHidden to give more flexibility in
...
creating situations where board must be scrolled.
2006-05-17 06:10:24 +00:00
ehouse
94b46bc6c6
Incorporate svnversion output in usage()
2006-05-14 14:47:32 +00:00
ehouse
a8add11453
clean up usage
2006-02-17 07:28:41 +00:00
ehouse
92485783af
update email address in header comments: no code change
2006-01-08 01:25:02 +00:00
ehouse
a422f21ad5
add error message; cast to avoid compile warnings
2005-10-30 05:06:23 +00:00
ehouse
5e693ee022
fix misspelling; tweak error messages
2005-10-19 03:21:19 +00:00
ehouse
8c8babc762
new error message
2005-10-14 08:25:51 +00:00
ehouse
237deee542
just log some messages so user interaction not required.
2005-09-14 05:11:29 +00:00
ehouse
18fc5e2c14
add linuxFireTimer
2005-09-09 03:12:58 +00:00
ehouse
aa0a9ec158
add error message; don't assert (crash) when socket closes.
2005-09-04 20:31:34 +00:00
ehouse
1aed9882ef
new (commented-out) info message
2005-09-03 18:36:08 +00:00
ehouse
ca8877a5de
for testing, add -H option to prevent client from sending heartbeat
...
messages to relay.
2005-09-03 15:39:15 +00:00
ehouse
1114784217
Add strings for error codes for relay disconnect events.
2005-09-03 06:58:05 +00:00
ehouse
e3cadfbf79
catch up with API changes
2005-09-02 06:24:47 +00:00
ehouse
3b53363e16
Pass protocol version code with connect request, and return error if
...
it isn't what relay can handle. Report error to user.
2005-07-06 01:36:52 +00:00
ehouse
961ca6e256
add linux_util_addrChange (stubbed out)
2005-04-03 16:56:39 +00:00
ehouse
7d622f9484
fix and cleanup linux client to move to using tcp. Add the ability to
...
deal with socket dying and (maybe) being replaced. Only connect on
demand now, when first packet's ready to go.
2005-03-19 22:07:53 +00:00
ehouse
1c7e530538
deal with tcp streams the same in curses as on gtk. Both work now
...
with the relay.
2005-03-12 05:33:30 +00:00
ehouse
897caf4e88
Replace UDP-based messaging with TCP. Stream protocol says distinct
...
message is length plus data. Use non-deprecated gtk select-like
function. With these changes can play full games through the relay on
gtk. Untested on ncurses but probably broken.
2005-03-06 18:07:00 +00:00
ehouse
4971a622ce
Make linux compile with latest changes
2004-11-09 02:06:32 +00:00
ehouse
b7f847194e
fix help message
2004-09-30 01:49:46 +00:00
ehouse
61a05c3387
formatting fixes; add string for attempt to undo tile assignment.
2004-05-14 09:05:45 +00:00
ehouse
deaf860c5b
catch up with score-summary changes
2004-05-12 05:46:08 +00:00
ehouse
e85dc01638
new string as part of displaying last turn when score tapped
2004-04-30 08:38:46 +00:00
ehouse
5776da0b93
first checkin
2003-11-01 05:35:29 +00:00