Commit graph

295 commits

Author SHA1 Message Date
Eric House
6d84dfea7e cleanup: remove '2' from function and struct names 2013-12-30 07:08:42 -08:00
Eric House
d29840434f pass, save and restore port; read several messages at once 2013-12-19 08:00:04 -08:00
Eric House
0ad18efcff fix memory leaks 2013-12-17 22:16:52 -08:00
Eric House
f45f3bacbf fix so invitation results in a playable game (though dictionary is not
yet available to invitation recipient)
2013-12-17 21:57:10 -08:00
Eric House
8d20c33b76 snapshot: still not correctly recording return address 2013-12-16 08:06:29 -08:00
Eric House
2a56a0ba98 snapshot: more linux-sms stuff 2013-12-12 21:08:25 -08:00
Eric House
78d8c0398f another snapshot: invites are received but don't create game correctly yet 2013-12-12 07:58:02 -08:00
Eric House
5f97f8197c progress on inviting via SMS 2013-12-12 06:08:56 -08:00
Eric House
1b5bda5da8 don't turn on SMS if no phone 2013-12-11 08:04:47 -08:00
Eric House
7cffa27a88 snapshot toward implementing fake-sms as per-device rather than per-game 2013-12-11 07:54:26 -08:00
Eric House
2629c07256 Address problem with devids (e.g. GCM): until now when you got a new
devid you tossed your relayID and reregistered.  Which meant any
existing messages meant for your relayID were orphaned, and any open
games didn't know who they belonged to until you reconnected to them
with your new relayID.  So: modify the UDP protocol (though not on
Android yet) to include both relayID and devid with registration, with
one or the other an empty string if not present or not changed from
earlier.  I can't fix existing clients that are dropping their
relayIDs, but when one does a re-connect without a relayID I can look
it up from the existing game record, then reuse it rather than issue a
new one.  Better than nothing -- and that protocol will be obsolete
soon anyway.
2013-09-14 21:06:14 -07:00
Eric House
71ea59e7fb separate whether app is using udp from whether it stores games in a
sqlite3 db so that it can switch mid-game -- that being something that
needs testing.
2013-08-07 21:09:48 -07:00
Eric House
da54b1e5fb add keepalive timers 2013-08-02 08:01:16 -07:00
Eric House
93a7c7f817 fix to compile when DEBUG not defined 2013-07-17 06:52:35 -07:00
Eric House
9db54a5461 make linux version's gameToken combine game's seed with rowid so we
can test that the relay is keeping them straight
2013-07-11 20:01:17 -07:00
Eric House
7dfd19a7a2 name change 2013-07-10 23:14:24 -07:00
Eric House
f5696334a9 changes to get the merged code to compile but not included by git in the commit 2013-07-09 07:25:23 -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
0bb4f5b0f5 fix occasional memory leak 2013-06-26 00:41:16 -07:00
Eric House
168ebeeb5b fix variable name misspelling 2013-02-22 21:10:46 -08:00
Eric House
c75ecef240 test deletion of games and generation of anonymous relayIDs 2013-01-29 07:42:10 -08:00
Eric House
498498a2bf remove gameToken param from XWPDEV_HAVEMSGS message since it's for the
whole device rather than one game on it.
2013-01-24 19:20:35 -08:00
Eric House
9f3250cb3f make curses version use udp socket when --db param passed. There's no
UI for the DB and the assumption is only one game will be stored but
this should let the test script be modified to test the new protocol.
2013-01-24 07:49:49 -08:00
Eric House
12f70154a0 changes for includes-messageID-please-ack protocol addition 2013-01-23 07:43:58 -08:00
Eric House
0ef3549a4e handle (display) the relay's new error message 2013-01-19 15:18:36 -08:00
Eric House
1bb9f9b1bf handle sending of messages generated by games opened only to receive
messages from relay.  And handle report that relayID is bad.
2013-01-19 14:37:49 -08:00
Eric House
1519a00004 toward being able to handle messages received for closed game.
Receipt seems to work but send in that state doesn't.
2013-01-18 07:49:00 -08:00
Eric House
4163309dae Let's have just one set of signal handlers 2013-01-17 06:37:53 -08:00
Eric House
2f772c56b2 make gtk app a better test bed: add db and row to window titles,
implement delete button and multiple selections, etc.
2013-01-16 21:16:07 -08:00
Eric House
a6784464ff first set of networking changes testing per-device communication with
relay on behalf of a number of games.  Works as long as all the games
are open.
2013-01-16 06:46:33 -08:00
Eric House
a107365c88 change names of two types and variables of that type to make a common
pattern more sensible.  No code changes.
2013-01-15 19:04:20 -08:00
Eric House
dddb135b9d add more columns, and update each time game is saved 2013-01-09 06:30:52 -08:00
Eric House
5e2bfd20da add a checkbox -- which apparently won't interact until I "implement
the 'activate' virtual method".
2013-01-08 06:32:43 -08:00
Eric House
1cb959c86d type tree model column correctly 2013-01-07 20:51:59 -08:00
Eric House
565b742971 snapshot -- connects to relay but doesn't play yet. 2013-01-07 08:00:47 -08:00
Eric House
469e656464 track open games so don't double-open and can close all on quit 2013-01-07 06:36:34 -08:00
Eric House
f88387da80 lots of changes to separate game data from app data so several games
can be open at once.  (curses version is almost certainly broken)
2013-01-07 06:10:44 -08:00
Eric House
b61ed7b631 opening saved games and saving of changes now work. 2013-01-05 21:01:26 -08:00
Eric House
a8014a855b now games are displayed in lists. Next: open them. 2013-01-05 19:40:29 -08:00
Eric House
e0dc83ed70 rest of what I just meant to commit. 2013-01-05 16:08:47 -08:00
Eric House
4af30c534c snapshot. New game button works and game gets saved in DB. Next: display and open from DB. 2013-01-05 16:08:19 -08:00
Eric House
ad2b925a60 print wordlist name as part of error message 2012-12-29 07:47:44 -08:00
Eric House
9598ea3585 fix to compile post API change. 2012-11-13 21:32:42 -08:00
Eric House
093fc4d1fa cleanup 2012-11-13 07:23:07 -08: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
13c74cfbd5 protect changeDict feature with compile-time flags (since it can't be
used on Android)
2012-10-24 06:46:54 -07:00
Eric House
c69dbda36f add new game_changeDict() and enough gtk code to test it. 2012-10-23 19:06:00 -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
Eric House
140c982d41 merge from android_branch 2012-09-24 07:39:44 -07:00
Eric House
0ccc2331b5 address bug where message was getting ACK'd by a device that failed to
save what it had ACK'd leaving the game permanently broken.  Do that
by adding a new method game_saveSucceeded() called after the client
claims to have committed bytes returned by game_writeToStream() to
disk.  In that method comms updates the value it'll use in subseqent
ACKs.
2012-09-10 07:31:45 -07:00
Eric House
1608f0a8f9 handle missing error messages 2012-09-09 15:49:17 -07:00
Eric House
95a7b14a3a transmit dict's md5sum along with name in initial message from host to
guest.  On guest, pass that sum into client code along with names so
the appropriate tests can be done and corrections taken.
2012-09-08 20:23:48 -07:00
Eric House
270a19f3aa Revert "first of a set of changes to communicate to clients dictionary being"
This reverts commit b7a0f1489b, which I didn't mean to check in on this branch.
2012-09-03 21:34:51 -07:00
Eric House
ea4d805d5f first of a set of changes to communicate to clients dictionary being
used by server.  Clients need to care if e.g. the server's disallowing
phonies based on its dict.  Can only be sent if client is of latest
version.  In that case, common code calls into new util function.  In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it.  Once it's available, will want to install it.
2012-09-03 21:33:46 -07:00
Eric House
b7a0f1489b first of a set of changes to communicate to clients dictionary being
used by server.  Clients need to care if e.g. the server's disallowing
phonies based on its dict.  Can only be sent if client is of latest
version.  In that case, common code calls into new util function.  In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it.  Once it's available, will want to install it.
2012-09-03 21:29:21 -07:00
Eric House
ec0702d584 initialize buffer that common code will pass to strcat. 2012-08-10 21:31:01 -07:00
Eric House
d25916ae5f protect sqlite code with compile-time flag so easier to disable. 2012-07-29 08:37:08 -07:00
Eric House
08e5fbdcc2 add ability to open game in sqlite3 DB from an Android phone. It's
read-only now: changes are not saved.  But it works!
2012-07-26 20:44:33 -07:00
Eric House
0b1a9a67fe add param to server_handleUndo to prevent it from undoing all moves in
robot-vs-robot game, which is the wrong thing to do during a test
simulating play.
2012-05-24 22:25:30 -07:00
Eric House
cd89885cd2 add new periodic (one-second) timer, and commandline option that sets
what percent of the times that timer fires will result in a move being
undone.  Will be used to interject random out-of-order undos into
games played for testing.  (Currently the tests fail when this is
enabled; I need to fix that.)
2012-05-23 19:58:03 -07:00
Eric House
3a54aa0ebc add util_informUndo() that gets called, and puts up a dialog, after
remote device has performed an undo on a committed turn.
2012-05-14 07:01:02 -07:00
Eric House
61453b8720 center gtk_ask window on parent window rather than on screen so can
tell which instance it belongs to
2012-05-14 06:58:54 -07:00
Eric House
2996af17ce fix crash when trade happens while --show-other is on 2012-05-09 18:20:51 -07:00
Eric House
d59b19514b Merge branch 'android_branch' into android_bt 2012-05-03 21:44:35 -07:00
Eric House
09f9038cff add option to have robot choose to trade tiles a configurable percent
of the time.  Meant to increase automated test coverage of trades.
2012-05-02 20:14:42 -07:00
Eric House
f22d9530b1 track what's been ack'd, and add method to ack what hasn't been. 2012-04-13 20:21:59 -07:00
Eric House
e145a04111 add missing variable assigment 2012-03-09 22:11:51 -08:00
Andy2
2a34cd1e05 remove second param from server_do() -- it doesn't work anyway. 2011-12-21 18:45:05 -08:00
Andy2
17edc79aaf Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2011-12-06 19:56:10 -08:00
Andy2
b0470d5276 add new preference that when set prevents calculation and drawing of
crosshairs.
2011-12-06 18:17:55 -08:00
Andy2
08063d9444 Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/NetUtils.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2011-12-01 21:18:37 -08:00
Andy2
fc00102384 don't leak/fail to install zoom-out button when chat enabled 2011-12-01 21:09:37 -08:00
Andy2
85fdb950bb init board so deeper scrolling possible 2011-12-01 21:04:18 -08:00
Andy2
d37424ad7f Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/linux/linuxutl.h
2011-11-21 22:18:52 -08:00
Andy2
210c59ef9b move bonus square values into model: add API to set an array, and API
to query model for values.  Now everybody else queries new model API
rather than client via util_getSquareBonus(), model uses its internal
values if present otherwise falls back to util_getSquareBonus(), and
internalizes the array as part of the game.  Now it should be easier
to have different bonus patterns and to have them exchanged as part of
network game init.
2011-11-16 19:01:11 -08:00
Andy2
bdb8e6f03c fix several crashers that prevented network games from working when
MAX_COLS was larger than 16.  In order that old-style messages on
relay be readable by new-style code on device, modified server.c's
protocol to include stream version.  But: unless I come up with a
better way of doing this all devices will have to be upgraded at the
same time: old won't be able to read the new format as it's done here.
2011-11-15 06:13:25 -08:00
Andy2
2492e7cfc5 Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/linux/cursesmain.c
2011-11-13 17:10:46 -08:00
Andy2
8d228ae190 turn on face-up tile picking for Android (though there's no prefs UI
to enable it for a game yet).  In common code, break pick tile utils
method in two, one for blank and the other for tray tiles.  In java,
implement dialog for picking the tiles.  Works, though is a bit clumsy
to have the dialog come and go after every pick.  Better would be a
dialog that stays up and accumulates picks -- but it'd have to know to
reduce the set of tile choices as letters are chosen.  This'll do for
now.
2011-10-28 22:15:56 -07:00
Andy2
4eee7f8aa7 Pass selected tiles into new util function, and from there into java
world, so confirming query can include them.
2011-10-19 18:34:26 -07:00
eehouse@eehouse.org
b8adbd94c1 Merge branch 'android_branch' into send_in_background 2011-10-18 06:47:38 -07:00
Andy2
b02e0eb9cf actually list words: makes a better test. 2011-10-17 06:47:49 -07:00
eehouse@eehouse.org
5afb0ae145 Merge branch 'android_branch' into send_in_background 2011-10-14 22:34:29 -07:00
Andy2
6793742f0f remove option to list all words played in a single lookup dialog, and
supporting code in the jni/common C.
2011-10-14 22:32:30 -07:00
Andy2
0e6b4d749f When pen held on committed tile on board, cons up list of all words
played that include that tile and pass to new util_cellSquareHeld()
method.  In java implementation of that method, use existing lookup
activity code to display list of words.  Enabled on the C side by a
compile-time flag in case it has problems.  Right now the time spent
saving a game before launching the lookup activity, and reloading it
after, is pretty apparent, but that's in emulator which is slow.
2011-10-13 19:14:08 -07:00
Andy2
0dfa69b1b2 implement pen timer with timeout, not idle. 2011-10-11 19:38:26 -07:00
eehouse@eehouse.org
471a9d988d Merge branch 'android_branch' into send_in_background 2011-10-05 07:10:52 -07:00
Andy2
dc20b04a4c remove unused param (on the C/jni side) 2011-10-04 18:54:53 -07:00
eehouse@eehouse.org
82615f409b Merge branch 'android_branch' into send_in_background 2011-10-04 06:49:19 -07:00
Andy2
77b9fa11a5 improving lookup words experience: replace
util_userQuery(QUERY_ROBOT_MOVE) with new util_informMove(), into
which the number of words formed and the words themselves are passed.
The process of consing up the score explanation was already passing
over the model, so storing the words is very little effort, and will
save a call back into the model where the user actually wants to do
the lookup.
2011-10-02 16:21:09 -07:00
eehouse@eehouse.org
554e497593 Merge branch 'send_in_background' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into send_in_background 2011-09-30 06:39:23 -07:00
Andy2
c952ebd8e6 cleanup 2011-09-30 06:29:14 -07:00
Eric House
f0c3e2c5f0 Merge branch 'android_branch' into send_in_background 2011-09-22 17:22:01 -07:00
Andy2
35a0a3a291 passing pool into word-listing code a mistake as it put tiles back
when undoing and so the pool grew each time.  Fix, and remove server
API as it's unneeded.
2011-09-22 06:41:48 -07:00
Andy2
92614370ce Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/common/comms.c
2011-09-20 06:21:54 -07:00
Andy2
9eacdb3856 add server_listWordsPlayed, and implement via function in model.c that
uses existing stack and undo features to run a WordNotifierInfo over
some number of scoring passes to gather the words seen.  Seems to work
as tested from gtk version.  Now need to try from android....
2011-09-18 17:20:01 -07:00
Eric House
84931f34ff Merge branch 'android_branch' into send_in_background 2011-09-07 21:44:36 -07:00
Andy2
2d2f3e23fd change signature of util_playerScoreHeld(): pass player num rather
than formatted text. Client code can use new
model_getPlayersLastScore() or whatever else it wants to build text to
show the user.
2011-09-02 18:36:03 -07:00
Andy2
dadf41ad2e add "cancel trade" menu item 2011-09-02 06:38:30 -07:00