Commit graph

1766 commits

Author SHA1 Message Date
ehouse
5a87db48bd keep track of last key down so can fake key up event when palm won't
be giving us one, e.g. when holding key results in a system window
coming up;
2007-01-12 03:34:43 +00:00
ehouse
f329966a8a on keyDown, look at what keyUp will do and, if nothing, don't handle
the event.  This lets focus transfer work as before there was keyDown.
2007-01-12 03:28:20 +00:00
ehouse
e6ba8c872c fix crash when linux is bt server: if no addr provided it's not a duplicate. 2007-01-09 02:43:09 +00:00
ehouse
994ee5b254 remove dead code. 2007-01-09 02:38:22 +00:00
ehouse
fef8891e3c fix problems created by key-nav changes: don't drop hardware scroll
keys, and redraw after key-repeat if either up or down handled.
2007-01-07 05:25:28 +00:00
ehouse
cf0f88cf36 up version to b3 2007-01-07 05:23:06 +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
8f924e9dc9 Don't show about dialog (with its alpha message) except when BT enabled. 2007-01-06 18:31:16 +00:00
ehouse
31b6526917 handle both keyUp and keyDown events, including dealing with devices
that don't generate the former.  Break key-handling code into separate
function.
2007-01-06 17:50:43 +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
0303e56c43 Break key handling into keyUp and keyDown, and treat keyDown the same
as penDown.  Idea is to be able to set timers to get bonus square
hints etc. without stylus.  Works, but transitions are rough because
keyDown doesn't know whether keyUp will result in a focus change.
2007-01-06 17:32:08 +00:00
ehouse
02c225c413 Fix so IR-only multi-device build works again. 2007-01-06 16:46:45 +00:00
ehouse
d23539536e 2007 copyright in about box 2007-01-06 16:45:39 +00:00
ehouse
5b8e0e89d3 remove duplicates as part of sort process 2007-01-06 04:43:22 +00:00
ehouse
68e2f821d6 beta 2; redraw focus ring after redrawing tray buttons; move board
focus border so it coincides with regular border.
2006-12-21 07:55:19 +00:00
ehouse
f1380a6a70 incorporate svn version number in .prc file name 2006-12-20 04:57:36 +00:00
ehouse
1808fa804c When palm button loses focus to board obj, post event to be handled
after focus event, and on handling it inval rect of focus ring on
button.  This fixes drawing glitch where palm remembers pixels behind
focus ring but they're not right.
2006-12-20 04:49:24 +00:00
ehouse
5d99928dea place initial focus on scoreboard since OS insists on putting it somewhere. Need to fix that. 2006-12-20 04:16:22 +00:00
ehouse
72228104ec fix for non-BT compile 2006-12-20 04:15:40 +00:00
ehouse
884cb8d186 prevent tray buttons overwriting tray by removing border and moving same distance to right 2006-12-20 04:14:41 +00:00
ehouse
1f6d5b6012 add new file palmdbg.c 2006-12-20 04:13:30 +00:00
ehouse
5b34e786bc bug fix: clear focusHasDived on pen event along with other focus state 2006-12-20 04:11:17 +00:00
ehouse
23b85f5437 BT work is now 4.3. Nav work moves into beta as 4.2. 2006-12-13 05:03:19 +00:00
ehouse
ebfd85019d add hand-coded implementation of HsNavDrawFocusRing. This works, but
should be replaced by generated code.
2006-11-29 04:11:24 +00:00
ehouse
4b5acc257f back out unintended change 2006-11-27 04:52:27 +00:00
ehouse
f0f8eccbe1 include Hs (nav) files for ARM build too 2006-11-27 04:50:53 +00:00
ehouse
4f0a0593e7 add type for ui color table; get a jump on Hs nav functions 2006-11-27 04:48:28 +00:00
ehouse
2fa63a74b9 temporarily comment out for arm code that won't compile on arm 2006-11-27 04:40:18 +00:00
ehouse
424718b5bb swap focus-related event data, and include the UI color table call used to
determine the color of self-drawn focus elements.  I can't draw the nav
ring on ARM, but otherwise five-way nav works on arm with this checkin.
2006-11-27 04:39:36 +00:00
ehouse
bb45f89a6f Unfocus any board object whenever pen touches board 2006-11-27 01:13:48 +00:00
ehouse
4207a6ae66 get rid of initial focus object for main board 2006-11-27 01:07:22 +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
06e6d4a903 Post-Slovak change, 7 bits required to save face and blank bit. Use 7, but expect the old 6 for previous version streams. 2006-11-19 06:40:56 +00:00
ehouse
53765169be Draw focus differently in tray if whole thing has it, to include borders
between the tiles.
2006-11-17 13:46:06 +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
a67be62069 Remove old focus-change callback; use extended handleKey API to allow
Palm to own all top-level focus change decisions (in accord with fnav
resource)
2006-11-14 06:54:14 +00:00
ehouse
91cf8543f5 Draw all focus indications ourselves: no more broken Palm API. Draw a
thick blue rect around board, and color all tiles and score positions
within the draw routines.
2006-11-14 06:52:11 +00:00
ehouse
aaf73a0543 tweak prefs checkbox text: covers remote as well as robot players. 2006-11-14 06:49:20 +00:00
ehouse
f8031a422f reorganize fnav resource for main board, using rows. Allows for
faster travel between the main elements.
2006-11-14 06:48:46 +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
abca6a4092 Two big changes. Pass focus bit into all or and players when focus
not dived and tray or scoreboard focussed.  This lets platform decide
to display top-level focus via mods to all elements.  Second, when
moving focus to top level from dived, claim not to have handled the
key event (but return true if needs redraw).  This allows platform to
handle shifting focus without requiring callback (which removed.)
2006-11-14 06:46:04 +00:00
ehouse
30897a709f Debug-build macros to pass __LINE__ and __FILE__ for logging 2006-11-14 06:40:36 +00:00
ehouse
4ccddbd93f add a done button 2006-11-13 02:02:15 +00:00
ehouse
29c4cb7c10 Exit trade mode silently if user clicks 'D' when it's not his turn.
(Better than refusing because "not your turn".)
2006-11-13 02:01:54 +00:00
ehouse
bfd555c22f bug: need to OR in inval value rather than replace. 2006-11-12 21:03:15 +00:00
ehouse
8125f8405b Break scoreboard code out into a new module. board.o was getting too
big on palm.
2006-11-12 20:09:00 +00:00
ehouse
84321fa158 fix drawing of empty tray space. 2006-11-12 15:39:10 +00:00
ehouse
382848f556 Fix to work with draw API changes 2006-11-12 15:22:26 +00:00
ehouse
a37fab39e8 new UNUSED macro for keynav 2006-11-12 15:20:36 +00:00
ehouse
eb32609a1d Fix to compile and work with draw API changes 2006-11-12 14:51:47 +00:00
ehouse
d3812271a2 Add to draw APIs of individual elements (e.g. board cells) whether
they're focussed so that they can draw that during rather than after
everything else.  On palm, use this to draw focus using the system
selected color rather than with the blue nav rect.  Since a new param
was too much, add new enum type CellFlags and pass as bitvector to
draw APIs.
2006-11-12 14:36:15 +00:00
ehouse
b174b89bda fix compile error when FIVEWAY not on. 2006-11-12 14:29:35 +00:00
ehouse
86e2a2d26a fix crash when FIVEWAY not on. 2006-11-12 14:28:43 +00:00
ehouse
f0d3148a49 Force file logging on to report an assertion failure. 2006-11-11 22:53:30 +00:00
ehouse
74b6d76182 Fix messages getting dropped when remote device isn't connected by, on
getting a new connection, making a callback that calls resend_all().
This means a lot of duplication, but duplication is free with
bluetooth.  The underlying problem is that packets are reported as
sent not when acked by the other side, but when passed to a lower
level that may not be connected at all.
2006-11-11 22:52:39 +00:00
ehouse
b39d0ad600 Add missing question to phonies warning message. 2006-11-11 22:45:13 +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
130c0f5a92 Refactor to not return from middle of function. No behavior change. 2006-11-11 22:38:20 +00:00
ehouse
e2f3a55611 reject initial messages coming in on the same address a second time.
Fixes problem that surfaces when clients are more agressive about
resending early in game.
2006-11-11 22:37:36 +00:00
ehouse
1838640823 Fix bug where sign extention on 16-bit processors caused too many bits
set in crosschecks.
2006-11-10 08:08:59 +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
1f5ec02172 If no arrow visible, use cursor loc as destination when moving tile to tray. 2006-11-08 13:44:34 +00:00
ehouse
708e270b2a add palm_util_notifyFocusChange to handle focus transitions away from
xplat code
2006-11-08 05:06:51 +00:00
ehouse
e8b74e1cc3 set focus to board if not held prior to passing keys 2006-11-08 05:05:11 +00:00
ehouse
414580904f board doesn't handle focus-related keys unless it has the focus. 2006-11-08 05:04:44 +00:00
ehouse
dd5fa134a5 function turning object id constants to strings for logging 2006-11-08 05:04:13 +00:00
ehouse
2e9afb1ff2 remove typo blocking compilation 2006-11-07 13:43:30 +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
57f2f4ba2a debug functions to turn enums and defines into loggable strings 2006-11-03 06:19:27 +00:00
ehouse
7c2e09cca5 Simple fnav resource for main form: a start 2006-10-30 00:28:46 +00:00
ehouse
935f87979e Use color rather than period to separate score from tiles left in
scoreboard.
2006-10-29 18:24:50 +00:00
ehouse
a5f71143c0 Fix crash on pre-fiveway palmos where FrmGetFocus always returns -1;
add new preference for whether small value nums are drawn in tiles in
tray.
2006-10-29 17:41:14 +00:00
ehouse
f1def437c3 Use new XP_TriEnable type; begin work to support bluetooth by tracking
connType and adding choice how to connect.  Bt connect dialog is
invoked, but the fields won't be populated.  Pass conn type into
socket constructor, assuming socket code doesn't change much to use BT
rather than TCP.
2006-10-28 14:56:04 +00:00
ehouse
a735cfab03 use new XP_TriEnable type 2006-10-28 14:49:49 +00:00
ehouse
b9cc093820 Many many changes improving newgame dialog by using a three-way rather
than two-way enabled state, but mostly about getting focus ring
working for five-way-equipped devices.  Add fnav resources to the two
dialogs with gadgets, and code so the gadgets are included in the
focus rotation.  The move to three-way means that disabled controls
can visible while excluded from the rotation.  There's cleanup and
polish to be done still, and five-way navigation doesn't work for the
main form yet. No changes to bluetooth at all.
2006-10-28 14:48:08 +00:00
ehouse
266355b7b2 New type XP_TriEnable meant to be used more than just for new games:
controls are hidden, disabled but visible, or enabled.
2006-10-28 13:21:32 +00:00
ehouse
2639c80c84 add uninited state so can reload dialog with no assumptions about platform
widget state.
2006-10-23 13:56:43 +00:00
ehouse
07e2717cc8 add a few consts decls where APIs changed; use XWFEATURE_RELAY rather
than BEYOND_IR
2006-10-22 19:44:30 +00:00
ehouse
da7a9dd562 When bt init fails, put up alert; check for failure after and don't
crash; erase bt status area even when no comms in order to erase after
turning bt off; in connect dlg, use a trigger rather than field and
button for host name.
2006-10-15 16:14:42 +00:00
ehouse
8c42b56c26 Cleanup logging macros and get rid of p_ignore. 2006-10-15 14:33:55 +00:00
ehouse
b73ac76775 Build with Bluetooth on; add alpha-only text to About dlg; show About
dlg on startup first time; fix null ptr deref bug.
2006-10-15 14:22:32 +00:00
ehouse
c695d8644c remove unused field 2006-10-15 14:20:14 +00:00
ehouse
d234fc637d make IR the default conn type on Palm, where it's been the only type
until now.
2006-10-15 14:09:17 +00:00
ehouse
04f99aa2c4 fix non-bt compile by ifdef-ing bt-only ui elements 2006-10-15 14:05:23 +00:00
ehouse
0506069f47 remove duplicate #definition 2006-10-15 13:54:31 +00:00
ehouse
cb2990b720 add const to a few formal param declarations 2006-10-15 13:53:17 +00:00
ehouse
9aa8faa1d1 Switch player count string for client in new game case. 2006-10-12 13:55:16 +00:00
ehouse
d123d6c352 Make self-restarting: fork child and wait (to deal with asserts). 2006-10-11 02:06:20 +00:00
ehouse
ed6cf517ea get rid of extra log statement 2006-10-11 02:02:53 +00:00
ehouse
8e4a9072e5 better message when relay disabled 2006-10-11 02:02:09 +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
b8107cbd6e Add a bit more logging; do a better job of changing roles. Now can switch
roles with a new game and communication starts without a restart of the
app.
2006-10-07 03:40:29 +00:00
ehouse
f6c0ea92e0 Raise status char a bit. 2006-10-07 03:38:36 +00:00
ehouse
277624eb81 Don't return from middle of function. 2006-10-07 03:37:40 +00:00
ehouse
878acbc759 Fix opening games and messages saved by last shipping version on Palm
by checking version and loading new fields conditionally.  (Not yet
tested for current wince version.)
2006-10-05 01:17:03 +00:00
ehouse
715d01b8a4 Put relay-only fields into a struct for easier identification. No code change. 2006-10-02 14:26:56 +00:00