Commit graph

4340 commits

Author SHA1 Message Date
Andy2
223909f560 change what checking with the server means, from calling HAS_MSGS to
GET_MSGS.  When the messages come in, open up saved games and play
them into them, saving them after if there were any changes.  Tested
by playing a two-device game all the way through fetching messages
after every move.
2011-02-01 20:51:46 -08:00
Andy2
f41356c98b fix the show-other param 2011-02-01 18:57:01 -08:00
Andy2
bf0582f0aa make hint buttons en/disabled based on board_canHint() results. 2011-02-01 18:56:37 -08:00
Andy2
8a7029435c fix some comments 2011-02-01 18:55:48 -08:00
Andy2
ee620a3e37 move bonus squares into jni since they're constant rather than e.g. in
an editable resource.
2011-02-01 18:55:00 -08:00
Andy2
c2be642302 add game_getGi to fetch into java world any changes to the gi in the
jni world.
2011-02-01 18:53:29 -08:00
Andy2
383206f5dc move bonus squares into jni since they're constant rather than e.g. in
an editable resource.
2011-02-01 18:52:29 -08:00
Eric House
c6e7b21f8a Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-02-01 09:39:55 -08:00
eehouse@eehouse.org
71c92bbaef Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-31 21:47:20 -08:00
Andy2
977feada82 use a reference to a byte array in the java heap (locking down the
object) rather than allocating a new array in the C heap -- for the
DAWG data of a dictionary.  This can use up to 5% of the java heap for
huge dictionaries, but I'm hoping it fixes a problem reported by a
user of the large German dictionary that seems to involve allocation.
If I'm reading correctly, as long as I stay within 16M (24M or more on
newer devices) I'm sure to get my memory in the java world while it's
less a sure thing in the JNI world (where in addition linux's
aggressive overallocation is used, meaning I'll fail when I try to
swap in memory on write rather than get back NULL from malloc.)
2011-01-31 18:56:20 -08:00
Eric House
95443ec9d9 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-28 14:43:20 -08:00
Eric House
bb24694e37 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-27 21:09:30 -08:00
Eric House
dc82e57f14 add ability to fetch messages for more than one game at a time 2011-01-27 21:08:17 -08:00
Andy2
566a456489 use getChannel().size() rather than available() to decide how many
bytes to read from downloaded dictionary file -- because available()
will not always return the full size.  I suspect this is why a German
user is crashing when using the very large 2_15 German dict.
2011-01-27 21:03:37 -08:00
Eric House
70f52b162b Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-27 14:58:10 -08:00
Andy2
57ec020330 change format of reply to MSG_GET: include number of messages per
device to support fetching for more than one at once.  This is
meaningless for rq as written now but a device will want to do this.
2011-01-27 06:37:36 -08:00
Eric House
481a533e58 ignore uncompressed dicts too 2011-01-24 22:21:44 -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
Eric House
63d16a99a2 turn off http view 2011-01-24 22:20:01 -08:00
Eric House
4ae8c76959 break printed runtime into hours:minutes:seconds 2011-01-24 22:19:02 -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
4b8e462b8b check for null ptrs to allow creating loading games that won't draw or
communicate with users.
2011-01-23 21:45:41 -08:00
Andy2
42d1a713c9 add new -f flag to invoke new fetch-message proxy command. Write the
results to stdout in stream format (len + message).  Goal is to be
able to pipe output to the linux clients to test.
2011-01-22 12:54:47 -08:00
Andy2
f96f4a040b add new proxy command that fetches actual messages stored for a device. 2011-01-22 12:52:26 -08:00
Andy2
d98a3fe232 when peeking is disabled (the default on android), don't allow
swapping to view of the current player's board if the current player
is remote -- because then won't be able to swap back to own view until
it's your turn.  Fixes annoyance in multi-device game on Android.
2011-01-21 21:32:52 -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
96fead3164 add msglen column to msgs table to be used to avoid calculating size
later.  Stores size of string as it was passed to db, not as stored.
2011-01-21 06:46:49 -08:00
Andy2
b863931db5 turn proxy service back on 2011-01-21 06:10:06 -08:00
Eric House
725888cb6c run proxy sockets through same thread pool as game sockets. This
prevents race conditions that are turning up when I'm running multiple
threads -- by allowing me to really not be running multiple threads.
Tested with the usual script.
2011-01-20 18:14:56 -08:00
Eric House
c4bf153d36 log reason game ended to game's logfile 2011-01-20 18:10:33 -08:00
Andy2
b506673946 use only one thread until race condition's fixed 2011-01-19 18:36:50 -08:00
Andy2
3ae62e4704 use an index rather than a ptr to track fd array (so a parallel array
can be added)
2011-01-19 18:36:24 -08:00
Eric House
4202ea5fac Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-19 09:10:51 -08:00
Andy2
a8f4d772f8 set one timestamp when saving game, and another on game creation. 2011-01-19 06:54:23 -08:00
Andy2
7d6e136ca3 fix comment 2011-01-19 06:21:31 -08:00
eehouse@eehouse.org
a9c65aa950 Revert "add ctime and mtime timestamps to DB when creating, and upgrade to new"
This reverts commit 465370bac6.

