Commit graph

210 commits

Author SHA1 Message Date
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
Eric House
0b00f303bb cleanup after code review 2013-11-25 07:46:25 -08:00
Eric House
0cc45ad865 add new field canHideRack to GameStateInfo and use it to disable menu. 2013-11-17 13:54:21 -08:00
Eric House
088dd1bd75 center board when it must be narrower than screen 2013-11-15 20:46:22 -08:00
Eric House
da3215c116 reduce logging 2013-11-11 08:00:56 -08:00
Eric House
dfdbd9a8a2 pass scoreWidth separately into formatting code so space can be left
for network status icon.
2013-11-09 05:34:23 -08:00
Eric House
71d83e188e null param ok for board_getActiveRect in jni 2013-11-07 19:54:13 -08:00
Eric House
bb80cdfb08 Merge branch 'android_branch' into android_thumbnail
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardCanvas.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/XwJNI.java
2013-11-07 05:25:51 -08:00
Eric House
272fc6e812 Move board_layout call onto jni thread, and change order in which it's
done to make that work. This is a snapshot: not all boards draw completely,
and there's other debugging to be done.
2013-11-06 06:49:27 -08:00
Eric House
7c47c27cee dispose any existing draw ctxt before setting another. 2013-11-05 07:36:56 -08:00
Eric House
499e07d84b follow convention: width usually comes before height 2013-11-05 06:38:48 -08:00
Eric House
03b023d506 dispose any existing draw ctxt before setting another. 2013-11-04 07:33:12 -08:00
Eric House
d4cf98553c Merge branch 'android_branch' into android_thumbnail 2013-11-04 06:37:13 -08:00
Eric House
2d7392a16d pass new score- and tray-size params through 2013-11-04 06:36:52 -08:00
Eric House
9c9a04025a Merge branch 'android_branch' into android_thumbnail
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/XwJNI.java
2013-11-04 06:20:53 -08:00
Eric House
9f1b0c5121 Specify relative height of scoreboard and tray in board_figureLayout,
and allow those to be 0.
2013-11-04 06:19:33 -08:00
Eric House
e01af60dab build with COMMON_LAYOUT defined, and when off-by-default debug pref
is on use it instead of java-side layout.
2013-11-03 12:17:20 -08:00
Eric House
cc994368aa move ints and booleans between java and c structs using arrays of data
rather than a ton of nearly identical function calls.
2013-11-01 19:10:08 -07:00
Eric House
d7a1f53157 Merge branch 'android_branch' into android_thumbnail
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardView.java
2013-10-31 08:13:39 -07:00
Eric House
bfa6132ade add board_setDraw() to jni 2013-10-31 08:07:07 -07:00
Eric House
3858893ab2 don't crash on null dctxt 2013-10-31 06:35:23 -07:00
Eric House
0960e5510c add board_getActiveRect to jni, and use it to capture a thumbnail
that's smaller.  Scaling is still a problem, though: some but not all
grid lines show up.
2013-10-29 07:51:35 -07:00
Eric House
552fa28b39 export model_getNumTilesInTray() via jni 2013-09-30 21:59:12 -07:00
Eric House
a25d664eb5 Merge branch 'from_android_beta_65' into android_branch
Conflicts:
	xwords4/android/XWords4/res/raw/changes
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
2013-09-09 08:01:28 -07:00
Eric House
04eeebc3a4 fix so still compiles when chat feature is disabled 2013-09-08 19:08:58 -07:00
Eric House
27d9f3de45 Don't enable chat when more than 128 messages are in queue to prevent
an extremely unlikely cause of stalls -- and make tests trip over full
queues less often.
2013-07-18 07:37:45 -07:00