Commit graph

4921 commits

Author SHA1 Message Date
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
179560867f for symmetry, remove default menu title from res file and set in code
either way.
2011-10-05 06:14:48 -07:00
Andy2
c5c0fbccae remove unused DrawFocusState params from jni interface 2011-10-04 19:03:27 -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
f4b8b2806e remove unused parameter 2011-10-04 06:48:53 -07:00
Andy2
5dd21a16ea don't crash if words stream is null, as it will be when turn's a pass. 2011-10-04 06:45:16 -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
5773466fb6 prevent lookup dialogs from coming up before button pressed by not
assigning m_words too early.
2011-10-04 06:19:06 -07:00
eehouse@eehouse.org
fe1bfead87 Merge branch 'two_phase_lookup' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-10-03 06:46:24 -07:00
Andy2
072516655e Use words list passed into informMove rather than query when user
presses button.  Include word in button text when there's only one.
2011-10-03 06:43:20 -07:00
Andy2
35e4c21f17 add util_informMove to jni. Use it, but not to advantage yet. 2011-10-02 16:42:10 -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
Eric House
8a5667f011 add missing language codes 2011-09-22 17:16:27 -07:00
Andy2
b7691d2997 Merge branch 'android_branch' into two_phase_lookup
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/JNIThread.java
2011-09-22 06:53:45 -07:00
Andy2
fcdbed0920 fix to work with changed C api 2011-09-22 06:49:34 -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
b10453bd25 cleanup 2011-09-22 06:14:22 -07:00
Andy2
e887d0a116 make word lookup two-stage, first a dialog to pick the word then
another to pick the URL.  Hacky code takes us back to the first after
the second is dismissed while only showing either if there's a choice
to be made.  Also add menu item to lookup all words in the game --
useful for testing when robot refuses to play multiple words but maybe
also worth shipping.
2011-09-21 19:04:33 -07:00
Andy2
c44a884184 try another item layout -- need to fix the background instead. 2011-09-21 05:47:12 -07:00
Andy2
617de4eb7e make lookup dialog two-part, with list of lang-supporting URLs at top
and words at bottom.  You choose a URL/site, then tap a word, and
repeat until you're done.
2011-09-20 19:01:37 -07:00
Andy2
11d44ba72a use glib mainloop by default 2011-09-20 06:14:11 -07:00
Andy2
7e0252713c changes to use glib main loop were incomplete, didn't include timers.
Fix that.  Now discon_ok2.sh test works with the USE_GLIBLOOP turned
on.
2011-09-19 18:28:19 -07:00
Andy2
c2e2bdf3c5 listen on stdin always -- not sure how the condition got added -- and
don't register for OUTbound events when listening -- stdin gets one
and I don't want to sign up to handle it.
2011-09-19 17:56:20 -07:00
Andy2
97334faa95 switch to lookup url that can include language, and include it when
French or German in use.  Disable button if I don't know how to look a
word up.  Later will want to have multiple URLs available, falling
back to googling for the word if I don't know about an online
dictionary.
2011-09-19 07:53:29 -07:00
Andy2
d7a04f87e6 add custom view for wordlist dialog so it doesn't get dismissed the
first time you pick a word -- now all can be looked up if desired.
2011-09-19 06:45:15 -07:00
Andy2
ea3e015a8f use server_listWordsPlayed to implement lookup button: get list from
jni, and when it calls back with it launch the browser directly if
there's only one, otherwise put up a choice list.  Currently the list
dismisses after launching the browser once: need to fix that, probably
with a custom View.  And need to deal with non-English games, and
maybe add other choices for lookup than dictionary.com.
2011-09-18 19:10:12 -07:00
Andy2
dced47e202 export server_listWordsPlayed via jni. 2011-09-18 19:06:23 -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
b579bb0bca first step in implementing lookup of words: add button and browser
launch to single website for hard-coded word.
2011-09-16 06:44:25 -07:00
Andy2
131bb561bc cache reference to prefs 2011-09-15 18:59:39 -07:00
Andy2
6bd72a54bf rename php scripts so their URLs are a bit more helpful when the user
has to see them, as happens when invitation is send via SMS.
2011-09-15 18:52:15 -07:00
Eric House
35b2ae0f42 remove dead strings. Move app-name to common_rsrc.xml since it's not
translated.
2011-09-15 18:08:00 -07:00
Eric House
df82578d5a add a ton of comments -- I think I'm done. No changes to any string here. 2011-09-15 18:07:07 -07:00
Eric House
a676b5beb0 comment out dead code referencing strings 2011-09-15 18:06:12 -07:00
Eric House
ced5da45a5 remove unused string ref 2011-09-15 18:05:45 -07:00
Andy2
8cb49ad8a3 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch
Conflicts:
	xwords4/android/scripts/strings_check.sh
