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