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
bae6890c35
fix to build without Bluetooth headers
2008-02-02 16:53:36 +00:00
ehouse
6e715d63ee
change name of field. No code change. Pending on symbian and franklin which don't compile.
2008-02-02 15:17:53 +00:00
ehouse
6e9e5b5c99
Fix to compile and run standalone
2008-01-19 16:03:53 +00:00
ehouse
08da013d4d
Warn user, and refuse to continue, when new game is as host and has no remote players. API
...
changes, so other platforms won't compile until changed.
2008-01-04 14:47:52 +00:00
ehouse
b115cc6f0c
fix unused param warning
2008-01-02 01:43:45 +00:00
ehouse
3b1fcceb16
Fix compilation errors due to constant name changes -- no change to binary.
2007-12-14 13:06:44 +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
ee726968b0
Don't draw negative number of tiles left.
2007-11-25 15:12:22 +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
cfb01d8f3d
Deal with incoming fragmented rfcomm packets; log packet contents.
2007-11-15 14:40:56 +00:00
ehouse
ac42b5e7d6
fix oversized font when scoreboard miniwindow has two lines.
2007-11-14 05:57:12 +00:00
ehouse
1094680ee7
quick hack at framing rfcomm packets
2007-11-14 05:53:28 +00:00
ehouse
6b834cce4a
Add ability via compile-time flag to connect via rfcom rather than
...
l2cap. Works with two caveats: assumes l2cap-style complete packets
(no framing), and has problems with linux sdp system's tendency to
retain records long after sessions are closed.
2007-11-13 15:20:33 +00:00
ehouse
383847e75c
Fix typo breaking compile.
2007-11-05 03:42:27 +00:00
ehouse
3060888264
Update BT code to advertise and search sdp records and use psm reported to work with new Palm
...
code. Log btaddr after converting from name.
2007-11-05 03:38:00 +00:00
ehouse
de640cda98
Update BT code to advertise and search sdp records and use psm reported to work with new Palm
...
code. Get rid of pthreads dependency which was for logging only.
2007-11-05 03:17:07 +00:00
ehouse
880254c17f
Fix tray hanging below main window; draw pending tiles white-on-black as on other platforms.
2007-10-24 12:46:15 +00:00
ehouse
e0f5fcf280
Instead of three fixed-sized fonts, choose fonts (lazily) based on the size of the rect into which it's to be drawn.
2007-10-23 03:08:47 +00:00
ehouse
2f925349a6
Fix so can without BT, and so compiler can be specified to Makefile.
2007-06-02 02:07:45 +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
eeebeca542
substitute macro for common sizeof(x)/sizeof(x[0]) pattern; no generated code change
2007-05-26 14:03:07 +00:00
ehouse
0fd0692748
better logging: include function name
2007-03-17 15:38:44 +00:00
ehouse
5afdcc20db
include result of strerror in messages logging errno; turn relay on by default (linux)
2007-02-04 01:22:00 +00:00
ehouse
7c8b7294cd
add const to a bunch of char* decls in APIs and variables; no code change
2007-02-03 17:54:20 +00:00
ehouse
3f111c5657
name change only: Connectedness becomes DeviceRole
2007-02-02 08:34:37 +00:00
ehouse
7ed3ad89b7
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
a998e96de9
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
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
e0010901f1
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
593980817f
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
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
4ccddbd93f
add a done button
2006-11-13 02:02:15 +00:00
ehouse
84321fa158
fix drawing of empty tray space.
2006-11-12 15:39:10 +00:00
ehouse
eb32609a1d
Fix to compile and work with draw API changes
2006-11-12 14:51:47 +00:00
ehouse
2945a120f9
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
9f0db2d9c5
add -lmcheck, which purports to catch memory errors
2006-11-11 22:42:40 +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
a735cfab03
use new XP_TriEnable type
2006-10-28 14:49:49 +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
d6ef943a5f
add linux_dict_getShortName
2006-09-24 15:35:33 +00:00
ehouse
6bae3385f4
fix compile warnings; disable board size combo when not new game.
2006-09-24 15:34:46 +00:00
ehouse
d46723eb6a
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
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
7b7b7006a7
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
ed1a7e6fc9
be a better master: don't try to send when not connected.
2006-09-16 15:21:27 +00:00
ehouse
40563a6790
strutils macro change; log PID on startup for easier attaching
2006-09-15 07:45:40 +00:00
ehouse
4479cf530d
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
c27abcd486
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
f3eb95b891
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
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
0fed666438
script for averaging results of running 'time' multiple times.
2006-08-12 02:01:57 +00:00
ehouse
72bd18316d
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
968dcf2835
removed a param from board_handlePenUp
2006-06-27 06:31:36 +00:00
ehouse
45979f547a
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
a4ac6f9ff4
call server_do after gameinfo dialog returns in case a player has
...
become a robot.
2006-06-14 06:22:21 +00:00
ehouse
b80808bc57
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
956c169d08
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
e58d397c2b
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
8c176ed53c
use common/nwgamest.c. Lots of code removed, and the dialog works now.
2006-06-07 01:28:37 +00:00
ehouse
90dfc15ae9
use signed types to avoid overflow and disappearing scores
2006-05-28 16:02:16 +00:00
ehouse
d0c6e8517b
center letter in tile even when it's too big.
2006-05-28 15:04:57 +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
912d221b1c
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
e98ef5b962
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
94b46bc6c6
Incorporate svnversion output in usage()
2006-05-14 14:47:32 +00:00
ehouse
3ea23396d2
add compile-command
2006-05-12 07:59:38 +00:00
ehouse
ba1aefcd49
make tray hide button toggle hidden state
2006-05-12 07:59:21 +00:00
ehouse
543df9f681
minor code improvement
2006-05-11 03:02:11 +00:00
ehouse
7297ab4be8
fix layout for vertical scoreboard option
2006-05-09 12:31:41 +00:00
ehouse
3a4c5dfff6
catch up with API change
2006-05-09 04:04:56 +00:00
ehouse
aa09dfba91
catch up with API changes
2006-05-05 12:49:02 +00:00
ehouse
4ec6af22cb
Include name of dict so it can get printed.
2006-04-30 13:58:24 +00:00
ehouse
ef6ebe6bac
Add, and use, stream_putString. Saves 500 bytes on win32.
2006-04-25 13:31:15 +00:00
ehouse
63a8e0adbb
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
10d38faa33
add install target
2006-02-27 00:08:32 +00:00
ehouse
e12abddcd9
new directories to ignore
2006-02-18 14:08:04 +00:00
ehouse
fb0d471dae
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
a4c7d48eb5
make XP_UCHAR signed to avoid warnings calling string.h funcs
2006-02-18 06:36:39 +00:00
ehouse
447af498a2
fix warning
2006-02-18 06:35:48 +00:00
ehouse
268442b782
use __VA_ARGS__ in debug macros
2006-02-17 07:29:25 +00:00
ehouse
a8add11453
clean up usage
2006-02-17 07:28:41 +00:00
ehouse
de830f328f
don't include in curses-only build
2006-02-17 07:28:17 +00:00
ehouse
e9499cb4ed
formatting only
2006-02-17 07:27:58 +00:00
ehouse
5aeb5dc6fa
makefile cleanup
2006-02-17 07:27:36 +00:00
ehouse
92485783af
update email address in header comments: no code change
2006-01-08 01:25:02 +00:00
ehouse
95005e45eb
don't connect to relay unless have something to send
2005-10-30 16:28:52 +00:00