Andy2
8e0e8d911e
fix compile errors
2011-09-26 18:12:16 -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
7e0252713c
changes to use glib main loop were incomplete, didn't include timers.
...
Fix that. Now discon_ok2.sh test works with the USE_GLIBLOOP turned
on.
2011-09-19 18:28:19 -07:00
Andy2
c2e2bdf3c5
listen on stdin always -- not sure how the condition got added -- and
...
don't register for OUTbound events when listening -- stdin gets one
and I don't want to sign up to handle it.
2011-09-19 17:56:20 -07:00
eehouse@eehouse.org
b6e5327b1a
Merge branch 'android_branch' into send_in_background
2011-08-31 06:46:42 -07:00
Eric House
3b719f54de
add compile-time option to use glib main loop (instead of select())
...
with ncurses. The goals to make it easier to include watch on pipes
for incoming messages to better model Android -- and to be a bit more
modern. Works for one run of test script but needs more testing to be
turned on.
2011-08-29 20:24:15 -07:00
Andy2
dfab747504
make server_do() take a new param to allow caller to call it until
...
there's nothing more to do (without the assumption it's driven from an
event queue.)
2011-08-16 19:28:59 -07:00
Eric House
cbfdf992bd
add compile-time option to allow passing game seed from commandline.
...
This should allow testing relay changes to deal better with duplicate
seeds.
2011-07-31 22:23:46 -07:00
Andy2
e122953fd5
clean up logging
2011-06-27 18:27:07 -07:00
Andy2
4c5c435fb5
add new parameter so client always gets notified on connection
...
including how many players are still missing.
2011-05-19 05:51:00 -07:00
Andy2
3b7b4802a9
add ability to specify, track and use separate dictionaries for each
...
player. Works for gtk client. Compiles for Android but there's no UI
yet to specify more than one dict. Management of dupicate dicts
without duplicating memory -- refcounting -- will be up to the
platforms.
2011-04-01 19:57:10 -07:00
Eric House
4bf613a006
move pipe handling code to where can be shared by curses and gtk -- but use from curses is untested.
2011-01-24 22:20:47 -08:00
Eric House
7a2d279308
add logging so script can better track what state relay game is in
2010-11-18 22:27:06 -08:00
Andy2
ab708e4db1
add devOrder (= hostID) to params passed on connect. Make linux apps compile after API change.
2010-10-29 06:32:18 -07:00
Andy2
7e0bcee6d2
add room name to callback used when device connects: fix linux to compile
2010-10-28 18:46:07 -07:00
Eric House
f0b05da131
reduce logging
2010-10-05 20:57:07 -07:00
Eric House
a6f5ea5f4a
sync after saving. Seems to improve recovery from TERMs sent by test scripts.
2010-09-28 18:06:05 -07:00
Eric House
c671f2ab05
plug memory leak
2010-09-20 22:07:10 -07:00
Andy2
00cdbc97d3
Install a no-op TERM handler at first then replace later with one that
...
just exits main loop. Do cleanup/file saving on exit from mainloop.
Fixes occasional crash where TERM came in before we were setup to
cleanup.
2010-09-20 04:55:35 -07:00
Eric House
9fc39a55ed
add params to set public-room-related booleans; add timeout option on
...
modal dialogs so gtk version can run unattended.
2010-09-14 21:13:45 -07:00
Andy2
6b9b97231a
fix to compile with KEYBOARD_NAV undefined
2010-07-09 06:49:32 -07:00
Andy2
4425ff838c
add buttons (gtk) to test new prev-move feature; modify to fit new api
...
(curses).
2010-07-07 05:29:04 -07:00
Eric House
afb3f4040a
fix to compile in non-debug mode
2010-06-17 20:35:54 -07:00
Eric House
08ad0bdfa5
fix assertion failure by passing max size not < actual size
2010-06-05 08:10:02 -07:00
eehouse
e1d956ac09
catch up with board_setPos API change.
2010-06-03 04:58:02 +00:00
eehouse
d263b47a56
lots of changes, still rough, to allow zooming in and out on board.
...
Includes ability to scroll horizontally by dragging. Board init API
changes to specify board width and max height instead of cell
dimensions, so now board owns task of picking cell size. If the
number of cells does not evenly divide into a board dimension then the
extra pixels are distributed among some columns/rows in a way that
still allows bitblit-based scroll implementations (though horizontal
scrolling at this point always does an invalAll()). Not yet tested
with overlapping tray. And still need to allow rows to be taller than
cols are wide if platform code has given the space. Stream format
changes with this checkin.
2010-04-08 04:14:14 +00:00
eehouse
603462fc33
add option to skip modal dialog showing final game score (may prevent
...
curses version from becoming nonresponsive when used from playme.sh);
add menu command to curses version to resend messages.
2010-03-28 16:08:54 +00:00
eehouse
0b7eee672a
do something for -S on curses version too
2010-03-21 03:10:36 +00:00
eehouse
6893fe742a
fix r3013 breakage: remove gameID params
2010-02-01 01:50:38 +00:00
ehouse
82382a7cfa
Pass results back via timers and call board_draw() when so indicates.
...
Needed to test dragDropSetAdd. Candidate for merge to trunk.
2010-01-25 00:28:30 +00:00
ehouse
28265749f9
fix unused var warning in release build
2009-12-17 13:09:10 +00:00
ehouse
35f068e05c
Implement new callback giving progress connecting with relay.
2009-12-14 04:06:26 +00:00
ehouse
c893fd4a9e
On receipt of connection-denied message via new rerror callback, put
...
up new error messages and then conns dialog so user can connect again
after changing room name or just waiting. A new game is started so
that comms is re-inited and will try again to connect to relay.
2009-12-04 08:18:49 +00:00
ehouse
a13e1d6488
add util_clearTimer, implement on all platforms, and call when closing
...
comms to fix crash on Wince when timer fired after comms had been
deleted. The closure stored and passed in was no longer a valid ptr.
2009-09-21 12:49:08 +00:00
ehouse
18e9301e87
rename Cookie to Invite, a change that may change. Rename everywhere
...
in clients but not in relay where cookie is too pervasive. (There are
no code changes in this checkin.)
2009-09-14 03:11:11 +00:00
ehouse
6c4b991566
Modify comms and games APIs so single struct of callbacks is passed
...
instead of multiple callbacks; add callback called when relay state
changes; adapt linux and palm clients to new API. (Wince changes
pending.)
2009-09-12 21:39:13 +00:00
ehouse
6827ab5d88
Unify signal handlers that do same thing; clean memory leaks and a
...
double-dispose.
2009-08-30 15:23:05 +00:00
ehouse
537de614b9
remove timer assert; log socket errors
2009-08-21 12:15:40 +00:00
ehouse
fbd3559e3b
Fix assertion failures
2009-07-31 13:03:05 +00:00
ehouse
192fb50bf8
add SIGINT handler that calls quit (to save files). Listen for errors in poll.
2009-07-29 04:29:29 +00:00
ehouse
4c523b628c
Make slow-robot work for curses client too.
2009-07-10 05:04:04 +00:00
ehouse
a954286960
avoid mempool assertions by cleaning up on way out
2009-06-30 12:55:47 +00:00
ehouse
669e423ca8
Use new dict API to get rid of XP_UCHAR4 type, replacing with const XP_UCHAR*.
2009-04-07 04:23:56 +00:00
ehouse
c672fcfafd
Make it possible to run same binary against relay with relay heartbeat
...
and direct with comms heartbeat. This mostly means changing ifdefs.
2009-02-01 15:50:58 +00:00
ehouse
09c879dccc
Add sms support, largely untested.
2009-01-13 13:33:56 +00:00
ehouse
863f79bfb9
Fix compile errors using latest gcc (fread etc must have return value checked)
2009-01-03 18:12:34 +00:00
ehouse
cefd69d8b3
Since there's now a flag indicating whether to show the value of a
...
tile, make value unsigned. Adjust/fix platforms. Add cmdline flag to
linux apps for hiding values.
2008-12-29 03:09:35 +00:00
ehouse
e30c72c829
make -q option take number of seconds to pause before quitting
2008-10-26 15:33:21 +00:00
ehouse
9b17c20117
gtk/ncurses support for Rem: focus and showing remaining tiles. Also
...
rewrite gtkask to use gtk_message_dialog and add sigint handler.
2008-10-24 09:07:30 +00:00
ehouse
f021964213
fix ncurses version so it can save games and read them back in: make existing gtk code run on both.
2008-09-18 03:46:27 +00:00
ehouse
ad52e63ff0
separate UI-specific code so that a non-UI linux library can be compiled, e.g. for use with a toolkit not gtk or ncurses
2008-06-30 03:39:27 +00:00
ehouse
c6da605b56
add missing error message
2008-05-24 16:08:13 +00:00
ehouse
c3555440fd
get rid of const-related warnings
2008-02-16 15:49:03 +00:00
ehouse
ea7949dd22
Make a couple of dialogs format for narrower screen and respect keypad buttons.
2008-02-02 20:58:44 +00:00
ehouse
2910bab3a0
fix perimeter focus clearing and board size setting.
2008-02-02 17:21:57 +00:00
ehouse
b98b7fd993
Move toward running curses on a small screen: replace omnipresent menu
...
with one drawn on demand; change size and location of scoreboard and
tray if needed; use wgetch rather than reading stdin to support keypad
keys for navigation. Also stick g_ in front of some frequently used
global names.
2008-02-02 16:56:20 +00:00
ehouse
6e9e5b5c99
Fix to compile and run standalone
2008-01-19 16:03:53 +00:00
ehouse
b115cc6f0c
fix unused param warning
2008-01-02 01:43:45 +00:00
ehouse
d5d29adc0c
Change util function to use signed type; other cleanup to compile with various features.
2007-12-05 06:28:51 +00:00
ehouse
5457ea1b59
replace all __FUNCTION__ with __func__
2007-12-02 19:13:25 +00:00
ehouse
a560c9f8a8
Add files forgotten with last checkin; add additional parameter to
...
addListener so listeners can be removed on reset.
2007-11-28 03:59:26 +00:00
ehouse
e1d5632a7b
Re-add direct-via-ip transport, and implement for linux in order to
...
better test heartbeats. Fix so can play against Palm over BT.
Assertions failing on Linux when reset, but it's otherwise done.
2007-11-26 02:58:25 +00:00
ehouse
4c8cf98d24
Add and set a compile-time option so comms will set a periodic timer
...
and use it to send and check for heartbeats over any transport.
Caller must supply a reset proc which is called when heartbeat hasn't
been received in too long. No changes required to comms protocol, but
that means the heartbeat interval is fixed at compile time: can't be
negotiated, and the two ends had better agree. Currently tested with
linux host and PalmOS guest, where only the first heartbeat failure is
recovered from. So there's some debugging to be done still.
2007-11-18 23:43:27 +00:00
ehouse
edfdda6fd2
Fix so compiles curses-only, and so curses cell can be 2x1 (for square board)
2007-06-01 02:08:04 +00:00
ehouse
dd7a5c8104
type name change only
2007-05-26 14:14:01 +00:00
ehouse
20ecd5f7d7
get rid of draw methods; always highlight cursor same way;
...
board_handleKeyUp becomse board_handleKey for curses
2007-01-19 08:20:58 +00:00
ehouse
098a2ec5c4
Use new keydown/up APIs from linux, and add key support and drawing
...
changes to implement keyboard navigation/focus in gtk port.
2007-01-06 17:46:02 +00:00
ehouse
afc302a29b
When alt key pressed cursor can move onto occupied squares it normally skips.
2006-11-22 13:49:14 +00:00
ehouse
7fe5718cc5
When "dived" focus reaches and crosses border of object, return as if
...
not handled. This causes the platform to handle the key event itself,
typically by moving the focus to the next top-level object.
2006-11-17 13:41:13 +00:00
ehouse
cac0fd94d7
Use new top-level focus drawing model, and new API indicating whether
...
key handled.
2006-11-14 06:47:50 +00:00
ehouse
b171900dfb
When moving focus through tray, skip empty space; when through board,
...
skip cells with tiles permanently played. Space char raises focus but does
not move it laterally.
2006-11-09 06:05:40 +00:00
ehouse
e8b74e1cc3
set focus to board if not held prior to passing keys
2006-11-08 05:05:11 +00:00
ehouse
2aa9664884
When internal focus reaches edge of object, move it back up and onto
...
the next object using a callback to the platform to determine what, if
any, object is next. Adjust curses platform to cooperate. Works
well. Palm is next.
2006-11-07 05:46:44 +00:00
ehouse
44eaa36319
More progress on one-handed navigation: fix ncurses board clipped to
...
bottom of tray; add focus-related params to draw*Finished routines
(and simplify to one) so platforms don't have to save from Begin
routines (and stop palm doing that); check version of saved game, and
handle case where older binary tries to open newer version; redraw
Palm tray buttons after focus change to stop focus-rect ghosting; fix
annoying overlap in saved games dialog; palm version goes to a3.
2006-11-05 16:54:18 +00:00
ehouse
3153e2b867
Lots of progress on one-handed navigation: add gadgets to stand in for board
...
scoreboard and tray on palm; make center drill into the focussed object and
spacebar come back up then move the focus among them. Integrate with other
focussable objects on main form. Go from separate drawCursor routines to
same for all three, with cursor only visible when focus is drilled down.
On curses, add a hilite rect routine that can be called after text is laid
down, and use for cursors.
2006-11-03 06:23:54 +00:00
ehouse
5f25ba9f57
remove BEYOND_IR, replacing with XWFEATURE_RELAY and
...
XWFEATURE_BLUETOOTH. The goal is to be able to build to support
bluetooth only, or relay/ip only, e.g. for a palm bluetooth beta.
Seems to work.
2006-10-10 01:34:37 +00:00
ehouse
9137eff9fa
Largely untested changes to allow BT in ncurses mode, centered around
...
integrating sockets into poll fdset; move relay and bt globals out of
a union so can test if in use without knowing current connection method.
2006-09-19 03:39:08 +00:00
ehouse
fb87fd31d2
Start adding bt support to linux port. Required removing assumptions
...
that all connectivity was with relay and over streaming sockets (since
BT is using l2cap's datagram-style sockets.) With this checkin, a full
robot-vs-robot game is possible with palm as host and linux as client.
Linux as host isn't started yet.
2006-08-26 21:15:20 +00:00
ehouse
4daabf6fe5
Set -Wunused-parameter for those versions of gcc that support it, and
...
deal with the output by removing params where possible and elsewhere
by adding XP_UNUSED macro wrapping __attribute__((unused)). There
should be NO change in function in spite of the large number of files.
2006-08-16 13:44:44 +00:00
ehouse
19414ae505
Finish scrollbar work by passing number of visible rows to
...
util_trayHiddenChange, which means an API change. In board, calculate
bottom of board based on bottom of tray when tray is hidden, and round
so that it's an exact multiple of cell height. In wince, take
advantage of the new parameter to fix the scrollbar so that very
constrained boards can be scrolled even when the tray is hidden.
2006-05-19 13:44:05 +00:00
ehouse
3a4c5dfff6
catch up with API change
2006-05-09 04:04:56 +00:00
ehouse
e9499cb4ed
formatting only
2006-02-17 07:27:58 +00:00
ehouse
92485783af
update email address in header comments: no code change
2006-01-08 01:25:02 +00:00
ehouse
5e693ee022
fix misspelling; tweak error messages
2005-10-19 03:21:19 +00:00
ehouse
50df4d7cf4
catch up with API change
2005-10-01 15:53:56 +00:00
ehouse
5dace1cc7a
add enough timer support for heartbeat; fix redraw bug
2005-09-09 03:14:11 +00:00
ehouse
2871778cb7
remove logging
2005-06-25 05:44:30 +00:00
ehouse
767de5a284
implement new util_setTimer, and handle heartbeat timer
2005-06-23 04:20:00 +00:00
ehouse
b64103ad7e
don't use null comms
2005-03-25 13:41:18 +00:00
ehouse
7d622f9484
fix and cleanup linux client to move to using tcp. Add the ability to
...
deal with socket dying and (maybe) being replaced. Only connect on
demand now, when first packet's ready to go.
2005-03-19 22:07:53 +00:00
ehouse
1c7e530538
deal with tcp streams the same in curses as on gtk. Both work now
...
with the relay.
2005-03-12 05:33:30 +00:00
ehouse
ef828a0bdf
fix misspelling
2005-03-09 15:12:57 +00:00
ehouse
897caf4e88
Replace UDP-based messaging with TCP. Stream protocol says distinct
...
message is length plus data. Use non-deprecated gtk select-like
function. With these changes can play full games through the relay on
gtk. Untested on ncurses but probably broken.
2005-03-06 18:07:00 +00:00
ehouse
f5a5d3d7a6
util function sig change
2005-01-13 04:30:50 +00:00
ehouse
d9efe4258b
cleanup for no hintlimit feature case
2004-06-27 04:35:42 +00:00
ehouse
0244afcde6
make util_userQuery return bool
2004-02-17 04:00:12 +00:00
ehouse
31017a455b
folloe board_requestHint signature change
2003-11-30 19:07:01 +00:00
ehouse
4d31200290
util_userPickTile replaces util_askBlankFace
2003-11-16 17:17:04 +00:00
ehouse
5776da0b93
first checkin
2003-11-01 05:35:29 +00:00