Eric House
45224a75fa
add (disabled) code for case where game ptr wrapper is passed instead
...
of the ptr itself.
2016-01-31 20:06:45 -08:00
Eric House
9455c0ef26
wrap jni ptr so can detect leaks (failure to call
...
game_dispose()). There was one that had been undetected for years. The
int is still passed into the jni, and each call site has to pull it
from the wrapper. Better would be to pass the wrapper, but I'm worried
about the performance hit of making a call back into the java world
from every jni entrypoint. Will test....
2016-01-31 19:51:51 -08:00
Eric House
389a09ac1a
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
2015-08-13 07:30:55 -07:00
Eric House
3a32d3a17b
return count of messages sent from comms_resendAll(), and post it as a
...
toast so user sees something happened.
2015-08-13 07:05:06 -07:00
Eric House
7824df67f5
copy over VARIANT compile-time flag stuff. Not sure how it got dropped
...
in this branch.
2015-08-13 06:54:07 -07:00
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
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
6c863155ef
clean up BT UUID assignment, replacing runtime strcmp with compile
...
time macro magic
2015-07-31 07:35:44 -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
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
eebf27d051
fix warning
2015-07-11 16:25:01 -07:00
Eric House
587f3b7630
export comms_formatRelayID via jni.
2015-07-11 14:25:16 -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
6a36c1252d
fix assert that wasn't asserting anything
2015-06-14 19:39:51 -07: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
b7dfc169bf
add commented-out mutex protecting comms. I don't think I need it, but
...
this makes it easier to put back if comms->processingMsg assertions
start failing.
2015-02-08 10:37:06 -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
a49e732371
remove logging
2015-01-12 06:26:03 -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
e961756f12
give up on hard-coding size of thread->env map: expand it as needed.
2014-12-08 20:43:24 -08:00
Eric House
938756a34f
switch for loop to using C99-style variable declarations; no other change
2014-11-25 06:09:18 -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
e236a32c20
forgot a mutex
2014-11-20 06:04:11 -08:00
Eric House
56121fdcd4
stop (or at least greatly reduce) leakage of thread->env mappings in
...
jni, mostly by having jnithread explicitly announce that it's closing.
Yuck. This stuff *should* obey a stacking protocol but the callback
stuff I'm doing makes me unsure that can work.
2014-11-19 21:42:21 -08:00
Eric House
1962371fe2
flesh out MultiMsgSink so that subclasses invoked e.g. in response to
...
BT traffic can send messages via other means as well. Relay games
with both participants on one device work again.
2014-11-19 18:46:35 -08:00
Eric House
7a1cd06486
fix crash in dict iteration: add to thread map the env that creates globals
2014-10-23 07:44:41 -07:00
Eric House
3fe3b1724a
replace stacked tracking of env with explicit mapping from pthread to
...
env for that thread to fix occasional assertion failure that indicated
I was using the wrong env occasionally. I'm not super confident in
this because I've seen the env for a thread change, but that could be
due to reuse of the thread id.
2014-10-22 06:58:42 -07:00
Eric House
2e74b97b4a
oops: set typeset field in java struct
2014-10-17 07:46:32 -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
6f07098cf3
return succes from server_initClientConnection()
2014-09-14 13:42:11 -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
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
ddd1ef70b6
prevent games reset at the same time from all having the same seed by
...
passing rand()'s seed from java world rather than using current
seconds.
2014-07-15 07:32:57 -07:00
Eric House
f601f2bf57
use dictmgr in java. This requires jni globals that live across boards being opened and that include a mempool dicts will be allocated out of. Seems to work, and to get ref counts as high as 6 or so before they drop down to one when all boards are closed. (The final is held by the dictmgr which won't give it up until the app itself is GC'd)
2014-03-10 19:14:59 -07:00
Eric House
a2671f5ef0
add global mempool that can survive individual games, and include it every game's globals. Use it instead of game's mempool to create dictionaries so they can outlive a game and not trip asserts on pool delete. Wrap dicts in a java class that refcounts them when BoardCanvas wants to keep one so that, I hope, the bug using a deleted dict will go away.
2014-03-09 14:46:33 -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
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
29d08b95ce
expose comms_getStats() via a debug-build-only menu and dialog
2014-02-26 21:41:49 -08:00
Eric House
57cd547078
remove apparently gratuitous second call to srandom
2014-01-31 07:54:43 -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
b5d6c513a6
add canUndo to GameStateInfo and use to hide the undo menu
2013-12-03 07:06:48 -08:00
Eric House
94216a5fb9
add canTrade to GameStateInfo, pass through to java world, and use to
...
determine whether to show trade menuitem
2013-12-01 21:53:41 -08:00
Eric House
9b6f8d18e0
fix timer: don't reinit secondsUsed to 0 every time game loaded
2013-12-01 19:04:44 -08:00
Eric House
08b72bbc55
add asserts
2013-11-29 07:35:13 -08:00