Commit graph

5381 commits

Author SHA1 Message Date
Eric House
eec83fe5b6 don't fail when RELAY_ALLHERE comes without a connection, as that will
happen when messages come in background.  I'm not sure what the test
I'm removing was there to catch so need to test thoroughly.
2011-11-21 17:38:50 -08:00
Eric House
b00327aa8b fix to work for NDEVS > 2. 2011-11-21 17:35:08 -08:00
Eric House
72a3ed1891 increase buffer size: longer relay name caused stack overwrite
failures.
2011-11-21 17:33:44 -08:00
Eric House
a0a8a816a4 make number of devices configurable 2011-11-21 10:09:29 -08:00
Andy2
c7906c3bd4 prevent min from exceed max by not including values below min as
possible max settings and vice-versa.  Since spinner values no longer
have a consistent base, parse them rather than relying on position --
requires assumptions such as that View is a TextView, but that is
probably not changing.
2011-11-21 08:19:25 -08:00
Andy2
aba4e02cac use a standard list item for words rather than consing up a TextView
and having to worry about text size.
2011-11-21 07:20:12 -08:00
Eric House
1d13f7d1f2 update instructions for building 2011-11-19 20:05:04 -08:00
Eric House
33496914a4 More new SDK fixes: put back script to generate GitVersion.java. 2011-11-19 19:49:15 -08:00
Eric House
e335f5cf61 fix to use new sdk version to generate local.properties 2011-11-19 19:23:58 -08:00
Eric House
d806e3f906 changes made by android tool for compatibility with new SDK version 2011-11-19 19:07:16 -08:00
Andy2
c781bfc29e remove hard-coded 2-15 array for word-len limit spinners and instead
create at runtime arrays that represent the words actually in the dict
-- e.g. showing a max of 8 when there are no words longer than that.
2011-11-18 21:24:59 -08:00
Andy2
872ebe68f4 make array one large to hold word whose len is == max 2011-11-18 21:14:24 -08:00
Andy2
b86330c71f add dict_iter_getCounts() 2011-11-18 21:10:17 -08:00
Andy2
21330af568 make tiles array variable sizes. 32*32*2 is too many bytes to use
when the typical board at 15*15 requires less than 1/4 of that.
2011-11-18 18:59:59 -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
Andy2
2eac8e70e0 adding missing ifdef 2011-11-18 07:43:37 -08:00
Andy2
37e81fd062 use number of bits based on stream version not current build --
required in case new code is talking with old in networked game.
2011-11-18 07:43:10 -08:00
Andy2
f9c3a95603 move stream version definitions 2011-11-18 07:41:57 -08:00
Andy2
f06eaa573b fix to compile with API changes 2011-11-18 07:41:13 -08:00
Andy2
4760ceda5a Merge branch 'android_branch' into android_browsedict
Conflicts:
	xwords4/android/XWords4/jni/anddict.c
