Commit graph

810 commits

Author SHA1 Message Date
Andy2
627410250f reuse existing code in dict_countWords() 2011-11-03 06:18:53 -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
38867b2875 fix bug in debug free following debug realloc to smaller size 2011-11-02 04:38:39 -07:00
Andy2
eb2b139e48 add some consts and better test for null index data 2011-11-01 18:47:20 -07:00
Andy2
fc4a5c31f4 silence picky compiler 2011-10-31 21:11:52 -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
88f556356c dict_tileForString -> dict_tilesForString 2011-10-31 20:56:48 -07:00
Andy2
69b1b4da27 break dict iteration stuff out into new files. No code change
otherwise.
2011-10-31 18:30:55 -07:00
Andy2
1d34c26ebc remove unneeded parama 2011-10-31 06:37:53 -07:00
Andy2
dc58d123d5 combine params into single struct 2011-10-31 06:34:21 -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
f6ff3e85c6 Merge remote branch 'origin/android_branch' into android_branch
Conflicts:
	xwords4/common/dictnry.c
	xwords4/common/dictnry.h
	xwords4/linux/linuxmain.c
2011-10-28 20:54:55 -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
42d1a48a1d don't include indices for prefixes that don't exist. 2011-10-26 22:25:21 -07:00
Eric House
412a58f6b9 make dict_makeIndex work for depth > 1. 2011-10-26 22:20:21 -07:00
Eric House
f2c4e39cd4 add dict_makeIndex(). Works, but only for depth==1 so far (A, not AA or AAA). 2011-10-26 07:10:50 -07:00
Andy2
fc973079dc add first cut at dict_getNthWord. Works. Is slow. 2011-10-25 06:48:16 -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
4eee7f8aa7 Pass selected tiles into new util function, and from there into java
world, so confirming query can include them.
2011-10-19 18:34:26 -07:00
Andy2
c2a7a5c347 fix crash: don't destroy stream if for some reason it's null. Not
sure how that happens, but it does.
2011-10-18 21:29:40 -07:00
Andy2
652b7e703a Remove difference between debug- and non-debug stream format. 2011-10-18 21:27:28 -07:00
Andy2
b31e829414 Remove file-format differences between debug and non-debug versions.
Fix curses to compile non-debug.
2011-10-18 18:52:37 -07:00
Andy2
235259ef45 a bit more tuning of model_listWordsThrough()... 2011-10-17 18:26:04 -07:00
Andy2
3b7532aba8 improve stack_redo() to return the redone move, and use that to avoid
making a copy of the move stack in model_listWordsThrough()
2011-10-17 18:16:19 -07:00
Andy2
9109396ae9 in model_listWordsThrough, only undo as much as needed to find the
move tile that places a tile on the cell we're interested in.
2011-10-17 06:48:59 -07:00
Andy2
8062a027e7 cleanup: NULL's a legal value now. 2011-10-17 06:48:13 -07:00
Andy2
6793742f0f remove option to list all words played in a single lookup dialog, and
supporting code in the jni/common C.
2011-10-14 22:32:30 -07:00
Andy2
0e6b4d749f When pen held on committed tile on board, cons up list of all words
played that include that tile and pass to new util_cellSquareHeld()
method.  In java implementation of that method, use existing lookup
activity code to display list of words.  Enabled on the C side by a
compile-time flag in case it has problems.  Right now the time spent
saving a game before launching the lookup activity, and reloading it
after, is pretty apparent, but that's in emulator which is slow.
2011-10-13 19:14:08 -07:00
Andy2
7449923328 log tiles left in pool -- makes progress of automated/test games
easier to follow.
2011-10-13 19:10:13 -07:00
Eric House
f86b0dfcc5 fix to compile on x86 (with newer compiler that doesn't like unused variables) 2011-10-10 22:42:02 -07:00
Andy2
4bb61401bd fix crash: src and dest stream params were reversed. 2011-10-10 22:24:44 -07:00
Andy2
d5ca5bbd0d remove misplaced assert: in network games illegal words may well
arrive.
2011-10-10 06:48:07 -07:00
Andy2
90f11abc37 add to game state passed into java world whether it's the cur selected
player's turn, and use that to enable/disable Pass/Turn done button.
2011-10-05 06:36:01 -07:00
Andy2
dc20b04a4c remove unused param (on the C/jni side) 2011-10-04 18:54:53 -07:00
Andy2
3ec97d5c07 Turn "Turn done" into "Pass" when the pending score is 0. To do that
I had to pass the score into draw_trayBegin since
draw_drawPendingScore() isn't called until the first tile's placed.
Note: as long as I'm messinng with this menuitem it should be disabled
when it's not the player's turn.
2011-10-04 18:48:33 -07:00
Andy2
c04f981442 fix new word-list reporting to work for networked games too: create
and save a second stream parallel to the existing one reporting the
move scoring.  Requires bump in stream version.
2011-10-04 06:44:29 -07:00
Andy2
3cf1d07df3 optimization: set up word-tracking invariants on init rather than each
time used
2011-10-04 06:21:02 -07:00
Andy2
77b9fa11a5 improving lookup words experience: replace
util_userQuery(QUERY_ROBOT_MOVE) with new util_informMove(), into
which the number of words formed and the words themselves are passed.
The process of consing up the score explanation was already passing
over the model, so storing the words is very little effort, and will
save a call back into the model where the user actually wants to do
the lookup.
2011-10-02 16:21:09 -07:00
Andy2
35a0a3a291 passing pool into word-listing code a mistake as it put tiles back
when undoing and so the pool grew each time.  Fix, and remove server
API as it's unneeded.
2011-09-22 06:41:48 -07:00
Andy2
d000c430b9 thought there was an internal problem with pool and wrote debug-only
code to check.  There wasn't, and it's unused, but no point writing it
again.
2011-09-22 06:40:44 -07:00
Andy2
43e8bd7879 formatting only 2011-09-18 19:05:29 -07:00
Andy2
26ce5a119a in model_getWordsPlayed, make '\n' a separator rather than a
terminator.  Makes it easier to split in the Java world without
getting an extra empty word.
2011-09-18 19:05:00 -07:00
Andy2
9eacdb3856 add server_listWordsPlayed, and implement via function in model.c that
uses existing stack and undo features to run a WordNotifierInfo over
some number of scoring passes to gather the words seen.  Seems to work
as tested from gtk version.  Now need to try from android....
2011-09-18 17:20:01 -07:00
Andy2
63893b8a0d add stream_getPtr() and use to remove a couple of allocs, including
one per message sent.
2011-09-18 16:54:36 -07:00
Andy2
f8f06a7768 raise same error when try to commit exchange out-of-turn is raised for
out-of-turn move attempt -- and don't exit exchange mode.
2011-09-12 18:33:33 -07:00
Andy2
e709ea730c only exit exchange mode if user confirms trade 2011-09-09 21:30:40 -07:00
Andy2
c9c498786e add to game state whether any tiles selected. Use that to disable
'commit exchange' button when there's nothing to commit, and get rid
of error message used when committing nothing since it's now
impossible (on Android).
2011-09-09 19:04:25 -07:00
Andy2
66fb5f87fb don't exit trade mode if no tiles selected; fix warning string to match. 2011-09-09 18:40:19 -07:00
Andy2
201db9415c sort tiles after trade too 2011-09-09 18:32:04 -07:00