Better to work with the existing timestamps as ints than mess with largely unsupported TIMESTAMP type.
2011-01-19 06:19:33 -08:00
Andy2
7f866da8da draw dragged tiles translucent 2011-01-18 22:03:17 -08:00
Andy2
46f085f479 drop rather than asserting failure when unable to create a dialog. 2011-01-18 21:19:02 -08:00
Andy2
f6b95f93a1 use HashSet rather than String[] for faster lookup. 2011-01-18 18:47:24 -08:00
Andy2
bce4a11595 more work on color prefs. Add a list pref at the same level as colors
for setting "scheme".  Implement that as changing potentially several
colors but only empty cell color for now.  Remove prefs for whether
cell letters follow user colors (they always will) and the new one for
frame color -- it'll always be dark grey.
2011-01-18 18:42:25 -08:00
Andy2
8d52149c28 cache the background color on which arrow is based so don't have to
compute its blackness each time.
2011-01-17 20:39:35 -08:00
Andy2
e9e54ba379 toward supporting a light-on-dark theme: add pref for cell border
color; add pref for whether highlight is black-on-white or the
reverse; and remake the board arrow in white if the background is a
dark color.  It's now possible to configure various colors so that
black empty cells looks good.  Next need a single control to do it.
2011-01-17 18:55:36 -08:00
Andy2
33d5246b7a add a new-user hint, displayed the first time the arrow's drawn on the
board, explaining what the arrow's for and how to move and disable it.
Implementation required passing XWActivity into BoardView so the
newbie hint method could be called on it.
2011-01-15 21:46:28 -08:00
Andy2
465370bac6 add ctime and mtime timestamps to DB when creating, and upgrade to new
version by adding them.  Can't have them default to 'now' because
that's not supported for ADDs.  Can't remove columns either, so at
some point I'll need to migrate to get rid of accumulated cruft.
Timestamps are not set nor read yet.
2011-01-14 19:03:08 -08:00
Andy2
c9fec737e5 changes, protected by a disabled compile-time flag, to use cairo-based
API for drawing instead of now-deprecated gdk ones.  Unfortunately
nothing actually draws and I'm putting the debugging off until I have
some time.
2011-01-14 18:15:33 -08:00
Eric House
04d8260f01 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-14 12:02:15 -08:00
Andy2
13ef8dd098 add hints-allowed to set of defaults for new games 2011-01-13 18:45:38 -08:00
Eric House
e7172fb4af Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-13 14:57:24 -08:00
Andy2
9ebbbb0fec replace robot smart checkbox with a spinner having three settings.
Keep the kludge whereby the settings in all the players are kept the
same.
2011-01-13 06:48:50 -08:00
Andy2
d2ddc5cee7 turn off tile selection for android 2011-01-12 19:01:04 -08:00
Andy2
cd5dedfa67 add compile-time flag to disable selection of tiles in tray (other
than as part of an exchange) and to remove feature where tapping empty
cell moves selected tile there.  This is to address user confusion on
Android, and I'll ask for testing before putting this in the main
branch.  This leaves only place-arrow-then-tap as an alternative to
drag-and-drop, and may annoy people.  Worth trying: disable only the
automatic selection of another tile after the selected one is dropped.
2011-01-12 19:00:48 -08:00
Andy2
e7dbac41a6 fix to compile with new gdk that's on ubuntu 10.10. Need to fix the
APIs eventually.....
2011-01-12 19:00:20 -08:00
Andy2
6ccf0c167c fix next-hint which I just broke: need to track whether working on
behalf of robot after all, though it's not needed in the API, to
distinguish case where moves must be cached (for next-hint feature).
2011-01-11 18:10:48 -08:00
Andy2
ceab787cdd update to work with robot-smartness changes. At this point the UI's
unchanged and I'm trying to mimic the old per-game setting using the
new per-robot setting internally.  Still need to change the UI to
allow move than just a boolean choice.
2011-01-10 20:46:05 -08:00
eehouse@eehouse.org
a656bb8f0c Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-10 18:20:42 -08:00
Eric House
2b502a39c6 fix mod-by-zero error when iq == 2 2011-01-10 18:19:10 -08:00
Eric House
b3de3fc91e add --robot-iq param for testing 2011-01-10 18:18:35 -08:00
Andy2
6495bd321f fix to compile with robotiq changes 2011-01-10 06:57:10 -08:00
Andy2
efb54c7b05 fix compile errors the stricter android compiler found. 2011-01-10 06:56:11 -08:00
eehouse@eehouse.org
09da57f165 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-10 06:48:25 -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
639279f865 up the number of moves saved to 32 to match Android. 2011-01-10 06:44:47 -08:00
Andy2
f111b78714 switch from tracking robot intelligence as a per-game boolean
implemented (when not smart) as trying to match the human's score to a
per-robot value between 1 and 100 that gives the percentage of best
moves to store before picking randomly from among them.  So a 1 means
save only the best move and always pick it; 100 means save all the
best moves (how many are saved is compile-time configurable) and pick
one of them.  Because it's settable per-robot a smarter robot can be
played against a dumber one (though I may choose not to make it
settable per-robot on shipping versions.)
2011-01-10 06:44:28 -08:00
Andy2
fc23080120 param name has changed 2011-01-10 06:40:42 -08:00
Eric House
c7b6d799f0 switch to utf8 2011-01-07 18:05:57 -08:00
Andy2
5459631c76 No need for empty .dict when creating empty .dict.gz 2011-01-06 18:20:56 -08:00
Andy2
6f2cde1304 create an index at the top of page; indent dict lines; drop ".xwd" 2011-01-06 18:09:10 -08:00
Andy2
d3717c579e add ACCESS_NETWORK_STATE permission 2011-01-06 08:08:36 -08:00
Andy2
99c26cc0e9 move network state listener into own class so it can live longer than
a single game (keeping network state across games launches) and be
used by other network clients later.
2011-01-06 08:08:16 -08:00
Andy2
d832ba6795 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch
Conflicts:
	xwords4/linux/linuxmain.c
	xwords4/linux/scripts/discon_ok2.sh
