Commit graph

1900 commits

Author SHA1 Message Date
ehouse
dfc2d679e0 Don't call comms_start while opening game. Caller may still consider
another game open.
2007-03-18 23:55:58 +00:00
ehouse
0d286632be palm_dictionary_make makes copy of name if needed. Helps plug memory leak. 2007-03-18 23:49:15 +00:00
ehouse
90d285c593 add consts; remove logging. 2007-03-18 23:48:00 +00:00
ehouse
242e71f04a What I meant to check in. Need to save first.... 2007-03-18 23:38:53 +00:00
ehouse
a4fb5a6d5a Always send BT reconnet message, even if there are messages to resend.
Fixes failure to reconnect when opening a saved BT game where the
other device is waiting and will need to resend.
2007-03-18 23:38:19 +00:00
ehouse
aad182c2e3 turn stringFromStream into macro to aid logging for leak detection. Debug builds only effected. 2007-03-18 23:31:51 +00:00
ehouse
3974ac4639 Fix crash on ARM: don't compare dummy strings. 2007-03-18 14:45:51 +00:00
ehouse
e22a131687 include ability to choose arm or 68K in combined-arch release builds too 2007-03-18 00:05:15 +00:00
ehouse
d9e29674cd comment out assert that doesn't seem to matter 2007-03-17 17:31:01 +00:00
ehouse
08901ca548 include ability to choose arm or 68K in combined-arch debug builds 2007-03-17 17:30:30 +00:00
ehouse
ecba9df348 Pad prefs struct so ARM and 68K versions are using same addresses
(fixes crash opening game in ARM version that was saved in 68K);
2007-03-17 17:29:32 +00:00
ehouse
0fd0692748 better logging: include function name 2007-03-17 15:38:44 +00:00
ehouse
c7b46cffbf Pad prefs struct so ARM and 68K versions are using same addresses
(fixes crash opening game in ARM version that was saved in 68K);
renumber resource IDs so can be logged via a switch.
2007-03-17 15:37:15 +00:00
ehouse
e111c2d89c Remove excess logging. 2007-03-17 15:35:14 +00:00
ehouse
bf7833c420 Put back code to associate service record with listening socket, but
ifdef'd out as it doesn't seem to make any difference.
2007-03-17 15:34:24 +00:00
ehouse
fcb334375a define XW_PSM in accord with palm guidelines. Doesn't seem to matter... 2007-03-17 15:33:16 +00:00
ehouse
aa4333903f compare only six bytes of struct ARM pads to 8. 2007-03-15 05:06:56 +00:00
ehouse
19ac39010f Enable BT; up version number for a3. 2007-03-15 01:21:56 +00:00
ehouse
b72aba3a9a Don't store procptr stubs in Ftrs across app boots! Fixes device-resetting crash. 2007-03-15 01:20:11 +00:00
ehouse
a0eeafb226 Don't store procptr stubs in Ftrs across app boots! Fixes device-resetting crash. 2007-03-15 01:19:35 +00:00
ehouse
252c07c6ee Print param lists under 80 columns. 2007-03-15 01:14:15 +00:00
ehouse
97cddf35ff define constant so tests work on ARM too. 2007-03-09 03:00:44 +00:00
ehouse
c00dad745d Add APIs needed to compile and use BT APIs. ARM version works now well enough to play games, but often crashes on app exit having done so. 2007-03-09 02:58:57 +00:00
ehouse
3535a2c846 update to die when func not found, and to handle BT APIs 2007-03-09 02:56:02 +00:00
ehouse
5478dbeb43 Add one-bit bluetooth status indicators 2007-02-28 02:32:49 +00:00
ehouse
a0919dcc54 Fix bug: scoreboard doesn't reflect connected state until some other
event causes update.  Fix by calling turnChangeListener any time turn
changes, including on initial set.
2007-02-27 02:48:51 +00:00
ehouse
971bfc280f Save and restore focus owner across app restarts (includes working around
OS's insistence on sending focusTake event on formOpen); up version numbers; turn off BT prior to beta release.
2007-02-24 03:35:51 +00:00
ehouse
5d867cd81c Target to build tarball for uploading to byod. 2007-02-20 07:24:18 +00:00
ehouse
8faacfcede Fix to work with new byod scheme. 2007-02-20 05:49:57 +00:00
ehouse
621e049962 Cleanup for a5 release: always use status icons when building for bluetooth. 2007-02-18 03:33:17 +00:00
ehouse
b2ed436b74 Add support for Russian. So that Russian text can be processed on systems without setting LANG=ru_RU.CP1251, modify dict2dawg to skip duplicates and words outside of specified lengths. Modify all info.txt files for the new scheme (which includes change to byod.cgi not kept on sourceforge.) 2007-02-17 17:06:05 +00:00
ehouse
3b7e680f2c increment internal tile values by one so strings can be null-terminated 2007-02-14 15:17:00 +00:00
ehouse
f273e93c86 code to use bitmaps instead of letters to show bt conn status. 2007-02-12 08:05:35 +00:00
ehouse
13c425f005 Add bitmaps to replace letters as indicators of bluetooth connnect state. Still to go: lowres equivalents. 2007-02-12 07:54:23 +00:00
ehouse
c0b515457b Cleanup: compile warning and to make logging easier. 2007-02-08 15:17:23 +00:00
ehouse
b1d4a800c8 Fix nav for tungsten: test for lack rather than presence of keyUp events. 2007-02-08 15:16:46 +00:00
ehouse
a424d54445 Add a one-byte header to BT messages so one device can signal another
that a new game's begun without dropping the connection.  On Palm,
remove connection-drop on new game.  With this change starting a new
game takes imperciptible time, down from 30 seconds.
2007-02-08 02:53:10 +00:00
ehouse
9f23c4b4d9 Replace ints with bools; add rev command; fix bug by reiniting args with each
command so they don't hold previous values.
2007-02-07 13:22:40 +00:00
ehouse
ff82dd61c0 Fix linked-list bug in removeFromQueue. 2007-02-07 11:58:01 +00:00
ehouse
a8d3dbda66 Print svn rev number as part of usage() 2007-02-07 11:56:30 +00:00
ehouse
edd1ce9455 up version number for alpha 2007-02-06 05:55:21 +00:00
ehouse
767b9f2908 initialize mutex before using; fixes a hang since could never aquire
lock.  (This bug has always been there, but didn't matter before;
maybe pthreads changed.)  Comment out self-spawning stuff until can
fix df-transfer problems.  Other minor changes around logging.
2007-02-06 05:52:22 +00:00
ehouse
3028c9e598 deal with case where guest begins new game but connects to host that's
running the old game: the host may reply, but guest must not take that
as evidence of a connection having been established: don't remove sent
messages (this isn't an ACK), and don't assert later on.
2007-02-06 05:49:45 +00:00
ehouse
183f0f716f enable juggle button after role change 2007-02-06 05:47:20 +00:00
ehouse
f2ae7cb716 close and reopen bt module with every new game to fix, badly, client's
failure to connect if it's restarted before host; add event and use to
retry BtLibSocketListen when fails (since failure is usually
temporary).
2007-02-05 04:20:13 +00:00
ehouse
9a61f5c38b Add assert; don't call comms if has been set to null (fixes device
reset); fix failure to install connCB (removes need to manually resend
messages when client starts up first.)
2007-02-04 17:13:01 +00:00
ehouse
363cfdce04 Drop keyUp events not preceeded by keyDowns to catch leaks from
dismissed dialogs; don't drop first keyDown on OS4 since the bug that
works around isn't there; turn BT back off by default.
2007-02-04 04:10:11 +00:00
ehouse
5fbc89ae76 add tarball target for exporting enough code to build relay. 2007-02-04 01:22:31 +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
4c2259400a include result of strerror in messages logging errno 2007-02-03 21:35:07 +00:00
ehouse
e8f2215221 Turn on BT so 4.3a4 can have a non-M rev number; up version for 4.2. 2007-02-03 20:36:22 +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
e6ec790305 eType_2str replaces logEvent. Only effects debug builds. 2007-02-03 17:41:46 +00:00
ehouse
1fb61d9a7f don't set INITIALOBJECTID for main form 2007-02-03 17:39:48 +00:00
ehouse
83a25455bb Fix Zodiac-only bug: printing keys generate only keyDown event, so
must use different handler than for nav keys; fix treo bug where forms
brought up during key handling get spurious key events by adding
keySafeCustomAlert that consumes up to the first keyDown before
calling FrmCustomAlert.
2007-02-03 17:36:56 +00:00
ehouse
3f111c5657 name change only: Connectedness becomes DeviceRole 2007-02-02 08:34:37 +00:00
ehouse
b2f3e73672 Don't make any btlib calls until the main form is up. This works
around an (OS?) bug where, apparently, the confirm-turn-on-bt dialog
eats pending events, including frmLoadEvent, so that the form never
loads or is very broken if that dialog is allowed to come up too
early.
2007-02-02 08:24:06 +00:00
ehouse
ad77b04766 When role changes from client, where only local players are shown, to
host or standalone where all are shown, change the number shown
appropriately.  The goal is to make the experience natural,
particularly for the common case where the players aren't changing.
Give up once user manually changes number shown.
2007-02-02 08:15:07 +00:00
ehouse
c2d67e16da debugging: add custom events to logEvent 2007-02-02 08:11:42 +00:00
ehouse
f441b22e78 cleanup: only one return per function. 2007-02-02 08:11:14 +00:00
ehouse
599b43ab78 Y counts as a vowel when removing non-words. 2007-01-30 04:53:32 +00:00
ehouse
aaeb58e993 Remove excess logging 2007-01-27 15:12:13 +00:00
ehouse
9d74699181 Work around what looks like a PalmOS bug that generates a spurious
keyDown event to a form put up while processing a keyUp event in the
main form: set a flag while handling key events, and drop the first
keyDown in child forms when it's set.
2007-01-27 15:10:10 +00:00
ehouse
f56b170b2a cleanup. No change in generated code. 2007-01-27 15:07:02 +00:00
ehouse
1486c764fb use varargs for LOG_RETURNF macro 2007-01-27 15:04:57 +00:00
ehouse
1890fcac6b forward declaration stops compiler warning 2007-01-27 15:04:19 +00:00
ehouse
ebeefe457f check and flip before hiliting cells. Fixes bug with feedback on hint
search on flipped board.
2007-01-23 04:09:26 +00:00
ehouse
0313a89553 Test and special-case for zodiac, which gets events in the same way
has Treo but doesn't have OS support for moving focus among objects.
And since zodiac doesn't support the std Palm hires APIs don't try to
use them.  Up version string to b4.
2007-01-21 23:27:46 +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
15acf8c8bb When scrolling a focussed board, inval everything. Otherwise border
cells scroll into the center drawn as border.
2007-01-21 18:05:25 +00:00
ehouse
6ed6fe4976 Change how flip works, keeping board data like invalFlags and limits
in sync with the board rather than the model and flipping coordinates
only in time to access the model or pass to engine.  With that done,
drawing can skip any rows scrolled off-screen, and the board's
perimeter focus rect can be drawn and invalidated correctly on a
flipped, scrolled screen: zodiac, eventually.
2007-01-21 06:21:12 +00:00
ehouse
45ad5bc5df Fix drawing highlighted cells on perimeter. 2007-01-20 04:30:02 +00:00
ehouse
0b68a917f7 preliminary addition of xplatform-only focus, esp drawing of cursor
and handling of arrow keys via WM_KEYUP; added focus/cursor color to
prefs and color edit dialog.  Tested only on win32 (WINE), and not
integrated with platform nav/focus model.
2007-01-19 08:24:02 +00:00
ehouse
2fabf70396 use new perimeter feature and conditionally replace manual board
framing with it.  Off for now.
2007-01-19 08:22:14 +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
0a426b0876 Get rid of draw_eraseMiniWindow: just inval what's under it; make use
of CELL_ISCURSOR consistent: when focus not dived all elements have it
set (or only perimeter for board, settable at compile time); get rid
of draw_drawCursor since CELL_ISCURSOR is all that's needed;
2007-01-19 08:20:11 +00:00
ehouse
e9871b1fb6 change constant names. No change to code compiled. 2007-01-19 06:43:52 +00:00
ehouse
68730379b4 add five-way support for Tungstens; don't move cursor when keys are
meant for menu; redraw after hiding miniwindow when OS brings up
dialog;
2007-01-18 05:49:54 +00:00
ehouse
d350151659 remove code to save bits behind miniwindow 2007-01-18 05:49:07 +00:00
ehouse
c01615e86b reintroduce board_handleKey 2007-01-18 02:42:37 +00:00
ehouse
5decd9bbf3 run svnversion on parent to catch changes in common or other shared dirs 2007-01-16 02:48:27 +00:00
ehouse
c02c3fec17 Set focusHasDived before invalidating so newly focussed object drawn correctly. 2007-01-16 02:42:58 +00:00
ehouse
1afe502436 Fix bugs in recent focus/key changes. 2007-01-12 03:37:30 +00:00
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