Eric House
481f344ff4
fix failure to clean up on exit
2013-01-24 08:08:53 -08:00
Eric House
cbb82eb5e8
add --via-udp option -- which causes app to crash because the memory
...
leak detector is working
2013-01-24 08:00:53 -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
ae9ec31863
don't call g_main_loop_quit() from inside signal handler: it doesn't
...
work on Ubuntu LTS at least. Instead write to a "quit pipe" and exit
the loop from the pipe's reader back outside exception context.
2013-01-21 18:57:48 -08:00
Eric House
e79b0bd3eb
Merge branch 'gtk_multigame' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into gtk_multigame
2013-01-20 19:27:50 -08:00
Eric House
93ff4f4fcb
handle the new length-plus-string format
2013-01-20 13:07:01 -08:00
Eric House
3fc31a6fe1
new enum for alert
2013-01-20 10:04:24 -08:00
Eric House
f06d129c24
change env variable name; provided inital board size and dict choices
2013-01-20 09:53:26 -08:00
Eric House
3dfb2e04e6
call comms_close in curses too to avoid new assert
2013-01-19 22:53:25 -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
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
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
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
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
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
093fc4d1fa
cleanup
2012-11-13 07:23:07 -08:00
Eric House
2908802017
try to make linux client mimic Android a bit better in saving after
...
any network activity so messages get acked more quickly.
2012-11-13 06:15:36 -08:00
Eric House
6ca966f22a
make test script and linux client mimic case where relay regid is
...
rejected by relay. Client re-registers and a new relay regid is
issued.
2012-11-12 07:27:20 -08:00
Eric House
1316ae4b67
Fix relay devid protocol to deal with case where client submits a
...
ID_TYPE_RELAY id that's not in the devices table (as has happened when
a device switches relay URLs during testing, but might also happen if
I have to delete an entry from the devices table.) In that case,
return ID_TYPE_NONE to the client, which will be its clue to delete
its ID_TYPE_RELAY id and submit the platform-specific id again.
Note: android won't compile this revision thanks to util.h change
2012-11-10 15:05:44 -08:00
Eric House
b53412d98d
Fix to actually work. Grrr.
2012-11-10 14:52:10 -08:00
Eric House
b0f85e02df
use grep of app's help message to determine whether a param is
...
supported so can test with older clients and not crash.
2012-11-09 06:55:38 -08:00
Eric House
03108f311a
Merge branch 'android_branch' into android_gcm
2012-11-05 06:14:21 -08:00
Eric House
59937b8514
modify how devids are handled on the relay and the protocol through
...
which they're communicated to the device. Device is expected to have
a platform-specific notion of ID which the relay stores in a new
devices table and indexes with a 32-bit number which is returned to
the device -- which is encouraged but not required to use it in lieu
of the longer ID in future communications. Modify linux client and
test script to use the relay-supplied id. Some of this is commented
out for now.
2012-11-03 10:58:01 -07:00
Eric House
563422de02
turn on DEVID feature for linux
2012-11-02 05:35:56 -07:00
Eric House
3469975d2a
add, still disabled by compile-time flags, code to transmit device ID
...
(e.g. ID Android devices get via GCM) to relay and to associate it
there with messages that need to be delivered.
2012-10-30 07:01:47 -07:00
Eric House
4ea8569abc
honor --min-devs flag
2012-10-27 08:15:07 -07:00
Eric House
b097e0825e
fix linux crash do to casting problem
2012-10-26 06:49:15 -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
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
4cf595e939
on commandline, only allow assignment of per-player dicts to local
...
players. I don't know what happens when a player's position is
changed when its game is a guest and the hosts rearranges players.
Which is why on Android I'm moving to allowing per-player dicts only
on local-only games.
2012-10-14 19:10:42 -07:00
Eric House
25a1ee451b
resolve links if required to get the actual name of the dict
2012-10-12 20:50:34 -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
4e0c7923d9
fix bug with clean target introduced when BUILD_DIR was introduced
2012-10-07 12:14:47 -07:00
Eric House
968340f665
Fix release-build warnings that new compiler flags.
2012-10-07 11:43:50 -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
6ddd4a61c1
fix compile errors (mostly unused variables) found by gcc on latest
...
Ubuntu (12.04).
2012-09-25 07:28:02 -07:00
Eric House
53774eb807
Merge remote-tracking branch 'origin/android_branch' into android_branch
2012-09-24 20:08:14 -07:00
Eric House
140c982d41
merge from android_branch
2012-09-24 07:39:44 -07:00
Eric House
bdc114dc46
add phony targets to check, on debian-based systems, whether required
...
packages are installed and to install them.
2012-09-24 07:26:37 -07:00
Eric House
4fa5c61e14
add option to build in a separate directory, for e.g. case where source files
...
are on ro filesystem.
2012-09-17 06:48:53 -07:00
Eric House
a6bed2706d
include, commented out, the parameter that makes things fall apart. I
...
think the protocol needs work to survive devices failing to save
state. Better to work on making sure they always save.
2012-09-11 20:45:03 -07:00
Eric House
761f93dd7e
use new mem_stream_make_sized
2012-09-11 19:07:00 -07:00
Eric House
75474e1891
Add option to pretend save failed a random pct of time. Point it to
...
test fix for problem on Android, but right now turning this on breaks
networking.
2012-09-11 07:26:17 -07:00
Eric House
ad4231289f
fix --max-devs and resigns begin allowed when only one game
2012-09-11 07:24:51 -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
9340db36c1
disallow opening android DBs when not configured correctly.
2012-09-09 15:48:57 -07:00
Eric House
8fbc9ca343
fix to compile in release mode
2012-09-09 09:22:00 -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
9a72f252ed
Merge branch 'android_branch' into android_dictname
2012-09-08 13:20:59 -07:00
Eric House
14a77ff7f1
factor out common code
2012-09-08 07:45:18 -07:00
Eric House
5fa9b60846
add md5Sum field to dict struct, and on linux load it if present,
...
otherwise calculate it. In DEBUG builds always calculate and assert
they match.
2012-09-07 20:34:06 -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
4cb848582e
fix edge cases in prefix matching
2012-08-28 07:35:11 -07:00
Eric House
145317426d
Fix prefix matching to accept letters constituting the first part of a
...
digraph tile when at the end of a prefix so that e.g. GORIL in Catalan
will list GORIL·LA (rather than nothing since GORIL, ending with the L
tile, is not a prefix.)
2012-08-27 21:50:09 -07:00
Eric House
79be03ac66
splite lines to get under 80 columns; no code change
2012-08-27 07:06:40 -07:00
Eric House
9d174601b9
add field, and getter, for new dict header description string, and
...
load it in linux client.
2012-08-26 20:58:28 -07:00
Eric House
b29df8512a
add null-terminated note to dawg header and modify linux client to
...
accept it if present. Android client will successfully ignore it and
will need to be modified to capture and display it if present. Idea's
to display information about copyright, source, etc. of wordlists.
2012-08-25 10:20:52 -07:00
Eric House
a86ab69aec
don't store argv element in game data structure where it gets freed.
2012-08-22 07:35:18 -07:00
Eric House
13d359cb39
turn on endgame BONUSALL feature for linux client too
2012-08-13 06:44:46 -07:00
Eric House
c98bbe2b9a
use setsockopt to limit read() block time and so to prevent linux
...
version from being unkillable when relay crashes at the wrong time.
2012-08-13 06:44:16 -07:00
Eric House
c49408d7e9
fix warnings compiling in release mode
2012-08-12 19:37:47 -07:00
Eric House
ec0702d584
initialize buffer that common code will pass to strcat.
2012-08-10 21:31:01 -07:00
Eric House
464696566d
get rid of NODE_CAN_4. Not change to post-compiled code
2012-08-01 20:29:15 -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
0c030360bf
fix compile warning
2012-07-26 20:42:25 -07:00
Eric House
9b0436d1ee
Make rem string measure function return boolean to indicate rect will
...
be invisible rather than setting width and height to 0. No real
change beyond simplifying/speeding platform code.
2012-07-15 09:30:27 -07:00
Eric House
bd70a1dd7d
improve text in remaining tiles dialog, and always show the tiles for
...
all trays rather than excluding those in current player's tray.
2012-07-09 21:44:29 -07:00
Eric House
f1c5ebeb31
don't hide REM tiles square when drops to 0
2012-07-09 21:43:35 -07:00
Eric House
d234646fb2
fix broken compile
2012-07-09 21:17:01 -07:00
Eric House
b9b58bd0a5
enable tray tap undo
2012-06-29 06:52:49 -07:00
Eric House
2fc2a60842
create alternate scoreboard draw flow, disabled by compile-time flag,
...
that does layout and draw in a single pass and with more information
so platform has more responsibilty for dealing with space constraints
and can, I hope, do a better job. There's no change until the flag is
turned on. Works for GTK with flag on, but is stubbed out for ncurses.
2012-06-26 07:20:09 -07:00
Eric House
405cb23023
fix bug where current player's scoreboard would disappear if other
...
players' names were too long by giving all a the same proportion of
what they request and passing in the percent given in case draw
implementation wants to use it as a cue to truncate.
2012-06-15 06:26:40 -07:00
Eric House
42f2612e67
turn on HASH_STREAM to match Android
2012-05-30 06:51:26 -07:00
Eric House
b343034cc2
add ability to pass params only to new version of app so that test of
...
upgrade from old to new needn't skip test of new features.
2012-05-28 11:04:39 -07:00
Eric House
e36635944e
fix to make two-device games much more common than four-device ones
2012-05-27 19:05:27 -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
5309da9845
add --undo-pct option that passes through to curses client
2012-05-24 22:17:10 -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
60e1d50f43
add stream_copyBits, and use it to hash the move stack -- commented
...
out via conditional compile as it still doesn't work in all cases.
2012-05-22 19:24:54 -07:00
Eric House
d1869a233c
fix so non-debug build builds
2012-05-22 19:18:04 -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
f7c49a6620
remove shift: --one-per doesn't take a param
2012-05-08 06:15:06 -07:00
Eric House
64199c4e64
Merge branch 'android_branch' into android_bt
2012-05-05 11:08:03 -07:00
Eric House
c2d8b17747
add --sort-tiles and fix confict between param name in code and in usage()
2012-05-05 10:55:35 -07:00
Eric House
44a6653166
add passthrough of params present in gtk but not curses
2012-05-05 09:24:41 -07:00
Eric House
d59b19514b
Merge branch 'android_branch' into android_bt
2012-05-03 21:44:35 -07:00
Eric House
7afa4f26db
use the new --trade-pct flag
2012-05-03 19:00:56 -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
de965350c4
turn on feature that allows version of remote device to be deduced and
...
included in stream -- so that new move stack hash can be included when
possible.
2012-05-01 07:59:22 -07:00
Eric House
416a1054a7
Merge branch 'android_ack' into android_bt
...
Conflicts:
xwords4/common/comms.c
xwords4/common/comtypes.h
2012-04-13 20:57:35 -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
cd8889f90e
Merge branch 'android_branch' into android_bt
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java
xwords4/linux/Makefile
2012-03-12 07:04:06 -07:00
Eric House
2a728ce4b0
turn off debug flag that's started crashing the gtk app (presumably
...
due to an upgrade to a stricter version of glib)
2012-03-11 15:06:57 -07:00
Eric House
e145a04111
add missing variable assigment
2012-03-09 22:11:51 -08:00
Eric House
0755a9e781
add new util function that gets called when a game is opened to inform
...
it if any players are missing. Idea's to allow for non-relay devices
the invitation opportunity that comes when a game connects to the
relay and learns that no other games have joined its room.
2012-02-09 05:19:03 -08:00
Eric House
79a897b428
fix assert (but still leaking)
2012-02-09 05:16:32 -08:00
Eric House
6bfd6e74e6
Merge branch 'android_branch' into android_bt
2012-01-26 06:24:18 -08:00
Eric House
af26ebfff9
fix usage hint
2012-01-26 05:40:22 -08:00
Eric House
0934f83106
add gameID to params passed to comms' sendproc, including passing
...
through to java layer.
2012-01-25 18:27:37 -08:00
Eric House
923d6a24bd
use libuuid to prep BT UUID, now a string instead of an array of bytes
...
for ease of use from java. Since libbluetooth stupidly and
unrepentantly redefines uuid_t, add a new file/function to call
libuuid without having to pull its definitions into the bt code. This
code compiles but is completely untested: I don't quite remember how
to play games via BT on Linux and at any rate will need an always-on
listener like the one I'm adding to the Android client.
2012-01-19 18:52:33 -08:00
Eric House
bd35f8363f
cast enum to int inside switch to avoid new compiler error
2012-01-11 18:43:51 -08:00
Andy2
2a34cd1e05
remove second param from server_do() -- it doesn't work anyway.
2011-12-21 18:45:05 -08:00
eehouse@eehouse.org
14bddb0e45
Merge branch 'android_branch' into send_in_background
2011-12-15 18:46:24 -08:00
Eric House
888b4f6701
fix undeclared variable.
2011-12-15 18:45:22 -08:00
Eric House
af7398ce20
fix undeclared variable.
2011-12-15 18:36:47 -08:00
Andy2
d6ce11b084
fix to compile with DEBUG off
2011-12-14 18:17:52 -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
eehouse@eehouse.org
e1e8516e1b
Merge branch 'android_branch' into send_in_background
2011-12-02 19:04:12 -08:00
Andy2
52d02f04dd
pass tile value into drawCell(). Java code doesn't use it yet, but I
...
want to play with drawing cells tray-tile-style when they're big
enough.
2011-12-02 18:58:52 -08:00
Eric House
964d2dfb0b
allow, by default, more than one-player-per-device, but require that
...
roomnames be unique to eliminate risk of devices not matching up
correctly.
2011-12-02 18:55:20 -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
Eric House
6691c0713c
Merge remote branch 'origin/android_branch' into android_branch
2011-12-01 20:16:15 -08:00
Eric House
0065f5078e
add variable controlling odds of "upgrading" -- which still needs tweaking.
2011-12-01 20:16:09 -08:00
Eric House
1e48a8d615
Merge remote branch 'origin/android_branch' into android_branch
...
Conflicts:
xwords4/common/model.c
2011-12-01 20:12:27 -08:00
Eric House
32f1dfa5da
configure by passing params rather than setting ENV variables
2011-11-30 21:01:11 -08:00
Eric House
c39487e0cc
add ability to start out with mix of old and new versions and have old
...
upgrade to new at random times.
2011-11-29 20:51:19 -08:00
Eric House
c1e420f726
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/relay/rq.c
2011-11-29 06:45:32 -08:00
Eric House
c8b868c243
Separate app from params. No change in behavior (though restart of
...
existing games is now broken), but this sets up testing mid-game
upgrade.
2011-11-29 06:43:16 -08:00
Eric House
c6e994abef
use $RANDOM rather than $SEED -- still repeatable, but avoids relay
...
problems when devices have same game seed.
2011-11-28 18:53:40 -08:00
Eric House
1b864b5527
Add backtrace function. May only work on Linux but still very useful.
2011-11-28 18:12:56 -08:00
Eric House
384a41ed5b
add ability to specify seed and vary board-size
2011-11-25 18:03:51 -08:00
eehouse@eehouse.org
93a7d15a5e
Merge remote branch 'origin/send_in_background' into send_in_background
2011-11-23 17:57:54 -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
f32f7a8b19
Don't behave badly in presence of empty dict: word count should be 0
...
and sanity test should pass.
2011-11-21 18:07:08 -08:00
Eric House
9115b344fb
use a hash of lists rather than a single list to store pending
...
background messages to fix assertion failure when more than two
devices are playing: messages must be sent grouped by relayID.
2011-11-21 17:57:38 -08:00
Eric House
b00327aa8b
fix to work for NDEVS > 2.
2011-11-21 17:35:08 -08:00
Eric House
a0a8a816a4
make number of devices configurable
2011-11-21 10:09:29 -08:00
Andy2
cc0105e14c
add param to dict_countWords in which it accumulates counts per word
...
length. Shouldn't hurt speed too much if null passed.
2011-11-18 08:15:21 -08:00
Andy2
598be8b404
MAX_COLS -> MAX_COLS_DICT for dict-related stuff (since dicts are
...
staying with fewer words for now.)
2011-11-18 07:56:02 -08:00
Andy2
4760ceda5a
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/android/XWords4/jni/anddict.c
2011-11-17 20:55:02 -08:00
Eric House
55d23c9502
various improvements, including allowing to specify seed to enhance
...
reproducibility, copying xwrelay.log into directory with game logs
when they don't finish for easier analysis.
2011-11-17 19:58:08 -08:00
Eric House
8a51d5f3e4
fix race condition that was breaking tests: when one device sends two
...
messages they must be handled by the relay in order. So modify linux
client to build a single packet of all messages sent instead of
letting rq sent each on a separate socket. The relay would give the
sockets to different threads and sometimes the wrong one won. Will
need to make sure the android code's doing the same thing (it appears
to be), or perhaps make the coalescing code common so I only debug it
once.
2011-11-17 19:56:36 -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
379e5f1d96
use actual rather than max possible board dimensions to apportion
...
space, fixing crashes when max upped to 32. Will still fail as actual
size approaches that number.
2011-11-14 20:18:09 -08:00
Andy2
86d5778ec3
remove 16x16 limitation on board size, replacing with 32x32. Change
...
is enabled by a compile-time flag so Android needn't follow yet.
2011-11-14 18:21:41 -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
Eric House
d6fecaa3d3
don't crash when dict is empty file
2011-11-13 17:06:57 -08:00
Andy2
dddec50f1d
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/android/XWords4/jni/Android.mk
xwords4/linux/Makefile
xwords4/linux/linuxmain.c
2011-11-10 19:22:57 -08:00
Eric House
5be5e9fdeb
cleanup script output
2011-11-10 18:39:35 -08:00
eehouse@eehouse.org
9f22b11f81
Merge remote branch 'origin/android_branch' into android_branch
2011-11-10 06:54:42 -08:00
Andy2
00f743409a
script for reproducing problem with relay games that show up randomly.
2011-11-10 06:51:30 -08:00
Andy2
d479b2b979
use timeout rather than idle. Sometimes (due to bug?) curses app is
...
too busy ever to fire idle proc.
2011-11-10 06:51:05 -08:00
Eric House
36c267ad88
Merge remote branch 'origin/android_branch' into android_branch
2011-11-09 06:52:32 -08:00
Eric House
268f018140
add dict sanity check that will, I hope, catch corrupt dicts.
2011-11-09 06:51:12 -08:00
eehouse@eehouse.org
ffd6a42c1e
Merge remote branch 'origin/android_branch' into android_branch
2011-11-08 21:12:47 -08:00
Eric House
c591182d6c
Modify linux bonus square code to work with board data that's half the
...
size. Toward a board small enough to be transmitted as part of
network game initialization.
2011-11-08 21:11:06 -08:00
Andy2
956fe350ba
remove changed param -- mmap's the default now.
2011-11-07 18:19:12 -08:00
Andy2
4b5a06fe20
test code tweaks
2011-11-05 06:14:46 -07:00
Eric House
adb9473a87
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/common/dictiter.c
xwords4/linux/linuxmain.c
2011-11-03 21:32:04 -07:00
Eric House
a2319a8073
experimental additions, mostly compile-time disable-able, so prune
...
dict by wordlen.
2011-11-03 21:25:51 -07:00
Andy2
1de9f806e9
test dict_countWords()
2011-11-03 06:19:07 -07:00
Andy2
4f29f51253
turn dict iter feature on for linux for good
2011-11-03 06:18:15 -07:00
Andy2
5c995af38c
stop changing formats between internal and external structs
...
(iterators); use internal format all the time for speed. Update linux
test code for new API.
2011-11-02 18:32:00 -07:00
Andy2
ab4ccb1a22
use realloc for testing
2011-11-02 04:39:12 -07:00
Andy2
0d4404d43b
add dict_getStartsWith(), and code to test it. Lots of cleanup and
...
bugfixing of dictiter code as well.
2011-10-31 21:05:34 -07:00
Andy2
69b1b4da27
break dict iteration stuff out into new files. No code change
...
otherwise.
2011-10-31 18:30:55 -07:00
eehouse@eehouse.org
916d817ef2
Merge remote branch 'origin/android_branch' into android_branch
2011-10-31 07:02:30 -07:00
Andy2
dc58d123d5
combine params into single struct
2011-10-31 06:34:21 -07:00
Eric House
491c9d06d6
reverse sense of option to mmap dicts by default
2011-10-29 20:31:47 -07: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
Eric House
71450b02b3
use indexing (and add binary search) to double speed of getNthWord
2011-10-28 20:27:16 -07:00
Eric House
ff89ffb168
add missing backup button to fully test tile picking
2011-10-28 20:23:59 -07:00
Andy2
b62fe13c97
move dict iterator test into separate function and add test for
...
dict_getNthWord(). Still ifdef'd out.
2011-10-25 06:48:59 -07:00
Andy2
ac214236c4
add code to walk dict backwards as well, and test code that
...
succesfully walks huge dicts in both directions turning out the same
list of words either way. Still compile-time disabled.
2011-10-24 18:27:16 -07:00
Andy2
7c7cd82e0a
add code to iterate over words in a dict. Works on Linux (iterating
...
forward only) but disabled at compile time. Idea's to have a dict
browser. There was some simple refactoring in common code Android
uses, and that tests fine.
2011-10-21 18:51:33 -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
Andy2
f41d3c27e6
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/common/server.c
2011-10-19 06:23:16 -07:00
Andy2
b31e829414
Remove file-format differences between debug and non-debug versions.
...
Fix curses to compile non-debug.
2011-10-18 18:52:37 -07:00