Eric House
47954f82d0
add index of sending player to chat transmission, and on receiving
...
side translate that into showing the sender's name in
notification. Not yet done: replacing silly "not me" in chat listing
with same, but now it should be easy.
Conflicts:
xwords4/android/XWords4/archive/R.java
2015-08-12 07:43:20 -07:00
Eric House
8f7267b3ec
add index of sending player to chat transmission, and on receiving
...
side translate that into showing the sender's name in
notification. Not yet done: replacing silly "not me" in chat listing
with same, but now it should be easy.
2015-08-12 07:36:36 -07:00
Eric House
517cfe6fda
bring over saved file format change from relay_conn branch so builds
...
from each will be able to open each other's files.
2015-08-10 06:24:40 -07:00
Eric House
b500a4646d
use different uuid for dbg variant so it's not cross-sending BT
...
messages with other variants, causing among other problems spurious
"deleted on other device" warnings.
2015-08-03 04:50:56 -07:00
Eric House
0a95bc0f42
drop messages using comms methods (e.g. SMS) for which comms hasn't
...
been set up. Fixes assertion firing when SMS messages go to wrong app
(normal vs CrossDbg), though the right fix is to have the two apps
using different ports so they don't get each other's messages.
2015-07-31 22:15:57 -07:00
Eric House
65606607ab
use different uuid for dbg variant so it's not cross-sending BT
...
messages with other variants, causing among other problems spurious
"deleted on other device" warnings.
2015-07-29 19:48:56 -07:00
Eric House
3732321825
fix so -Wundef can be passed -- except that android's headers don't
...
compile then :-)
2015-07-29 19:36:17 -07:00
Eric House
684c7ff3e3
Merge branch 'android_branch' into relay_noconn
...
Conflicts:
xwords4/android/XWords4/archive/R.java
xwords4/android/XWords4/res/values/strings.xml
xwords4/android/XWords4/res_src/values-ba_CK/strings.xml
xwords4/android/XWords4/res_src/values-ca_PS/strings.xml
xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSInviteDelegate.java
2015-07-26 13:22:45 -07:00
Eric House
75cd6c6693
fix logic behind "unable to find move" alert
2015-07-26 13:17:59 -07:00
Eric House
0bb51e8b93
show a toast when hint can't find anything, on the principle that user
...
should see some response to every action.
Conflicts:
xwords4/android/XWords4/archive/R.java
2015-07-26 12:09:15 -07:00
Eric House
dad39eedde
Remove devID from comms address. It's not needed yet, may never be,
...
and I don't want to store it until it is.
2015-07-22 06:16:29 -07:00
Eric House
190ce42b0e
when version check fails, log the version numbers
2015-07-17 07:42:54 -07:00
Eric House
5dc8291981
show a toast when hint can't find anything, on the principle that user
...
should see some response to every action.
2015-07-11 16:24:21 -07:00
Eric House
1eb82d5285
android doesn't send its devid in the nli struct, so don't assert it's
...
there.
2015-07-11 14:27:01 -07:00
Eric House
1423bc933d
rename common file and methods for consistency with android. No logic
...
change.
2015-07-11 08:40:49 -07:00
Eric House
b5ae54f313
use common/native NetLaunchInfo to implement invite-via-relay that
...
works between linux and Android clients. Required renaming so struct
names and names of fields within match in c and java code. The point
is to test this as the foundation of rematch: now you have to type in
a deviceID in order to invite, which clearly sucks for users. Either
that goes away, or it's replaced with something that scans existing
games and lists past opponents as possible invitees.
2015-07-10 23:19:38 -07:00
Eric House
0f33228155
get rematch working on linux, at least for two-device games. (Handling
...
the case where one of several guests wants to rematch is a hard
problem for later.) Requires passing old-style relayIDs (connname plus
device index) when devIDs aren't available, which they may not always
be.
2015-07-06 20:28:16 -07:00
Eric House
fd06bca151
assert stream version being set consistently, not changed
2015-07-06 20:24:45 -07:00
Eric House
33d0db93e8
add some consts
2015-07-06 20:23:22 -07:00
Eric House
8f794fbd32
beginning of support for invite-by-relay (which is mostly interesting
...
for Rematch): works for linux version, provided you know the relayID
of the device you're inviting. Added to common/ a stream-saving
version of java's NetLaunchInfo I'll probably want to use there too
for cross-platform compatibility (there being no jni support for
json.)
2015-07-01 07:10:45 -07:00
Eric House
2e8c7695f3
fix failure to connect using means (e.g. BT) that becomes available
...
partway through a game. Problem was that once a channel was working
with one means we wouldn't fall back to default addressing for the
means for which we didn't have a return address yet. (NOTE: Not yet
fully tested...)
2015-06-11 07:29:47 -07:00
Eric House
90dbd52bfd
On client, when game ends locally set turn to -1 (nobody) so that
...
display won't be confusing during the interval before the server
receives the move and responds with a game-over message.
2015-06-10 07:35:39 -07:00
Eric House
f0c3c11dc8
invalidate all tiles after committing a turn in order to force redraw
...
of the Pts. display in case where fewer than seven tiles remain and
the board isn't being switched.
2015-06-10 07:31:00 -07:00
Eric House
e66260950e
change final score formatting so it can be properly localized.
...
Note: because the substitution is done in common code I can't use the
positional specifiers (%1$s vs %s) and so this breaks the generated
"translations". The scripts that do the generation need to be fixed to
understand the formatted="false" attribute.
2015-05-13 07:51:32 -07:00
Eric House
1d6d8e46a3
add missing <CR> to game history (game over case only)
2015-05-13 06:36:43 -07:00
Eric House
e52d5c4077
fix crash sorting tiles when there are fewer to sort than there is
...
space to the left of the divider, i.e. when the game's nearly over.
2015-04-07 20:20:40 -07:00
Eric House
669ef0745b
increase buffer size to remove overlow formatting history in French
2015-03-25 05:45:13 -07:00
Eric House
75a805634f
increase buffer size so French strings don't overflow and get
...
truncated.
2015-03-19 06:28:40 -07:00
Eric House
5f33d99c2e
toward making full use of getQuantityString(): add util method to pass
...
quantity through to java world, use it, convert English <string>
resources to <plurals> (using python script) based on parallel changes
in French, and modify callsites to call getQuantityString() where
R.string.xxx became R.plurals.xxx.
2015-03-18 21:23:30 -07:00
Eric House
f2f5fb22e6
use new comms header to transmit isServer bit
2015-02-23 18:28:31 -08:00
Eric House
86d8a46da2
Merge branch 'android_branch' into android_multi2
...
Conflicts:
xwords4/common/comms.c
2015-02-18 19:40:36 -08:00
Eric House
b23c4d0a73
change comms header format to add a version and flags, marking with an
...
almost unique 16-bit quantity. 1 in 2^16 new games will fail because
its connID will match, but that's ok in part because it can only
happen during the time between when this is released and follow-on
version that assumes all older versions are gone.
2015-02-18 19:19:36 -08:00
Eric House
159a1a8dd2
use TAGFMT stuff for comms_resendAll()
2015-02-17 20:45:39 -08:00
Eric House
615ec72ea7
fix channelNo equality test so it doesn't break relay games, which
...
connect a bit differently.
2015-02-10 07:26:23 -08:00
Eric House
72a1d8b7d4
clear any server bits that happen to have been set in older games.
2015-02-10 07:05:34 -08:00
Eric House
cf4431402b
additional check for misdelivered messages that fixes
...
three-participant SMS games on a single device: if message arrived on
a different channel from what its header says it was meant for, drop
it.
2015-02-10 06:55:08 -08:00
Eric House
ad6be1bb7e
add debug-only "tag" to open games so logging can more easily track
...
what's going on when multiple participants in a single game are on the
same device. But for a couple of strings passed into the jni the
changes are only in DEBUG code.
2015-02-09 19:15:43 -08:00
Eric House
a34f4e4954
don't save unset channelSeed
2015-02-09 07:28:11 -08:00
Eric House
9e403ac6b2
add assert around the new bit that's -- bitten -- me once already
2015-02-09 06:46:34 -08:00
Eric House
5a28f8dedf
fix recent message header hack to not break addressing of messages
2015-02-08 18:42:38 -08:00
Eric House
88dd25fb21
fix channel comparison so messages actually get deleted after they're
...
ack'd.
2015-02-08 13:39:35 -08:00
Eric House
fb011624bb
add another assertion meant to find threading problems, and fix assert
...
firing because flag was set too late and sometimes bypassed.
2015-02-08 10:37:54 -08:00
Eric House
7e634ecc64
hijack a bit from channelNo to indicate whether message sender is
...
server or guest so that sender can tell when it receives a message
from itself (and reject it.) This fixes a lot of confusion in testing
where both participants in a networked game are on the same device,
but might also work around e.g. relay bugs.
2015-02-08 09:58:34 -08:00
Eric House
c6b42c539c
add assert to ensure there are no thread issues: mutex may be required
...
if the assert winds up getting hit.
2015-02-08 07:51:08 -08:00
Eric House
17307f910b
fix problem with misdelivered message forever locking out future
...
messages: when comms thinks a message is an init but server drops it,
give comms that info so it can remove it and give the next one a
chance.
2015-02-07 13:24:09 -08:00
Eric House
f039ee8338
reject message for client that arrives for server rather than asserting
2015-02-07 13:20:47 -08:00
Eric House
cf3c219b69
fix non-DEBUG compile
2015-02-07 12:54:46 -08:00
Eric House
951f5462b3
remove assert. Can't always get forceChannel right on creation, and
...
it's mean to be advisory.
2015-01-12 07:23:50 -08:00
Eric House
688b3944bb
fixes to invite: don't allow non-servers to invite; have common code
...
inform of number of missing even when it hasn't dropped to 0 (so
second invite can be sent for 3+ device games); take down older alerts
before posting new (again since number of missing may have changed)
2015-01-05 07:43:45 -08:00
Eric House
4701fe2b90
pass in number of devices already connected so forceChannel can be set
...
more correctly; put up alert when device rejects an invitation as a
duplicate.
2015-01-03 09:50:07 -08:00
Eric House
28bfa3c904
make forceChannel part of CurGameInfo rather than comms, since Android
...
needs to save it there on receipt of an invitation (doesn't create
full game with comms until later.) Passes discon2 tests and seems to
work on a single Android device. (Haven't tested inviting on Android
yet.)
2014-12-29 07:39:28 -08:00
Eric House
897c4d5786
add param to force a client to connect to host requesting a particular
...
channel. Works well enough that relay test script works. Not yet
integrated for let alone tested on Android.
2014-12-21 17:40:00 -08:00
Eric House
f0cf77d7d6
fix overwriting of addresses that happened for most (relay-only) games
...
run by my test script: match records based on channel number only.
This has yet to be tested on multi-addressing Android builds.
2014-12-10 07:54:50 -08:00
Eric House
5935681b82
in getDestID, deal with possibility game was consumated via a
...
non-relay channel, and allow client to use HOST_ID_SERVER.
2014-12-05 06:19:02 -08:00
Eric House
a6f9f6608a
drop relay connect meta-messages (as well as game messages) when relay
...
send is disabled.
2014-12-02 06:52:48 -08:00
Eric House
53bfe9812d
add const
2014-11-24 07:52:03 -08:00
Eric House
a1cdef6ad8
fix log format
2014-11-24 06:30:58 -08:00
Eric House
142861656e
don't send when channel address doesn't have the right type yet
2014-11-21 22:53:48 -08:00
Eric House
fbea67e479
don't kill relay when bluetooth turned off: pass comms type into
...
comms_transportFailed()
2014-11-20 07:12:25 -08:00
Eric House
1d1af9ffb3
fix some asserts: we have BT working now
2014-11-14 07:06:02 -08:00
Eric House
f2ecefd573
copy bt address info too
2014-11-13 07:27:03 -08:00
Eric House
74afdbd8b6
add more asserts
2014-11-12 06:52:58 -08:00
Eric House
c008f55133
add invite button only if I'm a host and am missing players
2014-11-12 06:52:40 -08:00
Eric House
0e2bbfc1ad
augment addresses even when message received is a duplicate. Now games
...
using (fake) SMS and relay work whichever of the address modes is
disabled during the game, on either side. At least for two-device
games.
2014-11-11 07:46:01 -08:00
Eric House
c087824b47
snapshot with a bit of debugging added, mostly to tranfer to another machine
2014-11-07 20:26:02 -08:00
Eric House
8e616095ad
add a bit more logging of channelNos
2014-11-06 20:28:51 -08:00
Eric House
70f4541bbe
Merge branch 'android_branch' into android_multi2
...
Conflicts:
xwords4/common/comms.c
2014-11-06 20:09:20 -08:00
Eric House
a34a859d18
log channelNo more consistently
2014-11-06 18:44:19 -08:00
Eric House
540d3e9622
wire disabling checkboxes into comms. They work -- and show that
...
multi-addressing needs debugging still.
2014-11-06 06:35:28 -08:00
Eric House
b1de8663d6
fix to compile with DEBUG undefined
2014-11-06 06:32:00 -08:00
Eric House
2426e04a70
fix overwriting of address info so that, AFAICT, both address types
...
are successfully being used through much of a test game.
2014-11-05 21:57:25 -08:00
Eric House
8aae7ae10a
fix crash: don't use comms before initialized
2014-11-05 07:49:17 -08:00
Eric House
17bc0ab47c
snapshot of work toward communicating when two addresses are in use.
...
An invitation works with relay and (fake) SMS on, and the invited
client connects successfully using both (the second to arrive being
correctly identified as a dupe.) While the game can be played after,
only SMS messages are being received. And opening a saved game
crashes.
2014-11-05 07:41:20 -08:00
Eric House
e1a10508e1
when preprocessing a message, limit search to the address type of the
...
channel it came in on if known.
2014-11-02 17:24:37 -08:00
Eric House
b624867cb4
add addr_rmType()
2014-10-28 08:03:19 -07:00
Eric House
1789d442ba
let me look at another player's tiles, regardless of pref setting,
...
when game is over
2014-10-27 19:24:22 -07:00
Eric House
2163d25a27
let me look at another player's tiles, regardless of pref setting,
...
when game is over
2014-10-27 19:23:52 -07:00
Eric House
93f0b626af
snapshot: invite sent by NFC connects two devices using relay with BT
...
ability passed too (though not yet used.)
2014-10-27 07:51:25 -07:00
Eric House
c3e7b12103
merge android_branch
2014-10-23 06:33:28 -07:00
Eric House
51a1ddfe39
include robot name in report of his score
2014-10-23 06:32:24 -07:00
Eric House
878a16b3bc
snapshot: android compiles, and works well enough to exchange moves
...
via relay! Lots of changes, mostly around treating connTypes as a Set
inside the java world. Jni to translate to that is a pain.
2014-10-16 06:45:24 -07:00
Eric House
fe4c7b52f2
snapshot: relay test script works with a second address type set
...
(though with its actual transport stubbed out). Android doesn't even
compile.
2014-10-15 07:26:18 -07:00
Eric House
52465b3e1e
merge android_branch
2014-10-14 06:57:52 -07:00
Eric House
c73eec567b
fix some const confusion the stricter android gcc found
2014-10-14 06:24:41 -07:00
Eric House
0362bf5cc9
Merge branch 'android_branch' into android_multi2
...
Conflicts:
xwords4/common/board.c
xwords4/common/comtypes.h
xwords4/common/model.c
xwords4/common/strutils.c
2014-10-13 07:03:20 -07:00
Eric House
b12d12590a
don't memcpy 0 bytes
2014-10-09 21:21:41 -07:00
Eric House
4eb836ab2b
fix to compile -- graft missed a constant defined earlier
2014-10-09 21:21:27 -07:00
Eric House
badc40f90b
move dividerLoc into model and use to limit sorting to tiles to its
...
right
2014-10-09 20:09:24 -07:00
Eric House
195371ea2e
as proof of concept, skip the first 3 tiles when sorting newly
...
assigned. Later '3' will be replaced by the location of the tray
divider, but that has to be moved from board to model first.
2014-10-09 20:08:41 -07:00
Eric House
c98a5cd5f0
move dividerLoc into model and use to limit sorting to tiles to its
...
right
2014-09-30 05:57:21 -07:00
Eric House
1346aa6ee5
as proof of concept, skip the first 3 tiles when sorting newly
...
assigned. Later '3' will be replaced by the location of the tray
divider, but that has to be moved from board to model first.
2014-09-29 20:04:54 -07:00
Eric House
93526d38d7
cleanup (version upgrade test works)
2014-09-25 22:24:09 -07:00
Eric House
43bd3c018a
make an addr's conType a bitfield rather than holding a single value.
...
Works for large numbers of relay games in test, but will not yet
actually hold more than one value. Should be safe to merge to main
branch once stream upgrade is verified.
2014-09-25 20:05:37 -07:00
Eric House
aa566ad1f0
call util_informMissing when the pendingPlayers count drops to 0
2014-09-25 06:36:07 -07:00
Eric House
3668b7d8a7
merge android_branch -> android_shipbt
2014-09-24 20:51:23 -07:00
Eric House
1e80109c3e
add assert, and don't pass pendingRegistrations to clients -- it confuses them
2014-09-24 19:33:59 -07:00
Eric House
743d532fc7
putting back recent change: this works for automated test and gtk
...
manual app. I'm not sure what's up with pendingRegistrations but it
needs more studying before I can change it.
2014-09-24 19:16:06 -07:00
Eric House
64b30b68d2
merge android_branch -> android_shipbt
2014-09-23 21:33:57 -07:00
Eric House
3d6f972e9e
fix number of missing players not being calculated correctly
2014-09-23 21:30:31 -07:00
Eric House
a485480496
make divider wider
2014-09-22 07:05:45 -07:00
Eric House
6f07098cf3
return succes from server_initClientConnection()
2014-09-14 13:42:11 -07:00
Eric House
7d8b9b4270
return succes from server_initClientConnection()
2014-09-14 13:41:33 -07:00
Eric House
4d2f49d33f
when sending and don't have an address for channel yet, send the one
...
comms was created with, which is what client will have to do anyway.
2014-09-14 13:41:12 -07:00
Eric House
b333e3959f
remove assert: it's fine to close without saving
2014-09-10 06:37:32 -07:00
Eric House
9e86874e77
catch bt version up
2014-08-27 20:23:57 -07:00
Eric House
8407d3b300
cleanup and list changes
2014-08-26 22:17:34 -07:00
Eric House
d8266f6a2c
tweak title and body of notification
2014-08-26 21:53:28 -07:00
Eric House
88248131da
show new client-formatted turn summary in notification; remove old
...
common-formatting code.
2014-08-26 21:37:33 -07:00
Eric House
2d08848715
snapshot: toward having a better description of the last move in
...
notifications.
2014-08-26 06:55:26 -07:00
Eric House
e42dd971cb
Hide crosshairs once drag leaves the initial cell UNLESS a tile is
...
being dragged
2014-08-21 07:51:06 -07:00
Eric House
b77d529099
fix linux-side compile errors
2014-08-21 07:15:20 -07:00
Eric House
d921a386d5
remove logging
2014-08-19 07:21:02 -07:00
Eric House
e998fbfcba
log less
2014-08-09 17:11:35 -07:00
Eric House
56336f7178
double the max size of a tile, fixing board not using full screen in
...
portrait mode on Nexus 10.
2014-07-24 20:36:37 -07:00
Eric House
a902bdcbad
limit width of scoreboard too
2014-07-17 21:31:17 -07:00
Eric House
d51a5e67f0
fix for super-wide screen: tiles are never wider than tall. Next:
...
scoreboard.
2014-07-17 08:01:00 -07:00
Eric House
40d63be58b
too much logging
2014-06-24 08:18:42 -07:00
Eric House
c2c81dbbf1
use tmp model to find words crossing a point to avoid undoing pending turns
2014-03-20 18:52:57 -07:00
Eric House
b869940997
fix another 64-bit bug, this one prevening opening new SOWPODS.
2014-03-12 19:24:00 -07:00
Eric House
2bb9a12b63
add missing (for android build) header
2014-03-11 22:04:30 -07:00
Eric House
d1a9b716bb
protect refcount operations with mutex
2014-03-11 22:01:11 -07:00
Eric House
fbcd953a3e
define as void instead of <empty>
2014-03-11 19:38:51 -07:00
Eric House
7d8f5844bd
fix to compile without DEBUG defined
2014-03-11 19:38:08 -07:00
Eric House
a3e9562654
put related fields together -- no code change
2014-03-11 07:02:10 -07:00
Eric House
a4302897e2
enlarge dictmgr to track a compile-time defined number of dicts
2014-03-10 21:01:24 -07:00
Eric House
3c32ca6402
add option to log callsites of dictmgr put and get for easier ref leak tracking
2014-03-10 18:59:10 -07:00
Eric House
fec1ce3bed
use pthreads mutex to protect with will become critical sections in dict mgr, as will be accessed from several threads on android
2014-03-10 18:56:39 -07:00
Eric House
5500d36cde
add and use dict manager that caches, using refcount, dicts across games. Allows multiple games to be opened, and open at the same time, with only one instance of a dict ever created. Works on linux; not used or tested yet on Android.
2014-03-09 19:12:21 -07:00
Eric House
a7c114e3f9
refcount dicts. Model "owns" its copy and so increments the refcount when gaining one and decrements the count on any being replaced (and on all on exit). This is setting up the real change, which is to let the java world wrap dicts in objects that hang onto them until they're destroyed, which should fix problems where dicts are referenced after they've been destroyed.
2014-03-08 20:57:27 -08:00
Eric House
23b72467bb
don't assert unset cookieID, as that's normal (I think) for unconnected case
2014-03-08 12:47:58 -08:00
Eric House
9d174740c8
don't show "send pending messages" menuitem when there are none
2014-03-01 16:15:35 -08:00
Eric House
c1e22dd3cf
add summary DB column and jni code to fetch it to store and display number of unacked messages a game has. And add debug-only option to display it in the main list. In the future I want to be able to iterate over all these games and resend their packets (without opening them visually) when an internet connection comes back up.
2014-02-28 18:59:12 -08:00
Eric House
242f722f2e
remove logging
2014-02-28 18:56:39 -08:00
Eric House
cc4982b833
add debug-only code to assert that movestack is never disposed when dirty (via macros easy to use elsewhere)
2014-02-28 05:43:47 -08:00
Eric House
efbb676cce
better formatting for hexdump offsets
2014-02-28 05:42:22 -08:00
Eric House
39983f65b6
remove logging
2014-02-27 21:44:25 -08:00
Eric House
025bcb885b
don't move state forward when should be moving back
2014-02-09 19:35:17 -08:00
Eric House
0b132661ca
change struct name from r to rr for easier searching; no code change
2014-02-07 21:12:45 -08:00
Eric House
ca8a901bbb
add assertion aimed at confirming theory about race-condition based Android crash
2014-02-07 07:41:50 -08:00
Eric House
e34cc9007d
fix problems with opening and using wordlists on 64-bit linux by
...
making XP_U32 32 rather than 64 bits. Duh. Do same on Android jni just
in case.
2014-01-07 06:58:20 -08:00
Eric House
b43855a313
fix curses build for 64bit compile and to use common layout (meaning
...
tray is now under the board unstead of to the right). Works on 64-bit
system at least for non-networked games.
2014-01-05 13:04:59 -08:00
Eric House
3f67afaefb
replace tabs with spaces; no code change
2014-01-05 12:57:46 -08:00
Eric House
f46f8ed560
cleanup
2013-12-30 07:08:42 -08:00
Eric House
b2b4c2a1f5
fix android compile errors
2013-12-27 19:32:56 -08:00
Eric House
762945857e
fix to work for standalone games too
2013-12-19 07:59:00 -08:00
Eric House
2a47c91a91
add gi_setNPlayers()
2013-12-17 21:54:02 -08:00
Eric House
de41802f54
rename variable so I don't trip up again
2013-12-17 21:08:27 -08:00
Eric House
f1f13c65a2
don't overwrite gameID
2013-12-16 08:05:56 -08:00
Eric House
4420049bd0
remove duplicate lines (added by merge?)
2013-12-16 08:05:35 -08:00
Eric House
b5d6c513a6
add canUndo to GameStateInfo and use to hide the undo menu
2013-12-03 07:06:48 -08:00