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
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
3ee3af8881
init crosshairs correctly so 0th column and row aren't drawn short.
2010-11-22 07:04:51 -08:00
Andy2
92940e6638
add model_getNPlayers()
2010-11-19 18:22:39 -08:00
Eric House
7a2d279308
add logging so script can better track what state relay game is in
2010-11-18 22:27:06 -08:00
Andy2
b0a4790ce0
respond to new game-gone message by passing to utils.
2010-11-11 06:41:24 -08:00
eehouse@eehouse.org
048eff92b8
Merge branch 'relay_proxy' of /home/andy2/dev/git/LOCAL_ORIGIN into relay_proxy
2010-11-10 07:17:39 -08:00
Eric House
2a2f4d4395
been a while since cvs...
2010-11-09 05:53:49 -08:00
Andy2
22f7a42c1d
make comms_getChannelSeed non-static so jni can call it
2010-11-08 17:22:38 -08:00
Andy2
cfd4345287
remove too-frequent logging
2010-11-07 13:31:43 -08:00
Andy2
99a557a604
fix blanks-first option to assign one blank per tray rather than all
...
to first. Makes for more realistic test.
2010-11-07 12:20:39 -08:00
Andy2
dd3bd1f661
don't show hint buttons until there are tiles assigned
2010-11-06 21:31:53 -07:00
Andy2
9e05e6c2b3
add lastMsgRcd to status printout
2010-11-03 18:28:54 -07:00
Andy2
3d70da5a8d
cleanup
2010-11-01 06:57:54 -07:00
Andy2
804070efc7
base comms_canChat() on whether connID's been assigned. It's possible
...
to send a message from a client immediately after its initial message
but init-message dupe-detection in comms will drop that because only
one channel-0 message is expected -- the initial connection message.
So don't encourage platform code to enable the feature before common
code can deliver the message.
2010-11-01 06:57:41 -07:00
Andy2
8c7043d42c
fix crash using undo/redo after a turn has overwritten pending tiles:
...
when redoing need to check that cell is still empty.
2010-10-29 20:07:09 -07:00
Andy2
5b33df4e25
modify model_getTile to take NULL for out parms where the result is
...
often ignored, then pass NULL instead of the address of variables
called 'ignore'. Should be no behavior change.
2010-10-29 19:52:15 -07:00
Andy2
0d7f2c4f23
add devOrder (= hostID) to params passed on connect. Should make for
...
better explanatory message.
2010-10-29 06:31:33 -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
41fc05106b
add room name to callback used when device connects
2010-10-28 18:45:55 -07:00
Eric House
eba5b77494
add comms_isConnected; public room variables default to false
2010-10-27 20:50:11 -07:00
Eric House
b878599f7b
remove comment
2010-10-26 20:57:27 -07:00
Eric House
fd85bd35da
set dictLang to 0 (unknown) when reading old-version stream
2010-10-26 20:56:41 -07:00
Andy2
e909e4b343
remove redundant message; advance state to ALLCONNECTED on receipt of
...
RECONN or CONN that lists the game as full. This means we get the
all-green icon (or the A in the gtk case) when in a consummated game
rather than only when all devices are actually connected.
2010-10-23 20:29:24 -07:00
Eric House
85d29cf560
if can't send allcond to a device because it's not connected queue the
...
message to be sent next time it does. And since the cookieID will
change and should be there already anyway, remove it. (Should remove
the hostID too for the same reason.)
2010-10-22 19:02:52 -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
b9e3ca212b
turn off glib-dependant checksuming for non-linux builds
2010-10-18 22:08:04 -07:00
Eric House
3648c22bd4
fix long-standing bug where initial messages were not getting deleted
...
and multiplying; log md5 sums of messages in debug build.
2010-10-18 20:17:44 -07:00
Eric House
f246178b8f
Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
2010-10-12 19:18:21 -07:00
Eric House
0cf94dda8b
fix frequent assertion failure that dates from when no messages passed
...
outside of ALLCOND state. With this fix the test script is running
all games to completion if given enough time.
2010-10-12 19:16:46 -07:00
Andy2
e637a64d96
Change param signage to fix compiler warning
2010-10-11 06:20:30 -07:00
Eric House
61b228f189
implement simple chat on top of current server-level protocol --
...
meaning it'll work on any tranport but relay doesn't know about it.
(If relay knew about it I could send a "shutting down for a minute"
message to every connected device, which would be cool. But this is
easier.) Written, BTW, enroute from Seattle with help from beer from
Chris in first class. :-)
2010-10-03 18:11:51 -07:00
Eric House
4a5de0a24c
cleanup
2010-10-03 18:09:15 -07:00
Eric House
a89520a377
use __func__
2010-09-28 18:04:31 -07:00
Eric House
047f41b516
send cookieid as part of [RE]CONNECT_RESPONSE in addition to ALL_COND (where it's now redundant).
2010-09-20 22:06:35 -07:00
Andy2
6d6ad96cde
don't clear seed when changing roles from guest to host.
2010-09-20 04:56:19 -07:00
Andy2
821e4d9c39
add ACK to protocol, returned by device after gets connName on initial
...
connection. Space is held for device on assumption ack will come
back, then given up if it fails.
2010-09-14 13:54:52 -07:00
eehouse@eehouse.org
0b46455044
Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
2010-09-12 02:34:20 -07:00
Andy2
bd71a15ddc
turn off heartbeats on client side
2010-09-11 01:23:13 -07:00
Eric House
54611df679
nuke unused variable
2010-09-10 05:55:59 -07:00
Andy2
2ee9031fdc
langcode belongs in connect, not reconnect, message
2010-09-10 01:56:58 -07:00
Andy2
20312144dd
tons of changes, still rough, snapshoted here: a gtk device vs device
...
game works to completion with both signing up as guests (no -s) with
one local and one remote player (identical commandlines.) Not yet
tested: if any signs up as a host, reconnecting rather than
connecting, etc. This is just a snapshot.
2010-09-10 01:30:40 -07:00
Andy2
01fe388f85
remove logging accidentally checked in
2010-09-03 06:40:17 -07:00
Andy2
b742c7dbb7
add new booleans to relay address record around public rooms
2010-09-03 06:38:46 -07:00
Andy2
0b91e9634e
save/restore new dictLang field; up stream version
2010-09-01 06:51:44 -07:00
eehouse@eehouse.org
ecd0280353
Merge branch 'android_branch' into relay_proxy
2010-08-26 18:36:55 -07:00
Andy2
d1f6057987
fix stupid typo that meant crosshairs started on top row was only
...
three cols wide at first.
2010-08-26 18:20:24 -07:00
Andy2
4208c33ecf
make lang code support non-conditional
2010-08-25 06:31:38 -07:00
Andy2
3dba8ba13b
Fix bug reported by user: if robot finishes a search but fails to find
...
a move it's still done with its turn and must trade or pass.
2010-08-24 18:38:12 -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
09bc83429e
add and set new flags for crosshairs so platforms can do better than
...
fill cells as is done for focus.
2010-08-11 18:50:16 -07:00
Andy2
205723e03b
add missing event to logging
2010-07-30 17:44:20 -07:00
Andy2
d67e421541
get rid of excess logging
2010-07-27 21:36:14 -07:00
Andy2
5b3e41f4e9
fix bug: allow switch *to* player whose turn it is even if allowPeek
...
is off (typically because it was turned off after game was loaded and
while non-turn player's tiles are visible)
2010-07-17 07:11:46 -07:00
Andy2
639feb8965
nuke extra line -- change I forgot to save
2010-07-17 06:23:14 -07:00
Andy2
5b8cf716b3
add pref controlling whether can switch to look at tray of user whose
...
turn it isn't
2010-07-17 06:21:24 -07:00
Andy2
dbed23e240
change definition of movement during drag to include not just drag of
...
a tile but motion on the board which will include crosshairs. This
prevents miniwindow from coming up and stopping crosshairs movement
when it happened to start on a bonus square.
2010-07-16 18:57:08 -07:00
Andy2
a99e8142b0
Merge branch 'android_branch' into toolbar
...
Conflicts:
xwords4/android/XWords4/jni/Android.mk
xwords4/android/XWords4/jni/xwjni.c
xwords4/android/XWords4/res/values/strings.xml
xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardView.java
xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/XwJNI.java
2010-07-16 06:32:32 -07:00
Andy2
a76cdac0c5
don't put up mini window when have penned-down on a draggable tile.
2010-07-13 06:26:55 -07:00
Andy2
21d705c6e7
make wrap code for popping tile up above cursor hotspot (or finger)
...
conditionally compiled. I probably want it off on Android now that I
have crosshairs.
2010-07-12 19:11:24 -07:00
Andy2
0957c95c8e
write and read dummy values to/from stream when KEYBOARD_NAV isn't
...
defined so that the versions are compatible. This will let existing
saved games be read if I turn this off on Android.
2010-07-12 18:49:36 -07:00
Andy2
de32e514ab
cherry-pick three revisions from toolbar branch ( d1c7d4097c
, f848473c1a
and 6484a2fb9b
) and manually fix conflicts.
2010-07-12 18:48:03 -07:00
Andy2
fd9464b909
first cut at crosshairs: drawing in focus color the entire column and
...
row that's currently being touched/dragged through. Meant to aid
users of capacitive touch screens in figuring out what cell they're
on.
2010-07-12 06:39:46 -07:00
Andy2
8172e38cef
write and read dummy values to/from stream when KEYBOARD_NAV isn't
...
defined so that the versions are compatible. This will let existing
saved games be read if I turn this off on Android.
2010-07-09 18:21:05 -07:00
Andy2
6b9b97231a
fix to compile with KEYBOARD_NAV undefined
2010-07-09 06:49:32 -07:00
Andy2
40323b03d2
board_canFlip -> board_visTileCount
2010-07-08 06:38:51 -07:00
Andy2
ac6dc400ce
add board_canHint
2010-07-07 18:47:02 -07:00
Andy2
c98451c62a
remove excess logging
2010-07-07 06:50:47 -07:00
Andy2
a7c77785f6
return false if no move found -- to really fix the crash
2010-07-07 06:40:34 -07:00
Andy2
5725f36db8
detect when no moves found that meet criteria to fix (I think) crash
...
when iterating from highest to lowest move using prevMove.
2010-07-07 06:33:01 -07:00
Andy2
992f45e1bf
new feature: previous move. Modify engine to traverse the set of all
...
possible moves in either order both within a cached subset and when
building cached subsets. Still a bit buggy (shows the same move twice
when moving backwards and reaches the top-scoring move) and not well
tested.
2010-07-07 05:27:57 -07:00
Andy2
5f92491ca3
add and implement board_canTogglePending
2010-07-03 11:38:37 -07:00
Andy2
d44b9907cf
save redoable pending tiles -- and up stream version since format's
...
changed
2010-07-03 11:25:01 -07:00
Andy2
57e246da3b
handle blanks as well in redo of undone pending tiles
2010-07-02 22:44:50 -07:00
Andy2
f77cf0e23d
add board_redoReplacedTiles and model_redoPendingTiles. The latter
...
works as long as no blanks are involved. And new state isn't being
saved so will be lost unless format changed.
2010-07-02 18:52:55 -07:00
Andy2
491cfe7616
add board_canShuffle and implement
2010-07-01 18:55:49 -07:00
Andy2
43c34aa466
add board_canFlip and model_canFlip -- which seem to work though
...
there's no test that when a single tile is on the board it's not in
the middle. Sue me.
2010-06-30 20:25:34 -07:00
Andy2
953b2bcc55
cleanup; allow setting NUM_SAVED_ENGINE_MOVES per-platform
2010-06-28 21:08:13 -07:00
Andy2
0c852981e7
make zoomBy param passed to board_zoom give distance rather than just
...
direction.
2010-06-27 13:12:30 -07:00
Andy2
80aa22b2d1
add common prefs field sortNewTiles and way to set on linux cmdline
2010-06-17 18:10:32 -07:00
Andy2
e0dd3701a0
Add model_sortTiles(); use it; fix some comments and const decls.
...
Sorting always happens now when tiles added; needs to be based on a
preference.
2010-06-17 06:43:16 -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
f514717428
Change board_zoom to indicate direction only of zoom, not number of
...
cols. When figuring internal dimensions zoom out as needed to meet
maxSize value. This fixes problem where rotating a zoomed portrait
board to landscape leaves cells bigger than they can be made by
zooming, but then the desired zoom has been changed and stored and so
on return to portrait cells are smaller/less zoomed. Need to see if I
can live with that.
2010-06-05 03:40:23 +00:00
eehouse
ea6166f8c7
add comms_resetSame that resets relay with existing params.
2010-06-05 03:39:16 +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
9af9df884b
use same logic to decide to zoom and to report whether can zoom next
...
time. Fixes bug preventing + button from greying out when fully
zoomed in.
2010-06-05 03:38:49 +00:00
eehouse
1f246d20a3
oops. Fix assertion by not stopping dragging unless it's been
...
started.
2010-06-04 03:47:56 +00:00
eehouse
57013a9267
stop dragging before putting up miniwindow. This allows to drag
...
finger off of bonus hint just displayed without scrolling the screen.
2010-06-04 03:47:46 +00:00
eehouse
628f8d9cf3
don't zoom in if doing so will make cells larger than the limit passed
...
in.
2010-06-03 04:57:11 +00:00
eehouse
4f16eee1b6
pass maxCellSize into board_setPos, and use it as limit in calculating
...
whether any further zooming is possible.
2010-06-02 04:58:32 +00:00
eehouse
f5ac51ae73
fix crash using older dict by using current stream version rather than
...
one from before gameSeconds was being preserved in the stream by
write_gi code. I fixed this on a branch a week ago as well, so look
for a merge glitch. Need now to confirm that I'm sending char lists
in initial connect message in the right (null-separated utf8) format.
2010-05-28 02:31:13 +00:00
eehouse
4ce0a30b2d
save gameSeconds even if timer not enabled. Means stream version change.
2010-05-14 12:42:53 +00:00
eehouse
c79b3e2395
make draw_scoreBegin return a boolean like the other two draw_*Begin
...
methods
2010-05-12 11:51:14 +00:00
ehouse
71110a195d
for some reason on wince coords are passed to coordToCell() that are
...
above/left of the board firing an assertion. return false to indicate
not on board but don't assert.
2010-04-24 03:51:39 +00:00
eehouse
166c1ac779
make coordToCell() more inclusive to match pointOnSomething(), otherwise
...
the latter says a point is on the board and the former can't assign it
a row.
2010-04-23 09:35:15 +00:00
eehouse
a07cdd8513
limit depth of zoom further
2010-04-17 04:16:17 +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
339fc5a9e6
don't zoom down below two cells so we can still drag-scroll
2010-04-08 04:15:33 +00:00
eehouse
41b29c9ba3
distribute extra pixels evenly, with extras one each at the beginning
...
of the arrays.
2010-04-08 04:15:25 +00:00
eehouse
d01a30d1be
adjust yOffset same as x so we zoom in toward center; reduce xOffset
...
when zoom out makes it too big.
2010-04-08 04:15:16 +00:00