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
Eric House
de7c29dcc7
add comms_stop() to jni and use it
2013-01-20 21:33:35 -08:00
Eric House
c4df31892e
Fix occasional infinite loop of devices sending and receiving the same
...
message over and over when getting updated by GCM. The problem
occurred when one device had an un-ACKable initial message still in
its queue. I call resendAll a lot, which caused that message to get
resent to the other game which then replied without being able to ACK
it so it remained to be sent again. This would continue until users
moved forward in the game. The fix is to add a backoff timer to
resendAll() so that it can't loop. The timer is reset when an ackable
and new message is received, meaning there's been a change in what's
available to resend. And since users calling resendAll manually
expect it to do something, add a force param that ignores the backoff.
seems to fix the problem (but needs a lot of testing.)
2012-11-13 21:25:03 -08:00
Eric House
ba11fcf8df
don't bother checking for stream size of 0 in jni since comms does
...
that now.
2012-11-13 21:01:25 -08:00
Eric House
60814264e7
compile with XWFEATURE_COMMSACK turned off
2012-11-12 20:56:50 -08:00
Eric House
b40e9b7928
assert non-0 lang code
2012-10-25 07:10:54 -07:00
Eric House
aec03fc572
When a game's consumated and guest discovers it isn't using the same
...
dict, give chance to switch, and to download if required. Because of
the way the JNI thread works, and JNI's requirement in general that
env instances match up (e.g. dicts must be destroyed in the same
thread that creates them), substituting into a live game is too hard.
So the game's saved with its new dict and then reloaded.
2012-10-24 07:17:21 -07:00
Eric House
8281bd7f10
call back into java for util_getCurSeconds implementation so java and
...
C world are sure to be using the same clock.
2012-09-29 19:27:02 -07:00
Eric House
94103a4212
track time of most recent turn start, and include it in summary table.
2012-09-27 06:55:46 -07:00
Eric House
598a154693
factor common code into function
2012-09-19 08:09:27 -07:00
Eric House
75398389b3
Merge branch 'android_branch' into android_dictdb
...
Conflicts:
xwords4/android/XWords4/jni/jniutlswrapper.c
2012-09-15 16:36:15 -07:00
Eric House
ee1df7eeb7
replace DeleteLocalRef calls with version that checks for NULL
2012-09-15 15:57:38 -07:00
Eric House
aa974be567
Before figuring md5sum (via java callback added recently), use new
...
callback to see if there's already one in the DB. Required passing
context into jniutils getter, and passing name into jni dict
constructors that previously didn't need it.
2012-09-13 07:38:08 -07:00
Eric House
ae2b6205bd
use mem_stream_make_sized
2012-09-11 19:17:27 -07:00