ehouse
a69d763202
rename constants to begin with GTK so they're unique.
2008-03-10 00:51:20 +00:00
ehouse
c26eed3462
merge with drag_n_drop branch: apply patch generated with this command on that branch: svn diff -r 2080:2087
2008-03-08 23:16:21 +00:00
ehouse
0b5a14c424
Add ENABLE_LOGGING define so logging can be used on non-debug builds, e.g. to trace opening of non-debug saved games and prefs files.
2008-02-17 21:48:48 +00:00
ehouse
a16c9a5f08
add -Werror
2008-02-16 19:05:30 +00:00
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
3b449f3211
fix to build without Bluetooth headers
2008-02-02 16:53:36 +00:00
ehouse
19ea3e1f6e
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
b25ffefb88
Fix to compile and run standalone
2008-01-19 16:03:53 +00:00
ehouse
dfee56609a
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
4f65e023e3
fix unused param warning
2008-01-02 01:43:45 +00:00
ehouse
9d42d1b902
Fix compilation errors due to constant name changes -- no change to binary.
2007-12-14 13:06:44 +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
044a889d6d
Don't draw negative number of tiles left.
2007-11-25 15:12:22 +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
476e164aa1
Deal with incoming fragmented rfcomm packets; log packet contents.
2007-11-15 14:40:56 +00:00
ehouse
bcb25d96b2
fix oversized font when scoreboard miniwindow has two lines.
2007-11-14 05:57:12 +00:00
ehouse
29bb6a7ca9
quick hack at framing rfcomm packets
2007-11-14 05:53:28 +00:00
ehouse
5d3e641082
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
b7044a2dab
Fix typo breaking compile.
2007-11-05 03:42:27 +00:00
ehouse
ebd158ef35
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
81aa3f9d2e
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
38a7c6a87e
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
d929af49ad
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
941244ce26
Fix so can without BT, and so compiler can be specified to Makefile.
2007-06-02 02:07:45 +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
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