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