ehouse
89edef9c18
change API for drawing divider so it can be focussed as well as
...
selected. Being using that information in palm and wince. For GTK,
use color rather than ugly black rects to indicate focus.
2008-07-17 05:03:01 +00:00
ehouse
2923f301a5
Fix cosmetic problems when changing focus and board overlaps tray.
...
The goal is to have the tray drawn on top, even if it's otherwise
hidden, when the whole thing's focussed. Fix is to inval and
recalculate rects more often as focus changes or tray is hidden.
2008-06-07 23:14:26 +00:00
ehouse
0b5ad41899
Fix crasher: don't start a board-scroll operation and attempt to end
...
by dropping a tile. (This part is to detect that no drag actuall happened.)
2008-06-07 23:07:31 +00:00
ehouse
087a05dd6a
Fix crasher: don't start a board-scroll operation and attempt to end
...
by dropping a tile.
2008-06-07 23:05:54 +00:00
ehouse
e60d338488
Remove all tabs. No code changes.
2008-05-31 03:26:16 +00:00
ehouse
d053f0731f
Fix so curses-only builds and curses build doesn't segfault.
2008-05-26 00:27:48 +00:00
ehouse
ca7c14128a
fix bug: don't advance arrow if unable to move tile to board (introduced with recent tile index changes)
2008-05-24 16:21:03 +00:00
ehouse
73e0313263
Fix bug that number key tries to move tile to board even during trade.
...
Generalize use of number to select tile in tray so that during trade
keys will toggle selected tiles. Letters too.
2008-05-19 01:18:43 +00:00
ehouse
1d5446bfdf
Trying to give smartphone users way to use keypad to move tiles to
...
board. Enabling key-to-text works, but constants to turn it off
aren't in cegcc. So for b2 add a quick hack where 1 means first tile
in tray, 7 means last (rightmost). Enable and test on gtk.
2008-05-11 20:29:43 +00:00
ehouse
465daf0a15
While tap on draggable tile should not return it to tray, return-key on same tile should.
...
That's the only way to return a single tile on smartphone.
2008-05-11 16:20:37 +00:00
ehouse
83c6abdfae
A bit of cleanup; no code change.
2008-05-11 15:23:22 +00:00
ehouse
8a6df572ae
add some consts.
2008-05-06 12:49:37 +00:00
ehouse
d57c0f69a4
redraw tray (if dirty) even if hidden. On wince at least this
...
prevents the bottoms of the tiles from peeking out from under a
partially obscuring board, giving away information. In cases where
the board completely hides the tray this is unnecessary, but making
that optimiztion can come later. This is a bug.
2008-04-14 01:31:53 +00:00
ehouse
f1ec47aa93
force miniwindow entirely onto board even if natural position is on
...
tray; fix overdrawing onto miniwindow by making timer proc return a
boolean and only redrawing (on wince) when it's true.
2008-04-12 15:36:31 +00:00
ehouse
72457bf28c
add ability to scroll the board by dragging it. add new method
...
util_altKeyDown to allow user to choose between scrolling board and
dragging the hint rect when both are possible. add adjustYOffset;
make it and board_setYOffset more tolerant of out-of-bounds inputs and
use that to simplify calling code.
2008-04-08 03:55:53 +00:00
ehouse
120592324a
remove excessive logging
2008-04-02 03:50:55 +00:00
ehouse
f1c8dd6190
Implement scrolling during drag via timer rather than by counting on
...
getting notified when pen is dragged off the board. The latter won't
happen if the board is up against the edge of the screen.
2008-03-29 20:23:27 +00:00
ehouse
12be76bac4
If search limits in use, try vertical as well as horizontal initial moves.
2008-03-29 19:40:03 +00:00
ehouse
61272a3a7e
add assertions that formatted string returned fit within the provided space.
2008-03-23 19:14:20 +00:00
ehouse
ffd7dffd27
When scrolling in response to a drag, invalidate under the tile both
...
before and after the scroll. Otherwise on platforms where scrolling
is via a bitmove the old position gets scrolled away and never redrawn
leaving ghost tile parts lying around.
2008-03-15 14:00:05 +00:00
ehouse
ddafe8b97a
Indicate empty cell with CELL_ISEMPTY rather than an empty string; fix
...
palm to not draw star on top of placed tile.
2008-03-14 09:36:42 +00:00
ehouse
88ef41af15
rewrite invalCellsUnderRect to be less stupid: start from rect passed
...
in rather than whole board.
2008-03-14 09:20:26 +00:00
ehouse
8f7d120b8c
Remove commented-out field. (Forgot to save before checking in....)
2008-03-13 12:43:33 +00:00
ehouse
3dbf026372
fold hint-region-drag into dragdrpp, saving a bunch of code and
...
gaining scrolling during drag on small screens.
2008-03-13 12:23:22 +00:00
ehouse
93a621c65c
fix crash: check that tile exists before removing
2008-03-12 12:21:23 +00:00
ehouse
0f18efb925
Make function static
2008-03-11 12:28:57 +00:00
ehouse
20ea57cf77
Fix errors, all in debug-only code, flagged by __attribute__ format addition.
2008-03-11 12:24:23 +00:00
ehouse
1eb2933d49
Don't return tile to tray on a simple tap when drag-drop is available; move
...
function between files.
2008-03-11 12:22:10 +00:00
ehouse
0988159795
add owner param to drawTileMidDrag so can color tiles correctly
2008-03-11 11:48:53 +00:00
ehouse
42e10c2ac2
invalidate divider when first touched so that it's drawn in-drag immediately.
2008-03-10 00:49:06 +00:00
ehouse
da665d1bc9
add dragdrpp.{c,h}, since apparently merging doesn't include svn adding
2008-03-08 23:19:04 +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
7b11fa228b
make new turnChanged notification compile-time conditional
2008-02-27 05:43:27 +00:00
ehouse
497e5beb76
remove dead code
2008-02-27 05:38:28 +00:00
ehouse
93f95588d8
add and call util_turnChanged
2008-02-26 13:46:33 +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
62f95cdda1
fix compile warning
2008-02-16 17:09:21 +00:00
ehouse
642e6611db
Mark params unused in compiles for standalone; remove unused param.
2008-02-16 16:02:49 +00:00
ehouse
ff457236ef
Don't hide tray if there's only one player.
2008-02-16 15:53:00 +00:00
ehouse
df4c9fe442
Don't cast char array to long and write to it! Newer arm compilers
...
don't like this -- or maybe I was just lucky until now.
2008-02-04 06:13:11 +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
a05f869472
Fix to compile and run standalone
2008-01-19 16:04:48 +00:00
ehouse
bf5a1f1487
Log unusual case.
2008-01-07 01:19:47 +00:00
ehouse
0c459e007d
Error code used with method to check consistency of BT address.
2008-01-07 01:11:29 +00:00
ehouse
880fb716c6
Unify lookup by address and by channelNo; add method to check consistency of BT address.
2008-01-07 01:10:43 +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
d658c29c88
test for duplicate initial client message and if so drop it; add const keyword; add assertion in addr comparion in attempt to learn why duplicates are getting through.
2007-12-31 20:00:13 +00:00
ehouse
a6e3df1ad4
draw hint borders wider on high-res devices so they're actually visible (part 2)
2007-12-19 05:31:53 +00:00
ehouse
ef8a5d0b11
Make initial value of confirmBTConnect true.
2007-12-15 18:55:32 +00:00
ehouse
1872928530
Don't end game when player has no tiles left in tray but still
...
tentative tiles on board.
2007-12-14 13:25:40 +00:00
ehouse
c8bbfc5432
Instead of warning user on failure to connect via BT, add preference
...
to allow user to confirm before every attempt. Users will learn to
set this when T650s are in the mix. Save a new preference, and up the
stream version. Up beta version. Add the preference both to the prefs
dialog and to the bluetooth connection (for guest) dialog, with both
impacting the same field in gamePrefs.
2007-12-14 03:38:55 +00:00
ehouse
63ccaed46e
cleanup; replace a bunch of EvtAddEventToQueue calls with
...
postEmptyEvent; pass transport type with incoming packets so they can
be rejected if not on expected channel (to stop IR, which is always
on, from injecting into a BT game); do BT work and fire timers even
when menu is down; don't let robot run until after board is drawn for
the first time; on startup, don't let robot run until after board is
drawn once. Up version to b3.
2007-12-09 01:59:15 +00:00
ehouse
244e600afa
call util_addrChange prior to closing comms to fix crash moving from
...
BT to standalone game; add a couple of similar assertions; up beta
version.
2007-12-07 07:50:19 +00:00
ehouse
f70bdb54ae
Remove excessive focus logging; fix timer bug for BT by posting event so EvtGetEvent can exit
2007-12-06 05:26:44 +00:00
ehouse
3a85db7b38
Rewrite of checkIncomingStream to be cleaner and fix bug with initial messages getting dropped
...
while heartbeat feature was enabled. Fixed the problem on Linux, but experience on Treo650
is still better without HB feature, so turning it off on Palm. This seems ready for beta,
but will test a bit more.
2007-12-05 06:33:37 +00:00
ehouse
036294a42e
Comments only.
2007-12-05 06:31:30 +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
0d5543b28f
Fix dialog title; send heartbeat based on when connected even if no
...
messages yet received; reset bt connection on palm in two stages;
remove unused param. Change version number for beta.
2007-12-03 01:20:32 +00:00
ehouse
bd1222f2dc
Fix bug showing remote/robot moves only on host to include client too.
2007-12-02 22:07:24 +00:00
ehouse
b527110379
replace all __FUNCTION__ with __func__
2007-12-02 19:13:25 +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
4e335550a7
Add file and line number to debug version of realloc and free.
2007-11-22 05:04:40 +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
9f1d02c7cd
Byte-swap psm field to callback on ARM: now both client and host work. Move SDP-related constants out where linux can use too.
2007-11-03 22:04:06 +00:00
ehouse
302abd3be5
fix log_hex to print nibbles in right order.
2007-09-27 02:56:35 +00:00
ehouse
e5d5584a04
add logging to help catch a recurring assertion
2007-09-15 13:46:59 +00:00
ehouse
4aa1f8188b
reset in/out var before each call to util_askPassword
2007-06-10 14:54:47 +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
41b81f463e
Hide tray on turn transitions when more than one non-robot local player present in game.
2007-05-20 20:46:29 +00:00
ehouse
7795068a40
Fix bug where arrow gets placed in wrong cell when tapping on tentative tiles to remove them while board is flipped.
2007-05-18 04:09:10 +00:00
ehouse
b78dfc9d61
Up version for ship; build LocalizedStrIncludes.h per-platform;
...
include language in all platform obj directory names
2007-05-13 21:06:42 +00:00
ehouse
2f52acd5e6
cleanup (no change to generated code): remove old owner_hash code; replace empty formal lists with void.
2007-04-14 16:27:19 +00:00
ehouse
69912147de
When showing cell values, also show tile values if the don't-show tile values preference is set.
2007-04-06 01:41:16 +00:00
ehouse
ef4d986a45
fix bug where arrow replaces tile at edge of board by returning false
...
from figureNextLoc unless an empty space found.
2007-04-03 03:36:14 +00:00
ehouse
0b9f77d4c0
Don't call comms_start while opening game. Caller may still consider
...
another game open.
2007-03-18 23:55:58 +00:00
ehouse
f1cda6dad4
What I meant to check in. Need to save first....
2007-03-18 23:38:53 +00:00
ehouse
da551e1177
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
6dc75914a6
turn stringFromStream into macro to aid logging for leak detection. Debug builds only effected.
2007-03-18 23:31:51 +00:00
ehouse
5f75dfe213
define XW_PSM in accord with palm guidelines. Doesn't seem to matter...
2007-03-17 15:33:16 +00:00
ehouse
21e5e3ad23
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
80efa73a50
Cleanup: compile warning and to make logging easier.
2007-02-08 15:17:23 +00:00
ehouse
51f726ddcf
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
a7313b1e30
Fix linked-list bug in removeFromQueue.
2007-02-07 11:58:01 +00:00
ehouse
a762f27846
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
e6315e118f
enable juggle button after role change
2007-02-06 05:47:20 +00:00
ehouse
6af89b4182
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
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
13429bccd7
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
24a885918d
cleanup: only one return per function.
2007-02-02 08:11:14 +00:00
ehouse
c045c6503a
cleanup. No change in generated code.
2007-01-27 15:07:02 +00:00
ehouse
61a3e7835f
use varargs for LOG_RETURNF macro
2007-01-27 15:04:57 +00:00
ehouse
5349598984
forward declaration stops compiler warning
2007-01-27 15:04:19 +00:00
ehouse
b9e31acf6e
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
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
73bc1925fd
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
3d318b679c
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
c5fe2a7589
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