Commit graph

678 commits

Author SHA1 Message Date
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