Commit graph

427 commits

Author SHA1 Message Date
Andy2
4e66747bbc fix for changed API 2011-11-03 21:35:17 -07:00
Andy2
a5498ee33a fix find to return position rather than boolean 2011-11-03 05:20:11 -07:00
Andy2
c222f08252 catch up with API changes. 2011-11-02 18:46:06 -07:00
Andy2
050a68ce42 use XP_REALLOC now that it's fixes 2011-11-02 05:04:31 -07:00
Andy2
9f2158f094 add dict_getStartsWith to jni 2011-11-01 18:43:36 -07:00
Andy2
482aca5cfb fix crash due to bad allocation of indexing data space. First cut
used XP_REALLOC, but that turns out to be broken, at least on android.
Haven't really used it before...
2011-11-01 18:33:29 -07:00
Andy2
11b7ed1e8e fix to compile with new dictiter files 2011-10-31 21:11:22 -07:00
Andy2
3c53da46ce fix to compile with changed API. Crashes, but want to fix up API in
other branch before debugging here....
2011-10-31 18:22:33 -07:00
Andy2
7d1e9c7638 Merge branch 'android_branch' into android_browsedict
Conflicts:
	xwords4/android/XWords4/jni/Android.mk
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
2011-10-28 22:27:22 -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
Andy2
b490618c8e silence warning with cast 2011-10-28 06:34:59 -07:00
Eric House
ed055b83c6 export index from jni and use for fastscrolling. Works, but is a bit slow still. 2011-10-27 07:01:57 -07:00
Andy2
a7ce5a43de fix so count comes from dict; combine two jni methods into one; fix
crash in destructor.  Now an entire dict can be scrolled through if
you have the patience.
2011-10-25 18:36:12 -07:00
Andy2
74cf751729 use existing dict iteration APIs to implement jni that adequately
displays a dict.  But I don't have a getNth in C to implement the one
I've added in java; need to add that, and caching, to speed it up.
2011-10-24 20:15:52 -07:00
Andy2
c237717de5 dict_getInfo returns false if the dict doesn't parse so can be used to
test validity of downloaded dict.  Internally (in jni), add lots of
checks that format is correct and we don't run off end of ptr walking
truncated dict.
2011-10-23 14:21:57 -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
f41d3c27e6 Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/common/server.c
2011-10-19 06:23:16 -07:00
Andy2
90b0a4e46f if words stream is null, don't pass into java code (where current impl
will get a NPE)
2011-10-18 21:28:50 -07:00
eehouse@eehouse.org
5afb0ae145 Merge branch 'android_branch' into send_in_background 2011-10-14 22:34:29 -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
eehouse@eehouse.org
471a9d988d Merge branch 'android_branch' into send_in_background 2011-10-05 07:10:52 -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
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
eehouse@eehouse.org
82615f409b Merge branch 'android_branch' into send_in_background 2011-10-04 06:49:19 -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
35e4c21f17 add util_informMove to jni. Use it, but not to advantage yet. 2011-10-02 16:42:10 -07:00
Eric House
f0c3e2c5f0 Merge branch 'android_branch' into send_in_background 2011-09-22 17:22:01 -07:00
Andy2
fcdbed0920 fix to work with changed C api 2011-09-22 06:49:34 -07:00
Andy2
92614370ce Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/common/comms.c
2011-09-20 06:21:54 -07:00
Andy2
dced47e202 export server_listWordsPlayed via jni. 2011-09-18 19:06:23 -07:00
eehouse@eehouse.org
98c2617613 Merge branch 'android_branch' into send_in_background 2011-09-14 06:47:12 -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
eehouse@eehouse.org
eb0e41e978 Merge branch 'android_branch' into send_in_background 2011-09-08 21:38:50 -07:00
Andy2
2aa5447301 remove some logging 2011-09-08 19:03:08 -07:00
Eric House
84931f34ff Merge branch 'android_branch' into send_in_background 2011-09-07 21:44:36 -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
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
42950c38bd export model_getPlayersLastScore() 2011-09-02 18:33:34 -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
eehouse@eehouse.org
b6e5327b1a Merge branch 'android_branch' into send_in_background 2011-08-31 06:46:42 -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
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
eehouse@eehouse.org
147687890f Merge branch 'android_branch' into send_in_background 2011-08-24 06:52:51 -07:00
Andy2
84e61f3b3f remove no-op line 2011-08-22 18:43:42 -07:00
Andy2
c41af221b7 fix non-debug compile warning 2011-08-21 11:33:23 -07:00
Andy2
08789c4097 call server_do() up to five times to allow some extra work to get
done.  Required if a host is also a robot.
2011-08-17 19:48:55 -07:00
Andy2
8148c7699a don't loop forever on server_do(). It's broken w.r.t. guaranteeing
that it can always change state.
2011-08-17 06:52:04 -07:00
Andy2
7ab8c6eca4 re-factor sending code so essentially same message (without cookieID
that implies a connection) is sent and received by no-conn code.  Use
flags to determine if comms can support no-conn sending without making
up the message only to have it fail to send.
2011-08-16 19:36:23 -07:00
Andy2
066cef0306 using new send-noconn proc is too expensive if it's only going to fail
(return false) so add new iface comms can call once to get flags to
tell it whether to use that proc.  One implementation of
TransportProcs returns one flag; the other, the other.
2011-08-16 19:31:08 -07:00
Andy2
dfab747504 make server_do() take a new param to allow caller to call it until
there's nothing more to do (without the assumption it's driven from an
event queue.)
2011-08-16 19:28:59 -07:00
Andy2
f61748369a fix non-debug compile warning 2011-08-16 19:17:47 -07:00
Andy2
ea05c34d8f add the alternative send proc to the java transportprocs interface,
and call through to it from the jni.  Add another implemenation of the
interface and pass that when opening games in the background.
2011-08-10 21:06:05 -07:00
Andy2
e88af19e0a toward the ability to send replies to messages received in background
without user having to open the game, which will e.g. allow a host to
assign tiles, or a robot to move, without the phone's owner noticing
there's a message.  This is on a branch because it may never work.
2011-08-10 18:28:34 -07:00
Andy2
8adb925cca only load and pass in dict as byte[] when path isn't available
(i.e. when it's a builtin), and use mmap in that case.  Works!  Still
need to try a speed test.
2011-08-08 20:27:42 -07:00
Andy2
755d3e5bb2 as first step in using mmap for dictionaries instead of passing byte
arrays into the jni, pass the full file paths in in addition to the
byte arrays.  This isn't possible with the built-in dicts, but does
work for the downloaded ones (which are usually larger).  This checkin
does the mmap and uses memcmp to verify that the bytes are the same as
passed in.  Next step is to not pass the bytes when the path will do
and to actually use the mmap'd ptr.
2011-08-08 19:41:45 -07:00
Eric House
1c227c8921 remove code for engine progress -- it's been disabled for a while
anyway as it gave away whether robot had blanks.
2011-07-31 20:52:27 -07:00
Andy2
698d549fd1 assert fired for unknown reason. Fix behavior in non-assert-enabled
build to do the right thing in that case.
2011-07-21 05:07:41 -07:00
Eric House
febb640049 add name of remote player to notification that remote player moved.
And remove a few dead strings.
2011-07-15 18:13:55 -07:00
Andy2
ab8e4e437b call server_do before passing message to server to give it a chance to
get any pending work done.
2011-07-04 12:37:23 -07:00
Andy2
7024718c87 add timestamps to jni logs 2011-07-04 09:38:22 -07:00
Andy2
cd844a5bad plug memory leak flushed out by auto-juggle code: null dict doesn't
mean the end of the list.
2011-06-29 18:28:55 -07:00
eehouse@eehouse.org
484bb295d0 Merge branch 'android_branch' into android_invite 2011-06-06 22:08:49 -07:00
Andy2
7fc267bb24 google reports a crash in warnIllegalWord that only makes sense if I'm
passing a 0-length array of bad words.  Which should never happen, and
would be caught by asserts in a debug build, but: when there are no
bad words don't call back into the java world.
2011-06-06 20:35:34 -07:00
Andy2
232e4ec1e9 track missing players -- players for whom space is reserved locally
and whose names have not yet been received from host/server -- as part
of summary.  They can be drawn differently to give a clear visual
indication which games are not in play and for which the user might
want to issue an invitation.
2011-05-19 22:53:04 -07:00
Andy2
4c5c435fb5 add new parameter so client always gets notified on connection
including how many players are still missing.
2011-05-19 05:51:00 -07:00
Andy2
f05e02144c move setting gameID (if not already set) to creation of C version of
the struct so it always happens, and also set it back into the java
version at the same time.  Makes creation of new games easier.
2011-05-06 06:47:44 -07:00
Andy2
ba026f761d get rid of unused parameter 2011-04-28 18:47:16 -07:00
Andy2
09100dcb2c track lang code of last dict sent and don't send repeats. 2011-04-28 18:41:39 -07:00
Andy2
bf67a88c5a expect the array of dicts passed to include the game dict (as part of
changes to always have a game dict and to have player dicts only when
they're different.)
2011-04-25 20:16:38 -07:00
Andy2
6aa0d38c45 don't call through to java draw_dictChanged unless it's for the main
game dict.
2011-04-25 20:15:34 -07:00
Andy2
c814226a08 get rid of gi.dictName: don't pass it across the jni boundary 2011-04-21 18:29:37 -07:00
eehouse@eehouse.org
5a21aea2e5 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-04-13 06:58:58 -07:00
Eric House
baedbdff2c remove logging 2011-04-12 22:17:56 -07:00
Andy2
002bb40a09 report counts/values using language rather than dictionary name. To
support that, pass lang name from java into jni.
2011-04-11 18:55:42 -07:00
Andy2
3fb368692c dammit -- proofread those checkins! 2011-04-11 06:52:07 -07:00
Andy2
c6cd60deef Save and restore per-player dicts; load games that have 'em correctly.
Robots default to BasEnglish dict and humans to CollegeEng.  Add new
per-game default for robot dict.  Still need to deal with language
changes and non-English case in general.
2011-04-11 06:42:17 -07:00
Andy2
092dfdd590 not supposed to be checked in with debugging on 2011-04-11 06:33:31 -07:00
Andy2
dc70db5ba4 catch up with API change 2011-04-11 06:16:25 -07:00
Andy2
97d54c86eb snapshot: track dictName per player in addition to per game. Not yet
used yet; need to pass into jni next.
2011-04-08 06:50:08 -07:00
Eric House
c77d3039cc add XP_FREEP. Should be no change in behavior. 2011-04-07 18:07:45 -07:00
Andy2
55221c70b0 fix for new API 2011-04-03 21:51:51 -07:00
Andy2
3b7b4802a9 add ability to specify, track and use separate dictionaries for each
player.  Works for gtk client.  Compiles for Android but there's no UI
yet to specify more than one dict.  Management of dupicate dicts
without duplicating memory -- refcounting -- will be up to the
platforms.
2011-04-01 19:57:10 -07:00
Andy2
d9bb5197d4 Add two new menus to be available only when in trade mode. Hide and
show them and another group depending on whether trading at the time.
To make that work, replace the individual calls made to dis/enable
toolbar buttons with a single jin call that takes a struct full of
booleans and make that struct available in BoardActivity where menus
are hidden/shown.  Remove the individual calls from the jin interface.
2011-03-10 18:13:56 -08:00
Andy2
ce64f79cdd add draw_boardBegin 2011-02-24 22:24:24 -08:00
Andy2
5afb7aadff add dict_getTileValue 2011-02-24 22:23:57 -08:00
Andy2
f382f17d20 make game_receiveMessage return even if server doesn't do anything
with it -- since caller will use the return value to decide whether to
save state.
2011-02-24 17:33:10 -08:00
Andy2
f956df853d return "" rather than null when there's no java class backing util --
common code is less likely to crash.
2011-02-09 06:17:38 -08:00
Andy2
c587a11ee2 Add turn and isrobot/islocal flags to summaries DB, and use to
background in green the player whose turn it is provided that player's
local.
2011-02-04 06:20:40 -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
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
Andy2
d2ddc5cee7 turn off tile selection for android 2011-01-12 19:01:04 -08:00
Andy2
6495bd321f fix to compile with robotiq changes 2011-01-10 06:57:10 -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
53de4eab9b correctly detect empty dict and set top ptr to null. Fixes crash
using empty dicts.
2010-12-17 18:54:27 -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
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
fcd179f6b7 Merge remote branch 'origin/android_branch' into dawg_fixup 2010-12-06 18:50:13 -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
ff9e03ef4b read rather than just skipping word count 2010-12-06 07:30:28 -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
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
Andy2
984a5d6154 Fix yet again what shouldn't have been checked in. 2010-12-02 22:37:21 -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
Andy2
2e956e2f6e debug is not supposed to be checked in turned on 2010-12-01 18:13:55 -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
71059e6dff remove nPlayers from game_summarize 2010-11-19 18:23:34 -08:00
Andy2
82876bda06 add seed and fetch it in jni 2010-11-08 17:23:16 -08:00
Andy2
c2472c0cb5 don't call java code if rect width is 0. Fixes crash (but not design
problem) where first to connect in room specifies a timer and second
does not.  Second eventually gets message saying there's a timer but
has not layed out space in the board and java freaks out when later
asked to make a 0-width image.  This fix leaves the device not drawing
the timer until the game is reopened.  The better fix would trigger a
re-layout as soon as the change is made.
2010-11-07 14:03:24 -08:00
Andy2
f36b253ae7 add number of players to GameSummary. Changes DB but it's already
changed since last beta so I'm not upping the version.
2010-11-06 18:24:44 -07:00
Andy2
b115ce14ed add devOrder (= hostID) to params passed on connect. Fix to pass new
param from jni; use object to pass params into UI thread since there
are now too many for handler.
2010-10-29 06:34:39 -07:00
Andy2
4cd15a9c6a Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
Conflicts:
	xwords4/common/comms.c
2010-10-29 05:27:07 -07:00
Andy2
645a042481 add room name to callback used when device connects: fix jni to compile 2010-10-28 18:46:28 -07:00
Andy2
ddeb744ff7 init room name to empty string 2010-10-28 18:43:06 -07:00
Eric House
4ae58342da test, don't assert: comms can be null 2010-10-28 05:45:56 -07:00
Eric House
eba5b77494 add comms_isConnected; public room variables default to false 2010-10-27 20:50:11 -07:00
Andy2
99dbbb443c add comms_canChat, which knows better than java code what state a
connected game is in, and call it to determine whether to show the
chat icon.
2010-10-21 19:14:10 -07:00
Andy2
cb4092bb39 make relayID a String rather than a byte[]; log result of pending
messages query to confirm working.
2010-10-06 05:21:19 -07:00
Eric House
b3c7cb3711 start on sending chat messages. Doesn't even compile -- committing to get onto another machine. 2010-10-04 05:38:05 -07:00
Eric House
1e13e92deb support for receiving and displaying chat messages. Compiles but not tested. 2010-10-03 18:32:39 -07:00
Andy2
4ea9ff8226 add server_reset and util_setIsServer to jni 2010-09-24 18:45:42 -07:00
Andy2
b742c7dbb7 add new booleans to relay address record around public rooms 2010-09-03 06:38:46 -07:00
Andy2
c6c1a93de5 copy new dictLang field java<->c 2010-09-01 06:51:09 -07:00
Andy2
cf6d8efb29 new jni method to get lang code. Takes a dict's raw bytes and builds
a dict object just to fetch the code, which is pretty inefficient, so
caching should be added later on the java side.
2010-08-25 06:33:16 -07:00
Andy2
a34ccb424f device now passes list of "relayID"s, consisting of connName plus
device id, to relay, one for each stored game that's communicating via
the relay.  Relay parses out each relayID.  Next relay can use these
to look up whether messages are available and reply with that, and
device can put up a notification.
2010-08-22 12:16:57 -07:00
Andy2
51d759569a call srand with current time (attempting to fix what may be duplicate
seeds on relay, possible if rand() always starts with same sequence on
different devices in new process); add commented-out logging util_rand
implementation.
2010-07-29 06:53:06 -07:00
Andy2
fb8692fb9f add preference for allowPeek 2010-07-17 07:06:33 -07:00
Andy2
2bf3cbd7e2 turn on CROSSHAIRS -- somehow lost during merge. 2010-07-16 19:18:55 -07:00
Eric House
546ddf33ae add util_turnChanged 2010-07-10 17:05:17 -07:00
Andy2
f848473c1a turn off KEYBOARD_NAV 2010-07-09 06:51:34 -07:00
Andy2
6b9b97231a fix to compile with KEYBOARD_NAV undefined 2010-07-09 06:49:32 -07:00
Andy2
1c218513f1 define SHOW_PROGRESS: when blanks present search takes too long not to
show some sort of progress indicator
2010-07-08 07:04:40 -07:00
Andy2
7595b36037 add engineStopping and engineStarting (stubbed out so far) 2010-07-08 07:03:56 -07:00
Andy2
40323b03d2 board_canFlip -> board_visTileCount 2010-07-08 06:38:51 -07:00
Andy2
af2d2c71b5 add board_canHint to jni 2010-07-07 18:47:22 -07:00
Andy2
07940099ed add new param to board_requestHint 2010-07-07 06:49:36 -07:00
Andy2
2c2e0b9029 export to jni and use new functions for redoing pending tiles and
testing whether undo/redo is possible.
2010-07-03 11:51:27 -07:00
Andy2
6946cbc499 export board_canShuffle via jni 2010-07-01 18:56:18 -07:00
Andy2
2f59836fc4 export board_canFlip 2010-07-01 06:37:22 -07:00
Andy2
1c910d5169 turn off debugging so device builds can be from unmodified source. 2010-06-26 12:40:04 -07:00
Andy2
1866c5ccab add toolbar at bottom to test spacing 2010-06-25 08:14:18 -07:00
Andy2
adfb4d7a6a bug: wasn't passing changed prefs to server, only to board. So rather
than export server_prefsChanged via jni replace board_prefsChanged
with a new method that calls both.
2010-06-17 18:51:10 -07:00
Eric House
34ecac303a make optional and then turn off feature whereby tap in empty part of
tray undoes current move.  It's too easy to hit this on a capacitive
display.
2010-06-06 13:32:12 -07:00
eehouse
9f797afe73 export comms_resetSame through jni 2010-06-05 03:39:38 +00:00
eehouse
a80d874e9d change api for board_zoom and change callers. No effect on java and
no behavior change.
2010-06-05 03:39:06 +00:00
eehouse
c7bedc297c include new param to board_zoom 2010-06-02 04:58:53 +00:00
eehouse
24c1527232 fix yOffsetChanged to follow new API, but still leave commented out;
set game file name from resource, and make visible in board title and
as part of games list entries.
2010-05-12 11:56:01 +00:00
eehouse
4da3edabbb draw_scoreBegin now returns a boolean 2010-05-12 11:51:55 +00:00
eehouse
671461f4d4 extend getSummary() to include array of current scores; add util to set an object
field and remove dead code
2010-05-05 04:11:08 +00:00
eehouse
d143c47aa1 fill new GameSummary fields 2010-05-01 02:49:08 +00:00
eehouse
e9f1bbd37d param name change 2010-05-01 02:47:47 +00:00
eehouse
9d94f557e1 remove vertScrollBoard from java and stub it out in jni since
preformance is just as good without it.
2010-04-25 18:13:29 +00:00
eehouse
0ffc5c326f don't pass bitmaps into java draw code since they're no longer used. 2010-04-23 08:37:27 +00:00
eehouse
5d31c18658 copy dict name into dict struct so e.g. Counts and Values works 2010-04-23 08:36:20 +00:00
eehouse
8067e82332 pass dict name into jni along with its bytes 2010-04-23 08:35:38 +00:00
eehouse
c2c463171c fix dict_splitFaces to work for utf8 -- by calling into existing java
code.  Fixes multi-device play with Catalan dict.
2010-04-22 04:56:48 +00:00
eehouse
94d3f7483c Since we're not using bitmaps any more remove the code to parse and
convert them.
2010-04-22 04:56:14 +00:00
eehouse
fbe46c1284 pass boolean isUTF8 in from jni, and if false create InputStreamReader
to decode ISO8859_1 rather than utf-8.  Fixes problem with Ñ in old
Spanish dicts.  Should fix all pre-utf8-format dicts, actually.
2010-04-20 02:38:42 +00:00
eehouse
d1e8b95843 add assert that would have helped 2010-04-17 04:15:20 +00:00
eehouse
d66e74a301 turn off logging for release 2010-04-15 03:35:33 +00:00
eehouse
da2cfa5934 changes (commited earlier but now somehow missing) putting
scroll-related fields into a struct so vertical and horizontal can be
handled by the same code; add to board_zoom out params indicating
whether further zooming is possible.
2010-04-15 02:15:50 +00:00
eehouse
477899e6aa add debug-only source file 2010-04-13 03:22:08 +00:00
eehouse
0d7b074b72 minimal changes to get zoomin/out working, which they do. But board
coords are off and probably other fixup is needed.
2010-04-08 04:16:16 +00:00
eehouse
6bd818a10f set drag threshold to 1; 3 is just wrong on android 2010-04-08 04:13:59 +00:00
eehouse
812262e41d add basic framework to collect metadata prior to saving open game
(e.g. number of moves) and display it in game list.  What to save and
how to display it still not finalized but it works.
2010-04-08 04:09:50 +00:00
eehouse
b07808e8db add copyright notice; turn logging back on for jni code 2010-03-28 23:38:53 +00:00
eehouse
4de143ca10 turn off logging for release 2010-03-28 16:09:55 +00:00
eehouse
f430a84d75 add comms_transportFailed, and call when relay goes down. This makes
icon change correctly and comms start trying to reconnect, but the
loop in CommsTransport can't be restarted yet.
2010-03-25 04:51:55 +00:00
eehouse
55abf1116b get relay port from prefs and pass into jni 2010-03-25 04:50:19 +00:00
eehouse
786541e9ae pass default hostname in from platform code rather than compiling it
into jni; in java pull it from preferences and pass into jni.
2010-03-21 03:12:58 +00:00
eehouse
a5c3fa5f59 don't pass empty stream to comms_send: this fixes a problem where
client code calls server_initClientConnection when the game's already
been started and empty messages get queued up.  Ideally the call
wouldn't happen but I'm not sure how to test if a game's begun.
server's doing the right thing not putting anything in the message.
2010-03-21 03:10:56 +00:00
eehouse
5806aa0aca get rid of excess logging 2010-03-21 03:10:47 +00:00
eehouse
b6aaf6c38c in debug builds track who sets env so we can log who has it on
conflict rather than just assert.
2010-03-21 03:10:10 +00:00
eehouse
5f6c8fd579 support passwords: save 'em when configuring player, and implement
askPassword in jni and java code.
2010-03-21 03:09:47 +00:00
eehouse
4633bc506b turn logging back on 2010-03-21 03:09:23 +00:00
eehouse
e2ad027740 ready for next release: remove Hex dict and turn off logging 2010-03-14 16:32:54 +00:00
eehouse
ef15f50edf add model_getNMoves 2010-03-13 23:09:53 +00:00
eehouse
e73c6d1234 pass relayStatus an enum rather than an int 2010-03-08 06:15:37 +00:00
eehouse
08d5139631 translate blank text from '_' to '?' 2010-03-08 06:11:30 +00:00
eehouse
0a34c2512c turn logging back on 2010-03-08 06:08:46 +00:00
eehouse
bc3f6c2c30 turn off debugging for release 2010-02-28 18:19:47 +00:00
eehouse
cb6b19f0aa implement board_getFocusOwner, board_focusChanged and board_handleKey,
and utils needed.
2010-02-27 18:05:39 +00:00
eehouse
397d0df573 turn on PERIMETER_FOCUS 2010-02-27 18:05:29 +00:00
eehouse
7d0bd9d50c implement mini window, jni and java rendering. Works on emulator, but
may not work as well under fat fingers....
2010-02-27 18:04:33 +00:00
eehouse
cf9c952fc2 handle final scores menuitem: add server_endGame to jni and new
dialog/mechanism to call back and forth between threads to query and
end game on positive response.
2010-02-27 18:03:07 +00:00
eehouse
210332ec93 implement and call comms_resendAll 2010-02-24 04:30:13 +00:00
eehouse
8de2665642 implement phonies: add jni->java for util_warnIllegalWord, jni changes
to preserve the field in CurGameInfo, and java changes to keep
correct text in reused dialogs.
2010-02-24 04:29:46 +00:00
eehouse
414ee944af turn logging back on 2010-02-24 04:28:44 +00:00
eehouse
071edd8121 turn logging off for release 2010-02-21 22:02:55 +00:00
eehouse
de58f33b4c add game time to board and jni; clean up hide/show on check events. 2010-02-18 04:44:30 +00:00
eehouse
74140ccaad remove duplicated code 2010-02-18 04:42:22 +00:00
eehouse
1e253c0210 turn logging back on 2010-02-17 14:38:11 +00:00
eehouse
cd0afbfae8 Create and pass enum into relayErrorProc 2010-02-17 14:37:53 +00:00
eehouse
135d936a7d Fix warnings that appear when logging off. 2010-02-15 02:54:10 +00:00
eehouse
928f65a266 turn off logging for release 2010-02-15 02:49:16 +00:00
eehouse
919c7be9d6 set gameID when saving CurGameInfo from java IFF it isn't already set. 2010-02-14 22:01:06 +00:00
eehouse
84ebc38882 copy gameID as part of CurGameInfo 2010-02-14 17:38:40 +00:00
eehouse
10cf2894b8 Don't assert comms type not NONE when copying 2010-02-14 17:37:56 +00:00
eehouse
885c9093fb Put up Toast messages on connecting to relay. 2010-02-14 17:23:07 +00:00
eehouse
32acc38100 default host should be eehouse.org for on-device use 2010-02-14 17:14:41 +00:00
eehouse
c6b28e9416 turned on -Wall and fixed errors/warnings it reported 2010-02-12 07:13:42 +00:00
eehouse
bd611bb6f4 implement dictChanged. And so that utf8 dicts could be opened without
their games being drawn (no BoardActivity around) break the two
android-only callbacks out of UtilCtxt and into a new JNIUtils
interface that then requires new handing in C.
2010-02-11 13:27:09 +00:00
eehouse
cd63cf1424 Deal with SMS and BT-type address recs. 2010-02-09 14:26:43 +00:00
eehouse
1f7e6db585 guard against double-dispose; add unique-to-android game_hasComms() 2010-02-09 14:25:52 +00:00
eehouse
1ee94f23aa factor out and_dictionary_make_empty 2010-02-09 14:22:59 +00:00
eehouse
f7c8a2f384 Work when initialized with a null instance of DrawCtxt. (All calls
into java world come from java so no guard against that needed.)
2010-02-09 14:21:58 +00:00
eehouse
cd89ede3c5 Work (but don't call into java world) when initialized with a null
instance of CommsTransport.
2010-02-09 14:20:16 +00:00
eehouse
67cb2421c9 Work (but don't call into java world) when initialized with a null
instance of UtilCtxt; implement util_makeEmptyDict().
2010-02-09 14:19:20 +00:00
eehouse
338a39e8b4 turn asserts/logging back on; make with -j3 2010-02-06 19:30:59 +00:00
eehouse
fb65fecebb When CommonPrefs field is changed mid-game, reflect it immediately.
Means adding board_prefsChanged() to jni and having Utils class call
it via JNIThread when prefs change.
2010-02-01 15:06:12 +00:00
eehouse
87eae92006 turn off debugging for a release 2010-01-31 22:10:10 +00:00
eehouse
9f250c99ef get rid of gameID param. This change breaks all other platforms... 2010-01-31 21:35:07 +00:00
eehouse
b0e88eff83 implement util_makeStreamFromAddr() and (android-only)
game_receiveMessage(), the latter combining
comms_checkIncomingStream() and server_receiveMessage() which are
always used together and require a stream be passed between which
currently can't happen across jni.
2010-01-31 21:17:21 +00:00
eehouse
69cbff63f6 Hardcode ip address of emulator's host rather than eehouse.org for
easier debugging.  Needs to be in a preference....
2010-01-31 21:14:49 +00:00
eehouse
49402ed218 Get comms info (host name, etc.) from user and pass it through to the
send proc.  Along the way, write jni code to instantiate a new object
including setting enums.  *Now* I'm ready for networking....
2010-01-30 20:06:06 +00:00
eehouse
7b0f100f27 wire in enough comms that java's send proc gets called when device is
a guest.  Networking's next....
2010-01-30 14:38:44 +00:00
eehouse
4b9fa4d42a new "class" wraps TransportProcs 2010-01-30 14:33:28 +00:00
eehouse
333c5fc040 add makeByteArray() 2010-01-30 14:32:20 +00:00
eehouse
ee2fe9d193 get/set enums from C; preserve device role setting from ui to saved
game.
2010-01-30 13:44:12 +00:00
eehouse
c2e1e916b8 relay feature and logging on 2010-01-30 13:43:21 +00:00
eehouse
6dfac28b13 rearrange to work with newer version of ndk and sdk just installed 2010-01-30 03:18:01 +00:00