Eric House
b097e0825e
fix linux crash do to casting problem
2012-10-26 06:49:15 -07:00
Eric House
c69dbda36f
add new game_changeDict() and enough gtk code to test it.
2012-10-23 19:06:00 -07:00
Eric House
4cf595e939
on commandline, only allow assignment of per-player dicts to local
...
players. I don't know what happens when a player's position is
changed when its game is a guest and the hosts rearranges players.
Which is why on Android I'm moving to allowing per-player dicts only
on local-only games.
2012-10-14 19:10:42 -07:00
Eric House
25a1ee451b
resolve links if required to get the actual name of the dict
2012-10-12 20:50:34 -07:00
Eric House
e90c5ee94f
pass index of resigning player into util_notifyGameOver. Not yet
...
passed into java.
2012-10-09 05:31:12 -07:00
Eric House
968340f665
Fix release-build warnings that new compiler flags.
2012-10-07 11:43:50 -07:00
Eric House
140c982d41
merge from android_branch
2012-09-24 07:39:44 -07:00
Eric House
761f93dd7e
use new mem_stream_make_sized
2012-09-11 19:07:00 -07:00
Eric House
75474e1891
Add option to pretend save failed a random pct of time. Point it to
...
test fix for problem on Android, but right now turning this on breaks
networking.
2012-09-11 07:26:17 -07:00
Eric House
0ccc2331b5
address bug where message was getting ACK'd by a device that failed to
...
save what it had ACK'd leaving the game permanently broken. Do that
by adding a new method game_saveSucceeded() called after the client
claims to have committed bytes returned by game_writeToStream() to
disk. In that method comms updates the value it'll use in subseqent
ACKs.
2012-09-10 07:31:45 -07:00
Eric House
9340db36c1
disallow opening android DBs when not configured correctly.
2012-09-09 15:48:57 -07:00
Eric House
270a19f3aa
Revert "first of a set of changes to communicate to clients dictionary being"
...
This reverts commit b7a0f1489b
, which I didn't mean to check in on this branch.
2012-09-03 21:34:51 -07:00
Eric House
ea4d805d5f
first of a set of changes to communicate to clients dictionary being
...
used by server. Clients need to care if e.g. the server's disallowing
phonies based on its dict. Can only be sent if client is of latest
version. In that case, common code calls into new util function. In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it. Once it's available, will want to install it.
2012-09-03 21:33:46 -07:00
Eric House
b7a0f1489b
first of a set of changes to communicate to clients dictionary being
...
used by server. Clients need to care if e.g. the server's disallowing
phonies based on its dict. Can only be sent if client is of latest
version. In that case, common code calls into new util function. In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it. Once it's available, will want to install it.
2012-09-03 21:29:21 -07:00
Eric House
4cb848582e
fix edge cases in prefix matching
2012-08-28 07:35:11 -07:00
Eric House
145317426d
Fix prefix matching to accept letters constituting the first part of a
...
digraph tile when at the end of a prefix so that e.g. GORIL in Catalan
will list GORIL·LA (rather than nothing since GORIL, ending with the L
tile, is not a prefix.)
2012-08-27 21:50:09 -07:00
Eric House
79be03ac66
splite lines to get under 80 columns; no code change
2012-08-27 07:06:40 -07:00
Eric House
a86ab69aec
don't store argv element in game data structure where it gets freed.
2012-08-22 07:35:18 -07:00
Eric House
c98bbe2b9a
use setsockopt to limit read() block time and so to prevent linux
...
version from being unkillable when relay crashes at the wrong time.
2012-08-13 06:44:16 -07:00
Eric House
c49408d7e9
fix warnings compiling in release mode
2012-08-12 19:37:47 -07:00
Eric House
d25916ae5f
protect sqlite code with compile-time flag so easier to disable.
2012-07-29 08:37:08 -07:00
Eric House
08e5fbdcc2
add ability to open game in sqlite3 DB from an Android phone. It's
...
read-only now: changes are not saved. But it works!
2012-07-26 20:44:33 -07:00
Eric House
0b1a9a67fe
add param to server_handleUndo to prevent it from undoing all moves in
...
robot-vs-robot game, which is the wrong thing to do during a test
simulating play.
2012-05-24 22:25:30 -07:00
Eric House
cd89885cd2
add new periodic (one-second) timer, and commandline option that sets
...
what percent of the times that timer fires will result in a move being
undone. Will be used to interject random out-of-order undos into
games played for testing. (Currently the tests fail when this is
enabled; I need to fix that.)
2012-05-23 19:58:03 -07:00
Eric House
d1869a233c
fix so non-debug build builds
2012-05-22 19:18:04 -07:00
Eric House
d59b19514b
Merge branch 'android_branch' into android_bt
2012-05-03 21:44:35 -07:00
Eric House
09f9038cff
add option to have robot choose to trade tiles a configurable percent
...
of the time. Meant to increase automated test coverage of trades.
2012-05-02 20:14:42 -07:00
Eric House
0755a9e781
add new util function that gets called when a game is opened to inform
...
it if any players are missing. Idea's to allow for non-relay devices
the invitation opportunity that comes when a game connects to the
relay and learns that no other games have joined its room.
2012-02-09 05:19:03 -08:00
Eric House
0934f83106
add gameID to params passed to comms' sendproc, including passing
...
through to java layer.
2012-01-25 18:27:37 -08:00
Andy2
2a34cd1e05
remove second param from server_do() -- it doesn't work anyway.
2011-12-21 18:45:05 -08:00
eehouse@eehouse.org
14bddb0e45
Merge branch 'android_branch' into send_in_background
2011-12-15 18:46:24 -08:00
Andy2
d6ce11b084
fix to compile with DEBUG off
2011-12-14 18:17:52 -08:00
Andy2
17edc79aaf
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2011-12-06 19:56:10 -08:00
Andy2
b0470d5276
add new preference that when set prevents calculation and drawing of
...
crosshairs.
2011-12-06 18:17:55 -08:00
Andy2
d37424ad7f
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/linux/linuxutl.h
2011-11-21 22:18:52 -08:00
Andy2
cc0105e14c
add param to dict_countWords in which it accumulates counts per word
...
length. Shouldn't hurt speed too much if null passed.
2011-11-18 08:15:21 -08:00
Andy2
598be8b404
MAX_COLS -> MAX_COLS_DICT for dict-related stuff (since dicts are
...
staying with fewer words for now.)
2011-11-18 07:56:02 -08:00
Eric House
8a51d5f3e4
fix race condition that was breaking tests: when one device sends two
...
messages they must be handled by the relay in order. So modify linux
client to build a single packet of all messages sent instead of
letting rq sent each on a separate socket. The relay would give the
sockets to different threads and sometimes the wrong one won. Will
need to make sure the android code's doing the same thing (it appears
to be), or perhaps make the coalescing code common so I only debug it
once.
2011-11-17 19:56:36 -08:00
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