Commit graph

488 commits

Author SHA1 Message Date
ehouse
73c32f0441 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
227a58d115 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
fa4adbfcea 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
23b07772c0 invalCellsUnderRect didn't work for rects not intersecting board; fix. 2008-12-16 05:30:25 +00:00
ehouse
3e749c898c 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
6c9c013f1a fix occasional crash: null-out ptrs after deleting what they point to. 2008-12-11 13:42:21 +00:00
ehouse
07e3b26e60 Quash some compile-time warnings. snprintf instead of sprintf. 2008-12-06 15:59:30 +00:00
ehouse
4529e564e4 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
28638c4f23 When hideTileValues changes, inval all tray tiles. 2008-12-03 13:38:54 +00:00
ehouse
206b56a50a Don't draw hint rect, or start drag to change it, if hints are disallowed. 2008-12-01 13:06:37 +00:00
ehouse
7fd26c39fc 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
8a81089d22 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
e9beb2fc79 a bit of cleanup 2008-11-22 19:43:47 +00:00
ehouse
bbe53cd273 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
239227ada3 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
e1cf1573b0 fix inval of focussed tile to take divider into account. 2008-11-20 05:12:48 +00:00
ehouse
c65d2cf574 add getters 2008-11-10 16:01:46 +00:00
ehouse
2dac68f3e8 Don't assert when unknown key seen; just ignore. 2008-11-08 16:19:04 +00:00
ehouse
e26a01dd62 New Ubuntu has a stricter compiler... 2008-11-06 03:16:09 +00:00
ehouse
8492bc7c7a 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
bf8c079db4 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
3b28583d0d 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
bc8ebcc1b2 use three bits for scoreboard cursor in anticipate of making Rem selectable. 2008-10-21 03:19:54 +00:00
ehouse
1fb537ba41 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
e35a0c5e79 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
8c6c177c99 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
182db5a396 debug changes: change defines to remove gremlin-only code; add missing constants. 2008-10-11 16:46:08 +00:00
ehouse
b5acad0e35 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
e01f8db17e add function for logging location reached when debugging 2008-10-09 12:04:57 +00:00
ehouse
b5a823fd93 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
960fee16cc 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
42ad517e52 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
918c876e13 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
b72309f947 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
13e521b879 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
4ffeada868 call draw_dictChanged on load so draw can calc fonts immediately 2008-09-09 12:16:06 +00:00
ehouse
181e880d8d 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
a2dfec2714 catch up with API changes. GTK to use this still needs to be fixed! 2008-08-30 13:54:47 +00:00
ehouse
6719c60ce1 fix newg_attrChanged to exit quickly when there's no change 2008-08-27 12:09:30 +00:00
ehouse
44f5d0a7c5 give serverRole a default value. 2008-08-27 12:08:07 +00:00
ehouse
db3fb12891 better leak debugging 2008-07-28 05:05:39 +00:00
ehouse
1452e12650 draw divider focussed when all of tray has focus 2008-07-28 05:04:34 +00:00
ehouse
32cad79f1c 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
2803f239df Put up dialog when user asks for hint and the feature's disabled. 2008-07-24 12:37:05 +00:00
ehouse
e399a7b755 Quiet over-enthusiastic logging of state transitions. 2008-07-18 09:06:09 +00:00
ehouse
2d024b506d 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
5fb7bb95d4 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
52650992ee 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
3d6ab4ffb4 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
e83786759c 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