Commit graph

6442 commits

Author SHA1 Message Date
Eric House
63d3f70cdf more changes to storage and fetching of messages and to protocol so
presence of messages is reported on connect (as are bad relayIDs).
Now a game with a robot player in a "closed" game can continue.  Once
the next set of linux-side chances is committed.
2013-01-19 14:34:04 -08:00
Eric House
99307e45a0 queue incoming packets and process them in order in a separate thread 2013-01-18 19:56:21 -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
c999bbae92 always test those last-minute pre-checkin cleanups 2013-01-18 07:22:56 -08:00
Eric House
3984d85795 oops -- prev checkin didn't compile 2013-01-18 07:12:26 -08:00
Eric House
1c5fef6a38 relay improvements for UDP connection: record addresses, prepare to
run in separate thread, etc.
2013-01-18 07:10:47 -08:00
Eric House
932778f700 stubbed-out thread manager for udp connection 2013-01-18 06:57:57 -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
c33c50ee6b add deleteGame() 2013-01-16 21:11:35 -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
f6e7ece578 add comms_stop() and an assert to make sure it's called. Explicit
stop and a message to the relay when using a UDP socket makes up for
there being no notification of connection closing.
2013-01-16 06:31:09 -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
7fec736947 add udp socket and protocol for use over it so that a device can
manage a single connection to the relay for all of its games.  Works
so far to the extent that the game's playable with all boards on the
same device (with checkins about to come) as long as all boards are
open.  (Client doesn't handle opening closed games yet.)
2013-01-15 18:41:17 -08:00
Eric House
5a51af489a Merge branch 'android_branch' into gtk_multigame 2013-01-13 10:41:14 -08:00
Eric House
dc0cfdf001 bug in recent changes: need to mark socket unused to avoid double removal 2013-01-13 10:37:47 -08:00
Eric House
98679c8363 cleanup: better encapsulation for AddrInfo 2013-01-13 10:14:06 -08:00
Eric House
c567647a8d get rid of mapping of socket->game_connection, which will not work
once UDP sockets and/or per-device (not per-game) connections come
along.  Lots of changes, most not involving code flow but a couple
that did.  So far two gtk games can connect and exchange moves.
Haven't tested reconnection or store-and-forward.
2013-01-12 16:09:24 -08:00
Eric House
33735ae7a5 Merge branch 'android_branch' into gtk_multigame 2013-01-11 20:48:44 -08:00
Eric House
b46df07237 Merge remote branch 'origin/android_branch' into android_branch 2013-01-11 20:48:04 -08:00
Eric House
6dcd7022d4 don't pass .css file in; it's ignored 2013-01-11 20:42:57 -08:00
Eric House
55514719be include thread ptr in hung threads logging; assert (restart) when hung for too long 2013-01-11 20:42:04 -08:00
Eric House
39d12d088a use usleep when waiting for cref to be available 2013-01-11 20:37:08 -08:00
Eric House
aed2b6135c Merge branch 'android_branch' into gtk_multigame 2013-01-10 21:10:48 -08:00
Eric House
2ccc297463 make number of sockets at which we assert/reboot configurable so tests
can be done with large numbers of clients.
2013-01-10 21:10:18 -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
7437a71aa6 use string_printf 2013-01-09 06:29:12 -08:00
Eric House
fac3e6b678 fix gtk version to correctly implement util_setIsServer (which only
Android did so far) by calling server_initClientConnection().  Now
relay games work with both started as hosts.  (GTK UI prevents
starting one as a guest; cmdline is required for that, if it still
works.)
2013-01-08 07:28:30 -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
76f3bb3413 fix curses version so discon_ok2 tests work again. 2013-01-07 20:40:46 -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
8238d45350 ignore the db 2013-01-05 19:37:05 -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
63487dc5d0 assert gdk setup going ok 2013-01-03 08:18:35 -08:00
Eric House
f827bebf80 ignore .pyc file 2013-01-02 21:13:36 -08:00
Eric House
ad78129e74 changes made over the past couple of months toward tracking an
apparent thread leak.
2013-01-02 21:12:42 -08:00
Eric House
d34ac1f86d rewrite to work without gcm library (whose lack of support for some
documented params makes it impossible to try using them)
2013-01-02 21:08:10 -08:00
Eric House
2202c6c6bf up version strings and number 2013-01-01 22:33:31 -08:00
Eric House
c97ec6b1e9 up copyright year -- it's 2013 now 2013-01-01 22:33:19 -08:00
Eric House
05cee5ce09 further work supporting simultaneous dialogs: use
bundle.get/putSerializable() to save/restore dialog state
2013-01-01 22:27:14 -08:00
Eric House
af406d92dc Handle multiple dialogs at once: save dialog state by dialog ID (ok
since the OS won't track more than one at a time with the same ID) and
look it up that way when needed.  Get rid of onPrepareDialog() (and in
all my Activity subclasses) since it's now a requirement that all
DlgDelegate-managed dialogs remove themselves from the Activity on
dismissal so that onCreateDialog will always get called and
onPrepareDialog not be needed.
2013-01-01 21:45:37 -08:00
Eric House
8b2712bd9e always remove dialog on dismissal since each must have its on-dismiss
handler called with its own state.  Fixes assertion failure that was
happening the second time a dialog was used.  Next: find a
reproducible case where two dialogs want to be created at the same
time.
2012-12-31 07:08:41 -08:00
Eric House
d1941090c5 Merge branch 'android_branch' into fix_dlgdelegate 2012-12-31 06:25:49 -08:00
Eric House
049b3389a6 turn DEBUG back on 2012-12-29 18:49:13 -08:00