Commit graph

212 commits

Author SHA1 Message Date
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
e891a26756 substitute macro for common sizeof(x)/sizeof(x[0]) pattern; no generated code change 2007-05-26 14:03:07 +00:00
ehouse
6fcb5b714c better logging: include function name 2007-03-17 15:38:44 +00:00
ehouse
8796299a5a include result of strerror in messages logging errno; turn relay on by default (linux) 2007-02-04 01:22:00 +00:00
ehouse
2fe75a19a2 add const to a bunch of char* decls in APIs and variables; no code change 2007-02-03 17:54:20 +00:00
ehouse
916ea4abc2 name change only: Connectedness becomes DeviceRole 2007-02-02 08:34:37 +00:00
ehouse
4329fd6020 Remove assert that's firing; don't inval_all from util_yOffsetChange:
that blocks testing common inval code.
2007-01-21 23:00:52 +00:00
ehouse
17993fea06 Tweak scroll-of-focussed-board inval code so we don't inval the whole
board, which looks crappy.  Instead inval only what was previously a
border row, and pass a new param to draw_vertScrollBoard so the
platform can choose not to scroll cells that will just get overwritten
with different bits.
2007-01-21 22:59:29 +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
0a4f1d3f7b add board_handleKeyRepeat, and call it from palm and gtk. This lets a
held nav key walk the cursor across the board.
2007-01-07 04:32:29 +00:00
ehouse
4646ac5711 Clean up for non-keyboard and non-keyboard-nav cases. Wince is the
latter: make it compile again.
2007-01-07 01:01:20 +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
f0aa47c096 add a done button 2006-11-13 02:02:15 +00:00
ehouse
ccba050288 fix drawing of empty tray space. 2006-11-12 15:39:10 +00:00
ehouse
539a7b4ab5 Fix to compile and work with draw API changes 2006-11-12 14:51:47 +00:00
ehouse
2668976fc6 resend_all when a socket connects. This is the strategy needed with
Palm where apps quit and reopen connections many times during a game.
2006-11-11 22:44:31 +00:00
ehouse
302862064f add -lmcheck, which purports to catch memory errors 2006-11-11 22:42:40 +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
189b2ec0ff use new XP_TriEnable type 2006-10-28 14:49:49 +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
22b9ace9da add linux_dict_getShortName 2006-09-24 15:35:33 +00:00
ehouse
bcbb8583c1 fix compile warnings; disable board size combo when not new game. 2006-09-24 15:34:46 +00:00
ehouse
8536a62901 use gtk_combo_box instead of whatever and fix inability to set current
num players and role as dialog comes up.
2006-09-21 01:34:29 +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
c5a92a617a clean scoreboard rects before drawing in case player's location has changed as new players added 2006-09-19 03:35:26 +00:00
ehouse
696836818c be a better master: don't try to send when not connected. 2006-09-16 15:21:27 +00:00
ehouse
09568bbf78 strutils macro change; log PID on startup for easier attaching 2006-09-15 07:45:40 +00:00
ehouse
29ea995a34 Get rid of separate accept thread, instead integrating listening
socket into main event loop (poll underneath).  Works for gtk; still
debugging ncurses.
2006-09-10 19:01:06 +00:00
ehouse
84a0409103 Attempt to listen for connections on a separate thread so connected
game could disconnect and reconnect, but still need work on adding a
socket to the main thread's io queue from a different thread.
2006-09-08 07:23:19 +00:00
ehouse
334ea9a546 Make linux client work as host. Currently accepts only one connection
and blocks in accept.  Need threads and a piconet.
2006-08-29 13:20:09 +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
584e016083 script for averaging results of running 'time' multiple times. 2006-08-12 02:01:57 +00:00
ehouse
c9abae4abd juggle until something changes. This is better than there sometimes being
no change, until I figure out how to force drawing as on Palm.
2006-07-01 14:14:48 +00:00
ehouse
46c5433b74 removed a param from board_handlePenUp 2006-06-27 06:31:36 +00:00
ehouse
c4de8b5ba5 disable juggle button if only one player active; copy all four players when saving game state after dismissal. 2006-06-18 19:02:47 +00:00
ehouse
91bfaae902 call server_do after gameinfo dialog returns in case a player has
become a robot.
2006-06-14 06:22:21 +00:00
ehouse
97ccccad48 Support new tri-part enabled type; add "game info" dialog/menu to test
read-only side; support new attributes for column head and nplayers
label; hide labels as well as controls that go with them.
2006-06-10 05:50:27 +00:00
ehouse
cbe5ed2779 Refer to players as "remote" rather than "not local" to be consistent
with Palm and PPC; fix juggle bug by adjusting lines after moving them.
2006-06-08 01:26:18 +00:00
ehouse
00291dc997 change newgame api names; implement juggle; change getter to take a
callback to copy strings that will go out of scope before the getter
returns (e.g. wince).  Use changed API in gtk dialog.
2006-06-07 01:45:03 +00:00
ehouse
6c7e4b37f4 use common/nwgamest.c. Lots of code removed, and the dialog works now. 2006-06-07 01:28:37 +00:00
ehouse
c3bcff83e0 use signed types to avoid overflow and disappearing scores 2006-05-28 16:02:16 +00:00
ehouse
9776c57eea center letter in tile even when it's too big. 2006-05-28 15:04:57 +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
7bc6b18885 Replace overlap param with nHidden to give more flexibility in
creating situations where board must be scrolled.
2006-05-17 06:10:24 +00:00
ehouse
92012adb50 move scrollbar into its own box so it doesn't force buttons to be over-tall 2006-05-14 15:26:21 +00:00
ehouse
0e5e3868cf Incorporate svnversion output in usage() 2006-05-14 14:47:32 +00:00
ehouse
9367d73e24 add compile-command 2006-05-12 07:59:38 +00:00
ehouse
db4bd5c1cd make tray hide button toggle hidden state 2006-05-12 07:59:21 +00:00
ehouse
8d67d30c3d minor code improvement 2006-05-11 03:02:11 +00:00
ehouse
615ee9e46e fix layout for vertical scoreboard option 2006-05-09 12:31:41 +00:00
ehouse
dc0cdfc53a catch up with API change 2006-05-09 04:04:56 +00:00
ehouse
4c58ee9e2f catch up with API changes 2006-05-05 12:49:02 +00:00
ehouse
b0c4e9e91e Include name of dict so it can get printed. 2006-04-30 13:58:24 +00:00
ehouse
4e2b080be5 Add, and use, stream_putString. Saves 500 bytes on win32. 2006-04-25 13:31:15 +00:00
ehouse
13b7fa62aa Add macros to draw.h, and use 'em for wince, so that a platform can choose to call draw.h methods via a vtable or static linking. 2006-04-01 21:01:20 +00:00
ehouse
ea85e6a3f6 add install target 2006-02-27 00:08:32 +00:00
ehouse
8f72bf6b56 new directories to ignore 2006-02-18 14:08:04 +00:00
ehouse
9ff5259d4e add const decls to draw.h and dictnry.h functions where appropriate,
and modify "subclass" methods to match.  Should be no code change, but
this makes the intent of the APIs clearer.
2006-02-18 06:39:40 +00:00
ehouse
f142ef61db make XP_UCHAR signed to avoid warnings calling string.h funcs 2006-02-18 06:36:39 +00:00
ehouse
00459487c1 fix warning 2006-02-18 06:35:48 +00:00
ehouse
00142f8d80 use __VA_ARGS__ in debug macros 2006-02-17 07:29:25 +00:00
ehouse
199ecd10a2 clean up usage 2006-02-17 07:28:41 +00:00
ehouse
cd0b0d815e don't include in curses-only build 2006-02-17 07:28:17 +00:00
ehouse
2b2635aa8f formatting only 2006-02-17 07:27:58 +00:00
ehouse
3f0353c681 makefile cleanup 2006-02-17 07:27:36 +00:00
ehouse
dcd31cd092 update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ehouse
5581fd064e don't connect to relay unless have something to send 2005-10-30 16:28:52 +00:00
ehouse
c85d3d88d9 add a const 2005-10-30 05:06:41 +00:00
ehouse
6a729ec2fa add error message; cast to avoid compile warnings 2005-10-30 05:06:23 +00:00
ehouse
b8d80a9c2b add a few consts 2005-10-30 05:05:45 +00:00
ehouse
76d35deea5 fix misspelling; tweak error messages 2005-10-19 03:21:19 +00:00
ehouse
f3869d453a new error message 2005-10-14 08:25:51 +00:00
ehouse
90f57ef2e5 catch up with API change 2005-10-01 15:53:56 +00:00
ehouse
a3305e2ca9 just log some messages so user interaction not required. 2005-09-14 05:11:29 +00:00
ehouse
6474320381 add enough timer support for heartbeat; fix redraw bug 2005-09-09 03:14:11 +00:00
ehouse
731b0fb813 add linuxFireTimer 2005-09-09 03:12:58 +00:00
ehouse
6b3b5c0f90 move fireTimer to linux-common code 2005-09-09 03:12:24 +00:00
ehouse
ecce7f9d2e add an extra slot as on other platforms 2005-09-09 03:06:27 +00:00
ehouse
ad7b25eb52 add missing header. (Did gtk change?) 2005-09-09 02:57:14 +00:00
ehouse
479805ee08 add role to newgame dialog 2005-09-05 05:31:11 +00:00
ehouse
f4b5459569 add error message; don't assert (crash) when socket closes. 2005-09-04 20:31:34 +00:00
ehouse
8f796ca6bb new (commented-out) info message 2005-09-03 18:36:08 +00:00
ehouse
377e514f0b for testing, add -H option to prevent client from sending heartbeat
messages to relay.
2005-09-03 15:39:15 +00:00
ehouse
238036ff9d Add strings for error codes for relay disconnect events. 2005-09-03 06:58:05 +00:00
ehouse
889ebf6ce9 catch up with API changes 2005-09-02 06:24:47 +00:00
ehouse
df5c274c31 constant name changed 2005-08-21 14:18:56 +00:00
ehouse
0a8b5bb563 Get rid of unused param 2005-07-14 02:54:47 +00:00
ehouse
a26549afa9 Pass protocol version code with connect request, and return error if
it isn't what relay can handle.  Report error to user.
2005-07-06 01:36:52 +00:00
ehouse
ca6c35ad78 cancel old timer before setting a new one 2005-07-05 20:59:42 +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