Commit graph

480 commits

Author SHA1 Message Date
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
215cbe94ba turn on -std=c99 2014-10-15 21:43:34 -07:00
Eric House
fa3a2c1c5e don't crash if somehow a game gets opened without a dict 2014-09-30 21:20:47 -07:00
Eric House
6f07098cf3 return succes from server_initClientConnection() 2014-09-14 13:42:11 -07:00
Eric House
172d01137a copy stuff required to make main app support BT 2014-09-11 20:42:15 -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
dee75f5a0a don't ref dicts from dmgr_get() 2014-03-10 21:50:06 -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
9d9c822bb8 save, commented out, how to call the contstructor of a nested class -- in case I go back to doing things that way. 2014-03-09 14:23:24 -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
339e784d7c fix compile warnings 2014-02-10 18:23:03 -08:00
Eric House
b29dcb1d2c add debug-only logging toward figuring out occasional bad-dict crash 2014-01-31 07:55:07 -08:00
Eric House
57cd547078 remove apparently gratuitous second call to srandom 2014-01-31 07:54:43 -08:00
Eric House
1b185d1575 use ccache for jni if present 2014-01-21 07:20:51 -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
11bde2b7fd remove logging 2013-11-27 07:10:08 -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
e20a72e527 remove and turn off active rect stuff 2013-11-14 05:59:51 -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
a26dced506 drawing tray tiles can fail, e.g. when font info not yet available, so
only clear bits when successful. Fixes problem where tray didn't get
drawn until tiles were somehow invalidated.
2013-11-07 07:29:54 -08:00
Eric House
baba78535f fixes to the merge 2013-11-07 05:30:02 -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
929399793b Merge branch 'android_x86_release' into android_branch 2013-11-06 22:28:36 -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
f1f02df355 remove file to be generated by build system 2013-11-04 19:19:09 -08:00
Eric House
633d41a6ef Revert "x86-only for this one release"
This reverts commit 67c6c635e4.
2013-11-04 07:35:12 -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
67c6c635e4 x86-only for this one release 2013-11-03 12:52:53 -08:00
Eric House
d11375b5f5 apply contributed patch adding x86 version of libxwjni.so 2013-11-03 12:21:52 -08:00
Eric House
59dc69c0d9 apply contributed patch making Makefile variable naming match required
conventions for CLEAR_VARS.
2013-11-03 12:21:28 -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
b151cb977e apply patches from Brendan Le Foll <brendan.le.foll@intel.com> to
enable x86 ndk support
2013-11-03 05:22: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
d72526ff84 enable turning thumbnail featuren on/off via a line in build.xml 2013-10-29 06:49:06 -07:00
Eric House
552fa28b39 export model_getNumTilesInTray() via jni 2013-09-30 21:59:12 -07:00
Eric House
107ba4c940 new gcc setting required, I assume, by new ndk version 2013-09-22 21:35:22 -07:00
Eric House
91a0dc5ecd turn chat back on -- and make it configurable via a single property in
build.xml that's turned into both a -D option to the jni compiler and
a constant in the java world.
2013-09-11 22:18:00 -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
5d7cc9e9e8 disable chat, and include reason in change log 2013-09-08 19:09:49 -07:00
Eric House
04eeebc3a4 fix so still compiles when chat feature is disabled 2013-09-08 19:08:58 -07:00
Eric House
49ab62d521 set DEBUG when building ndk based on target in build.xml 2013-08-29 07:28:08 -07:00
Eric House
57ea3cd77e wasn't supposed to check this in with debugging on 2013-08-26 07:22:07 -07:00
Eric House
235346b7a4 fix signature string (and log when there's a mismatch) 2013-08-23 07:41:10 -07:00
Eric House
5197033de3 In the spirit of setting constants in only one place, pass
INITIAL_CLIENT_VERS in from build.xml rather than the jni makefile,
and make it available in java world as well.
2013-08-20 08:42:12 -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
a522266ce4 add message checksumming for android too by making it part of util
(compiled out by default)
2013-07-10 08:05:47 -07:00
Eric House
d50c808f96 Merge branch 'android_branch' into gtk_multigame
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java
	xwords4/common/comms.c
	xwords4/linux/cursesmain.c
	xwords4/linux/cursesmain.h
	xwords4/linux/gtkmain.c
	xwords4/linux/gtkmain.h
	xwords4/linux/linuxmain.c
	xwords4/linux/main.h
	xwords4/linux/scripts/discon_ok2.sh
	xwords4/relay/xwrelay.cpp

(Note: The curses app crashes on exit with mempool assertions, but that's a problem before the merge.)
2013-07-09 07:18:00 -07:00
Eric House
008cce8f37 Revert "pass additional param into java world so don't show toast every time connect to relay"
This reverts commit e9615cb154.
2013-07-08 06:30:26 -07:00
Eric House
e9615cb154 pass additional param into java world so don't show toast every time connect to relay 2013-07-07 13:31:49 -07:00
Eric House
9d40930fff pass new param into java, and when it's not the player's turn draw
pending points with his color at half-intensity.
2013-05-31 07:40:42 -07:00
Eric House
d41c1a4ca8 add new param so pending text can be drawn differently when it's not
the player's turn.
2013-05-30 07:17:13 -07:00
Eric House
31c443e4b1 Merge branch 'android_branch' into gtk_multigame
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GCMIntentService.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayService.java
2013-05-22 07:01:08 -07:00
Eric House
120748416b handle GCM messages containing data, changing clientVers so server
knows we can.  And send to relay in AsyncTask rather than UI thread.
2013-05-22 06:44:01 -07:00
Eric House
7d8cddb31f Merge branch 'android_branch' into gtk_multigame
Conflicts:
	xwords4/linux/gtkmain.c
	xwords4/linux/linuxmain.c
	xwords4/relay/xwrelay.cpp
2013-05-08 07:37:55 -07:00
Eric House
541fc546ab remove that bit from flags -- since we already do the right thing for it. 2013-04-20 19:46:35 -07:00
Eric House
e4f52c5678 add assert and comment explaining why non-utf-8-aware hack is safe. 2013-04-18 07:15:14 -07:00
Eric House
c8332a9665 load synonyms for specials correctly. So now Catalan works: wordlists
load, and search for "l-l" will find "L·L".
2013-04-14 15:45:23 -07:00
Eric House
cae631eeb0 handle synonyms in non-special tiles for Android: wordlists load and
display, and searching using lower case works.  Specials (e.g. Catalan
changes) not yet supported.
2013-04-14 11:58:11 -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
76c938cc67 fix to compile with API change; to drop relayid when it's rejected and
to use register with the GCM id on next [re]connect; and to not leave
variable unintialized when unable to call into java world due to being
called without context.
2012-11-12 08:03:25 -08:00
Eric House
39dbed2004 add missing util method (fixing crash) and with it wire up new devID
scheme: now relay-assigned shorter id will be saved and used for
future games.
2012-11-06 07:08:06 -08:00
Eric House
47f9eb03b9 merge in changes from the -gcm directory: GCM will be a feature of the
non-variant build now.
2012-11-02 05:35:31 -07:00
Eric House
6014e3d76f turn on devid code and implement support in java. Untested, but should work. 2012-10-30 07:57:17 -07: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
077270f1cd merge in SMS-version UI -- there will not be a separate version for
SMS any more.
2012-10-15 08:29:46 -07:00
Eric House
e90c5ee94f pass index of resigning player into util_notifyGameOver. Not yet
passed into java.
2012-10-09 05:31:12 -07:00
Eric House
e64ecfb78d implement resign on top of existing endGame logic, adding "quitter" as
new param passed to remote and changing final score formatting and
menu items to match.  Still need to show old menu on android in case
where game has already ended.
2012-10-07 12:47:06 -07:00
Eric House
fd9b9f85e2 make util_hiliteCell conditional, and remove from android where it
wasn't used anyway.
2012-10-05 18:51:32 -07:00