Commit graph

146 commits

Author SHA1 Message Date
ehouse
f3feef27f7 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
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
c423f04d0d Don't show about dialog (with its alpha message) except when BT enabled. 2007-01-06 18:31:16 +00:00
ehouse
c5fc1acb3a 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
c645534b83 Fix so IR-only multi-device build works again. 2007-01-06 16:46:45 +00:00
ehouse
ac14760070 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
b551142f5f 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
c754d73770 When alt key pressed cursor can move onto occupied squares it normally skips. 2006-11-22 13:49:14 +00:00
ehouse
b23d51fba4 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
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
56f64f6f46 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
f9dcd1820a 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
4e7ed26704 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
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
211271d6be add palm_util_notifyFocusChange to handle focus transitions away from
xplat code
2006-11-08 05:06:51 +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
7526768939 Simple fnav resource for main form: a start 2006-10-30 00:28:46 +00:00
ehouse
1aa6d81177 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
27d01c55b4 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
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
4fda93c34d Raise status char a bit. 2006-10-07 03:38:36 +00:00
ehouse
7cbc781a07 Add quick hack to show BT connect state on main board, to be replace
by icons or something prettier later.  For new games dialog, replace
hard-coded list of controls to ignore with a runtime list.  This
allows checkboxes and fields to be enabled and disabled more easily.
Works around Palm's lack of a control state meaning "visible but
inactive" that works for all form elements.
2006-09-24 17:56:14 +00:00
ehouse
a88d079029 Add debug menu and in response dump bt state to stream for display.
Track sends and receives.  Add listening state for master, and don't
reset its acl when slave goes away.
2006-09-23 22:58:33 +00:00
ehouse
66def86757 remove dead code using IR libs directly (no exchange mgr); rename
#define to be consistent with same for bluetooth.
2006-09-17 06:15:37 +00:00
ehouse
e17a442964 strutils macro change; tweak so compiles non-DEBUG and without Bluetooth 2006-09-15 07:42:10 +00:00
ehouse
ed06a20881 New addr param to checkAndDeliver so address can be passed back to
comms; Add debug-only menus to toggle logging to file and memopad.
2006-09-14 01:46:41 +00:00
ehouse
f46ae953e8 Lots of changes aimed at allowing to quit and restart in the middle of
a BT game: track states so can shutdown cleanly; transition from
master to slave; mechanism to defer work from callbacks to the main
loop.  Can now quit and restart as guest against host on linux.  Have
not tested between two Treos.
2006-09-08 07:06:21 +00:00
ehouse
7d48f2e430 Put up BT device browser while user is picking connection method
rather than when trying to send for first time, then pass address
through from conns dialog to bt code.
2006-08-26 21:12:10 +00:00
ehouse
3c6405d0d1 First shot at bluetooth support (turned off in Makefile by default).
A full robot vs. robot game now works between two Treos.  Added UI to
choose BT as transport mechanism, and added new send proc to establish
socket connection between host and guest.  Works only for two devices:
no piconet yet.  No error recovery, ability to quit game in middle,
start new game, etc.
2006-08-23 04:44:55 +00:00
ehouse
62dd1091ca Fix compile errors due to missing UNUSED macros 2006-08-17 01:31:49 +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
9ad529c6b6 remove parameter following API change 2006-06-28 03:11:26 +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
cc6251b595 Remove HIGHRES compile-time tests: all palm releases will have HIGHRES
support now; build in different directories.
2006-03-31 10:57:01 +00:00
ehouse
dcd31cd092 update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ehouse
2719bb39b2 fix for when BEYOND_IR not defined 2005-09-17 19:49:53 +00:00
ehouse
c319711cb1 add error messages 2005-09-04 20:34:16 +00:00
ehouse
df5c274c31 constant name changed 2005-08-21 14:18:56 +00:00
ehouse
1fd6afcaf9 Clean up and fix timer code. 2005-08-03 01:14:49 +00:00
ehouse
c67c8054b0 add const to match new signature 2005-07-30 02:44:42 +00:00
ehouse
0a8b5bb563 Get rid of unused param 2005-07-14 02:54:47 +00:00
ehouse
b015224188 Get rid of WinCopyRect-based method of drawing letters and values in
tray tiles, since it seems not to work on all versions of PalmOS.
Simply drawing seems fine where tested; will try close clipping if
erasure happens elsewhere.  Draw board-top stuff one pixel higher on
highres devices, and fix scoreboard being too narrow on high-res
devices.
2005-07-14 02:45:10 +00:00
ehouse
2abb6fe77f cleanup: make module-local functions static 2005-06-25 05:43:56 +00:00
ehouse
45cc7595cd fix timer not getting drawn on highres screens; handle heartbeat timer
and change to util_setTimer
2005-06-23 04:22:27 +00:00
ehouse
88f4c3749b add palm_util_addrChange; track whether running on POSE to work around
NetLibSelect bug.
2005-04-03 16:54:54 +00:00
ehouse
803371ef5a move generic send/receive stuff from palmir.c. 2005-04-03 01:59:57 +00:00
ehouse
51f7adb650 catch up with API changes; make buffer bigger so crash doesn't happen
in tile picker for long-named players.
2005-01-24 05:21:45 +00:00
ehouse
be8b96424a util function sig change 2005-01-13 04:37:36 +00:00
ehouse
91d9e9b65b fix non-high-res build so compiles again 2004-11-17 03:54:35 +00:00
ehouse
549b89049c use XP_MALLOC rather than MemPtrNew 2004-11-13 17:43:31 +00:00
ehouse
fbb08f7d84 don't scroll when menu's frontmost 2004-11-13 16:01:30 +00:00
ehouse
30bf7512fb pass globals to palm_dictionary_make; handle five-way up/down in ask
dialog scrolling
2004-11-13 05:20:07 +00:00
ehouse
244d5b6833 check that there's a form up before calling FrmCustomAlert (when
warning about missing dict)
2004-11-11 15:11:54 +00:00
ehouse
1c08a0318d bug: use ce's rule for hiding tray; works with always-visible case now
expected on high-res
2004-11-09 02:13:43 +00:00
ehouse
5122a003b6 wrap launch-68K option in compile-time flag off by default 2004-11-08 14:44:52 +00:00
ehouse
ea98508e43 add wrapper makeSimpleStream; handle new TILES_LEFT menuitem; server
now writes dict name to counts/values stream
2004-11-06 02:33:43 +00:00
ehouse
2ab5ffe0d7 palmaskFromStrId changed as part of proving "Yes" and "No" buttons to
queries by default.  "Ok" becomes the answer only when there's a title
and (it's assumed) only one button needed.
2004-11-05 14:35:28 +00:00
ehouse
8a4ebebe5a apply human-count test when hiding tray when quitting. No replaces
Cancel.
2004-11-04 02:01:47 +00:00
ehouse
48afd331ef tweaks on tray position 2004-11-03 03:58:46 +00:00
ehouse
81c7cfbb62 tray can be in two positions/have two sizes only, either scrunched for
highres or square as it's always been.  Initial position is for
highres; at app startup, relocate if device is low-res. Also, fix
glitch in tile picker.
2004-11-02 06:20:29 +00:00
ehouse
32e40baa04 report missing dicts; don't hide tray on close when only one human in
game
2004-10-30 04:51:46 +00:00
ehouse
fab8a59add relaunch app when switching from ARM to 68K 2004-10-13 01:05:53 +00:00
ehouse
82927d7169 deal with older app prefs version 2004-10-09 00:17:29 +00:00
ehouse
151ae0e0f0 engineStarting takes number of blanks; in ARM case show progress only
when non-zero.
2004-10-07 13:58:42 +00:00
ehouse
f931d76db0 put randomness back in; bring up as ARM by default 2004-10-05 02:29:31 +00:00
ehouse
d9dc930e51 remove dead field 2004-10-02 03:52:46 +00:00
ehouse
cf9c4320bd separate highres support from screen resizing so can do only the former now 2004-10-01 01:40:47 +00:00
ehouse
57d4377f7d swap shorts in prefs; workaround wierd codegen/pose bug; put break
back where accidentally removed.
2004-09-29 13:23:06 +00:00
ehouse
adf8566959 tweaks to aid ARM debugging 2004-09-24 01:33:48 +00:00
ehouse
991e2b94c1 don't save prefs (for now) 2004-09-23 02:20:53 +00:00
ehouse
50598c3293 cleanup unrelated to pnolet work 2004-09-21 04:57:00 +00:00
ehouse
2c5a1d4c40 Temp code for PilotMain when pno; unrelated cleanup. 2004-09-19 03:27:13 +00:00
ehouse
7ef601b48a fix signed bug that broke scrolling in ask dialog 2004-08-31 13:27:28 +00:00
ehouse
42a8d69df9 add palm_util_getTraySearchLimits; addressed, for penDown only,
confusion between whether pen events are handled and whether the
handling means a redraw is required.  Might need to do same for
penMoved and penUp.
2004-06-25 06:43:46 +00:00
ehouse
dc13281069 tweak board to right by one so gets bigger border in highres case 2004-05-16 15:02:41 +00:00
ehouse
4fb66b6518 double scale after reducing for border size 2004-05-16 14:32:24 +00:00
ehouse
ae91c3388a Inval whole board in hires case too; fix part of problem with vertical
scoreboard.
2004-05-15 01:14:51 +00:00
ehouse
ad2a5281e1 Allow deletion of picked tiles during face-up picking; add string for
attempt to undo tile assignment.
2004-05-14 08:59:10 +00:00
ehouse
2ab5de6ea7 cleanup 2004-05-06 04:10:48 +00:00
ehouse
ebe6dba738 put tray buttons at botton on 160x160 screens too 2004-05-01 13:23:41 +00:00
ehouse
90a7e5ccc8 cleanup; fix hiding tray. 2004-04-30 08:37:13 +00:00
ehouse
7008125ec7 (rough) changes to make toggling work for 320x480 Clie with silkscreen 2004-04-20 04:10:15 +00:00
ehouse
8a251c6f0c progress toward highres stuff, esp. tweaking positionBoard 2004-03-16 05:28:14 +00:00
ehouse
0cbb90963d experimental hires changes (to positionBoard) 2004-03-13 14:37:00 +00:00
ehouse
82ce4e8962 start hi-res work 2004-03-13 14:18:54 +00:00
ehouse
c04c94fb61 #ifdef hint config feature 2004-03-02 06:00:29 +00:00
ehouse
354bd96db4 make util_userQuery return bool 2004-02-17 04:00:12 +00:00
ehouse
314a5d682b confirm each dict converted from old format; recover from open when
none avail.
2004-01-17 19:34:25 +00:00
ehouse
d5810ad278 call offerConvertOldDicts; fix palmask to work pre/without globals. 2003-12-12 10:17:59 +00:00
ehouse
c8147e6627 turn ntiles dialog into hint config dialog (experimental); <cr>
dismisses tile pick dialog
2003-12-01 14:32:47 +00:00
ehouse
6cb0f359ad new form for picking nTiles used in hint 2003-11-30 22:03:02 +00:00
ehouse
41801ea74e show current tray in pick dialog; begin work of letting user specify
how many tiles to use in hint.
2003-11-30 18:57:57 +00:00
ehouse
8d1bd6d50e nuke unused vars (for compiler warnings) 2003-11-19 04:50:29 +00:00
ehouse
a49c9b053d checkin from personal archive 2003-11-16 19:37:12 +00:00