2011-01-06 07:44:33 -08:00
Eric House
720f78d18a get rid of ivars used only for http UI 2011-01-04 21:43:10 -08:00
Eric House
46e9ae3c01 up copyright date 2011-01-03 16:33:03 -08:00
Eric House
11d7de5f0d display the number of devices (pids) running 2010-12-21 20:52:01 -08:00
Eric House
64004e9df8 fix to use long-opts 2010-12-21 20:51:36 -08:00
Eric House
9ea5c7462d fix long-opts glitches 2010-12-21 20:51:21 -08:00
Andy2
7fe5e43963 modify to use new long-only flags 2010-12-21 08:02:51 -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
Andy2
2cc46d8a69 get rid of unused but oft-included file 2010-12-17 19:02:01 -08:00
Andy2
ff6fb7070e Android market reports a few crashes going out-of-bounds on array of
bad words.  Add an assertion on the only path that seems likely to be
causing that.
2010-12-17 18:57:43 -08:00
Andy2
0ee156c9f0 add empty: case for WINCE type too 2010-12-17 18:55:44 -08:00
Andy2
c0bec75fd8 fix crash when input wordlist is empty by not counting zero-length
word as a word.
2010-12-17 18:55:25 -08:00
Andy2
53de4eab9b correctly detect empty dict and set top ptr to null. Fixes crash
using empty dicts.
2010-12-17 18:54:27 -08:00
Andy2
c5e0955460 simplify build rule 2010-12-17 17:39:33 -08:00
Andy2
7e46163988 add counts and values -- from wikipedia article, as are Arabic and
Turkish files just checked in.
2010-12-17 17:38:47 -08:00
Andy2
18f8b0d4e4 switch to utf-8, adding an iconv call to translate the wordlists. 2010-12-17 17:37:57 -08:00
Andy2
32fccca995 Turkish. As with Arabic, untested. 2010-12-17 17:36:38 -08:00
Andy2
71559e27c6 add Arabic. I have no wordlist but this should still allow play
between humans, even over the net.  Untested, though, as my phone
doesn't have any Arabic glyphs.
2010-12-17 17:36:03 -08:00
Andy2
1535f56cd6 adding Turkish and Arabic and language names 2010-12-17 17:34:54 -08:00
Andy2
7e0f025d9e remove logging 2010-12-17 06:51:56 -08:00
Andy2
3336b39d6d add (wordcount) to subst title to make meaning more clear 2010-12-16 20:29:48 -08:00
Andy2
ea85512c4f put word count into list of dicts for substitution. Done by adding
actual count then stripping it back off to form the dict name again.
2010-12-16 20:24:04 -08:00
Andy2
0059f92626 use medium sized text for empty view 2010-12-16 18:50:15 -08:00
Andy2
693909ec67 add an empty view along side list view; all setEmptyView to install it
to be shown when list is empty.
2010-12-16 18:47:25 -08:00
Andy2
740060f531 remove logging 2010-12-16 18:45:46 -08:00
eehouse@eehouse.org
f0c31956d2 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-16 06:41:30 -08:00
Andy2
95a6982851 use new overridden method 2010-12-16 06:38:47 -08:00
Andy2
993e66da99 add newbie info on launch of dicts activity (and override method so
don't have to pass null)
2010-12-16 06:37:05 -08:00
Andy2
6cd22f6461 add newbie info on launch of dicts activity 2010-12-16 06:36:25 -08:00
Andy2
16933d14c1 fix list item layout to have variable height so it doesn't clip dict
listings that wrap to a second line -- e.g. the Spanish_FAA ones.
2010-12-16 06:24:47 -08:00
Andy2
647443c03e reintroduce BroadcastReceiver listening for connectivity going up and
down.  When network's down, return -1 from send proc so that comms
timing can retry.  This works on both cellphone on carrier network
(with airplane mode as the test for loss/gain of network) and on
emulator (with death/restart of relay as the test since I don't know
how to kill the iface itself).  A quick test on phone using wifi this
morning suggested it didn't work, that into/out of airplane mode did
not result in notifications getting set.  Need to test that, and back
this out if can't be fixed since I can't break wifi.
2010-12-15 18:39:25 -08:00
Eric House
a663b2deae Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-13 22:08:11 -08:00
Eric House
442b3983cf highlight during draw where possible because doing it after isn't
possible with wide chars -- meaning I haven't figured out how yet.
ncurses documentation is well hidden....
2010-12-13 22:07:25 -08:00
Andy2
d1605c4493 fix: convert to utf8 and replace grep that didn't work (presuambly
because ranges have different meanings in utf-8) with one that does.
2010-12-13 20:39:04 -08:00
Andy2
d78584fddf remove obsolete, pre-utf8 files 2010-12-13 20:09:26 -08:00
Andy2
bb0a79914b add conversion from ISO88591 since the default dict's in that format. 2010-12-13 20:09:09 -08:00
Andy2
dc807c948a use sed instead of tr since as with Slovak a letter was getting
dropped.  Same one in fact.
2010-12-13 19:58:37 -08:00
Andy2
cd3ff71efb notify comms layer when unable to establish connection. This allows
comms logic to retry and fixes failure on device to detect when
network comes up after being down when game was opened.
2010-12-13 18:30:22 -08:00
Andy2
299c84bb2b use sed rather than tr to uppercase letters. tr was dropping the Á
letter for some reason.  The sed feature I'm using is a gnu extension
but has the advantage of working.  Should probably do this for all
languages and in the info files.
2010-12-13 18:16:22 -08:00
Andy2
23a4a7ef64 get rid of unused/stubbed out method 2010-12-13 06:37:26 -08:00
Eric House
2807ee2ce0 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-12 20:50:35 -08:00
Eric House
894afdc0cb take words up to 15 letters long. This makes no difference with any
dict I've tried as there just aren't any words over 7 letters long
made up of only a-f.
2010-12-12 20:02:28 -08:00
Eric House
e8e0b25fad go back to old dict -- correcting a change I didn't mean to check in. 2010-12-12 20:01:33 -08:00
eehouse@eehouse.org
9140c8b39a Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-10 05:43:31 -08:00
Eric House
9c5b2c9f4f add for current French list 2010-12-09 21:22:37 -08:00
Eric House
98456dd652 fix to build dicts, wince/android format by default 2010-12-09 21:22:14 -08:00
Eric House
6b58c9031f script to build html page for downloading dicts 2010-12-09 21:21:41 -08:00
Andy2
183d920eb0 update changelog for beta 20 2010-12-09 07:41:43 -08:00
Andy2
1fbdd62372 up version num/strings 2010-12-09 07:21:56 -08:00
Andy2
c4fa9cb707 exit loop rather than trying to use key again after cancelling it.
Fixes CancelledKeyException raised when launching networked game in
airplane mode.
2010-12-09 06:58:55 -08:00
Andy2
d5d81fea5b don't return dialog when msgID is 0. This should fix occasional crash
where OS wants to restore a dialog but the message ID has gotten
cleared -- via a mechanism I'm not quite clear on.
2010-12-08 18:52:08 -08:00
Andy2
a1c96b5601 change default dict download url so new set can coexist with old and
get picked up only by new release that can handle it.
2010-12-08 18:47:21 -08:00
Andy2
65ea075102 when downloading new dict inval the info cache to it'll get reloaded
-- in case we're overwriting one with the same name.
2010-12-08 18:46:25 -08:00
Andy2
1b40d1d47b make method public to be used outside 2010-12-08 18:45:31 -08:00
Andy2
5534939407 add inval() to prevent stale data when new dict downloaded over top of
old.
2010-12-08 18:44:59 -08:00
Andy2
c83e4cc7a3 all places where dict lang is displayed can also display word count 2010-12-08 05:51:26 -08:00
eehouse@eehouse.org
64bcb8bb2b Revert "replace call to rand() with android_only function that reads two bytes"
This reverts commit 1653b9f6e9.
2010-12-08 05:38:41 -08:00
Eric House
efe6d6d95d Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-07 20:47:19 -08:00
Eric House
b65338b643 script for use on relay host 2010-12-07 20:46:02 -08:00
Andy2
3987749079 log calls to set-not-again. I'm getting crashes and that may help
track it down.  Remove this later.
2010-12-07 18:57:38 -08:00
Andy2
4a12f7a96f Revert "in attempt to work around non-random rand() in jni world, call back"
This reverts commit 99c92e779d.

