Andy2
ac6dc400ce
add board_canHint
2010-07-07 18:47:02 -07:00
Andy2
c98451c62a
remove excess logging
2010-07-07 06:50:47 -07:00
Andy2
a7c77785f6
return false if no move found -- to really fix the crash
2010-07-07 06:40:34 -07:00
Andy2
5725f36db8
detect when no moves found that meet criteria to fix (I think) crash
...
when iterating from highest to lowest move using prevMove.
2010-07-07 06:33:01 -07:00
Andy2
992f45e1bf
new feature: previous move. Modify engine to traverse the set of all
...
possible moves in either order both within a cached subset and when
building cached subsets. Still a bit buggy (shows the same move twice
when moving backwards and reaches the top-scoring move) and not well
tested.
2010-07-07 05:27:57 -07:00
Andy2
5f92491ca3
add and implement board_canTogglePending
2010-07-03 11:38:37 -07:00
Andy2
d44b9907cf
save redoable pending tiles -- and up stream version since format's
...
changed
2010-07-03 11:25:01 -07:00
Andy2
57e246da3b
handle blanks as well in redo of undone pending tiles
2010-07-02 22:44:50 -07:00
Andy2
f77cf0e23d
add board_redoReplacedTiles and model_redoPendingTiles. The latter
...
works as long as no blanks are involved. And new state isn't being
saved so will be lost unless format changed.
2010-07-02 18:52:55 -07:00
Andy2
491cfe7616
add board_canShuffle and implement
2010-07-01 18:55:49 -07:00
Andy2
43c34aa466
add board_canFlip and model_canFlip -- which seem to work though
...
there's no test that when a single tile is on the board it's not in
the middle. Sue me.
2010-06-30 20:25:34 -07:00
Andy2
953b2bcc55
cleanup; allow setting NUM_SAVED_ENGINE_MOVES per-platform
2010-06-28 21:08:13 -07:00
Andy2
0c852981e7
make zoomBy param passed to board_zoom give distance rather than just
...
direction.
2010-06-27 13:12:30 -07:00
Andy2
80aa22b2d1
add common prefs field sortNewTiles and way to set on linux cmdline
2010-06-17 18:10:32 -07:00
Andy2
e0dd3701a0
Add model_sortTiles(); use it; fix some comments and const decls.
...
Sorting always happens now when tiles added; needs to be based on a
preference.
2010-06-17 06:43:16 -07:00
Eric House
34ecac303a
make optional and then turn off feature whereby tap in empty part of
...
tray undoes current move. It's too easy to hit this on a capacitive
display.
2010-06-06 13:32:12 -07:00
eehouse
f514717428
Change board_zoom to indicate direction only of zoom, not number of
...
cols. When figuring internal dimensions zoom out as needed to meet
maxSize value. This fixes problem where rotating a zoomed portrait
board to landscape leaves cells bigger than they can be made by
zooming, but then the desired zoom has been changed and stored and so
on return to portrait cells are smaller/less zoomed. Need to see if I
can live with that.
2010-06-05 03:40:23 +00:00
eehouse
ea6166f8c7
add comms_resetSame that resets relay with existing params.
2010-06-05 03:39:16 +00:00
eehouse
a80d874e9d
change api for board_zoom and change callers. No effect on java and
...
no behavior change.
2010-06-05 03:39:06 +00:00
eehouse
9af9df884b
use same logic to decide to zoom and to report whether can zoom next
...
time. Fixes bug preventing + button from greying out when fully
zoomed in.
2010-06-05 03:38:49 +00:00
eehouse
1f246d20a3
oops. Fix assertion by not stopping dragging unless it's been
...
started.
2010-06-04 03:47:56 +00:00
eehouse
57013a9267
stop dragging before putting up miniwindow. This allows to drag
...
finger off of bonus hint just displayed without scrolling the screen.
2010-06-04 03:47:46 +00:00
eehouse
628f8d9cf3
don't zoom in if doing so will make cells larger than the limit passed
...
in.
2010-06-03 04:57:11 +00:00
eehouse
4f16eee1b6
pass maxCellSize into board_setPos, and use it as limit in calculating
...
whether any further zooming is possible.
2010-06-02 04:58:32 +00:00
eehouse
f5ac51ae73
fix crash using older dict by using current stream version rather than
...
one from before gameSeconds was being preserved in the stream by
write_gi code. I fixed this on a branch a week ago as well, so look
for a merge glitch. Need now to confirm that I'm sending char lists
in initial connect message in the right (null-separated utf8) format.
2010-05-28 02:31:13 +00:00
eehouse
4ce0a30b2d
save gameSeconds even if timer not enabled. Means stream version change.
2010-05-14 12:42:53 +00:00
eehouse
c79b3e2395
make draw_scoreBegin return a boolean like the other two draw_*Begin
...
methods
2010-05-12 11:51:14 +00:00
ehouse
71110a195d
for some reason on wince coords are passed to coordToCell() that are
...
above/left of the board firing an assertion. return false to indicate
not on board but don't assert.
2010-04-24 03:51:39 +00:00
eehouse
166c1ac779
make coordToCell() more inclusive to match pointOnSomething(), otherwise
...
the latter says a point is on the board and the former can't assign it
a row.
2010-04-23 09:35:15 +00:00
eehouse
a07cdd8513
limit depth of zoom further
2010-04-17 04:16:17 +00:00
eehouse
da2cfa5934
changes (commited earlier but now somehow missing) putting
...
scroll-related fields into a struct so vertical and horizontal can be
handled by the same code; add to board_zoom out params indicating
whether further zooming is possible.
2010-04-15 02:15:50 +00:00
eehouse
339fc5a9e6
don't zoom down below two cells so we can still drag-scroll
2010-04-08 04:15:33 +00:00
eehouse
41b29c9ba3
distribute extra pixels evenly, with extras one each at the beginning
...
of the arrays.
2010-04-08 04:15:25 +00:00
eehouse
d01a30d1be
adjust yOffset same as x so we zoom in toward center; reduce xOffset
...
when zoom out makes it too big.
2010-04-08 04:15:16 +00:00
eehouse
a87ecf5638
pass vScale and hScale into draw_boardBegin so platform can use same
...
size font for all cells regardless of size; fix scrolling to pass
actual sum of the disappearing rows' heights.
2010-04-08 04:14:55 +00:00
eehouse
5922d8c96a
fix coordToCell to return false when cell off board -- to fix bug
...
where blank tiles were drawn on top of tray area when scrolled down
there.
2010-04-08 04:14:42 +00:00
eehouse
774d3f8a13
copyright change
2010-04-08 04:14:34 +00:00
eehouse
b1ed0200cc
stretch rows to fill space given by platform: they don't have to be square.
2010-04-08 04:14:22 +00:00
eehouse
d263b47a56
lots of changes, still rough, to allow zooming in and out on board.
...
Includes ability to scroll horizontally by dragging. Board init API
changes to specify board width and max height instead of cell
dimensions, so now board owns task of picking cell size. If the
number of cells does not evenly divide into a board dimension then the
extra pixels are distributed among some columns/rows in a way that
still allows bitblit-based scroll implementations (though horizontal
scrolling at this point always does an invalAll()). Not yet tested
with overlapping tray. And still need to allow rows to be taller than
cols are wide if platform code has given the space. Stream format
changes with this checkin.
2010-04-08 04:14:14 +00:00
eehouse
9b955ae770
resendAll on REconnect as well as connect since it doesn't otherwise
...
seem to get done.
2010-03-28 16:09:34 +00:00
eehouse
55abf1116b
get relay port from prefs and pass into jni
2010-03-25 04:50:19 +00:00
eehouse
786541e9ae
pass default hostname in from platform code rather than compiling it
...
into jni; in java pull it from preferences and pass into jni.
2010-03-21 03:12:58 +00:00
eehouse
05f7da8c33
ignore more
2010-03-14 16:25:27 +00:00
eehouse
ef15f50edf
add model_getNMoves
2010-03-13 23:09:53 +00:00
eehouse
47387990e9
represent mid-drag tiles on the board as pending -- usually drawn
...
inverted by platforms -- since that's how they'll look once they drop.
Inverted color is easier to follow too.
2010-03-08 06:12:01 +00:00
eehouse
3b94642e3d
don't consider specials that are blanks to be bitmap-backed tiles.
...
This prevents the board from passing an array of empty bitmaps into
draw code which in turn allows platform code to be less defensive.
2010-03-08 06:11:42 +00:00
eehouse
ec24df8546
include any mid-drag tile, if it's a blank, in the set of blank tiles
...
rendered in the second pass. Mid-drag tiles were not being rendered
if they happened to be blanks.
2010-03-08 06:10:37 +00:00
eehouse
b6a151a7e8
don't adjust y upward if divider's being dragged -- should be tiles
...
only. Fixes bug where divider can't be dragged unless grabbed low or
started quickly.
2010-02-27 18:04:40 +00:00
eehouse
6d1c09e756
fix compile errors introduced by addition of const
2010-02-27 18:03:22 +00:00
eehouse
b52c9f0d14
Fixes bug found by alpha tester by dragging third tile to left of
...
divider. Inval all tiles when a drag ends off any managed space. We
don't know what tiles have already been moved, and when it's returned
to its initial spot may appear a dup.
2010-02-27 18:03:15 +00:00
eehouse
eb3d0308e0
add const
2010-02-24 04:34:22 +00:00
eehouse
8b84bdf56e
Once user has rejected a bad word, don't ask about any later ones as
...
the whole turn's being rejected. Should be merged to trunk.
2010-02-24 04:29:00 +00:00
eehouse
ae63c16473
add some .gitignore files
2010-02-24 04:28:34 +00:00
eehouse
c6b28e9416
turned on -Wall and fixed errors/warnings it reported
2010-02-12 07:13:42 +00:00
eehouse
587159f5d7
fix to compile when XWFEATURE_SEARCHLIMIT off. Same as rev 3023 for
...
this file.
2010-02-12 07:12:30 +00:00
eehouse
fc2e87e0c4
drop client connection when in the wrong state rather than asserting.
2010-02-11 13:29:28 +00:00
eehouse
bd611bb6f4
implement dictChanged. And so that utf8 dicts could be opened without
...
their games being drawn (no BoardActivity around) break the two
android-only callbacks out of UtilCtxt and into a new JNIUtils
interface that then requires new handing in C.
2010-02-11 13:27:09 +00:00
eehouse
37646c20f3
accomodate null objects
2010-02-09 14:42:07 +00:00
eehouse
967ba62dff
Fix to compile on Palm (68K): remove parameters removed by r3013 and
...
move slot moved by r2982. Fix -- with gross ifdefs -- warning in
pool.c caused by Palm's random() being the only 16-bit one.
2010-02-01 03:17:46 +00:00
eehouse
9f250c99ef
get rid of gameID param. This change breaks all other platforms...
2010-01-31 21:35:07 +00:00
eehouse
41472c4984
assert have at least one remote player
2010-01-31 21:13:31 +00:00
ehouse
874ef7e571
use top 16 bits of random in picking tiles. Seems to give better
...
results on android; will need to test with other platforms before
merging.
2010-01-26 14:51:00 +00:00
ehouse
4425eaa99e
move showColors into CommonPrefs, removing separate storage in linux
...
and wince and removing setter from board and jni APIs. Palm change
pending.
2010-01-26 04:14:18 +00:00
ehouse
b3dba204c6
fix compile warning
2010-01-26 04:03:21 +00:00
ehouse
1073a98f9f
add dragDropSetAdd which causes mid-drag tiles to be treated as if
...
they're 2/3 their height higher. Meant to work better on touchscreens
where finger would otherwise prevent user from seeing where the drop
will land. Still not tested or tuned on device.
2010-01-25 00:19:54 +00:00
ehouse
08017179c5
fix bogus assertion
2010-01-20 05:52:13 +00:00
ehouse
a7d4d20998
Sanity check yOffset. Fixes problem where a scrolled board in
...
landscape mode is displayed in portrait with the top rows missing
though no scrolling should be needed.
2010-01-15 13:51:29 +00:00
ehouse
3beba51b6f
add jni methods, and modify common code, so a CurGameInfo struct alone
...
can be read from and stored to a game file.
2010-01-15 13:44:29 +00:00
ehouse
3db30a2995
increase bits stored for yOffset to 4 in case whole thing scrolled.
2010-01-07 14:47:01 +00:00
eehouse
c7729ca25c
add a calloc to mempool
2010-01-02 01:42:07 +00:00
eehouse
b5e1e3a2c6
add assert -- unset numPlayers trashed stack
2010-01-02 01:41:12 +00:00
eehouse
a6e6e2b05c
fix stubbed dict support
2010-01-02 01:40:25 +00:00
ehouse
8450c9da2b
New callback called on first connect to relay and on first ALLHERE
...
message so users can see progress. Handle new relay message ALLBACK
meaning "ALLHERE but not for the first time".
2009-12-14 04:03:17 +00:00
ehouse
14b060707f
Report relay connection denials due to misordering out to platform,
...
and refuse to connect again until comms has been reset. This goes
with platform code to put up the new game/conns dialogs on disconnect
errors.
2009-12-04 08:14:03 +00:00
ehouse
7fbd2bed45
Fix to compile when RELAY feature disabled
2009-11-22 18:00:20 +00:00
ehouse
5ab3425377
allow default relay port, like name, to be set at compile time
2009-11-22 16:30:20 +00:00
ehouse
3d6b43f032
fix palm and palm-arm compile problems including using changed APIs.
2009-11-19 02:22:32 +00:00
ehouse
3eadd93aa6
Pass scores and remaining tiles count to draw_scoreBegin so can
...
determine font size based on max length. API change.
2009-11-18 13:24:56 +00:00
ehouse
7966f20829
for REM rect too place innerRect centered in outerRect
2009-11-15 15:45:50 +00:00
ehouse
4025c37604
Make "Room 1" the default room name.
2009-11-09 00:03:43 +00:00
ehouse
f6fb019732
Send to relay if connected, even if not all hosts present. And detect
...
duplicate initial packets a bit better. This change goes with the
next checkin on the relay side: move to modified store-and-forward so
devices can connect at different times once the game is established.
2009-11-08 21:30:13 +00:00
ehouse
a61d01c5ff
add new global preference that allows turning off confirmation dialog
...
after each turn. Meant to fix ID: 2735517 feature request on sf.net.
2009-11-08 17:00:20 +00:00
ehouse
3bdfda6548
Make it possible for multiple games to connect using the same room
...
name. All new connections are stored together, and after each
connection an attempt is made to build one complete game with a host
and however many guests. All remaining devices are moved into a new
pending record in the same state, and the completed game is treated as
always. Seems to work, though nearly 20% of linux instances are
failing to connect the relay run from the new test script samename.sh.
Need to figure out why.
Also added logging of seed and connname to comms.c since games
launched together can no longer be certain to connect on the relay.
This allows the test script to identify joined games from their logs
and detect success or failure.
This checkin changes the relay protocol, so relay and clients will
both need to be upgraded.
2009-11-02 01:01:47 +00:00
ehouse
27c518dec4
When tray's hidden you can't see that you're in trade mode. So try
...
revealing the tray (and so showing the mode) before aborting trade
request due to being in trade mode.
2009-10-25 00:23:00 +00:00
ehouse
85da3d2082
add parens for clarity
2009-10-24 14:50:23 +00:00
ehouse
1fa8b2e48f
remove unused param (not even compiled on Palm); on wince, try to
...
duplicate for timer the vertical offset used for scores.
2009-10-16 03:20:39 +00:00
ehouse
e7f476c13e
format last player whose turn it is, and track remaining space, so
...
platform code can include the name as a turn indicator.
2009-10-15 12:38:47 +00:00
ehouse
dde7cfa9b1
add a const
2009-10-15 12:37:42 +00:00
ehouse
1fba7d7ef6
add a couple of consts
2009-10-01 04:09:46 +00:00
ehouse
b24cab9af3
Just enough changes to get compiling on Palm again: seems to work
...
against the relay! Begin process of displaying relay status via icon
reusing BT's spot.
2009-09-27 16:33:36 +00:00
ehouse
0e43675abf
Address problems matching [re]connections to games: first, go back to
...
setting connName when all in a game are present. Second, have every
host include in connections a random number. That number is made part
of the connName and in general used to test whether a host belongs in
a particular game. Add this "seed" to web interface. Means new
versions for relay protocol and game stream format. Latter is handled
correctly so older games can be opened.
2009-09-26 14:37:49 +00:00
ehouse
edde3e2fd5
cleanup
2009-09-26 14:33:52 +00:00
ehouse
881639c230
fix null ptr exception using null engine. Logic error was not exposed
...
earlier because except in multi-device game the UI would not allow you
to ask an engine-less robot player for a hint.
2009-09-25 10:17:35 +00:00
ehouse
ef8c85734e
don't send on disconnect unless connected
2009-09-22 03:50:37 +00:00
ehouse
a13e1d6488
add util_clearTimer, implement on all platforms, and call when closing
...
comms to fix crash on Wince when timer fired after comms had been
deleted. The closure stored and passed in was no longer a valid ptr.
2009-09-21 12:49:08 +00:00
ehouse
a91fd28773
fix some warnings when building linux client without debugging but
...
with warnings as errors.
2009-09-20 21:51:29 +00:00
ehouse
e8b372c274
fix more release build unused var warnings
2009-09-20 21:11:58 +00:00
ehouse
250e223a20
add bqRemoveAll
2009-09-19 21:28:07 +00:00
ehouse
18e9301e87
rename Cookie to Invite, a change that may change. Rename everywhere
...
in clients but not in relay where cookie is too pervasive. (There are
no code changes in this checkin.)
2009-09-14 03:11:11 +00:00
ehouse
6603949b0e
Fix bug where device quitting one game to start another with same
...
cookie winds up connecting to the old game -- by flagging a cref as
full and no longer accepting connections without connNames even when
in the MISSING state. Required a protocol changes so that devices get
their connNames as early as possible.
2009-09-14 01:55:03 +00:00
ehouse
535e97b855
replace array of indices with array of ptrs for faster & smaller code
2009-09-13 05:28:12 +00:00
ehouse
49ac5d10a2
fix lookup of "special" char strings: Spanish and Catalan apparently
...
displayed properly since I merged the unicode changes in.
2009-09-13 04:57:44 +00:00
ehouse
6c4b991566
Modify comms and games APIs so single struct of callbacks is passed
...
instead of multiple callbacks; add callback called when relay state
changes; adapt linux and palm clients to new API. (Wince changes
pending.)
2009-09-12 21:39:13 +00:00
ehouse
86b560c441
fix to compile on palm: accomodate old compiler and new dict struct
...
fields. Network play against relay works!
2009-09-12 15:35:03 +00:00
ehouse
e8825e119c
add comment re: stream format non-change for utf-8
2009-09-05 13:14:42 +00:00
ehouse
615603b66b
Add define set to number of conn types compiled in; use it to compile
...
out conn type choice where there's only one (none to be made). Refuse
to dismiss conns dialog when cookie not chosen.
2009-09-05 13:08:46 +00:00
ehouse
3a1c2572dd
Merge in unicode changes to read in utf-8 dictionary format
2009-09-04 12:30:10 +00:00
ehouse
188eea4646
Try again if fail to connect to relay.
2009-08-30 15:25:13 +00:00
ehouse
6a36c045b6
fix wince compile error
2009-08-29 13:06:48 +00:00
ehouse
dbf9daf71b
Fix problems reconnecting hosts where some but not all received the
...
ALLHERE message and connName: change relay protocol so cookie is
included in RECONNECT message, and hostIDs are not assigned until
ALLHERE, and change host-to-game matching to use connName first but
fall back to cookie. This fixes nearly all cases failing to reconnect
after relay goes down.
2009-08-21 12:00:09 +00:00
ehouse
e746e2bc5b
Fix assertion failures
2009-07-31 13:03:38 +00:00
ehouse
184a154c52
New feature, meant for testing relay, makes robot skip random number
...
of seconds within specified range before making a move. Working only
on gtk so far, and will probably never be used other than on linux
clients.
2009-07-09 12:43:51 +00:00
ehouse
76c0a518f1
change -j to -j3. No code change.
2009-04-14 03:27:32 +00:00
ehouse
9df574b6f6
Fix to compile (and so dicts are read into new internal format) on Palm.
2009-04-07 04:33:47 +00:00
ehouse
669e423ca8
Use new dict API to get rid of XP_UCHAR4 type, replacing with const XP_UCHAR*.
2009-04-07 04:23:56 +00:00
ehouse
7b5259a5c0
Use simpler API (no behavior change; not utf-8 related).
2009-04-05 20:19:29 +00:00
ehouse
641ae18864
Use new dict api to support utf8 faces.
2009-04-05 19:20:22 +00:00
ehouse
9f6114fb9e
don't cast.
2009-04-05 19:18:47 +00:00
ehouse
96cfd7c7dd
New stream version: dict sent over wire has faces as utf8 (unless dict is not.)
2009-04-05 19:16:52 +00:00
ehouse
38a23ba74f
Begin changes for utf8 support (mostly from unicode_branch). Dict now
...
provides tiles as null-terminated const strings ptrs to which can be
passed and stored. They're utf8 strings. Old dicts still work,
platform must convert to utf8 on load.
2009-04-05 19:02:21 +00:00
ehouse
926f5963a3
rename only: stream_putString to stream_catString.
2009-03-29 18:26:59 +00:00
ehouse
d7eaa8e574
Add functions names to log statements.
2009-03-08 19:54:50 +00:00
ehouse
4e1155583f
Add support for a config button as a cleaner alternative to launching
...
comms config dialogs on changes to host type (which often involved
platform-specific hackery to trigger the dialog when user doesn't want
to change role)
2009-03-08 19:54:14 +00:00
ehouse
4909ae0137
Close down relay connection when comms going away. Fixes crashes when
...
new game is standalone and prev used relay. Add logging code in comms.
2009-03-06 13:43:03 +00:00
ehouse
213c66b391
Reset all relay-related variable on new game. Fixes bug where devices
...
couldn't switch roles or join a new game.
2009-02-28 19:27:45 +00:00
ehouse
61c07ba1a3
Make all of a non-server's players local.
2009-02-28 19:25:46 +00:00
ehouse
acb37fda4f
fix checkServerRole which was incorrectly counting players in client
...
case.
2009-02-28 19:25:08 +00:00
ehouse
21d4203fe2
Empty out queue and use existing code to re-add elems we want to keep.
...
Candidate for 4.2.
2009-02-28 16:11:09 +00:00
ehouse
9abb637330
assert queue ok after deleting. Candidate for moving to 4.2 branch if
...
to be used for Palm.
2009-02-28 15:06:12 +00:00
ehouse
233bf5ffde
Fix crasher: removing ACK'd messages left list in inconsistent state.
...
Candidate for moving to 4.2 branch if to be used for Palm.
2009-02-28 14:40:50 +00:00
ehouse
8d1289d3b7
Create type to hold array rather than passing array whose lenght is assumed.
2009-02-23 04:01:15 +00:00
ehouse
fb3d4cf2ba
Draw arrow only if inval bit set and cell is otherwise unoccupied.
...
Fixes wince bug where tile dragged onto arrow disappears. Should be
merged to 4.2 branch.
2009-02-14 16:23:18 +00:00
ehouse
b2acdbae91
Add simple helper for keeping a queue of buffers in a single array.
2009-02-09 02:44:58 +00:00
ehouse
43982e1a07
validate initial message correctly when comms heartbeat not being
...
used; improve logging.
2009-02-07 18:14:28 +00:00
ehouse
42b314966b
If platform doesn't provide a game id, use current seconds.
2009-02-07 18:12:46 +00:00
ehouse
46f72de960
new files into svn:ignore
2009-02-01 16:03:31 +00:00
ehouse
c672fcfafd
Make it possible to run same binary against relay with relay heartbeat
...
and direct with comms heartbeat. This mostly means changing ifdefs.
2009-02-01 15:50:58 +00:00
ehouse
3a643c51a4
cleanup; set locale based on ENV
2009-01-25 20:31:13 +00:00
ehouse
ac1a88f603
Add __func__ to what's tracked for allocation in debug builds
2009-01-18 16:37:44 +00:00
ehouse
c754726b0f
Don't pass valid bitmaps ptr when drawing blank tile.
2009-01-17 18:24:18 +00:00
ehouse
21f5f329a0
Get rid of bogus assert
2009-01-14 13:02:38 +00:00
ehouse
5505c435a2
Don't pass new bitmaps struct to draw code uninitialized
2009-01-14 12:51:55 +00:00
ehouse
6d7a81fce6
change draw api so all available bitmaps (only 2 in current format)
...
can be passed for tile and cell drawing
2009-01-13 12:57:56 +00:00
ehouse
abeb5376c0
Implement, with help from glib base64 source, routines to turn binary
...
into SMS-compatible strings and back. This should ensure that the
format is cross-platform.
2009-01-05 02:08:55 +00:00
ehouse
e570d692b5
cleanup. SMS, not BT, is the default conType for other than Palm.
2009-01-05 02:07:30 +00:00
ehouse
c731e0d231
Remove newlines from debug statements.
2009-01-05 01:59:04 +00:00
ehouse
e32e231dd5
New stream version makes standalone and multi-device build formats the
...
same so new Wince can open files saved by current version. Tweaks to
build with relay and heartbeat turned on.
2009-01-03 23:54:25 +00:00
ehouse
cefd69d8b3
Since there's now a flag indicating whether to show the value of a
...
tile, make value unsigned. Adjust/fix platforms. Add cmdline flag to
linux apps for hiding values.
2008-12-29 03:09:35 +00:00
ehouse
1755267d55
Add support to gtk app for tranport over "sms", with files containing
...
base64-encoded data as the messages. Make necessary changes to comms.
This is the foundation for doing real SMS transport on handhelds.
Currently a full robot game works for two gtk clients provided the
server is launched first.
2008-12-29 01:35:29 +00:00
ehouse
7e2f2fd38e
invalCellsUnderRect didn't work for rects not intersecting board; fix.
2008-12-16 05:30:25 +00:00
ehouse
13001301ec
Indicate tiles whose values should be hidden with a new bit rather
...
than a negative value.
2008-12-13 07:32:53 +00:00
ehouse
37518415ea
fix occasional crash: null-out ptrs after deleting what they point to.
2008-12-11 13:42:21 +00:00
ehouse
af1ca9af84
Quash some compile-time warnings. snprintf instead of sprintf.
2008-12-06 15:59:30 +00:00
ehouse
d3d3dd561f
Pass string for tile even when it has a bitmap. Let platform decide which to use.
2008-12-04 06:13:59 +00:00
ehouse
7ae7b91e40
When hideTileValues changes, inval all tray tiles.
2008-12-03 13:38:54 +00:00
ehouse
f8870da48f
Don't draw hint rect, or start drag to change it, if hints are disallowed.
2008-12-01 13:06:37 +00:00
ehouse
438be9dd2a
When tray overlaps board yet is hidden, should not be on top except
...
when focussed. Remember state before gained focus, and restore it
when loses.
2008-12-01 13:04:14 +00:00
ehouse
b78a46e110
When tray overlaps board yet is hidden, should not be on top except
...
when focussed. Remember state before gained focus, and restore it
when loses.
2008-12-01 13:03:42 +00:00
ehouse
ce2420840d
a bit of cleanup
2008-11-22 19:43:47 +00:00
ehouse
6e9f5791d6
Fix bug: when using hint limits to restrict first move on empty board
...
limits were ignored for the vertical search. Fix is to make
special-case treatment of first move more integrated so special limits
code isn't needed.
2008-11-22 19:32:42 +00:00
ehouse
542e441b69
hide focus when pen used, but remember where it was (don't set to
...
OBJ_NONE) so can replace it when focus keys used again.
2008-11-22 16:37:29 +00:00
ehouse
46b574b4e7
fix inval of focussed tile to take divider into account.
2008-11-20 05:12:48 +00:00
ehouse
d4bc42b0a1
add getters
2008-11-10 16:01:46 +00:00
ehouse
30df2166ab
Don't assert when unknown key seen; just ignore.
2008-11-08 16:19:04 +00:00
ehouse
5cb97bf636
New Ubuntu has a stricter compiler...
2008-11-06 03:16:09 +00:00
ehouse
93e615b44c
Don't skip over occupied tiles when moving cursor unless alt key is
...
down. Smartphone doesn't have an alt key, and this
simplier-to-understand behavior should be the default.
2008-11-02 03:43:33 +00:00
ehouse
4ff04dac84
When tray's not revealed, cursor should travel over all tiles to be
...
consistent with display of 7 tiles even if some are really on board.
2008-10-31 04:30:58 +00:00
ehouse
77d14163b1
track focus on Rem: region of scoreboard in addition to players' score
...
areas, pass into draw whether to show it highlighted, and fire a util
method when it's clicked on. Intent is that platforms show the
remaining tiles dialog.
2008-10-24 08:56:20 +00:00
ehouse
944789b14c
use three bits for scoreboard cursor in anticipate of making Rem selectable.
2008-10-21 03:19:54 +00:00
ehouse
c48f836fe7
back out 2245: having scrollbar be focusable is a better way of allowing scrolling than overloading cursor movement; scroll cursor onscreen when diving and it is off
2008-10-20 02:23:17 +00:00
ehouse
ac5bbced8f
mark debug-only formals and wrap in #defines to fix compile-time
...
warnings of clean wince build.
2008-10-11 17:58:43 +00:00
ehouse
a26f6ad658
flag unusued param to fix compile error; move code used only in
...
multi-device games inside ifdefs.
2008-10-11 17:30:35 +00:00
ehouse
bbe8cceb6e
debug changes: change defines to remove gremlin-only code; add missing constants.
2008-10-11 16:46:08 +00:00
ehouse
018be047ad
fix bug: need to reset engine when divider moved via keys as well as
...
when dragged.
2008-10-10 08:38:23 +00:00
ehouse
d7f17ecbe0
add function for logging location reached when debugging
2008-10-09 12:04:57 +00:00
ehouse
d1603aa543
Fix crash when switching to game with same-language dict: inform draw
...
even if tile sets the same since old is about to be destroyed.
2008-09-28 16:43:24 +00:00
ehouse
79ec57be8d
Bug: tap on hidden tray doesn't reveal it (likely new). Fix by always
...
reversing hidden tray on giving it focus and by finding tray to be
location of pen even when hidden (but only the part not under the
board.)
2008-09-27 16:59:04 +00:00
ehouse
63422f9c1d
When moving cursor within board, scroll board if it's possible to do
...
so, and only if it is not move the cursor (or if needed to keep it
visible after scroll.) This makes it easier for users to scroll --
but may not be needed if focussing scrolbar works.
2008-09-27 15:07:48 +00:00
ehouse
eb1f083a19
Require two key events to reveal tray and act on a tile; don't treat
...
divider as wider (to make it easier to tap on) when keyboard being
used to select.
2008-09-18 03:53:53 +00:00
ehouse
d2cb36029b
Had to comment out BLANKS_FIRST to compile new wince font code, so
...
assert that blank test catches only one tile per dict.
2008-09-09 12:20:09 +00:00
ehouse
61a3602dc5
Don't save dict as part of model. It's redundant as the platform code
...
already saves the name and passes the dict in.
2008-09-09 12:18:32 +00:00
ehouse
a1f3e3d174
call draw_dictChanged on load so draw can calc fonts immediately
2008-09-09 12:16:06 +00:00
ehouse
36627fb051
Add listeners to model so board can be notified whenever dictionary
...
changes. Pass dict into draw via new API, removing it from the
draw_begin calls.
2008-09-05 12:11:37 +00:00
ehouse
bd2eff236c
catch up with API changes. GTK to use this still needs to be fixed!
2008-08-30 13:54:47 +00:00
ehouse
5e6ba430fe
fix newg_attrChanged to exit quickly when there's no change
2008-08-27 12:09:30 +00:00
ehouse
07e7032c16
give serverRole a default value.
2008-08-27 12:08:07 +00:00
ehouse
454788ad04
better leak debugging
2008-07-28 05:05:39 +00:00
ehouse
6c5e3b7149
draw divider focussed when all of tray has focus
2008-07-28 05:04:34 +00:00
ehouse
0c751cc4d1
Add feature lost when five-way drag of divider became possible: don't
...
allow focus rect to stop on any empty tray slot but the leftmost.
2008-07-24 12:39:46 +00:00
ehouse
ac0a9f4ac5
Put up dialog when user asks for hint and the feature's disabled.
2008-07-24 12:37:05 +00:00
ehouse
fd805791e4
Quiet over-enthusiastic logging of state transitions.
2008-07-18 09:06:09 +00:00
ehouse
47088c8030
Return true on preflight for cursor move so will get called again.
...
Fixes tray nav on Palm.
2008-07-18 09:05:04 +00:00
ehouse
ab89d78ac8
selInfo can't be left null when board created, as selPlayer is 0.
...
Point at pti[0] to fix crasher.
2008-07-18 09:03:54 +00:00
ehouse
c20e85eccd
combine all per-player arrays in board into a single array of structs.
...
access can then be via a ptr, more effecient and faster. The change
seems to save 1K of generated code. No changes to algorithms, only to
field access.
2008-07-18 07:49:00 +00:00
ehouse
5422b82fd3
Implement new model for focus/tray interaction aimed at smartphones
...
with five-ways and no obvious alt key. Focus once dived into tray
moves over tiles *and* divider. Tap of center key toggles
selectedness of object under focus. Movement of focus when object is
selected drags the object (tile or divider) unless in trade mode.
This is easier to discover and behaves more like drag-and-drop -- and
lets you move the divider. Works for linux and win32. Key nav in
tray is broken on palm.
2008-07-17 05:16:09 +00:00
ehouse
0d44c26373
break board.c up so isn't too large for 68K on palm when compiled for
...
debugging.
2008-07-17 05:06:08 +00:00
ehouse
bc05761c4a
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
2ed08ac7da
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
2905af749e
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
183d5514ca
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
f749fdd560
Remove all tabs. No code changes.
2008-05-31 03:26:16 +00:00
ehouse
bd6aed4b5a
Fix so curses-only builds and curses build doesn't segfault.
2008-05-26 00:27:48 +00:00
ehouse
8fa530303a
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
6280129788
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
5502c3ef8b
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
290f505a98
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
1a2ce36bb0
A bit of cleanup; no code change.
2008-05-11 15:23:22 +00:00
ehouse
ebad668227
add some consts.
2008-05-06 12:49:37 +00:00
ehouse
6c81a63fce
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
c2fbb06438
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
ff254fcef4
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
97b8d81d40
remove excessive logging
2008-04-02 03:50:55 +00:00
ehouse
1e7bc3839b
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
1172502b04
If search limits in use, try vertical as well as horizontal initial moves.
2008-03-29 19:40:03 +00:00
ehouse
ed2452cbc2
add assertions that formatted string returned fit within the provided space.
2008-03-23 19:14:20 +00:00
ehouse
1de7ca6697
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
d3ce87b057
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
123923fd4b
rewrite invalCellsUnderRect to be less stupid: start from rect passed
...
in rather than whole board.
2008-03-14 09:20:26 +00:00
ehouse
cb22f01d2b
Remove commented-out field. (Forgot to save before checking in....)
2008-03-13 12:43:33 +00:00
ehouse
d00aa75a12
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
5c8756856d
fix crash: check that tile exists before removing
2008-03-12 12:21:23 +00:00
ehouse
6083142344
Make function static
2008-03-11 12:28:57 +00:00
ehouse
a3bc875191
Fix errors, all in debug-only code, flagged by __attribute__ format addition.
2008-03-11 12:24:23 +00:00
ehouse
4a6f07d1fa
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
355cfa9fcc
add owner param to drawTileMidDrag so can color tiles correctly
2008-03-11 11:48:53 +00:00
ehouse
c526d86a88
invalidate divider when first touched so that it's drawn in-drag immediately.
2008-03-10 00:49:06 +00:00
ehouse
193bc90a06
add dragdrpp.{c,h}, since apparently merging doesn't include svn adding
2008-03-08 23:19:04 +00:00
ehouse
0b1f4b8f0a
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
4c730be669
make new turnChanged notification compile-time conditional
2008-02-27 05:43:27 +00:00
ehouse
067c3c8cd0
remove dead code
2008-02-27 05:38:28 +00:00
ehouse
b397c30178
add and call util_turnChanged
2008-02-26 13:46:33 +00:00
ehouse
e6a485f653
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
3ec8ee536e
fix compile warning
2008-02-16 17:09:21 +00:00
ehouse
f3b8867518
Mark params unused in compiles for standalone; remove unused param.
2008-02-16 16:02:49 +00:00
ehouse
005694b0b1
Don't hide tray if there's only one player.
2008-02-16 15:53:00 +00:00
ehouse
1d61635ebd
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
6e715d63ee
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
f90b6d35e8
Fix to compile and run standalone
2008-01-19 16:04:48 +00:00
ehouse
b4f2df5eb5
Log unusual case.
2008-01-07 01:19:47 +00:00
ehouse
ff7a3bfe63
Error code used with method to check consistency of BT address.
2008-01-07 01:11:29 +00:00
ehouse
3374849111
Unify lookup by address and by channelNo; add method to check consistency of BT address.
2008-01-07 01:10:43 +00:00
ehouse
08da013d4d
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
40f7295802
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
81dac2ec1b
draw hint borders wider on high-res devices so they're actually visible (part 2)
2007-12-19 05:31:53 +00:00
ehouse
02ca3eb9d7
Make initial value of confirmBTConnect true.
2007-12-15 18:55:32 +00:00
ehouse
8668420dd0
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
711bdf54f2
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
a07a5f2822
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
619e7d14c0
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
33cb34abfe
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
ad78ec1fd8
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
7929865ad9
Comments only.
2007-12-05 06:31:30 +00:00
ehouse
d5d29adc0c
Change util function to use signed type; other cleanup to compile with various features.
2007-12-05 06:28:51 +00:00
ehouse
e4c2143aed
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
f0e21dbd86
Fix bug showing remote/robot moves only on host to include client too.
2007-12-02 22:07:24 +00:00
ehouse
5457ea1b59
replace all __FUNCTION__ with __func__
2007-12-02 19:13:25 +00:00
ehouse
e1d5632a7b
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
6e71f8197e
Add file and line number to debug version of realloc and free.
2007-11-22 05:04:40 +00:00
ehouse
4c8cf98d24
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
41936fe18a
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
ef31e3688c
fix log_hex to print nibbles in right order.
2007-09-27 02:56:35 +00:00
ehouse
473d506611
add logging to help catch a recurring assertion
2007-09-15 13:46:59 +00:00
ehouse
eeafb5c4f2
reset in/out var before each call to util_askPassword
2007-06-10 14:54:47 +00:00
ehouse
edfdda6fd2
Fix so compiles curses-only, and so curses cell can be 2x1 (for square board)
2007-06-01 02:08:04 +00:00
ehouse
dd7a5c8104
type name change only
2007-05-26 14:14:01 +00:00
ehouse
eeebeca542
substitute macro for common sizeof(x)/sizeof(x[0]) pattern; no generated code change
2007-05-26 14:03:07 +00:00
ehouse
45d5bb6260
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
aa3d3bc76c
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
f832959480
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
2bba51f95a
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
13803e2596
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
ad4fd26d88
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
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
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
fcb334375a
define XW_PSM in accord with palm guidelines. Doesn't seem to matter...
2007-03-17 15:33:16 +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
c0b515457b
Cleanup: compile warning and to make logging easier.
2007-02-08 15:17:23 +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
ff82dd61c0
Fix linked-list bug in removeFromQueue.
2007-02-07 11:58:01 +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
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
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
3f111c5657
name change only: Connectedness becomes DeviceRole
2007-02-02 08:34:37 +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
f441b22e78
cleanup: only one return per function.
2007-02-02 08:11:14 +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
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
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
c01615e86b
reintroduce board_handleKey
2007-01-18 02:42:37 +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
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
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
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
5b34e786bc
bug fix: clear focusHasDived on pen event along with other focus state
2006-12-20 04:11:17 +00:00
ehouse
bb45f89a6f
Unfocus any board object whenever pen touches board
2006-11-27 01:13:48 +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
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
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
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
a37fab39e8
new UNUSED macro for keynav
2006-11-12 15:20:36 +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
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
414580904f
board doesn't handle focus-related keys unless it has the focus.
2006-11-08 05:04:44 +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
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
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
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
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
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
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
ehouse
9837d8cca7
Fix longstanding bug removing too few messages from queue on ACK.
...
Print queue as part of stats.
2006-09-27 01:54:53 +00:00
ehouse
ef97beaf2c
Tweak enable/disable logic to show fields for remote players for the
...
informational case that are hidden for new game case -- e.g. name,
which can be read but not set.
2006-09-24 21:10:17 +00:00
ehouse
edd48174a3
Add more consts.
2006-09-24 15:28:15 +00:00
ehouse
5e09041d8b
bug: even empty strings need to be terminated.
2006-09-23 16:05:41 +00:00
ehouse
12731c59cb
fix ARM crash loading bt game saved on 68K: specify sizeof array
...
rather than struct wrapping it.
2006-09-23 16:04:53 +00:00
ehouse
04c5401711
What I meant to check in. F***ing emacs. :-)
2006-09-23 15:22:26 +00:00
ehouse
9ab6ac701c
cleanup and remove logging.
2006-09-23 15:18:44 +00:00
ehouse
e10d05eff0
On bringup for bluetooth, resend any waiting messages rather than an
...
empty new one to get the connection started. This increases the
chances new games will connect without user having to hit resend.
2006-09-23 15:18:01 +00:00
ehouse
b3af1d4d2a
When a client registering n players with server, send the first n,
...
ignoring local flag which nwgamest doesn't set in client case. When
resetting, destroy any engine allocated: plugs new leak.
2006-09-23 15:15:57 +00:00
ehouse
213cfbb050
set crosschecks inline
2006-09-23 15:12:10 +00:00