2011-09-14 06:51:10 -07:00
Andy2
25f7c72994 add some comments and rearrange 2011-09-14 06:46:52 -07:00
Andy2
d69bbfed97 copy over from french_xlation branch 2011-09-14 06:39:23 -07:00
Andy2
c3f9fc6f7b remove unused strings 2011-09-14 06:13:32 -07:00
Andy2
2ee4ec12d5 toward merge with french_xlation: remove unused and move debugging
strings.
2011-09-14 05:50:55 -07:00
Andy2
5eb6ba2637 remove echoing 2011-09-14 05:45:32 -07:00
Andy2
1167ebe15e script for printing file per branch or revision -- like svn cat 2011-09-14 05:37:48 -07:00
Andy2
45bf34fdc1 just copy it over from french_xlation branch -- screw history 2011-09-13 19:01:16 -07:00
Andy2
b6cfdbbb37 print strings as single lines for easy comparison
Conflicts:

	xwords4/android/scripts/strings_check.sh
2011-09-13 18:59:14 -07:00
Andy2
7edf615b40 add comment noting that this release breaks old games configure not to
use English.  (Specifically, they've been played in English until now
and played letters will be reinterpreted in the right language for the
first time.)
2011-09-13 18:33:30 -07:00
Eric House
0bd9500033 add options to be used comparing across branches 2011-09-12 22:09:11 -07:00
Andy2
9f6391ba34 cache the most recently loaded game's byte[] data. Saves about 2/3 of
the reads from the DB.
2011-09-12 19:52:18 -07:00
Andy2
99498a8568 use static HashMap to track what language views are open and closed.
As long as I'm not reloaded user choice will be preserved.  Good
enough.
2011-09-12 19:00:13 -07:00
Andy2
72d769910b expand children after a delete (to be consistent, though it'd be
better to rememeber state)
2011-09-12 18:37:04 -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
68c85ec176 use new class to inval list of dicts when SD card inserted or ejected. 2011-09-12 18:29:18 -07:00
Andy2
14608d2deb listen for SD card events via BroadcastReceiver registered in
AndroidManifest rather than created programatically: only with this
can I get EJECT events to work.  Replacement class has static
register/unregister methods which DictsActivity uses.
2011-09-12 18:28:43 -07:00
Andy2
8c0657f1cd add showf for Toast-based debugging 2011-09-12 18:22:37 -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
Andy2
ec6108501d draw timer in full color even in exchange mode 2011-09-09 18:23:19 -07:00
Andy2
06571d0478 up constants and update changes list for new release 2011-09-09 18:17:28 -07:00
Andy2
1d612288d4 add optional param to confirmation dialogs to allow positive button
other than Ok; add "Delete" and "Reset" for game and dict actions.
2011-09-09 06:50:00 -07:00
Andy2
fda3207b78 fix inability to tell whether a dict being deleted is in use: add to
summaries DB list of dicts in the game and a method that queries that.
Pick delete-confirmation message based on the language of dict,
whether there are others in the same language, and whether games are
using that language or that dict.
2011-09-08 21:36:15 -07:00
Andy2
528db479b5 bunch of changes whose original purpose was to allow me to deal
correctly with having the same dict stored in more than one place.
Added DictAndLoc with members name and loc to support this, and used
in a bunch of places in place of mere strings, including
DictsActivity.  Also removed code warning when you're deleting a dict
that's not the last in its lang, which incorrectly warned that the
dict was in use when in fact I can't tell that.  The warning "might be
in use" sounds dumb so it's gone for now.
2011-09-08 19:10:06 -07:00
Andy2
2aa5447301 remove some logging 2011-09-08 19:03:08 -07:00
Andy2
ce8104f679 move dict-related methods from GameUtils.java to new DictUtils.java 2011-09-06 07:18:45 -07:00
Andy2
d82193ff05 don't overwrite m_gi on resuming activity as it may contain
local/pending changes.  Fixes bug where you change language, then
choose "download more..." from a player's dict choice spinner and find
on returning to GameConfig that the language has reverted.
2011-09-03 22:19:10 -07:00
Andy2
eab067fe32 use autocaps for default player names pref 2011-09-03 21:54:25 -07:00
Andy2
1af358b269 move code to unpack players list into same file as the code packing
it; add boolean, now always passed as false, to code printing names
for game config list of players to include the dictionary.  It's
useful for debugging, and I think it'd make a good optional setting,
but nobody else thinks so.  Once it's checked in the change can go if
I'm not using it.
2011-09-03 21:05:08 -07:00
Andy2
a3566bc063 Fix bug: the CurGameInfo instance being used to generate the list of
dicts passed when opening a game was based on defaults, not read in
from the game data.  Oops.  So now it's a two-step process: open the
data, read in the game info, generate list of dicts from that, and
open full game with list of dicts.  (TODO: optimize by caching game
data across multiple reads.)
2011-09-03 20:31:03 -07:00
Andy2
8087153b73 log name of dict being set -- as an easy way to confirm that the right
dicts are getting passed to the jin.
2011-09-03 20:19:51 -07:00
Andy2
471199ba2f cleanup -- no code change beyond ordering and renaming. 2011-09-03 19:41:36 -07:00
Andy2
9956bc417d fix bugs: chosen dict was being pulled by index from non-sorted
version of the list user saw when choosing the index. Fix is to use
same list. Cancel after selecting dict didn't work as the selection
listener had already copied the selected dict name over.  Now the
listener leaves that for the Ok button's onclick listener.
2011-09-03 19:38:52 -07:00
Andy2
3fd0bb056a when there's no move made yet to display after score entry held say
so.
2011-09-02 19:24:42 -07:00
Andy2
e4b952222a unify two ways of saving words encountered during scoring, removing
one and changing the site that used it to use the other.  Not visible
outside of common, but should make it easier to harvest a list of all
words for one move or the entire game.
2011-09-02 19:11:04 -07:00
Andy2
2f91b8ed3d remove unused strings 2011-09-02 18:37:58 -07:00
Andy2
da475347a5 get rid of unused constants 2011-09-02 18:36:26 -07:00
Andy2
2d2f3e23fd change signature of util_playerScoreHeld(): pass player num rather
than formatted text. Client code can use new
model_getPlayersLastScore() or whatever else it wants to build text to
show the user.
2011-09-02 18:36:03 -07:00
Andy2
b6a4621617 trivial optimization 2011-09-02 18:34:07 -07:00
Andy2
42950c38bd export model_getPlayersLastScore() 2011-09-02 18:33:34 -07:00
Andy2
99679357a8 Exit trade mode on "commit" even if no tiles selected (in keeping with
error message on Android); don't block trade if pending tiles are on
board; instead undo them. There's redo now so there's no need to
confirm, no data loss.
2011-09-02 06:48:06 -07:00
Andy2
dadf41ad2e add "cancel trade" menu item 2011-09-02 06:38:30 -07:00
Andy2
c2150bc9ed get rid of util_setInTrade() 2011-09-02 06:14:29 -07:00
Andy2
9cf7e6ca18 get rid of util_setInTrade() 2011-09-01 19:53:03 -07:00
Andy2
5d08b6b3cd don't make scoreboard entries translucent during trade if option to
change which player is shown is enabled.
2011-09-01 19:52:36 -07:00
Andy2
e94524958f get rid of util_setInTrade(); fix passing of selBits when trading
(broken with prev checkin.)
2011-09-01 19:51:26 -07:00
Andy2
437e4e21ac There are buttons not menu items for exiting exchange mode so
reference them in newbie text.  And get rid of string for toast
exiting the mode since we don't show it.
2011-09-01 18:54:27 -07:00
Andy2
934daab6c8 don't need util_setInTrade. There's already code passing the result
of game_getState() in after every draw() call and it has an inTrade
ivar.  Use that.
2011-09-01 18:53:38 -07:00
Andy2
9a60bcf265 draw the X at 7x7 transluscent if in trade mode. 2011-09-01 18:52:21 -07:00
Andy2
8e45dcd720 exit trade mode only in the case where we're asking user to confirm,
and do it before server can call callback that changes selPlayer so
it'll actually work.
2011-09-01 18:50:09 -07:00
Andy2
671877cbca implement new util_ methods in jni and java; remove old miniwindow
stuff.  In java, respond to util_playerScoreHeld() and
util_bonusSquareHeld() by putting up toasts with existing strings.
For util_setInTrade(), fix exchange mode. Add two buttons at bottom
that replace toolbar (and corresponding buttons on menu). Redraw
scoreboard and board with high transparency to make it clear they're
disabled.  Still to do: deal with case where ability to switch which
player's tray is visible is enabled.
2011-08-31 06:37:33 -07:00
Andy2
9c60a5c05b make sure util_setInTrade() gets called every time internal state
changes, including on creation/load from stream.
2011-08-31 06:33:36 -07:00
Eric House
cfa4c96d22 just for grins: japanese dict-building files. There are too many kana
for the current format so this can only be for demos, but I might as
well record it.
2011-08-29 20:42:27 -07:00
Eric House
8c811c3d5a Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-08-29 20:36:53 -07:00
Eric House
c01981bc8f Make miniwindow stuff compile-time optional. The goal's to use native
features where they look better or are easier to manage, e.g. Toasts
and dialogs on Android.
2011-08-29 20:36:01 -07:00
Eric House
3b719f54de add compile-time option to use glib main loop (instead of select())
with ncurses.  The goals to make it easier to include watch on pipes
for incoming messages to better model Android -- and to be a bit more
modern.  Works for one run of test script but needs more testing to be
turned on.
2011-08-29 20:24:15 -07:00