Commit graph

561 commits

Author SHA1 Message Date
Eric House
c1e420f726 Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/relay/rq.c
2011-11-29 06:45:32 -08:00
Eric House
c8b868c243 Separate app from params. No change in behavior (though restart of
existing games is now broken), but this sets up testing mid-game
upgrade.
2011-11-29 06:43:16 -08:00
Eric House
c6e994abef use $RANDOM rather than $SEED -- still repeatable, but avoids relay
problems when devices have same game seed.
2011-11-28 18:53:40 -08:00
Eric House
1b864b5527 Add backtrace function. May only work on Linux but still very useful. 2011-11-28 18:12:56 -08:00
Eric House
384a41ed5b add ability to specify seed and vary board-size 2011-11-25 18:03:51 -08:00
eehouse@eehouse.org
93a7d15a5e Merge remote branch 'origin/send_in_background' into send_in_background 2011-11-23 17:57:54 -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
f32f7a8b19 Don't behave badly in presence of empty dict: word count should be 0
and sanity test should pass.
2011-11-21 18:07:08 -08:00
Eric House
9115b344fb use a hash of lists rather than a single list to store pending
background messages to fix assertion failure when more than two
devices are playing: messages must be sent grouped by relayID.
2011-11-21 17:57:38 -08:00
Eric House
b00327aa8b fix to work for NDEVS > 2. 2011-11-21 17:35:08 -08:00
Eric House
a0a8a816a4 make number of devices configurable 2011-11-21 10:09:29 -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
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
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
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
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
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
5be5e9fdeb cleanup script output 2011-11-10 18:39:35 -08:00
eehouse@eehouse.org
9f22b11f81 Merge remote branch 'origin/android_branch' into android_branch 2011-11-10 06:54:42 -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
Eric House
36c267ad88 Merge remote branch 'origin/android_branch' into android_branch 2011-11-09 06:52:32 -08:00
Eric House
268f018140 add dict sanity check that will, I hope, catch corrupt dicts. 2011-11-09 06:51:12 -08:00
eehouse@eehouse.org
ffd6a42c1e Merge remote branch 'origin/android_branch' into android_branch 2011-11-08 21:12:47 -08:00
Eric House
c591182d6c Modify linux bonus square code to work with board data that's half the
size.  Toward a board small enough to be transmitted as part of
network game initialization.
2011-11-08 21:11:06 -08:00
Andy2
956fe350ba remove changed param -- mmap's the default now. 2011-11-07 18:19: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
4f29f51253 turn dict iter feature on for linux for good 2011-11-03 06:18:15 -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
Andy2
8d228ae190 turn on face-up tile picking for Android (though there's no prefs UI
to enable it for a game yet).  In common code, break pick tile utils
method in two, one for blank and the other for tray tiles.  In java,
implement dialog for picking the tiles.  Works, though is a bit clumsy
to have the dialog come and go after every pick.  Better would be a
dialog that stays up and accumulates picks -- but it'd have to know to
reduce the set of tile choices as letters are chosen.  This'll do for
now.
2011-10-28 22:15:56 -07:00
Eric House
71450b02b3 use indexing (and add binary search) to double speed of getNthWord 2011-10-28 20:27:16 -07:00
Eric House
ff89ffb168 add missing backup button to fully test tile picking 2011-10-28 20:23:59 -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