Commit graph

47 commits

Author SHA1 Message Date
ehouse
c811943e12 get rid of const-related warnings 2008-02-16 15:49:03 +00:00
ehouse
f3197b00e3 Make a couple of dialogs format for narrower screen and respect keypad buttons. 2008-02-02 20:58:44 +00:00
ehouse
b39063237e fix perimeter focus clearing and board size setting. 2008-02-02 17:21:57 +00:00
ehouse
caf7a38672 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
b25ffefb88 Fix to compile and run standalone 2008-01-19 16:03:53 +00:00
ehouse
4f65e023e3 fix unused param warning 2008-01-02 01:43:45 +00:00
ehouse
c2ad749f99 Change util function to use signed type; other cleanup to compile with various features. 2007-12-05 06:28:51 +00:00
ehouse
b527110379 replace all __FUNCTION__ with __func__ 2007-12-02 19:13:25 +00:00
ehouse
75b42f36c3 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
42615345c9 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
321acd1d42 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
92f3f87543 Fix so compiles curses-only, and so curses cell can be 2x1 (for square board) 2007-06-01 02:08:04 +00:00
ehouse
5878ea6018 type name change only 2007-05-26 14:14:01 +00:00
ehouse
952e8de4f2 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
23fcaa65ab 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
c754d73770 When alt key pressed cursor can move onto occupied squares it normally skips. 2006-11-22 13:49:14 +00:00
ehouse
74ccc0ed34 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
375092cf2c Use new top-level focus drawing model, and new API indicating whether
key handled.
2006-11-14 06:47:50 +00:00
ehouse
c91847f56f 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
594c48fce6 set focus to board if not held prior to passing keys 2006-11-08 05:05:11 +00:00
ehouse
9a00908cdb 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
005fd92fd4 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
b0102f8baa 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
ba4f91d9e0 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
1695cd044b 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
a605fd4d49 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
f561989644 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
e8273bc9f0 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
dc0cdfc53a catch up with API change 2006-05-09 04:04:56 +00:00
ehouse
2b2635aa8f formatting only 2006-02-17 07:27:58 +00:00
ehouse
dcd31cd092 update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ehouse
76d35deea5 fix misspelling; tweak error messages 2005-10-19 03:21:19 +00:00
ehouse
90f57ef2e5 catch up with API change 2005-10-01 15:53:56 +00:00
ehouse
6474320381 add enough timer support for heartbeat; fix redraw bug 2005-09-09 03:14:11 +00:00
ehouse
c24a8ca79b remove logging 2005-06-25 05:44:30 +00:00
ehouse
86a37e0d13 implement new util_setTimer, and handle heartbeat timer 2005-06-23 04:20:00 +00:00
ehouse
e3b319f341 don't use null comms 2005-03-25 13:41:18 +00:00
ehouse
3d54ec402a 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
955f2180db 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
40ac233a92 fix misspelling 2005-03-09 15:12:57 +00:00
ehouse
1fba8494f3 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
958754dbfe util function sig change 2005-01-13 04:30:50 +00:00
ehouse
afa67f1a3c cleanup for no hintlimit feature case 2004-06-27 04:35:42 +00:00
ehouse
354bd96db4 make util_userQuery return bool 2004-02-17 04:00:12 +00:00
ehouse
4d7df46fac folloe board_requestHint signature change 2003-11-30 19:07:01 +00:00
ehouse
10a28d17da util_userPickTile replaces util_askBlankFace 2003-11-16 17:17:04 +00:00
ehouse
6a57cef012 first checkin 2003-11-01 05:35:29 +00:00