Commit graph

926 commits

Author SHA1 Message Date
Eric House
43bd3c018a make an addr's conType a bitfield rather than holding a single value.
Works for large numbers of relay games in test, but will not yet
actually hold more than one value.  Should be safe to merge to main
branch once stream upgrade is verified.
2014-09-25 20:05:37 -07:00
Eric House
abf12e90da save a bit of work setting up game manually by assuming two players --
but ths must be happening too late because not all takes effect.
2014-09-25 06:35:10 -07:00
Eric House
3668b7d8a7 merge android_branch -> android_shipbt 2014-09-24 20:51:23 -07:00
Eric House
9ad8ad601c add cur dir to empty dict search path 2014-09-24 07:29:57 -07:00
Eric House
64b30b68d2 merge android_branch -> android_shipbt 2014-09-23 21:33:57 -07:00
Eric House
b4ef9ced87 merge android_branch changes 2014-09-23 21:33:02 -07:00
Eric House
113c7a13d2 print number of devices left 2014-09-23 21:26:46 -07:00
Eric House
49689ab04c always log error message 2014-09-23 07:30:34 -07:00
Eric House
ab64197ac4 fix recent booboo: it's not an error for server_initClientConnection()
to fail here.
2014-09-23 07:30:23 -07:00
Eric House
049cf284c5 toward getting direct-ip addressing working again: add a tab to the
connections dialog
2014-09-20 18:08:33 -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
622760b71a post response to long-tap on player as a gtk dialog rather than just logging it. 2014-08-25 07:52:18 -07:00
Eric House
4231ed1108 fix refcount leak 2014-03-11 21:59:53 -07:00
Eric House
a4302897e2 enlarge dictmgr to track a compile-time defined number of dicts 2014-03-10 21:01:24 -07:00
Eric House
55267f2e42 add memmove 2014-03-10 20:25:38 -07:00
Eric House
6203a23c62 don't crash in networked games 2014-03-10 18:58:16 -07:00
Eric House
5500d36cde add and use dict manager that caches, using refcount, dicts across games. Allows multiple games to be opened, and open at the same time, with only one instance of a dict ever created. Works on linux; not used or tested yet on Android. 2014-03-09 19:12:21 -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
8a6adfec34 cleanup -- no logic change 2014-03-08 20:51:49 -08:00
Eric House
7002ff11c7 fix so non-DEBUG build compiles 2014-03-04 07:07:01 -08:00
Eric House
3ecd0a4b03 fix to compile without DEBUG 2014-02-28 04:58:25 -08:00
Eric House
e6564c679c use ccache if present 2014-01-21 07:10:13 -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
459c12d91f copy string's null terminator too 2014-01-06 07:05:34 -08:00
Eric House
19c70ccdcb fix mistaken scoreboard size calc 2014-01-06 06:54:56 -08:00
Eric House
3702a9f326 don't constrain screen size 2014-01-06 06:40:59 -08:00
Eric House
ac969793ea remove assert preventing large screen 2014-01-06 06:38:08 -08:00
Eric House
83692fd2e8 format rem text as two lines 2014-01-05 13:30:27 -08:00
Eric House
123141e0df draw scoreboard entries centered 2014-01-05 13:15:09 -08:00
Eric House
b43855a313 fix curses build for 64bit compile and to use common layout (meaning
tray is now under the board unstead of to the right).  Works on 64-bit
system at least for non-networked games.
2014-01-05 13:04:59 -08:00
Eric House
093a260f1d fix memory corruption on 64-bit systems 2014-01-02 07:48:12 -08:00
Eric House
abb8da44ba open game on double-click of row 2014-01-02 07:10:00 -08:00
Eric House
40c04be47b call sqlite3_initialize() as recommended by docs 2014-01-02 07:09:23 -08:00
Eric House
e15fb02d8a add ability in ask dialog to display buttons with arbitrary text
returning custom results.  Use to add "Rematch" option (which so far
only fires an assert when chosen.)
2013-12-30 07:16:52 -08:00
Eric House
35c12eb7bb add --ask-timeout param 2013-12-30 07:08:43 -08:00
Eric House
6d84dfea7e cleanup: remove '2' from function and struct names 2013-12-30 07:08:42 -08:00
Eric House
bba0b79763 add logging 2013-12-30 07:08:42 -08:00
Eric House
12932bf788 fix crash on 64-bit system 2013-12-30 06:46:57 -08:00
Eric House
ebdf5ed492 fix to compile on 64-bit system (untested on 32-bit :-) 2013-12-27 19:13:54 -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
a1d5553266 fix invite button disabling logic 2013-12-19 07:58:32 -08:00
Eric House
75b6ecc325 add missing util function 2013-12-19 07:57:59 -08:00
Eric House
79fae43100 enable invite and commit buttons based on game state 2013-12-19 06:59:34 -08:00
Eric House
0ad18efcff fix memory leaks 2013-12-17 22:16:52 -08:00
Eric House
bece99bb98 load dict named in invite 2013-12-17 22:11:21 -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
6bdd939531 rename field 2013-12-17 20:02:31 -08:00
Eric House
8d20c33b76 snapshot: still not correctly recording return address 2013-12-16 08:06:29 -08:00
Eric House
3c6ecb7ffa ignore app 2013-12-12 21:10:44 -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
cad6cb8075 log when inotify kicks off 2013-12-11 08:02:44 -08:00
Eric House
833a3384b3 remove assert; add empty invite button 2013-12-11 08:02:29 -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
a4f274a1f4 preserve and use sms settings 2013-12-11 07:02:44 -08:00
Eric House
f0c5d1f865 toward improving bt support in gtk client: add scan button that only
picks up devices currently open for discovery
2013-12-07 10:12:20 -08:00
Eric House
46a5f83bb1 shrink "netstat rect" to reasonable size 2013-11-16 18:25:09 -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
b61e580b40 ignore .db files 2013-11-07 07:32:15 -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
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
f0b554213b assert rect isn't too small to inset 2013-11-04 05:59:18 -08:00
Eric House
184ac28ebc fix to compile, and in gtk case to work, when COMMON_LAYOUT defined 2013-11-03 12:15:53 -08:00
Eric House
88b380503e add function, not compiled by default, to return bounding rect of all
non-empty tiles. As a test, add menu that uses it to grey out that
region.
2013-10-27 21:51:30 -07:00
Eric House
fe8bb0932c delete messages whose games have been deleted 2013-10-09 20:41:14 -07:00
Eric House
24509662e8 fix so standalone games don't crash! 2013-10-09 07:36:21 -07:00
Eric House
3b87c9562c formatting 2013-10-01 07:50:00 -07:00
Eric House
4d4f76c8ae assert not registering with RELAY_ID 2013-09-26 08:37:39 -07:00
Eric House
9169659c80 cleanup: let conversion to including devid and change in devid happen at different rates 2013-09-18 08:05:19 -07: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
c115752852 supply in linux client, and look for and store on relay, os version 2013-09-07 16:17:31 -07:00
Eric House
b3342c6e8a for --clean-start option, try not to remove games not created by this script. 2013-08-28 07:29:23 -07:00
Eric House
063b01d3d8 change most len-as-short+bytes strings to vli+bytes; add device model
to what's passed for device registration, and store it in a new column
in devices table.
2013-08-25 21:20:26 -07:00
Eric House
d10e9f6235 use vlis for acks in both directions 2013-08-25 16:59:07 -07:00
Eric House
7e02db78db change function name spelling 2013-08-25 16:14:42 -07:00
Eric House
91235f3be7 begin process of using variable-length-ints in udp protocol. Works
between linux client and relay, but unrelased features of Android
client will be broken until fixed.
2013-08-25 12:34:35 -07:00
Eric House
45998fd2c0 don't assert when packet size short is unexpectedly large. Not sure
why this happens, but it's not a reason to abort a test.
2013-08-21 21:28:47 -07:00
Eric House
2157706dcd add client version and a desc string to devices DB and to reg info sent to relay 2013-08-20 08:09:45 -07:00
Eric House
47203437cc register devices more often; add ctrl command to send text message to
device if possible, otherwise to post it to the db (mostly for testing).
2013-08-17 14:55:19 -07:00
Eric House
8ad549d2bd query on null db fails, doesn't assert 2013-08-16 19:15:28 -07:00
Eric House
42bbc946ae quote variable and echo when switching to udp 2013-08-15 07:20:22 -07:00
Eric House
ae21b6f0d8 use new --use-udp flag and, by default, switch devices from tcp- to
udp-based connections over time at a configurable rate.
2013-08-07 21:12:08 -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
b9450589c8 add new commandline option --use-udp. Not yet used. 2013-08-06 21:10:42 -07:00
Eric House
da54b1e5fb add keepalive timers 2013-08-02 08:01:16 -07:00
Eric House
63ad3a196b debug build asserts that packet is meant for this device, but
non-debug should drop those that aren't.
2013-07-29 07:30:46 -07:00
Eric House
d8a4b5ce29 include udp maxInterval, the number of seconds the relay's configured
to assume an address is still good when it hasn't heard from it, in
reg response reply, send that reply always, and read and log the new
field on clients.  It will eventually be used to implement a
keepalive.
2013-07-29 07:27:30 -07:00
Eric House
6418513a6d don't try to read from socket if == -1 2013-07-22 06:15:35 -07:00
Eric House
3a14b12cc5 exit when number of core files changes, not if it's non-zero 2013-07-20 12:52:32 -07:00
Eric House
49a2d099f0 include packet num in every udp packet. They start over on app
reboot, but add a bit of help with debugging.
2013-07-20 11:57:10 -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
3f59b31d51 Log received udp messages as b64-encoded strings. These match what the
relay's now logging
2013-07-18 07:07:25 -07:00
Eric House
1e6ff9b33c include seed in chat messages to make sure they're unique 2013-07-18 07:06:20 -07:00
Eric House
93a7c7f817 fix to compile when DEBUG not defined 2013-07-17 06:52:35 -07:00
Eric House
d6fd79be44 log, and be more aggressive about closing, sockets on which errors occur 2013-07-16 06:43:30 -07:00
Eric House
e6e7154c82 close socket rather than proceed with what looks like a bad packet/connection 2013-07-16 06:42:21 -07:00