2011-11-17 20:55:02 -08:00
Eric House
55d23c9502 various improvements, including allowing to specify seed to enhance
reproducibility, copying xwrelay.log into directory with game logs
when they don't finish for easier analysis.
2011-11-17 19:58:08 -08:00
Eric House
cd699ba547 close socket when done 2011-11-17 19:56:54 -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
1889fbd78b relaunch activity, with pararms in intent, every time min or max
changed.  Can't figure any other way to change the list of section
heads, as setListAdapter() is ignored when called a second time.
Note: I got an assertion failure in the jni indexing code so there
may be a bug here.
2011-11-17 19:52:10 -08:00
Andy2
aab9fd9df2 test the variable that may have been changed, not the one that holds
the pre-change value.
2011-11-17 06:54:26 -08:00
Andy2
63c0c5cf09 fix compile warning by passing ptr to embedded super 2011-11-17 06:11:42 -08:00
Andy2
210c59ef9b move bonus square values into model: add API to set an array, and API
to query model for values.  Now everybody else queries new model API
rather than client via util_getSquareBonus(), model uses its internal
values if present otherwise falls back to util_getSquareBonus(), and
internalizes the array as part of the game.  Now it should be easier
to have different bonus patterns and to have them exchanged as part of
network game init.
2011-11-16 19:01:11 -08:00
Andy2
fab39a5f87 Trying to deal with old- and new-proto devices interacting. Fix
clients to append their stream version to their inital connect
message.  (The format can't change, so detecting additional length was
the only option.  comm.c on existing clients won't allow more than one
connect message per channel, so adding a new to be used in addition
didn't work.)  New servers detect this; old will ignore.  Track the
version (implicit or not) of all clients, and use the lowest any
supports, so that new server and all new clients will use newer proto.
2011-11-16 06:47:55 -08:00
Andy2
bdb8e6f03c fix several crashers that prevented network games from working when
MAX_COLS was larger than 16.  In order that old-style messages on
relay be readable by new-style code on device, modified server.c's
protocol to include stream version.  But: unless I come up with a
better way of doing this all devices will have to be upgraded at the
same time: old won't be able to read the new format as it's done here.
2011-11-15 06:13:25 -08:00
Andy2
379e5f1d96 use actual rather than max possible board dimensions to apportion
space, fixing crashes when max upped to 32.  Will still fail as actual
size approaches that number.
2011-11-14 20:18:09 -08:00
Andy2
86d5778ec3 remove 16x16 limitation on board size, replacing with 32x32. Change
is enabled by a compile-time flag so Android needn't follow yet.
2011-11-14 18:21:41 -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
Eric House
d6fecaa3d3 don't crash when dict is empty file 2011-11-13 17:06:57 -08:00
Andy2
4edca4ee4c Check for null return from getInfo(), the result when it tries to open
a corrupt dict.  Such dicts should never get this far, but it doesn't
hurt to be safe.
2011-11-11 18:30:53 -08:00
Andy2
44c5500ab0 don't crash when empty or corrupt dict file passed in. 2011-11-11 18:29:26 -08:00
Andy2
b334e688bb use getInfo to run sanity check on .xwd files in download directory.
This prevents deliberately corrupted files from making it into dict
lists.  To the extent that checkSanity() works, it should make use of
that dir safe.
2011-11-11 07:45:25 -08:00
Andy2
9ff4596667 fix compile warning by passing ptr to embedded super 2011-11-11 07:42:00 -08:00
Andy2
92eb6b857d allow null info ptr so getInfo can be used solely to run sanity check
on dict.
2011-11-11 07:41:31 -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
eehouse@eehouse.org
e48ed847df Merge remote branch 'origin/android_branch' into android_branch 2011-11-10 19:02:57 -08:00
Andy2
284bd2d0c4 turn on sanity checking of dicts in download directory, but from
DictLangCache rather than when the directory's walked initially.  Need
to test still with bogus dict and make sure it's never shown.
2011-11-10 19:02:18 -08:00
Eric House
5be5e9fdeb cleanup script output 2011-11-10 18:39:35 -08:00
Eric House
619c25ee49 add a bit of logging to help deciphering test app problems. 2011-11-10 18:28:11 -08:00
Eric House
cee738942e back out earlier change using redo: it was broken. Add assert to
catch problem with passing ptr to tiles as src of tiles.
2011-11-10 18:26:32 -08:00
Eric House
6d98631640 sanity check: make sure tiles are within range. 2011-11-10 18:24:45 -08:00
eehouse@eehouse.org
9f22b11f81 Merge remote branch 'origin/android_branch' into android_branch 2011-11-10 06:54:42 -08:00
Andy2
43a79a0b47 use undo/redo rather than copying stack to figure past move score.
This may have been contributing to crashes, but the new code's more
effecient anyway.
2011-11-10 06:52:33 -08:00
Andy2
00f743409a script for reproducing problem with relay games that show up randomly. 2011-11-10 06:51:30 -08:00
Andy2
d479b2b979 use timeout rather than idle. Sometimes (due to bug?) curses app is
too busy ever to fire idle proc.
2011-11-10 06:51:05 -08:00