Conflicts:

	xwords4/android/XWords4/jni/utilwrapper.c
2010-12-07 18:43:53 -08:00
eehouse@eehouse.org
57bfe4c943 Revert "switch from nio to regular old io, with separate reader and writer"
This reverts commit b23de9a958.
2010-12-07 18:12:35 -08:00
eehouse@eehouse.org
b389478350 Revert "register for notification of network going up and down; start using"
This reverts commit 77fe3952da.
2010-12-07 18:12:02 -08:00
Eric House
eb22322e8d change title until we have column headers 2010-12-06 21:08:38 -08:00
Eric House
2a0151baf7 add BasEnglish dictionary. 2010-12-06 21:08:15 -08:00
Eric House
4ac4b37619 Merge remote branch 'maidu/android_branch' into dawg_fixup 2010-12-06 21:05:41 -08:00
Andy2
77fe3952da register for notification of network going up and down; start using
that information to connect and not.  There seems to be no way to get
notified when a socket's underlying transport goes down (might not
even want to) so this will be the best way to have the arrows go red
when the device goes into airplane mode.
2010-12-06 20:19:17 -08:00
eehouse@eehouse.org
fcd179f6b7 Merge remote branch 'origin/android_branch' into dawg_fixup 2010-12-06 18:50:13 -08:00
Andy2
39b40a9a3d build with a header giving word count 2010-12-06 18:31:12 -08:00
Andy2
74fc103e9d opt for the long form of annotated name (includes word count) 2010-12-06 18:28:00 -08:00
Andy2
ad829b74f7 cache DictInfo rather than just lang code; add method that formats
name with lang and count.  Ideally the dict display would be a table,
but it's not trivial to switch from a list to scrolling table.
2010-12-06 18:27:00 -08:00
Andy2
f50e6b3f1b turn dict_getLangCode into dict_getInfo, adding a struct that contains
lang code and new word count.
2010-12-06 18:25:23 -08:00
Andy2
e4999acc98 add dict_getWordCount() 2010-12-06 18:24:31 -08:00
Andy2
ff9e03ef4b read rather than just skipping word count 2010-12-06 07:30:28 -08:00
Andy2
91c04d3267 switch to new format (with header giving word count) 2010-12-06 07:26:47 -08:00
Andy2
12508b7cd5 cleanup stderr output 2010-12-06 07:23:22 -08:00
Andy2
0072112b5a fix syntax for including newheader so only one gets included. Fixes
bug building multiple dicts where headers would accumulate.
2010-12-06 07:23:05 -08:00
Andy2
e2bb50ef62 skip new header if present 2010-12-06 07:22:07 -08:00
Eric House
c4cdc24b78 initial changes to add a header to xwd format so that stuff like
number of words can be included.  Changed to build dicts and linux to
open them.  Android still needs to learn.  Also, some of the tools in
dawg/ need to be fixed to read old-format (pre-utf8) .xwd files.
2010-12-05 19:33:10 -08:00
Eric House
eff2324950 fix compile command 2010-12-05 19:30:00 -08:00
Eric House
bef1e125bf ignore .pdb files 2010-12-05 19:29:15 -08:00
Andy2
b23de9a958 switch from nio to regular old io, with separate reader and writer
threads.  Greatly simplifies things, but only tested for the simplest
case, and I know it won't correctly reconnect when relay goes down.
But folks recommend against nio, and I'd like to see if I'll get
notifications in the form of blocking socket calls returning or
raising exceptions when the network goes down, something that isn't
happenening with nio.
2010-12-03 18:48:14 -08:00
Andy2
fda21e8d15 save room and player names if leaving simple config dialog via the
advanced config button (but still drop if back button hit.)
2010-12-03 06:44:34 -08:00
Andy2
426f990156 fix infinite loop creating networked game: util_rand() can't call into
java in some cases so needs to fall back to returning rand().
2010-12-03 06:43:40 -08:00
eehouse@eehouse.org
ddaa368af3 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-02 22:38:16 -08:00
Andy2
984a5d6154 Fix yet again what shouldn't have been checked in. 2010-12-02 22:37:21 -08:00
Eric House
9fd4229384 pass host to rq too 2010-12-02 22:34:59 -08:00
Eric House
328fe7d6dc Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-02 22:31:34 -08:00
Eric House
d1244da284 script encapsulating sql query that's useful to run (with 'watch') along with discon_ok2.sh 2010-12-02 22:29:36 -08:00
Andy2
99c92e779d in attempt to work around non-random rand() in jni world, call back
into the java world by making it a util_ctxt function.  Do same on
linux to test.  We'll see how it is -- and can back this commit out if
there's no improvement.
2010-12-02 19:02:36 -08:00
eehouse@eehouse.org
c4a4a39438 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-02 05:56:26 -08:00
Eric House
ae9dbd1e5c create mtimes array rather than mtimes timestamp 2010-12-01 21:09:25 -08:00
Eric House
4bd5553596 track mtime per host rather than per game -- make it an array in the db. 2010-12-01 21:08:22 -08:00
Andy2
2e956e2f6e debug is not supposed to be checked in turned on 2010-12-01 18:13:55 -08:00
Andy2
e89feb62d8 second part of manual merge of unicode_branch's dawg/ directory into
this one.  This adds the directories and their files created inside
dawg.
2010-11-30 18:38:05 -08:00
Andy2
79990bc7b1 first set of changes formed by applyinig diff of android_branch's
dawg/ directory against unicode_branch's.  The two branches seem to
have to common ancestor -- probably didn't survive translation from
svn -- so this is the best I can do.

This checkin is all the files that were modified by the patch plus a
couple of simple additions.  Next I'll be adding directories that the
patch created.  It also reintroduced a bunch of .cvsignore files; I
won't check those in.
2010-11-30 18:35:11 -08:00
Andy2
78be732c64 use min of score ht and cell width for network status icon. Fixes
problem on 600x800 devices where the icon overlaps the board.
2010-11-30 18:21:28 -08:00
Andy2
a5c36f37a4 new strings for dict substitution 2010-11-30 06:37:23 -08:00
Andy2
d086dad34e Since you can't add/remove buttons in onCreateDialog(), add a new one
to use when there are other dicts available in the same langauge as
the missing one that offers to substitute, and another dialog
presenting a list of same-language dicts.  Then substitute the one
tapped.
2010-11-30 06:37:01 -08:00
Andy2
3a9eb72db3 add static methods to count and list dicts in a given langauge. 2010-11-30 06:34:57 -08:00
Andy2
1653b9f6e9 replace call to rand() with android_only function that reads two bytes
from /dev/urandom.  rand() has been returning pretty crappy numbers
resulting in lots of clustering of tiles in trays.  Let's see if this
is any better.
2010-11-29 17:12:12 -08:00
Andy2
b4fb57de9c move thread inside so it can be started and stopped. And exit the
thread on failure to connect, allowing comms' timer to control when we
retry.  This fixes problem where would try multiple times/second to
connect when relay was down.  Now we try every 15 seconds (per comms,
which can as well back-off), and shortly after the relay comes back up
connect successfully.
2010-11-24 18:14:34 -08:00
Andy2
8623c569e7 move game data from separate files into a BLOB column in the existing
summaries db table, using the existing SNAPSHOT column rather than
adding a new one and upping the version.  Includes utility fired at
game-start to convert existing games that seems to work.  Also
improved a few queries and updates to -- I think -- use the API
better.
2010-11-24 17:22:46 -08:00
Andy2
be35d875b2 move game data from separate files into a BLOB column in the existing
summaries db table, using the existing SNAPSHOT column rather than
adding a new one and upping the version.  Includes utility fired at
game-start to convert existing games that seems to work.  Also
improved a few queries and updates to -- I think -- use the API
better.
2010-11-24 17:22:04 -08:00
Andy2
7c96048ba2 add, but comment out because it requires user permission, code to
notice when cellular data becomes available and notify relay of dead
games then.  Must be a way to notice a network interface cellular or
not without permission since I already have permission to use it.
2010-11-23 19:01:32 -08:00
Andy2
c3f43dd26c when deleting all games don't inform relay until after the last one so
a single connection does it.
2010-11-23 18:28:05 -08:00
Andy2
5bf87b3bea add function to invoke rq once for all the relayIDs in the set of
devices making up a game.  Actually using it make the script fail for
some reason and so it's commented out, but it helped to debug the
relay.
2010-11-23 18:12:11 -08:00
Andy2
0bbf7272aa don't create thread if there are no obits in the db -- makes it
cheaper to call when there may be nothing to do.
2010-11-23 18:10:51 -08:00
Andy2
7c8622392d send the list of saved deleted relayID/seed pairs off to the relay and
remove them from db when relay reports success.  TODO: relay always
reports success even if some are malformed and it's aborted parsing.
2010-11-23 17:56:17 -08:00
Andy2
1720fbbd50 fix parsing of relay ids by replacing separating \n with \0. 2010-11-23 17:46:16 -08:00
Andy2
111c59dd30 toward having game deletion get reported even if network isn't live at
the moment: create new "obits" table and put dead game info in it.
Change constant for current table name to be less generic.
2010-11-23 06:44:59 -08:00
Andy2
2127394260 don't allow resignations below a certain point -- which happens to fix
divide-by-zero error.
2010-11-22 20:44:28 -08:00
Andy2
daecc807c1 don't init nPerDevice, and deal with it not being inited. 2010-11-22 20:43:37 -08:00
Andy2
eebf5f1252 remove the big dictionary. Ideally I'll figure out how to gracefully
allow to switch without downloading before the next beta.
2010-11-22 18:24:37 -08:00
Andy2
983906810c set dropdown view resource on public rooms spinner -- fixes problem
where it was drawing super-small.
2010-11-22 07:39:18 -08:00
Andy2
3ee3af8881 init crosshairs correctly so 0th column and row aren't drawn short. 2010-11-22 07:04:51 -08:00
Andy2
edab239060 add one more change 2010-11-21 20:12:45 -08:00
Andy2
ead21206e0 up version to 5 not 6 since prev beta was at 4. 2010-11-21 20:12:34 -08:00
Andy2
7d164f2389 complete list of changes 2010-11-20 21:19:56 -08:00
Andy2
d23dc4aee5 No need to use CurGameInfo for any game summary fields since it's all
in the summary db now.  Saves opening the game itself just to show it
in a list.
2010-11-20 20:37:01 -08:00
Andy2
985c3d586c move gameslist summarizing methods from CurGameInfo to GameSummary. 2010-11-20 20:34:41 -08:00
Andy2
b3b9742cdf add serverrole and players summary to summary db 2010-11-20 20:34:00 -08:00
Andy2
a9a1076d02 actually delete dict when no games use it. 2010-11-19 21:47:38 -08:00
Andy2
b2e418436d tweak string 2010-11-19 21:09:36 -08:00
Andy2
e38ac33e00 move dict-missing dialog from DlgDelegate into GamesList because
that's the only place that is or should be calling it.  And since we
can usually figure out the exact url for the dictionary go ahead and
try to download that.
2010-11-19 21:08:09 -08:00
Andy2
0578a0e4f6 When deleting dictionaries, just do it unless the dictionary's in use
in which case tell user how many games are using it when asking for
confirmation.  To do that, add dict into summary DB, and to do that
add CurGameInfo into GameSummary's constructor.  Also, when there's no
summary for a game, make one on the spot and add it to the db.  This
will crash if the game's dict has been deleted.  Need to deal with
that, probably by deleting unsummarazible games, becuase now if
somebody installs this on top of a device where a game's dict is
missing and it has no summary I'll never boot.
2010-11-19 18:37:00 -08:00
Andy2
586b211b04 add dict name and language to summary database. Probably eventually
want to move everything for the display here -- and maybe the file
contents too as a BLOB.
2010-11-19 18:24:56 -08:00
Andy2
71059e6dff remove nPlayers from game_summarize 2010-11-19 18:23:34 -08:00
Andy2
92940e6638 add model_getNPlayers() 2010-11-19 18:22:39 -08:00
eehouse@eehouse.org
d261aa8184 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-18 22:42:43 -08:00
Eric House
a1caaeb183 simulate games being deleted before they're finished 2010-11-18 22:27:46 -08:00
Eric House
7a2d279308 add logging so script can better track what state relay game is in 2010-11-18 22:27:06 -08:00
Andy2
43be0183a5 just assert that dict can be opened as part of opening game. GamesList
is now responsible for not launching a game if its dict is gone.
2010-11-18 19:05:22 -08:00
Andy2
3eb8b723de don't assume no-dict dialog should call finish on its calling
Activity() on exit -- we're not letting the Activity launch any more.
2010-11-18 19:04:43 -08:00
Andy2
198534dce3 check if dict missing and warn rather than do anything that will crash
if it's not there.  Ideally I could open the config dialog so user
could change the dict but that isn't working.  Maybe just offer to
open it after swapping in the default dict?
2010-11-18 19:00:49 -08:00
Andy2
7921ddca10 don't crash when asked to reset a game whose dict has been deleted. 2010-11-18 18:52:04 -08:00
Andy2
163c124072 update for b19 2010-11-17 06:13:31 -08:00
Andy2
fc88742978 up constants for b19 2010-11-16 21:06:43 -08:00
Eric House
b91187d6a5 test result when parsing; drop if didn't parse 2010-11-16 20:30:43 -08:00
Eric House
f33466b6db exit with non-0 on failure so calling script/loop can exit too 2010-11-16 20:29:55 -08:00
Eric House
4c6c3c1ded when marking a device in a dead game, negate its nperdevice entry rather than always using -1. 2010-11-16 20:28:53 -08:00
Andy2
635ae053b6 cut down on printing; don't assert-fail when relay's crashed. 2010-11-15 20:40:59 -08:00
Andy2
2c5c7a0dd1 init m_nRoomsFilled -- not sure when this http view feature broke 2010-11-15 20:08:59 -08:00
Andy2
a1be555910 improve string for deleted remote game -- but really needs a "delete
now" button.
2010-11-15 19:02:12 -08:00
Andy2
3b30aff613 use external relayID.sh script 2010-11-15 19:01:38 -08:00
Andy2
ea292c7e2f exclude dead games when looking for open public rooms 2010-11-15 19:01:11 -08:00
Andy2
58cd93ef6f given a log file, generates an ID that can be passed with the -d
option to relay/rq.
2010-11-15 18:34:56 -08:00
Andy2
c6bd2125a4 java uses '/' to delimit device id, so we'll make that standard. 2010-11-15 18:27:36 -08:00
Andy2
c36679fe13 init isDead to false. Fixes prolem where if DB entry's missing the
value is uninitialized and so device gets warned that other device
resigned even if none did.
2010-11-15 18:21:40 -08:00
Andy2
a69e2ad8be add test for device-gone notification by calling rq after gleaning
required params from logs.  So far testing only after game is over;
need to test mid-game deletion too.
2010-11-15 06:52:35 -08:00
Andy2
d4e810c9cb delimiter changed 2010-11-15 06:51:05 -08:00
Andy2
ce5738a4e1 write the count 2010-11-15 06:50:09 -08:00
Andy2
edf0c40904 track isDead when creating SafeCref for devgone 2010-11-15 06:49:41 -08:00
Andy2
2c9f2572a8 use GameFull() 2010-11-15 06:48:57 -08:00
Andy2
feca7345dc add GameFull -- database, not in-memory state, knows if game is full. 2010-11-15 06:48:36 -08:00
eehouse@eehouse.org
14579c6e30 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-14 19:40:35 -08:00
Eric House
528ae0c986 allow more than one device death per message 2010-11-14 15:19:38 -08:00
Eric House
a8ac30b180 add -d option to test dev-gone on relay 2010-11-14 15:18:49 -08:00
Andy2
9026d5c149 remove obsolete script I keep accidentally invoking 2010-11-12 18:26:01 -08:00
Andy2
43896ff187 remove unused method and variable 2010-11-12 18:25:15 -08:00
Andy2
fc8cac3b6a handle new device-gone message by posting timed-out dialog. 2010-11-11 06:43:36 -08:00
Andy2
b0a4790ce0 respond to new game-gone message by passing to utils. 2010-11-11 06:41:24 -08:00
Andy2
0787a06eb5 accept new message from device announcing the death of a game
(including seed so it's harder to spoof); respond to that by setting a
DEAD column in the db and flagging the device as gone.  Notify any
connected device of the fact.  Refuse to accept new connections to
that game.  As already-connected devices reconnect, allow them to do
so but send a new status message that their game is dead.  Not heavily
tested yet.
2010-11-11 06:40:50 -08:00
Andy2
3d59bc7e39 add new DEAD column to track when a game's been deleted 2010-11-11 06:29:21 -08:00
Andy2
04e1b0c22b new constants, include new status event type, for relay to accept
notification of deleted game and communicate that to others in the
game as they connect.
2010-11-11 06:26:59 -08:00
Andy2
d809db7b21 plug into delete and reset code to notify relay that game's forever gone. 2010-11-11 06:25:08 -08:00
Andy2
cf84cce41a define and handle new other-was-deleted error relay is about to start
returning.
2010-11-11 06:23:48 -08:00
Andy2
e3f373039a add informOfDeath to communicate to relay when game is deleted 2010-11-11 06:22:38 -08:00
eehouse@eehouse.org
048eff92b8 Merge branch 'relay_proxy' of /home/andy2/dev/git/LOCAL_ORIGIN into relay_proxy 2010-11-10 07:17:39 -08:00
eehouse@eehouse.org
7929167129 Merge branch 'android_branch' into relay_proxy 2010-11-10 07:06:10 -08:00
Andy2
f373b52d45 fix bug drawing tile letters when drawScaled() got triggered (e.g. for
W on non-std-sized screen): pass null as scr rect to drawBitmap so the
whole bitmap gets used.
2010-11-10 07:05:40 -08:00
Andy2
d3e644db83 stop requiring 1.6 sdk when runs fine on 1.5 2010-11-10 06:57:45 -08:00
Andy2
c8d7ca40a5 use \1 instead of \n as delimiter -- in case somebody passes as string
containing a \n.
2010-11-09 18:02:22 -08:00
Andy2
0f111ab363 use PQexecParams instead of PQexec for queries involving strings from
users (i.e. room names) to avoid crashes when the contain apostrophes
-- and in general to be safer.
2010-11-09 17:27:33 -08:00
Eric House
966616cbc4 throw in the public flags; disallow unset variables 2010-11-09 05:54:23 -08:00
Eric House
2a2f4d4395 been a while since cvs... 2010-11-09 05:53:49 -08:00
Andy2
42481a31cc add seed to db; get and set it. 2010-11-08 17:23:54 -08:00
Andy2
82876bda06 add seed and fetch it in jni 2010-11-08 17:23:16 -08:00
Andy2
22f7a42c1d make comms_getChannelSeed non-static so jni can call it 2010-11-08 17:22:38 -08:00
Andy2
b49015c9a1 map out-of-range lang codes to 0. Otherwise we get outOfBounds
exceptions once Hex dict is installed.
2010-11-07 15:42:09 -08:00