Commit graph

3782 commits

Author SHA1 Message Date
ehouse
51b0fd5e4e Changes to use .dll on wince: create window, which creates its menu,
after loading prefs since that's where language pref will be stored.
But for now, hard-code to load French so translator can see it
immediately.  Also, create l10n directory in which localized .rc files
will live and modify Make file to .dlls from all.
2009-04-14 03:33:46 +00:00
ehouse
76c0a518f1 change -j to -j3. No code change. 2009-04-14 03:27:32 +00:00
ehouse
61fc087c5d annotate template for translators. No code change. 2009-04-11 16:49:04 +00:00
ehouse
d19f052503 Track HINSTANCE of localization .dll separately, passing it where
appropriate; move rest (I think) of strings into resource; load menu
for win32 app after loading localization .dll.
2009-04-11 15:45:59 +00:00
ehouse
be7fe94650 add more strings 2009-04-11 15:41:40 +00:00
ehouse
aeb6d94248 generate string resource IDs from a list to avoid the trouble of keeping them sequential. 2009-04-11 15:40:19 +00:00
ehouse
d5afc6f252 generate string resource IDs from a list to avoid the trouble of keeping them sequential. 2009-04-11 15:40:01 +00:00
ehouse
848ccaaff7 remove resources (e.g. colors) that don't need localization; add more strings. 2009-04-11 15:38:40 +00:00
ehouse
2727cacae0 Start factoring out strings for localization: move most to resource,
add new file that loads resources (working around LoadString not
working as docs say it should).  Add all-caps version for testing and
not-yet-working cmdline change to use it.
2009-04-09 13:48:38 +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
2838f421a5 fix a couple of null ptr exceptions 2009-04-05 23:48:33 +00:00
ehouse
7b5259a5c0 Use simpler API (no behavior change; not utf-8 related). 2009-04-05 20:19:29 +00:00
ehouse
f3b53e4aaf When dict is utf8, convert to wchar_t assuming CP_UTF8 rather than CP_ACP. 2009-04-05 20:18:46 +00:00
ehouse
f0d6dda9dd A couple of new types for xp code dealing with utf8. 2009-04-05 19:27:30 +00:00
ehouse
241b24c862 Read new dicts and old into new format. 2009-04-05 19:24:10 +00:00
ehouse
a9b88d95b2 Read new dicts and old into new format. 2009-04-05 19:22:55 +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
4a308f4f8e Don't use unitialized variables (thanks valgrind :-) 2009-04-05 18:47:45 +00:00
ehouse
b63c75f36e use libncursesw 2009-04-05 18:35:51 +00:00
ehouse
926f5963a3 rename only: stream_putString to stream_catString. 2009-03-29 18:26:59 +00:00
ehouse
8dca48b3ea Useful ftell, commented out. 2009-03-29 18:13:09 +00:00
ehouse
9e5b3f8f29 Changes to fix BYOD (though still need native speaker confirmation) 2009-03-14 22:33:53 +00:00
ehouse
690bf80b7b Fix so can build iso-8859-2 Polish dicts using make (won't work on
BYOD yet): add encoding to emacs mode line and fix the letters,
including hard-coding them as decimal numbers until I can figure out
how to get perl (in xloc.pm) to emit iso-8859-2 instead of utf8.
2009-03-14 19:27:29 +00:00
ehouse
0b0bf96cd5 accept ISO-8859-2; remove unused param; add assert that EOF/EOL aren't
part of a multibyte char
2009-03-14 19:22:15 +00:00
ehouse
b16a07d0ba build dict2dawg with debug symbols 2009-03-14 19:21:09 +00:00
ehouse
fbe95478ba rename now() as uptime(); drop NTHREADS to 1 for now; include time of
server boot in connName and keep counter in memory rather than a file.
2009-03-10 12:52:17 +00:00
ehouse
f9e6c5631d Move WSACleanup into main where it can be called once per launch
rather than per use of relay, parallel to WSAStartup.
2009-03-08 20:01:47 +00:00
ehouse
f874183475 Use nwgamest support for separate config button beside role combo, and
remove hack responding to tap (without change) on that combo.
2009-03-08 20:00:20 +00:00
ehouse
cb72b3ffef call gi_initPlayerInfo() for defaults when not provided on commandline. 2009-03-08 19:57:27 +00:00
ehouse
53fca87b10 Go back to combo box for role, and add config button beside it using new support in nwgamest. 2009-03-08 19:56:48 +00:00
ehouse
de4c57e740 include strerror output in logging when socket read fails 2009-03-08 19:56:01 +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
f598340239 relay name defaults to eehouse.org, easier to set at compile time for testing 2009-03-08 19:47:36 +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
8fd1d5b2a9 cleanup for new compiler: -D option, winsock2.h, fix warning 2009-03-06 04:53:56 +00:00
ehouse
44ef132d85 swprintf->_snwprintf to make newer cegcc happy 2009-03-06 04:52:06 +00:00
ehouse
1b49a26736 do loglevel and ports via the general-purpose config mech. No special
cases remain.
2009-03-05 13:49:01 +00:00
ehouse
3469dc7bf3 Make refresh interval configurable. 2009-03-02 05:29:06 +00:00
ehouse
6b3265ac47 Change config class from having a method for every configurable value
to returing values for string keys so adding a new config doesn't mean
modifying that class.  Then add new config for addr passed to bind so
relay can be run to accept http connections from remote machines.
2009-03-02 01:50:14 +00:00
ehouse
dbec991e9a use PID as cookie so creation order visible on relay during testing 2009-03-02 01:46:10 +00:00
ehouse
14cb742b38 don't pass wrong proc ptr 2009-03-02 01:45:16 +00:00
ehouse
9a8abb770d in web console list hosts present rather than just the count 2009-02-28 19:35:32 +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
aa48b4c3ed plug memory leak by closing relay socket when quitting 2009-02-28 19:19:42 +00:00
ehouse
3f01c9129e Lots of changes to make gtk version better test with relay: make
possible to start without specifying comms params, to switch roles
and/or number of players when starting new game; clean up dialogs,
esp. use notebook widget to have tab switch between comms types.
2009-02-28 18:52:44 +00:00
ehouse
c2b34e459d include pid in log for better multi-device debugging 2009-02-28 18:50:21 +00:00
ehouse
13415e895e test script, first draft. 2009-02-28 16:31:34 +00:00
ehouse
46cb6c2955 fix assertion on exit: nuke mempool after everything it contains; call
gtk_main_quit rather than gtk_exit() so can exit from main()
2009-02-28 16:31:03 +00:00
ehouse
3bf116c936 Add an http interface (read-only web console). 2009-02-28 16:15:59 +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
9cb1f8ab59 minimal test for comparing cegcc versions 2009-02-25 03:45:14 +00:00
ehouse
bac17d8c1e start adding conns dialog 2009-02-24 04:34:37 +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
03c806e961 add tarball target to help 2009-02-21 17:15:09 +00:00
ehouse
b2112371b2 Make it possible to see comms dialog in read-only mode when role
selector is disabled (for game info use of new game dialog.)
2009-02-21 17:03:30 +00:00
ehouse
317b3cbfaf Toward a palm build whose only comms mode is relay (no IR, which was
always default.)  Plays half a robot-robot game via relay as client --
that is, debugging remains.
2009-02-17 05:54:28 +00:00
ehouse
44a3888d6d Add enum to debug-only logging. 2009-02-14 16:24:06 +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
2be682b4e9 Use new bufqueue util 2009-02-09 02:51:43 +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
9ce82a7c94 fix leak of packet buffers; get rid of multithread code. 2009-02-07 18:20:16 +00:00
ehouse
326e57e742 commented-out setting of default relay host name 2009-02-07 18:18:24 +00:00
ehouse
644dc3b5ad detect duplicate initial connect packets by checking what socket they're on. 2009-02-07 18:17:17 +00:00
ehouse
80b3425b5b log size of incoming packets 2009-02-07 18:15:17 +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
5a5cba9d1b Handle case where packet contains several messages; attempt to send on
socket-writable and on receiving message to be sent; cleanup.  With
this change full robot-vs-robot game has worked over relay, but not
reliably.  I think it's the relay's fault.  Still tested only on Win32.
2009-02-01 16:46:00 +00:00
ehouse
8d1da3ee0e Put back code initiating connection when starting client game. 2009-02-01 16:43:01 +00:00
ehouse
53b27c96c9 Helps to compile platforms too before checking in... 2009-02-01 16:20:18 +00:00
ehouse
46f72de960 new files into svn:ignore 2009-02-01 16:03:31 +00:00
ehouse
1ac4ef3bc6 Attempt to detect connections that are duplicates by checking if that
socket is already in a connection.  This doesn't seem to always work,
and I may be leaking cref instances when it does, so needs debugging
still.
2009-02-01 16:00:20 +00:00
ehouse
6ba2032187 clean up event logging 2009-02-01 15:55:45 +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
1a99dc7e1c Beginning of rewrite of socket code for communication with relay,
replacing dedicated threads for read and write with non-blocking
sockets driven from the main window proc.  So far it can do a
round-trip against the relay on win32, and compiles but isn't tested
on wince.
2009-01-31 18:06:09 +00:00
ehouse
9e7144d8c9 comment about APIs to use for implementation (probably the last checkin of this file.) 2009-01-31 18:03:06 +00:00
ehouse
0d08147472 Turn off SMS by default (pending confirming a way to use the apis in unsigned app); add commented-out NO_DRAW option. 2009-01-31 18:02:02 +00:00
ehouse
b9dce19a93 if setlocale doesn't work, try again with en_US -- works around
problem on my ISP.
2009-01-28 03:32:21 +00:00
ehouse
3a643c51a4 cleanup; set locale based on ENV 2009-01-25 20:31:13 +00:00
ehouse
b7fa674c28 Set locale based on params passed in, only on ENV if not specified. 2009-01-25 20:13:36 +00:00
ehouse
90f8a276e1 Cleanup to run on a machine that's utf8: specify iso-8859-1 when needed. 2009-01-25 18:57:05 +00:00
ehouse
f6d8924593 make tarball ready to be dropped into byod 2009-01-25 18:48:29 +00:00
ehouse
b2dd3f02b0 Need to escape period in grep pattern to get literal dot! 2009-01-22 04:30:35 +00:00
ehouse
24622876bb change default dictionary 2009-01-21 05:36:43 +00:00
ehouse
c2f1ff3d06 smartphone-size small bitmaps 2009-01-21 05:25:43 +00:00
ehouse
52a4a92e14 If smallest bitmap is too big, use it anyway at full size. 2009-01-18 19:52:46 +00:00
ehouse
50a6f93b99 Pick largest possible bitmap; fix inconsistency between cedict's idea
of bitmap format and cedraw's: rows are padded to 8-bit boundary, not
necessarily 16-bit.
2009-01-18 18:29:27 +00:00
ehouse
f422305542 Make smaller bitmaps 8x8 since that's the smallest size that can be
required and StretchBlt to smaller can't work for letters.
2009-01-18 18:25:33 +00:00
ehouse
06632f5495 get rid of excess logging (one line) 2009-01-18 18:17:08 +00:00
ehouse
ac1a88f603 Add __func__ to what's tracked for allocation in debug builds 2009-01-18 16:37:44 +00:00
ehouse
e1bc780beb In tray, when values are hidden draw letters instead of bitmap if
they'll fit.
2009-01-17 20:30:49 +00:00
ehouse
e6132b3dde Scale bitmaps for specials to the size of an M so they look right next
to other letters.
2009-01-17 18:49:35 +00:00
ehouse
dd1f9aa8ca Include function name in assertion failure message; always print to
file before putting up warning.
2009-01-17 18:44:45 +00:00
ehouse
d58d9bedd7 return TRUE after handling WM_INITDIALOG 2009-01-17 18:41:15 +00:00
ehouse
702940fe06 Tweaks to bitmaps; build for wince by default 2009-01-17 18:39:08 +00:00
ehouse
c754726b0f Don't pass valid bitmaps ptr when drawing blank tile. 2009-01-17 18:24:18 +00:00
ehouse
2e488374f1 bug fix: fix reversed width and height params to StretchBlt 2009-01-17 15:45:24 +00:00
ehouse
a56d84b64d add emacs mode line 2009-01-14 13:41:25 +00:00
ehouse
08ceeb85b7 Fix size test for bitmap caching 2009-01-14 13:27:56 +00:00
ehouse
21f5f329a0 Get rid of bogus assert 2009-01-14 13:02:38 +00:00
ehouse
8aadcb3406 Get rid of unused parameter 2009-01-14 13:02:08 +00:00
ehouse
5505c435a2 Don't pass new bitmaps struct to draw code uninitialized 2009-01-14 12:51:55 +00:00
ehouse
09c879dccc Add sms support, largely untested. 2009-01-13 13:33:56 +00:00
ehouse
41ae10f8b6 Allow language Makefile to specify encoding. Pass to perl and c++
dict builders, using it to open files and to determine whether to do
multi-to-wide conversion.
2009-01-13 13:32:07 +00:00
ehouse
7b8e4e0fd3 Add target to build all languages. Stops on Swedish at the moment. 2009-01-13 13:19:15 +00:00
ehouse
4e619601c2 To support Catalan, add Makefile and bitmaps for three special tiles.
The first of these, L-high-dot-L, requires Unicode to be properly
drawn, but the current dict format doesn't support it so it'll be L-L
for now.  Bitmaps are still rough.
2009-01-13 13:17:58 +00:00
ehouse
aee316372e Use new api. Use small for cell and large for tile still, but now
create and cache an actual HBITMAP, and prefer it to letters.  This is
needed for Catalan where "L-L" will never fit.  Still to be done:
prefer letters to bitmap where they'll actually fit (devices where
tiles drawn wider), and position better in tray.  May also want to
allow scaling.
2009-01-13 13:11:05 +00:00
ehouse
88364775a1 cleanup: get rid of confusing but harmless * 2009-01-13 13:03:59 +00:00
ehouse
99a5a7912b Use new draw API but same bitmap as always (large in tile, small in
cell.)  In cases where bitmap and text provided, prefer bitmap.
2009-01-13 13:02:17 +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
eb1e667c17 Add type Letter to represent what are Tiles in Crosswords:
lang-independent indices into the set of letters in use.  Should be no
change in functionality or code generated.
2009-01-07 05:13:45 +00:00
ehouse
948981434b Fix compiler warnings. Should be no change in generated code. 2009-01-07 05:03:13 +00:00
ehouse
5d7ee61448 Turn on relay by default. 2009-01-07 04:54:23 +00:00
ehouse
ac8c06d9cf Turn on and enable UI for relay and sms transport. relay doensn't
work, at least on win32 where threading code is broken, and former is
completely stubbed out.
2009-01-05 14:13:40 +00:00
ehouse
4595191395 Always use GetForegroundWindow to find parent 2009-01-05 14:06:52 +00:00
ehouse
0b82d75bc8 add controls for sms connecting 2009-01-05 14:05:56 +00:00
ehouse
7158ef3802 Cleanup; add sms example to usage() 2009-01-05 02:11:13 +00:00
ehouse
dc82fc6bff Use the new common/strutils binToSms routines. For now, use glib's
too and assert output is the same.
2009-01-05 02:10:27 +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
4698b835e8 Fix to compile with relay enabled and not STANDALONE_ONLY. Verified
that win32 build can open games saved by previous version, but nothing
else (e.g. use of network or even dialogs to set up relay connection
parameters.)
2009-01-04 00:00:45 +00:00
ehouse
342674276a Cleanup to build with relay enabled; don't enable any network features
if STANDALONE_ONLY is defined.
2009-01-03 23:56:20 +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
863f79bfb9 Fix compile errors using latest gcc (fread etc must have return value checked) 2009-01-03 18:12:34 +00:00
ehouse
552f6350f9 tweaks to stop/start script to run on an ISP's server better 2008-12-31 04:26:37 +00:00
ehouse
c53fe0857c Don't parse the same conf file twice in a row. 2008-12-31 04:21:03 +00:00
ehouse
1c3be799b7 start counter for uptime at launch 2008-12-31 04:19:23 +00:00
ehouse
9fc325a334 include new file in tarball 2008-12-31 04:16:55 +00:00
ehouse
32121c5634 include svnversion output in tarball 2008-12-30 05:17:00 +00:00
ehouse
ea6fff8f28 replace int with bool where appropriate; fix to compile with newer g++ 2008-12-30 05:13:30 +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
270006f47b rename variables; fix compiler warning. 2008-12-20 04:25:41 +00:00
ehouse
7e2f2fd38e invalCellsUnderRect didn't work for rects not intersecting board; fix. 2008-12-16 05:30:25 +00:00
ehouse
bc01341f95 When values are hidden, draw letters as large as possible in the tile. 2008-12-13 07:34:16 +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
3666235462 App name and game name don't fit most titlebars, so use app name only
when game has none yet.
2008-12-13 07:29:47 +00:00
ehouse
dab2f23479 Use Ok for stringbox, Done for Saved games dialog; next release to be
rc1, not b7
2008-12-13 04:39:06 +00:00
ehouse
9e7bfe0ff7 Provide default player names in game info dialog rather than when
creating the very first game to fix bug where creating a game with n+m
players from a saved game with n yields m blank default names.
2008-12-12 13:42:52 +00:00
ehouse
59cd2a83d1 Make tray tiles one pixel taller, extending all the way to bottom of
screen.
2008-12-12 13:40:41 +00:00
ehouse
cb7b8bf84f Back out change: button to dismiss Saved games dialog is "Done" again,
not "Ok".
2008-12-12 05:28:53 +00:00
ehouse
e28363f369 Warn when unable to open a saved game (generally when an older version
of the app tries to open game saved by newer version.)
2008-12-11 13:48:59 +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
909bcb1dca Don't open saved games dialog unless current game has a name:
cancelling name request cancels saved games dlg too.
2008-12-08 05:51:21 +00:00
ehouse
5aa7289dfe Don't remove extension if there's isn't one (fixes new segfault.) 2008-12-08 05:50:25 +00:00
ehouse
19d8f307b1 Add appropriate icon flags to all uses of MessageBox; remove a couple
of unnecessary Cancel buttons.
2008-12-07 16:24:26 +00:00
ehouse
c38297711e Fix other sites putting up dialogs claiming main window as parent when
it isn't.
2008-12-07 05:21:13 +00:00
ehouse
c791010603 Don't let smartphone users set hintlimits checkbox, and explain
why. Fix bug calling MessageBox with main window ptr from dialog.
Include name of preexisting file when warning user who enters it while
saving/renaming.
2008-12-07 01:30:18 +00:00
ehouse
e37cfa6ce8 up version to b7 2008-12-06 22:21:38 +00:00
ehouse
c82fb50055 Use SetBkMode to prevent overlapping tile face/value pairs from
erasing each other.
2008-12-06 22:14:40 +00:00
ehouse
57197f8b2c Mods to saved games dialog: allow to rename the current game; after
renaming or duplicating a game, make that new name the one initially
selected in the listbox; remove sorting code relying on OS to sort
when CBS_SORT set.
2008-12-06 20:28:01 +00:00
ehouse
6da758b5fa set text color before drawing star bitmap to make color consistent;
add utility function for setting colors to reduce code size.
2008-12-06 16:22:43 +00:00
ehouse
af1ca9af84 Quash some compile-time warnings. snprintf instead of sprintf. 2008-12-06 15:59:30 +00:00
ehouse
5508ae4593 Add testcases for Treo-sized screens. 2008-12-04 06:17:14 +00:00
ehouse
a9fbd3c027 Ignore bitmap for tiles, using string instead. 2008-12-04 06:16:37 +00:00
ehouse
dbb8dd4713 Fix blank picker on PPC by making dropdown tall enough to drop. 2008-12-04 06:15:57 +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
088ab1451e Use minimum height for tile value; draw bitmaps (clipped) even if too large. 2008-12-03 13:42:30 +00:00
ehouse
62aca48673 Make Show values the left softkey after chosen once. 2008-12-03 13:40:07 +00:00
ehouse
7ae7b91e40 When hideTileValues changes, inval all tray tiles. 2008-12-03 13:38:54 +00:00
ehouse
1c6460f64a Add "Hide tile values" checkbox and support it. 2008-12-03 13:37:55 +00:00
ehouse
de6f6dcdef draw bitmaps larger when will fit; draw hint region border thicker and
in player color; rename constants.
2008-12-02 13:47:18 +00:00
ehouse
b3d3f80860 Lots of little tweaks to dialog item locations. Also, don't make
phonies combo/list box sorted since that screws up order of choices.
2008-12-01 13:19:14 +00:00
ehouse
3bb15ab093 add (unused) missing defines for IME stuff, which can't work until I
figure out how to test for presence of qwerty keyboard
2008-12-01 13:16:58 +00:00
ehouse
5c53620470 if scrollbar has focus when removed due to screen resize, don't
continue to draw indicator rects in focus color
2008-12-01 13:11:58 +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
b24f3d66a7 fix warning when DEBUG not defined 2008-11-22 17:14:08 +00:00
ehouse
7d9259f16a update readme 2008-11-22 16:49:55 +00:00
ehouse
44ae99a075 remove redundant set of #defines for whether we're compiling for desktop or wince 2008-11-22 16:43:55 +00:00
ehouse
5118e415c7 use a gharish color for focus so doesn't get lost 2008-11-22 16:37:58 +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
68778333a4 finish rem: changes and fix crash: show Remaining tiles dialog and draw focussed 2008-11-19 05:08:57 +00:00
ehouse
5f27b1552c When fewer than 4 players shown in game info dialog, move controls
higher that are below player rows. On some screen sizes this prevents
those items from being off-screen. Note that this requires use of
DM_RESETSCROLL message to get Smartphone to recalc scroll info and
that DM_RESETSCROLL is not yet defined in cegcc.
2008-11-18 12:36:27 +00:00
ehouse
d4e2f5c07a Fix timer positioning; provide default values for w32 height & width;
put up dialog on assertion failures now that they're uncommon.
2008-11-13 05:46:21 +00:00
ehouse
a91aea537a up beta version 2008-11-12 04:55:54 +00:00
ehouse
ce82507db0 Add checkmarks to four menuitems to show state; add fullScreen
menuitem to w32 version and give it something to do.
2008-11-10 18:49:26 +00:00
ehouse
d4bc42b0a1 add getters 2008-11-10 16:01:46 +00:00
ehouse
e2cd0b5807 Speed up font calculation by interleaving width and height
constraints; simplify pending score display by using %dp rather than
trying to fit two strings in the many possible sizes of tiles.
2008-11-08 16:25:49 +00:00
ehouse
30df2166ab Don't assert when unknown key seen; just ignore. 2008-11-08 16:19:04 +00:00
ehouse
cfc00206c1 fix release build compile error. 2008-11-06 06:30:30 +00:00
ehouse
5cb97bf636 New Ubuntu has a stricter compiler... 2008-11-06 03:16:09 +00:00
ehouse
3958950ad1 When finding font to fit height, optionally force it to fit width as
well.  Mechanism used for Rem only so far, but will work for score too
as long as we don't need it to shrink font as score gets longer.
Current impl worries about height first, then width; would be better
to look at both simultaneously to reach the goal more quickly.
2008-11-02 23:17:38 +00:00
ehouse
e6399c74c1 Fix bug making glyphs from random garbage; when narrowing in on
correct font size, compute based on ratio from what we have rather
than just reducing by one each pass.
2008-11-02 04:17:42 +00:00
ehouse
be3863dd5a For win32 builds, locate files relative to ./ 2008-11-02 04:15:10 +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
661a12ae5c bug: choosing hint menu also chooses commit-turn if focus happens to
be on 7th tile.  Problem is that OS sends key up after handling menu.
Fix is to track when we've seen a keyDown, and drop keyUp events when
we haven't.
2008-10-31 04:36:44 +00:00
ehouse
9e9d8a9d79 show non-dived focus as tray with background and perimeter tiles with
background rather than opaque border.  Looks better on a range of
screen sizes.
2008-10-31 04:33:20 +00:00
ehouse
9cd570f152 add a few new WM_ constants for debugging 2008-10-31 04:31:46 +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
96d9baaac1 Compress user-visible name so more likely to fit on-device widgets 2008-10-29 08:47:12 +00:00
ehouse
cbdf8edcf5 Use SHGetSpecialFolderPath to locate dicts in /Document Files/Crosswords; reserve 1-pixel space around Rem: text 2008-10-29 08:46:02 +00:00
ehouse
91b20350f7 Make much smaller .ico file by hand using GIMP, and check it in. png
files are inputs to that process but not used in the build until I
figure out how to script building the .ico.
2008-10-26 21:05:44 +00:00
ehouse
e30c72c829 make -q option take number of seconds to pause before quitting 2008-10-26 15:33:21 +00:00
ehouse
a59c2456d5 Tray cannot be exactly same height as cells as it has thicker borders.
Reserve that difference from calculation of cell height so tray will
pick it up later.
2008-10-26 15:01:05 +00:00
ehouse
b684bb238a Add a 16x16 icon. Remove the .ico file from svn, adding instead the
three .png files from which it's built.  Build now depends on icotool,
which is in Debian and so not a problem.  The resulting .ico is
probably 3x the size built with winders tools, so eventually I should
fix icotool or nag its author.
2008-10-25 21:59:46 +00:00
ehouse
3c8f9d7049 Get rid of string constants referencing \My Documents, using instead
SHGetSpecialFolderPath.  Cache the result of calling it.  Note that
mingw SHGetSpecialFolderPath headers define SHGetSpecialFolderPath as
SHGetSpecialFolderPathW which isn't in the library; hack around that.
2008-10-25 18:08:36 +00:00
ehouse
9b17c20117 gtk/ncurses support for Rem: focus and showing remaining tiles. Also
rewrite gtkask to use gtk_message_dialog and add sigint handler.
2008-10-24 09:07:30 +00:00
ehouse
3b5337d7d2 wince support for Rem: focus and showing remaining tiles 2008-10-24 09:05:13 +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
56cc76b913 Save games in different directory for debug version to prevent
crashing when opening wrong-format files.
2008-10-24 08:36:44 +00:00
ehouse
7c5b8d25fd change name of platform in about box 2008-10-24 08:35:50 +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
afbb5ed2fe Fix bug: tray too short on large screen. Always make tray a multiple
of cell size when possible, using minimum when needed.
2008-10-20 01:24:59 +00:00
ehouse
bff5f9b7c9 Send message on back key only when coming up, not going down, to
prevent double-dismiss of dialogs.
2008-10-18 19:38:31 +00:00
ehouse
c81e85deef Remove overdesigned edit-control-caching mechanism in favor of just
asking if the current focus owner is an edit control.
2008-10-14 05:25:15 +00:00
ehouse
4dde28bc28 Walk dialog's controls and make a list of Edit controls so that dialog
procs don't have to pass them in.  Compare handles rather than IDs.
2008-10-13 05:46:45 +00:00
ehouse
7281423100 Trapped back key should exit dialog even if it has an edit control if
that control does not have focus.  Do that.  And since I can't figure
out how to use APIs available in CE to find edit controls dynamically
each dialog proc has to pass its IDs in.  May fix that later, in which
case ceDlgSetEdits() should be removed.
2008-10-13 01:26:20 +00:00
ehouse
3992e4299f Remove logging; add WM_ constants for message logging. 2008-10-13 01:22:58 +00:00
ehouse
40e33036db Test (including a hack on undocumented bits in WM_HOTKEY's lParam)
whether back key resulted in a focus undive, and if it didn't, quit
the app.  Not quitting would best be done using SHNavigateBack, but
cegcc doesn't seem to have that.  And even the default behavior,
without messing with back keys at all, is to minimize, which means you
can't delete the .exe later without soft reset.  That may be my bug,
but for now we're exiting.
2008-10-13 01:17:13 +00:00
ehouse
4e07fb053d add 22x22 icon for smartphone 2008-10-13 01:05:42 +00:00
ehouse
097a85d115 Fix bug: don't delete current game name when user might still cancel
new game creation.
2008-10-11 23:56:04 +00:00
ehouse
3e3ff73e52 first cut at script to produce zipfile and readme 2008-10-11 22:59:18 +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
86fb79d969 Fix to compile and run for IP-direct case, possibly breaking
heartbeats used over bluetooth.
2008-10-11 17:33:07 +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
0f3b206371 inval font cache when new dict has different chars; use cell size as a
minimum font heigth for tray; darken default player 4 color for better
contrast.
2008-10-11 16:53:22 +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
51a0825b51 Really old change: write struct differently in RFCOMM case 2008-10-11 15:04:11 +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
37e922e92b drawing tweaks: better test for wide short tray tile; don't inval
scroll rects unless focus shifting.
2008-10-09 12:12:25 +00:00
ehouse
5e839d82e4 get rid of excessive logging 2008-10-09 12:07:30 +00:00
ehouse
d7f17ecbe0 add function for logging location reached when debugging 2008-10-09 12:04:57 +00:00
ehouse
190c0aca88 Modify layout code to keep cells close to square when possible,
leaving significant border space on highly rectangular screens.
2008-10-08 04:42:16 +00:00
ehouse
a8fb37504d Don't choke when words are longer than 15 letters. 2008-10-08 04:37:44 +00:00
ehouse
a4f27e5525 Draw focussed scrollbar using WM_CTLCOLORSCROLLBAR. Onlyworks on
Win32, so keep old method for Wince.
2008-10-07 04:00:37 +00:00
ehouse
5ba97223f8 Set aside portion of scrollbar rect above and below it and color that
with focus color when the scrollbar has keyboard focus.  This should
help users figure out how one-handed nav works.  Better would be to
override background color of the scrollbar and draw it full-sized, but
I havne't figured out how.  This is good enough for beta.
2008-10-01 08:31:43 +00:00
ehouse
e0d73f4cd4 add width x height to title bar correctly (debug w32 only) 2008-09-29 05:07:35 +00:00
ehouse
8cecbd45c4 put dictionary in place if none there 2008-09-29 05:06:24 +00:00
ehouse
2f618616df Draw divider using player color, not always black. 2008-09-28 17:55:27 +00:00
ehouse
f8bb0ae202 Two large changes. First, layout board etc. based only on screen
dimensions and one constant giving the minimum height of a cell.
Replaces a bunch of constants that didn't scale to different sized
screens well.  Second, add the vertical scrollbar into the focus
rotation.  Once I have it showing that it's focussed it'll be easier
to figure out how to scroll the screen.
2008-09-28 17:50:04 +00:00
ehouse
ae6610a94f Script for testing a bunch of Wince device resolution under Wine. 2008-09-28 17:38:18 +00:00
ehouse
41e6f4abe2 Fix nasty crashers: restore previous game when unable to open new,
e.g. because it was created with a dict that's no longer available (in
which case warn to that effect.)
2008-09-28 16:48:30 +00:00
ehouse
8a6992132b comments and assertions 2008-09-28 16:47:11 +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
e84a7c7a2d clean up tile-picker dlg 2008-09-27 15:58:07 +00:00
ehouse
7627672324 Add more WM_ constants 2008-09-27 15:15:14 +00:00
ehouse
df28e86fc8 Improve the font dialog 2008-09-27 15:10:53 +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
0fd14dc0b7 {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
ehouse
564b827f6d Make new FAA 4.1 the default Spanish dictionary source; build three
dicts (8, 9 and 15) by default (all: target).
2008-09-18 03:55:04 +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
1a1beed2f3 cleanup: name changes; don't measure the same glyph twice. 2008-09-18 03:50:04 +00:00
ehouse
1536a05ac2 bug fix: check which combo is generating events rather than assume all
are meant to change number of players.
2008-09-18 03:48:29 +00:00
ehouse
b3f8902307 Check in files forgotten before: simple font browser. 2008-09-18 03:47:04 +00:00
ehouse
f021964213 fix ncurses version so it can save games and read them back in: make existing gtk code run on both. 2008-09-18 03:46:27 +00:00
ehouse
ac03c4be61 Fix to compile with newer g++; increase size of buffer to handle largest Spanish wordlist. 2008-09-18 03:44:43 +00:00
ehouse
33c99a2371 cleanup; to get better idea of what fonts are available on smartphone
add rough font chooser dialog.  Is commented out and not meant to
ship.
2008-09-17 04:19:20 +00:00
ehouse
fd6345c1cb move logLastError 2008-09-14 16:06:51 +00:00
ehouse
82030b5382 plug leak: DeleteObject can't nuke an object CE didn't create 2008-09-14 16:06:18 +00:00
ehouse
4d7a781673 move logLastError 2008-09-14 16:01:28 +00:00
ehouse
e176540b5e remove unused defines 2008-09-14 14:38:16 +00:00
ehouse
93f120e274 Up copyright date. 2008-09-14 14:37:44 +00:00
ehouse
302f7524ef Up beta version; fix sizes to avoid clipping on some CE devices. 2008-09-14 14:36:31 +00:00
ehouse
d27b0d4eed Extend use of fitted fonts to scoreboard, allowing scoreboard to have
non-constant size eventually.
2008-09-13 15:24:23 +00:00
ehouse
720160e7de Pass streams to cedraw on save and restore, adding version flag for
backward compatibility.  Within cedraw, save cached font info to
remove the visible delay on startup.
2008-09-10 12:18:30 +00:00
ehouse
1825939981 Reduce parameter count. No logic change. 2008-09-10 11:57:30 +00:00
ehouse
34c4bdab9a In case where board can't fully fill screen, track the rects on either
side and erase them when they're invalidated.  When seeking best-fit
font, pull glyphs to measure from dictionary rather than assuming
A-Z. Speed font measuring code by passing over all glyphs only once,
noting tallest and lowest-extending then measuring only those two as
smaller sizes are tried.  This *may* make the process fast enough that
I don't need to cache the information across boots: need to try on
real hardware.
2008-09-09 12:31:02 +00:00
ehouse
69f667fba3 logRect utility 2008-09-09 12:20:45 +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
36213460e0 Make CEDrawCtx def private; erase background when OS invalidates it.
This gets rid of what's visible behind the board when it's not
full-screen width, but causes a lot of flashing.  Better will be to
make board.c own an entire rectangle and to decide board dimensions
itself.
2008-09-01 15:10:28 +00:00
ehouse
cc627f6b6d Shrink scoreboard a bit. Goal's to not needs scrolling on small
screens, but still needs work.
2008-09-01 15:07:46 +00:00
ehouse
2daf7d503a Pick fonts based on actual size of the subset of glyphs we'll use.
This allows a better fit without hard-coding offsets.  It also takes
considerable time at startup, so either the algorithm has to be
improved or I need to cache the data as part of prefs (and delete it
when switching between landscape and portrait on devices that allow
that.)
2008-08-30 18:55:20 +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
797b859c8e add pointer support to LIB_NO_UI case 2008-08-30 13:28:53 +00:00
ehouse
4d6aec67fe error message when hit feature is off but you try to use it; clean up memory on way out. 2008-08-30 13:27:27 +00:00
ehouse
1384be6895 Get rid of cute-but-confusing feature whereby the menuitem to which
the left softkey is set is removed from the right key's menu.  More
important is that menu-9-6 always mean "exit".
2008-08-27 12:38:01 +00:00
ehouse
bf505d1a62 Go back to using combobox on PPC but keep spinners on Smartphone.
Meaning: both exist in the resource, and at runtime we disable the
unwanted one and lookup IDs and sometimes window messages in order to
operate on 'em.  Also, spinners send WM_NOTIFY messages, so handle
that.  Current implementation is a bit of a hack but works.
2008-08-27 12:16:33 +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
5588ed30ad Fix cached pen remaining after color preference changed. 2008-08-02 14:35:40 +00:00
ehouse
39eb88b14f Replace dropdowns in limited-hint dialog with spinners. Combine flags
for spinners into a macro to guarantee all same.
2008-08-01 11:13:13 +00:00
ehouse
3859e84c52 fix major leakage by closing one game before opening another. 2008-08-01 10:47:32 +00:00
ehouse
be219b71f2 fix scrollbars now that I finally understand what nPage is supposed to be. 2008-08-01 10:37:52 +00:00
ehouse
691f5fea19 fix drawing on 320x320 devices by forcing Wince to treat them as 320x320. 2008-07-30 04:08:45 +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
30fcb88e43 fix problems drawing focus so letters still visible on board. 2008-07-28 05:03:37 +00:00
ehouse
925964675a add game names in sorted order 2008-07-28 05:02:39 +00:00
ehouse
da105cfb16 fix typo 2008-07-28 05:02:11 +00:00
ehouse
507c5e87d8 add new warning message 2008-07-28 05:01:03 +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
b00a2ac384 Fix drawing of divider -- is too narrow to shrink horizontally so do so vertically; implement warnf with a dialog. 2008-07-24 04:16:48 +00:00
ehouse
9f82df49f6 Draw top-level board and tray focus as rect (like palm) rather than by
shading certain tiles/cells.  Up version number.  Change capitalization.
2008-07-20 16:33:19 +00:00
ehouse
7ded50b908 nuke unused variable 2008-07-20 16:31:50 +00:00
ehouse
8d6ae9424c Draw divider smaller when focussed so color shows. Looks like crap,
but better than having focus disappear when on divider.
2008-07-18 09:20:20 +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
e1c7211738 make function signature match param type 2008-07-17 05:07:01 +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
47b27f0e46 remove unused variable 2008-07-17 05:01:24 +00:00
ehouse
df52f6a47a Accept words that contain no vowels. 2008-07-12 19:37:27 +00:00
ehouse
8e25e205fc update in accordance with current Dutch practice (says an informant) 2008-07-10 03:13:33 +00:00
ehouse
ad52e63ff0 separate UI-specific code so that a non-UI linux library can be compiled, e.g. for use with a toolkit not gtk or ncurses 2008-06-30 03:39:27 +00:00
ehouse
ebc481ddc0 Implement dup, delete and rename buttons in saved games dialog.
Differs from Palm in having no edit field.  Rather, a separate dialog
comes up to get the new name.  Rather than reload the spinbox with a
new set of saved games after an action, just close and reopen the
dialog.
2008-06-26 04:17:14 +00:00
ehouse
951d7e1c7e Use GetModuleFileName to find dictionaries in same directory as executable. Replace cute attempt to cons up list of possible dict locations with a string in a resource. Get rid of two-year-old code explaining a change in where dicts live. Fix typo putting 4K buffer on stack. 2008-06-13 05:25:20 +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
bbfdeb6bf8 Draw tiles hanging a bit below board when hidden to allow testing of
common case on wince devices.
2008-06-07 23:03:47 +00:00
ehouse
6153fc9854 Up version of APIs being used. Using non-hex may have been a mistake
anyway.  Remove locally defined function that's available with higher
version.
2008-06-07 15:59:56 +00:00
ehouse
49a897c0de Remove tabs. Whitespace changes only. 2008-06-07 14:47:55 +00:00
ehouse
80b73824e1 Cleanup: fix for win32; remove constants that belong in cegcc; etc. 2008-06-07 14:42:20 +00:00
ehouse
930ed69d6b Finally fix scroll-follows-focus for color edit dialog (the tallest).
Trick was to add BS_NOTIFY property to dialog controls and look for
the WM_COMMAND->BN_SETFOCUS message.
2008-06-07 14:40:05 +00:00
ehouse
fa1f65283f for win32, look for dicts locally. 2008-06-07 13:46:27 +00:00
ehouse
a29ab639fc rename and reorganize/simplify dialog-handling code common to all
dialogs, handling scrolling and backspace key (smartphone only) and
scroll-by-focus in a single place.
2008-06-05 04:29:28 +00:00
ehouse
3555414ffc Fix dictionary-search code to look in top-level temporary directories
rather than hard-coded "SD Card" etc. to work in non-English cases;
fix password dialog to fit, and simplify it; fix backspace on
smartphone for all dialogs with EDIT fields to actually backspace
rather than exiting app; and in main window have it raise focus.  This
change requires SHSendBackToFocusWindow(), which is not yet in cegcc.
Until I get a patch accepted this breaks wince builds.
2008-05-31 22:07:29 +00:00
ehouse
f749fdd560 Remove all tabs. No code changes. 2008-05-31 03:26:16 +00:00
ehouse
af089de849 Move to new cegcc, whose tools have slightly different name. 2008-05-26 00:47:40 +00:00
ehouse
bd6aed4b5a Fix so curses-only builds and curses build doesn't segfault. 2008-05-26 00:27:48 +00:00
ehouse
1355b61906 set background color in timer, preventing flash of color when focus on scoreboard. 2008-05-25 15:54:34 +00:00
ehouse
64199cf1ec clip so arrow doesn't overwrite cell border on smartphone with small cells. 2008-05-25 15:31:54 +00:00
ehouse
556e947cad Prevent Pts in temp score display from overwriting number: draw it
first, and use a font the right size.
2008-05-25 15:08:59 +00:00
ehouse
ec8786b2a7 cleanup: remove dead function; move variables closer to where used 2008-05-25 15:08:03 +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
c6da605b56 add missing error message 2008-05-24 16:08:13 +00:00
ehouse
4c191e0755 Don't specify g++ version; add some consts to fix warnings with newer g++. 2008-05-21 03:49:11 +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
51d4c608f9 Don't include mingwm10.dll in .cab. Doesn't seem to be needed. 2008-05-12 02:51:22 +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
f5b5da9dc5 Fix trade window draw and timer draw by setting clip rect. Change
softkey to turnDone when trading.  Tweak trade-related user messages.
2008-05-11 15:25:04 +00:00
ehouse
1a2ce36bb0 A bit of cleanup; no code change. 2008-05-11 15:23:22 +00:00
ehouse
cf6a3db940 Work around what appears to be smartphone bug where grouped radio
buttons are not kept in sync by manually unchecking one when the
other's selected. Also add terminating WS_GROUP bits; they're supposed
to be there, but did not help.
2008-05-11 13:58:04 +00:00
ehouse
4e9f1c6c2b remove unnecessary memset 2008-05-11 13:55:58 +00:00
ehouse
9617f503a9 Make prefs dialog narrower so fits smartphone screen. 2008-05-10 22:33:07 +00:00
ehouse
bbd9384a9e fix win32 build 2008-05-10 21:11:54 +00:00
ehouse
180de81e58 Fix color edit dialog itself. Shrink to fit smartphone screen. And
use another owner-drawn button for the sample so it can be located in
the resource file.
2008-05-10 21:09:12 +00:00
ehouse
3d6f26cc3d Work around apparent limitation to smartphone/ppc, that ownerdraw
buttons don't generate WM_MESSAGE events and ownerdraw static controls
don't get drawn: have one disabled ownerdraw button as the color
sample and a real button to trigger the edit.
2008-05-10 18:41:16 +00:00
ehouse
e178b7ccf5 Use SHInitDialog on smartphone to create fullscreen dialogs. Move
test for smartphone into util functions so can't forget it.  This
fixes scrolling on smartphone.
2008-05-10 15:42:52 +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
ac63d5621f Clean up saved games dialogs, and remove (temporarily) controls that
won't do anything for b2.  Rename a couple of structs.
2008-04-13 17:14:16 +00:00
ehouse
63419db11a Put game name in title bar on launch as well as after opening saved
game.  Clear when opening unnamed/defaultnamed game
2008-04-13 17:01:09 +00:00
ehouse
18ea57fa38 Set clip rect before scrolling screen. Fixes bug where scroll forced
by hint left board drawn incorrectly.
2008-04-12 19:29:20 +00:00
ehouse
4730a23188 fix gtk_draw_vertScrollBoard to scroll bits rather than just letting
board inval everything.
2008-04-12 16:50:46 +00:00
ehouse
b085e0cea7 Fix drawing of cursor arrow by moving the clip rect. 2008-04-12 15:47:15 +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
fd4cc02c13 shorten dialog 2008-04-02 03:51:12 +00:00
ehouse
97b8d81d40 remove excessive logging 2008-04-02 03:50:55 +00:00
ehouse
11b0b4d254 up version number; test for CELL_DRAGSRC and treat same as empty. 2008-04-01 13:00:10 +00:00
ehouse
0225343c09 Remove params from ceDlgSetup and ceDoDlgFocusScroll; use the right
message to fetch text from listbox on CE.
2008-03-31 00:26:18 +00:00
ehouse
4516cde69c Force redraw after timer fires. This allows scrolling to happen
during drag, but isn't the right fix.  The timerProc should probably
return a boolean indicating whether redraw is needed.
2008-03-31 00:25:18 +00:00
ehouse
6c0d196f6c Remove params from ceDlgSetup and ceDoDlgFocusScroll; use DM_SETDEFID
message to make self-drawn buttons respond to cr key.
2008-03-31 00:24:04 +00:00
ehouse
10c9b15980 Remove params from ceDlgSetup and ceDoDlgFocusScroll 2008-03-31 00:23:07 +00:00
ehouse
7790bf13ff make ceDlgSetup figure out from sizes whether to scroll; make
ceDoDlgFocusScroll parse params passed into WM_NEXTDLGCTL message to
figure out what object is about to get focus.
2008-03-31 00:22:24 +00:00
ehouse
da118a485a Tweak layouts. Wrap color prefs dialog controls in macros so easier to tweak. Up version number. 2008-03-31 00:17:41 +00:00
ehouse
9e38eb7336 name change only 2008-03-30 23:58:04 +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
75ab88565d implement util_yOffsetChange; increase pen timer to half second. 2008-03-27 04:12:16 +00:00
ehouse
ae67a58a26 Attempt to find font that best fits string to encosing rect. Works
but only with a hack: need to understand pango better.
2008-03-25 12:47:05 +00:00
ehouse
a6dda53907 Use new APIs to scroll dialogs; use new saved games dialogs. 2008-03-24 12:41:12 +00:00
ehouse
3aaebbc1da constants for new savegame dialogs 2008-03-23 19:39:08 +00:00
ehouse
8e285f1097 rename ceStackButtonsRight ceDlgSetup, and make it do more general
setup of dialogs on CE.  No need to move buttons, but now scrolling
may need to be enabled, dialogs made fullscreen, and softkeys added.
Add functions to be called from dialog's wndprocs to implement
scrolling.
2008-03-23 19:37:53 +00:00
ehouse
c06434dd5c Lots of changes for smartphone, in particular removing Ok and cancel
buttons for non-win32 dialogs where they'll be replaced by softkeys.
Also, new dialogs to replace OpenFileName etc. that don't exist on
Smartphone.
2008-03-23 19:29:51 +00:00
ehouse
7759cc98be New functions to replace OpenFileName etc. that don't exist on Smartphone. 2008-03-23 19:25:49 +00:00
ehouse
ed2452cbc2 add assertions that formatted string returned fit within the provided space. 2008-03-23 19:14:20 +00:00
ehouse
5fd535d853 Break Czech into two "languages" as a way to support the two encodings in common use. 2008-03-19 04:47:03 +00:00
ehouse
996e88a575 Pick fonts for tray and board based on sizes at runtime; bury tile
values menuitem.
2008-03-16 14:23:57 +00:00
ehouse
a69092bc53 Use clipping to prevent spillage when cells are very small. 2008-03-15 23:06:06 +00:00
ehouse
f0658b3b20 Use MessageBox instead of my StrBox on Smarthphone; do away with
scrollbar on Smarthphone since there's no touchscreen and I want the
space.  Still need to find a way to scroll screen.
2008-03-15 21:56:37 +00:00
ehouse
0bf21a1b5e Change About box implementation from separate dialog to str resource
passed to MessageBox
2008-03-15 19:24:59 +00:00
ehouse
b7f35d2958 Don't subtract command bar height from client rect height on
smartphone.  This prevents windows from being too small in
non-fullscreen mode.  Make ceSizeIfFullscreen work based on state
rather than assuming it's toggling.
2008-03-15 18:32:22 +00:00
ehouse
cae88f5b6c Rework dialogs to fit or (eventually) scroll on small screen; put
dialogs in fullscreen mode; switch from dropdowns to spinbuttons on
CE; grab OS version on startup (not yet used.)
2008-03-15 15:39:58 +00:00
ehouse
dda5042690 Remove windows LF chars just in case; take SOURCEDICT via cmdline; add emacs modeline. 2008-03-15 15:00:46 +00:00
ehouse
a028b34a11 Compile dict2dawg by default since dict2dawg.pl has problems; fix warnings. 2008-03-15 14:52:23 +00:00
ehouse
439dd4d84a add __attribute__ format and fix resulting compile warnings; add a few
new WM_ strings for debugging.
2008-03-15 14:14:39 +00:00
ehouse
4beb818de3 use sigaction rather than signal 2008-03-15 14:04:02 +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
bc873169f1 Add __attribute__ ((format)) and fix problem it flags. 2008-03-10 12:02:53 +00:00
ehouse
559700e27b Quick drawTileMidDrag() so doesn't crash. Still needs to set
background color.
2008-03-10 11:59:30 +00:00
ehouse
244d58b957 Work on soft key and menu: derive text from menu item being moved so
that we can pull out and later replace any item by id alone.  Do
something similar on Win32 to ease development.  Remove '&' from
menuitem text, allowing winders to assign command keys, so that we
don't have to pull it before assigning text to softkey.
2008-03-10 01:47:46 +00:00
ehouse
f30dd17e00 rename constants to begin with GTK so they're unique. 2008-03-10 00:51:20 +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
963c59b0b5 implement drawTileMidDrag (same as tile in tray for now) 2008-03-09 23:32:24 +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
885e7f0192 Put back "turn done" menu, and add call to change the left softkey.
Call it when turn changes, new game is begun, and hint feature has
been used.  Currently menuitem is duplicated.  Goal is to remove the
item being attached to the left button and to replace it when another
is chosen.
2008-02-26 13:49:41 +00:00
ehouse
da60e6211c add -D_WIN32_IE=0x0400 (needed for some structs in mingw headers) 2008-02-26 13:47:28 +00:00
ehouse
b397c30178 add and call util_turnChanged 2008-02-26 13:46:33 +00:00
ehouse
dfe0249490 Add name of color edited to title of color edited. Clean up names and constants in support. 2008-02-26 13:31:36 +00:00
ehouse
a6575b1a2c Convert prefs in old format to new when encountered so that users
don't lose settings on upgrading.
2008-02-23 22:06:05 +00:00
ehouse
04ff991298 Add more message strings 2008-02-23 22:02:10 +00:00
ehouse
551cad98ed put file menu last where easier to get to 2008-02-23 22:01:36 +00:00
ehouse
9d0231a8b7 line column heads up correctly again 2008-02-23 22:00:40 +00:00
ehouse
907838591e Fix to work with BYOD: pass -r rather than use grep to pull illegal words; fix language code; include charset. 2008-02-23 21:59:38 +00:00
ehouse
bbbad5cbd8 Draw color samples to look more like buttons including thicker border to indicate focus. 2008-02-22 13:27:33 +00:00
ehouse
f0b53fd605 First cut at handling Czech. Correspondent says the Palm dict looks right. Still need to test on Windows and on BYOD. 2008-02-20 03:50:32 +00:00
ehouse
ab73fc4d38 cleanup; add lineno so number of letters is apparent 2008-02-20 03:44:31 +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
5a951647e2 add mingwm10.dll to .cab files 2008-02-16 20:26:47 +00:00
ehouse
f5ae6b9809 add -Werror 2008-02-16 19:05:30 +00:00
ehouse
ccb8fb4df7 Fix timers to work even when message queue is full; make fullScreen
choice persistent; clean up resource file and add missing strings.
2008-02-16 17:36:46 +00:00
ehouse
a79dfdecc0 fix warning 2008-02-16 17:19:31 +00:00
ehouse
02f3e10edc move or add ceStackButtonsRight 2008-02-16 17:19:06 +00:00
ehouse
4a464b6ef5 modify ceStackButtonsRight to place dialog ok/cancel buttons in
bottom menubar where possible; move XP_LOGW to cedebug.c
2008-02-16 17:14:35 +00:00
ehouse
3ec8ee536e fix compile warning 2008-02-16 17:09:21 +00:00
ehouse
e3b39a9834 Add missing files. 2008-02-16 16:36:37 +00:00
ehouse
de6e0d4f2d Make cegcc the default build environment for wince. Make inclusion of hacks needed to work with mingw/pocketpc-sdk conditional. 2008-02-16 16:33:46 +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
c3555440fd get rid of const-related warnings 2008-02-16 15:49:03 +00:00
ehouse
0913936486 Add resource for two-soft-key commandbar and put it up. The single item is "Done" for now. 2008-02-05 04:57:58 +00:00
ehouse
a05138790c Modify to switch between cegcc and pocketpc-sdk, with pocketpc-sdk
choice commented out.  cegcc builds it about 30% smaller, in line with
what the older M$ tools could do.
2008-02-05 03:45:24 +00:00
ehouse
3532f7fa61 make "next hint" top sub-item since it'll be most frequently used 2008-02-05 03:38:15 +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
ea7949dd22 Make a couple of dialogs format for narrower screen and respect keypad buttons. 2008-02-02 20:58:44 +00:00
ehouse
2910bab3a0 fix perimeter focus clearing and board size setting. 2008-02-02 17:21:57 +00:00
ehouse
b98b7fd993 Move toward running curses on a small screen: replace omnipresent menu
with one drawn on demand; change size and location of scoreboard and
tray if needed; use wgetch rather than reading stdin to support keypad
keys for navigation.  Also stick g_ in front of some frequently used
global names.
2008-02-02 16:56:20 +00:00
ehouse
bae6890c35 fix to build without Bluetooth headers 2008-02-02 16:53:36 +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
1ac6326563 Add full-screen mode and menu to get to it (leaving the cmdbar/softkey
area in place until I figure out how to work a UI without a visible
menu); rework menu to launch new-style from a single softkey; remove
cmdbuttons and associated resources; limited progress on handling
return key/timeouts for keyboard navigation.
2008-01-20 15:36:17 +00:00
ehouse
211100c247 Turn off experimental multi-device features; up copyright; define XP_UCHAR as signed char to fix lots of warnings. 2008-01-19 16:34:21 +00:00
ehouse
f90b6d35e8 Fix to compile and run standalone 2008-01-19 16:04:48 +00:00
ehouse
6e9e5b5c99 Fix to compile and run standalone 2008-01-19 16:03:53 +00:00
ehouse
3d314081b2 Latest strings translated. 2008-01-08 14:35:41 +00:00
ehouse
f0bad7dc38 Tweak text around locating host device 2008-01-07 13:56:53 +00:00
ehouse
f2e5f4f2a4 fix so non-debug builds compile 2008-01-07 13:56:20 +00:00
ehouse
3e04e89803 remove newly-added palm_bt_nameForAddr 2008-01-07 13:36:00 +00:00
ehouse
7153bbb574 Add method to lookup hostname without access to btlib state. Some cleanup. 2008-01-07 01:27:45 +00:00
ehouse
b4f2df5eb5 Log unusual case. 2008-01-07 01:19:47 +00:00
ehouse
c6a6ec1fb0 Get rid of unused enum. 2008-01-07 01:19:24 +00:00
ehouse
e9ac7f53c4 Error code used with method to check consistency of BT address. 2008-01-07 01:18:51 +00:00
ehouse
3de08b9908 non-code change to make debugging easier 2008-01-07 01:17:42 +00:00
ehouse
9246ca78a5 Revert to default values for conType-specific fields for all types but
the current.  This prevents random-string hostnames when switching
from IR to BT.  Also some code cleanup.
2008-01-07 01:15:18 +00:00
ehouse
92c37d836c Error string used with method to check consistency of BT address. 2008-01-07 01:12:12 +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
b333476d48 Update to use modified newg_store 2008-01-05 16:37:49 +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
81c3d1681a when variables in callback indicate we're running in another app's context, do nothing 2008-01-02 01:46:35 +00:00
ehouse
bad6415484 log date on startup; don't always put up about dialog on first boot; remove excessive logging 2008-01-02 01:45:58 +00:00
ehouse
22909ce6fb add target for dict2dawg 2008-01-02 01:44:12 +00:00
ehouse
b115cc6f0c fix unused param warning 2008-01-02 01:43:45 +00:00
ehouse
1828cfcf11 up copyright date and beta version number 2008-01-02 01:28:30 +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
4074417b33 ignore timers if state changes after they're set; take down links when resetting 2007-12-31 01:22:03 +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
f1ee7db34c Add what may be final French translations; remove pre-release part of aboutbox text. 2007-12-19 05:30:51 +00:00
ehouse
995990d70a draw hint borders wider on high-res devices so they're actually visible 2007-12-19 05:29:53 +00:00
ehouse
02ca3eb9d7 Make initial value of confirmBTConnect true. 2007-12-15 18:55:32 +00:00
ehouse
9292e38cab Substitute name of remote host into request for connection
initialization confirmation.
2007-12-15 07:22:12 +00:00
ehouse
484025a21f Catch French up with change for BT connect confirmation (pending
translation.)
2007-12-14 13:37:12 +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
3b1fcceb16 Fix compilation errors due to constant name changes -- no change to binary. 2007-12-14 13:06:44 +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
872ae90c94 fix bug using same string and code to warn and to reject phonies. 2007-12-14 03:21:46 +00:00
ehouse
d6a161b939 fix bug introduced by what was supposed to be risk-free change: send prefsChangedEvent rather than the wrong one so preferences get honored again. 2007-12-13 14:44:29 +00:00
ehouse
5cf30db8f0 Change Resend menu text, and to make it clearer put up an error message when it's used in a standalone game. 2007-12-12 04:23:42 +00:00
ehouse
01fec3742c Substitute French translations of new BT-related strings; since this
results in overlapping buttons, add code to space them evenly across
window.
2007-12-11 04:36:50 +00:00
ehouse
8035955814 Add non-sf.net contact options; make params const. 2007-12-09 23:37:47 +00:00
ehouse
4c686bdaa0 Add strings and make other changes needed for compilation with BT on
for French, marked for translation.  Fix formatting and add emacs
compile string for English.
2007-12-09 04:02:24 +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
8dfff86cff Fix crash on restart when app had been exited with some form other
than main on top.  focusOwner was saved based on front form but on
startup I tried to set it in the main form.  This will need to be
merged into a branch based on the 4.2.1 release for a 4.2.1.
2007-12-08 21:04:44 +00:00
ehouse
75a3c36ad6 Remove unused code and constants; fix to compile with relay; don't
show connection type dialog unless more than IR is available and
supported, and then build the dropdown dynamically based on what's
compiled-in and available on the device.  This means you don't see the
BT option at all if you don't have BT.
2007-12-08 18:11:42 +00:00
ehouse
348111ece2 Remove unused FindTrustedDevice calls; don't try to become master or slave
until we know which we'll be.  This likely fixes the problem where devices
have trouble connecting after switching roles.
2007-12-07 09:50:48 +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
acc7b5be52 Don't respawn if child died in less than a second. 2007-12-05 06:30:45 +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
1926c84825 Change state icon even when not doing work to get it to show up (unconnected) earlier. 2007-12-05 06:26:21 +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
9ec0177592 Log BT lib version -- toward refusing to run or alerting user of broken Treo650 (version 1). 2007-12-03 01:18:59 +00:00
ehouse
86f5193801 Fix compilation errors. Not tested. 2007-12-03 01:18:13 +00:00
ehouse
da93ed5b31 Don't use uninitialized values as port numbers; use match for set as well as get. 2007-12-03 00:45:09 +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
25c4368231 Start adding ability to listen on multiple sockets and to dynamically
change the set listened on.  There's still some debugging to do but
nothing that worked before is broken.  Also begin to accept unique
prefixes (e.g. g for get) for commands and attributes on the control
port.  Note that relay-related code in comms seems broken now, but is
without this checkin.
2007-12-01 15:00:30 +00:00
ehouse
a560c9f8a8 Add files forgotten with last checkin; add additional parameter to
addListener so listeners can be removed on reset.
2007-11-28 03:59:26 +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
ee726968b0 Don't draw negative number of tiles left. 2007-11-25 15:12:22 +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
022317b47a Exit on unexpected params; better testing when launching; use bash to create pid file. 2007-11-22 04:59:11 +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
cb1222c0f9 Make cooperation in a heartbeat scheme a compile-time option. This is
meant to allow comms to take over heartbeats.
2007-11-18 23:38:56 +00:00
ehouse
f3d67cfb6c Fix bug reassembling packets; advance credit on each send/receive.
With this checkin rfcomm works between two Treos and between Treos and
linux, though with plenty of bugs around reconnecting yet to find.
However, it turns out that even using rfcomm a Treo650 gives no notice
to the other device when shutting down the connection, so rfcomm
doesn't help.  Rfcomm is probably not worth using, but the code's now
here and can be turned on in the Makefiles.
2007-11-18 17:57:28 +00:00
ehouse
cfb01d8f3d Deal with incoming fragmented rfcomm packets; log packet contents. 2007-11-15 14:40:56 +00:00
ehouse
d6163b62ff Add code, disabled in Makefile, to use rfcomm rather than l2cap for
data with the goal of detecting disconnects more quickly.  Stops
working after a few packets (client only tested against host on linux
so far), and doesn't compile for ARM yet, but the framework is there.
Am framing packets on Palm side which may not be necessary.
2007-11-15 14:39:33 +00:00
ehouse
ac42b5e7d6 fix oversized font when scoreboard miniwindow has two lines. 2007-11-14 05:57:12 +00:00
ehouse
1094680ee7 quick hack at framing rfcomm packets 2007-11-14 05:53:28 +00:00
ehouse
6b834cce4a Add ability via compile-time flag to connect via rfcom rather than
l2cap.  Works with two caveats: assumes l2cap-style complete packets
(no framing), and has problems with linux sdp system's tendency to
retain records long after sessions are closed.
2007-11-13 15:20:33 +00:00
ehouse
8dbfe4ed79 fix new compiler warnings; daemonize, and add handler to kill child if
parent dies so that script can kill based on pid file.
2007-11-13 03:53:10 +00:00
ehouse
74a30ffe82 init.d style script for starting and stopping relay 2007-11-13 03:50:41 +00:00
ehouse
ef19abbfd9 Fix reconnect bug: when master's in initial state but listening socket
already inited, shift state to listening
2007-11-10 17:54:05 +00:00
ehouse
0291ec1e75 Turn on self-spawning: main loop should never crash but exists only to
respawn child when it does.  Add crash command to test this.  Add
ability to set logging level from ctrl port.
2007-11-10 05:41:49 +00:00
ehouse
6db5eed156 Add English strings as starting point for translation 2007-11-08 05:18:04 +00:00
ehouse
bdb06cbdf8 Use a single general-purpose callback passed into palm_bt_doWork where
it's needed, removing those passed into _init and _send.  When client
is unable to connect to host, raise alert to user and give choice to
continue trying.  Clear 'suspendBT' flag when user manually resends or
opens different game.  Currently this happens only on guest's failure
to find registered SDP; should also extend to remote device not
running at all and to host failure to send to guest.
2007-11-07 13:40:56 +00:00
ehouse
36c40f3375 Use fixed action queue and memcpy rather than rotating buffer; eliminate sequential duplicates of most actions. 2007-11-06 04:05:11 +00:00
ehouse
383847e75c Fix typo breaking compile. 2007-11-05 03:42:27 +00:00
ehouse
3060888264 Update BT code to advertise and search sdp records and use psm reported to work with new Palm
code.  Log btaddr after converting from name.
2007-11-05 03:38:00 +00:00
ehouse
de640cda98 Update BT code to advertise and search sdp records and use psm reported to work with new Palm
code.  Get rid of pthreads dependency which was for logging only.
2007-11-05 03:17:07 +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
880254c17f Fix tray hanging below main window; draw pending tiles white-on-black as on other platforms. 2007-10-24 12:46:15 +00:00
ehouse
e0f5fcf280 Instead of three fixed-sized fonts, choose fonts (lazily) based on the size of the rect into which it's to be drawn. 2007-10-23 03:08:47 +00:00
ehouse
3480df738c Add ARM support for functions and types required for UUID/PSM lookup.
Almost works: if the ARM build is running as host, all's well; but if
it's client, gets btLibL2DiscConnPsmUnsupported after trying to make
an l2c connection.
2007-09-30 17:33:19 +00:00
ehouse
556dbf46e3 move LOG_OFFSET 2007-09-30 17:22:38 +00:00
ehouse
ef31e3688c fix log_hex to print nibbles in right order. 2007-09-27 02:56:35 +00:00
ehouse
104a173c5d Publish (master) and look for (slave) SPD record so that we're looking for our app and not just BT when connecting. I hoped this would prevent T650s from crashing when nothing's running. It doesn't, but it's the right way to connect, and will allow better error messages or retry logic. Compiles only on 68K at the moment. 2007-09-15 13:50:07 +00:00
ehouse
cc4aeaee8c Turn BT back on as default and up version preparing for next release. 2007-09-15 13:47:28 +00:00
ehouse
473d506611 add logging to help catch a recurring assertion 2007-09-15 13:46:59 +00:00
ehouse
40fdec22a2 up version number for dot release. 2007-08-27 12:43:26 +00:00
ehouse
f0b36895d7 If we get keyUp event, override earlier determination that this device doesn't get them. This works around Tungsten double-key bug. Better fix will be to use the right FtrGet constants to set generatesKeyUp. 2007-08-22 02:36:13 +00:00
ehouse
ab6ed444bb add fnav resource for password dialog, and use it if device has fiveway.
Otherwise use FrmSetFocus.  This works around a bug where key event that
leaks through from parent dialog dismisses dialog (whereupon another comes
up, and eventually cursor is left flashing on parent.)
2007-06-18 13:21:36 +00:00
ehouse
eeafb5c4f2 reset in/out var before each call to util_askPassword 2007-06-10 14:54:47 +00:00
ehouse
719fc3889c turn off BT; remove rc designation so can ship 2007-06-09 18:09:21 +00:00
ehouse
c911780c37 fix to build with relay turned on (part 2) 2007-06-08 03:20:09 +00:00
ehouse
a1ebd16a5a fix to build with relay turned on 2007-06-08 03:15:52 +00:00
ehouse
2f925349a6 Fix so can without BT, and so compiler can be specified to Makefile. 2007-06-02 02:07:45 +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
f12bf79101 turn on BT; up alpha version number. 2007-05-27 16:59:24 +00:00
ehouse
a527e426d6 Revert version number to rc3 for 4.2. 2007-05-26 22:59:32 +00:00
ehouse
d58789c493 Use a timer to avoid trying to get an ACL connection too frequetly.
This seems to trigger crash Treo650s far less often than constantly
retrying.
2007-05-26 22:51:25 +00:00
ehouse
a2f60cb1f8 Makefile for Collins dict 2007-05-26 14:47:46 +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
8a074126db Turn of BT for rc2 release 2007-04-28 23:34:44 +00:00
ehouse
934f90efbc up alpha version number 2007-04-28 22:53:21 +00:00
ehouse
42f8a55220 A few more translations and moving of widgets to accomodate strings 2007-04-27 07:08:09 +00:00
ehouse
96ae1292bf A couple of additional translations; back out debug-only translations; mark strings that may still need translation. 2007-04-26 01:24:23 +00:00
ehouse
c9e1cab5ee Make "Cur" string in tile-picker dialog localizable; move buttons in same for French to fit. 2007-04-24 13:34:21 +00:00
ehouse
ee636886a1 Additional French corrections. 2007-04-23 03:24:34 +00:00
ehouse
a1a0f9934a Call HsNavDrawFocusRing on Treo600, FrmNavDrawFocusRing on later
devices.  Fixes crasher on devices that don't have the former.  Up version.
2007-04-23 03:20:37 +00:00
ehouse
630d9e391b add no-bt state so there can be no icon when bt's been left off; up
version and turn BT on by default for a8 release.
2007-04-16 05:22:49 +00:00
ehouse
0b0143fa92 If BT is off, ask user to turn it on only once. If cancels, warn that
it must be turned on, and don't attempt to turn it on again.  This
prevents BTLib from repeatedly asking for permission to turn BT on.
2007-04-15 16:46:17 +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
ca7c69bff1 include Makefile.langcommon 2007-04-14 16:03:31 +00:00
ehouse
b1de2cb575 Return null rather than allocing bt storage if unable to open bt library. 2007-04-13 08:47:22 +00:00
ehouse
f141078e1f More translation tweaks 2007-04-13 08:45:48 +00:00
ehouse
555d8f9a82 include LANG in obj dir name 2007-04-12 01:22:31 +00:00
ehouse
0bc445f2ad Fix to compile with XWFEATURE_FIVEWAY undefined 2007-04-12 01:19:56 +00:00
ehouse
9b7e0c76a3 Text tweaks from Francis; widget resizings from Eric. 2007-04-12 01:17:33 +00:00
ehouse
0d8545426d First pass at translation. 2007-04-10 13:23:39 +00:00
ehouse
df1f14b41f Copy English files preparatory to French localization. 2007-04-10 13:19:04 +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
128d9c56ef Turn off BT, and up version for first RC release. 2007-04-05 04:19:44 +00:00
ehouse
d1c36681f3 pass -D options to gen_pace.pl 2007-04-05 04:18:42 +00:00
ehouse
959357f0f6 wrap BT APIs in ifdef 2007-04-05 04:18:05 +00:00
ehouse
039a730217 merge changes 1895 and 1899 for allowing ifdefs in funcfile.txt 2007-04-05 04:17:43 +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
539912b8b2 Make gadget and bitmap size match. 2007-03-18 23:58:32 +00:00
ehouse
03433901fc Closing BT lib from datahandler (since don't want to close on game
close in case next game will use); erase BT status icon when not BT
game; plug leak of dict name.
2007-03-18 23:57:30 +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
0d286632be palm_dictionary_make makes copy of name if needed. Helps plug memory leak. 2007-03-18 23:49:15 +00:00
ehouse
90d285c593 add consts; remove logging. 2007-03-18 23:48:00 +00:00
ehouse
242e71f04a What I meant to check in. Need to save first.... 2007-03-18 23:38:53 +00:00
ehouse
a4fb5a6d5a Always send BT reconnet message, even if there are messages to resend.
Fixes failure to reconnect when opening a saved BT game where the
other device is waiting and will need to resend.
2007-03-18 23:38:19 +00:00
ehouse
aad182c2e3 turn stringFromStream into macro to aid logging for leak detection. Debug builds only effected. 2007-03-18 23:31:51 +00:00
ehouse
3974ac4639 Fix crash on ARM: don't compare dummy strings. 2007-03-18 14:45:51 +00:00
ehouse
e22a131687 include ability to choose arm or 68K in combined-arch release builds too 2007-03-18 00:05:15 +00:00
ehouse
d9e29674cd comment out assert that doesn't seem to matter 2007-03-17 17:31:01 +00:00
ehouse
08901ca548 include ability to choose arm or 68K in combined-arch debug builds 2007-03-17 17:30:30 +00:00
ehouse
ecba9df348 Pad prefs struct so ARM and 68K versions are using same addresses
(fixes crash opening game in ARM version that was saved in 68K);
2007-03-17 17:29:32 +00:00
ehouse
0fd0692748 better logging: include function name 2007-03-17 15:38:44 +00:00
ehouse
c7b46cffbf Pad prefs struct so ARM and 68K versions are using same addresses
(fixes crash opening game in ARM version that was saved in 68K);
renumber resource IDs so can be logged via a switch.
2007-03-17 15:37:15 +00:00
ehouse
e111c2d89c Remove excess logging. 2007-03-17 15:35:14 +00:00
ehouse
bf7833c420 Put back code to associate service record with listening socket, but
ifdef'd out as it doesn't seem to make any difference.
2007-03-17 15:34:24 +00:00
ehouse
fcb334375a define XW_PSM in accord with palm guidelines. Doesn't seem to matter... 2007-03-17 15:33:16 +00:00
ehouse
aa4333903f compare only six bytes of struct ARM pads to 8. 2007-03-15 05:06:56 +00:00
ehouse
19ac39010f Enable BT; up version number for a3. 2007-03-15 01:21:56 +00:00
ehouse
b72aba3a9a Don't store procptr stubs in Ftrs across app boots! Fixes device-resetting crash. 2007-03-15 01:20:11 +00:00
ehouse
a0eeafb226 Don't store procptr stubs in Ftrs across app boots! Fixes device-resetting crash. 2007-03-15 01:19:35 +00:00
ehouse
252c07c6ee Print param lists under 80 columns. 2007-03-15 01:14:15 +00:00
ehouse
97cddf35ff define constant so tests work on ARM too. 2007-03-09 03:00:44 +00:00
ehouse
c00dad745d Add APIs needed to compile and use BT APIs. ARM version works now well enough to play games, but often crashes on app exit having done so. 2007-03-09 02:58:57 +00:00
ehouse
3535a2c846 update to die when func not found, and to handle BT APIs 2007-03-09 02:56:02 +00:00
ehouse
5478dbeb43 Add one-bit bluetooth status indicators 2007-02-28 02:32:49 +00:00
ehouse
a0919dcc54 Fix bug: scoreboard doesn't reflect connected state until some other
event causes update.  Fix by calling turnChangeListener any time turn
changes, including on initial set.
2007-02-27 02:48:51 +00:00
ehouse
971bfc280f Save and restore focus owner across app restarts (includes working around
OS's insistence on sending focusTake event on formOpen); up version numbers; turn off BT prior to beta release.
2007-02-24 03:35:51 +00:00
ehouse
5d867cd81c Target to build tarball for uploading to byod. 2007-02-20 07:24:18 +00:00
ehouse
8faacfcede Fix to work with new byod scheme. 2007-02-20 05:49:57 +00:00
ehouse
621e049962 Cleanup for a5 release: always use status icons when building for bluetooth. 2007-02-18 03:33:17 +00:00
ehouse
b2ed436b74 Add support for Russian. So that Russian text can be processed on systems without setting LANG=ru_RU.CP1251, modify dict2dawg to skip duplicates and words outside of specified lengths. Modify all info.txt files for the new scheme (which includes change to byod.cgi not kept on sourceforge.) 2007-02-17 17:06:05 +00:00
ehouse
3b7e680f2c increment internal tile values by one so strings can be null-terminated 2007-02-14 15:17:00 +00:00
ehouse
f273e93c86 code to use bitmaps instead of letters to show bt conn status. 2007-02-12 08:05:35 +00:00
ehouse
13c425f005 Add bitmaps to replace letters as indicators of bluetooth connnect state. Still to go: lowres equivalents. 2007-02-12 07:54:23 +00:00
ehouse
c0b515457b Cleanup: compile warning and to make logging easier. 2007-02-08 15:17:23 +00:00
ehouse
b1d4a800c8 Fix nav for tungsten: test for lack rather than presence of keyUp events. 2007-02-08 15:16:46 +00:00
ehouse
a424d54445 Add a one-byte header to BT messages so one device can signal another
that a new game's begun without dropping the connection.  On Palm,
remove connection-drop on new game.  With this change starting a new
game takes imperciptible time, down from 30 seconds.
2007-02-08 02:53:10 +00:00
ehouse
9f23c4b4d9 Replace ints with bools; add rev command; fix bug by reiniting args with each
command so they don't hold previous values.
2007-02-07 13:22:40 +00:00
ehouse
ff82dd61c0 Fix linked-list bug in removeFromQueue. 2007-02-07 11:58:01 +00:00
ehouse
a8d3dbda66 Print svn rev number as part of usage() 2007-02-07 11:56:30 +00:00
ehouse
edd1ce9455 up version number for alpha 2007-02-06 05:55:21 +00:00
ehouse
767b9f2908 initialize mutex before using; fixes a hang since could never aquire
lock.  (This bug has always been there, but didn't matter before;
maybe pthreads changed.)  Comment out self-spawning stuff until can
fix df-transfer problems.  Other minor changes around logging.
2007-02-06 05:52:22 +00:00
ehouse
3028c9e598 deal with case where guest begins new game but connects to host that's
running the old game: the host may reply, but guest must not take that
as evidence of a connection having been established: don't remove sent
messages (this isn't an ACK), and don't assert later on.
2007-02-06 05:49:45 +00:00
ehouse
183f0f716f enable juggle button after role change 2007-02-06 05:47:20 +00:00
ehouse
f2ae7cb716 close and reopen bt module with every new game to fix, badly, client's
failure to connect if it's restarted before host; add event and use to
retry BtLibSocketListen when fails (since failure is usually
temporary).
2007-02-05 04:20:13 +00:00
ehouse
9a61f5c38b Add assert; don't call comms if has been set to null (fixes device
reset); fix failure to install connCB (removes need to manually resend
messages when client starts up first.)
2007-02-04 17:13:01 +00:00
ehouse
363cfdce04 Drop keyUp events not preceeded by keyDowns to catch leaks from
dismissed dialogs; don't drop first keyDown on OS4 since the bug that
works around isn't there; turn BT back off by default.
2007-02-04 04:10:11 +00:00
ehouse
5fbc89ae76 add tarball target for exporting enough code to build relay. 2007-02-04 01:22:31 +00:00
ehouse
5afdcc20db include result of strerror in messages logging errno; turn relay on by default (linux) 2007-02-04 01:22:00 +00:00
ehouse
4c2259400a include result of strerror in messages logging errno 2007-02-03 21:35:07 +00:00
ehouse
e8f2215221 Turn on BT so 4.3a4 can have a non-M rev number; up version for 4.2. 2007-02-03 20:36:22 +00:00
ehouse
7c8b7294cd add const to a bunch of char* decls in APIs and variables; no code change 2007-02-03 17:54:20 +00:00
ehouse
e6ec790305 eType_2str replaces logEvent. Only effects debug builds. 2007-02-03 17:41:46 +00:00
ehouse
1fb61d9a7f don't set INITIALOBJECTID for main form 2007-02-03 17:39:48 +00:00
ehouse
83a25455bb Fix Zodiac-only bug: printing keys generate only keyDown event, so
must use different handler than for nav keys; fix treo bug where forms
brought up during key handling get spurious key events by adding
keySafeCustomAlert that consumes up to the first keyDown before
calling FrmCustomAlert.
2007-02-03 17:36:56 +00:00
ehouse
3f111c5657 name change only: Connectedness becomes DeviceRole 2007-02-02 08:34:37 +00:00
ehouse
b2f3e73672 Don't make any btlib calls until the main form is up. This works
around an (OS?) bug where, apparently, the confirm-turn-on-bt dialog
eats pending events, including frmLoadEvent, so that the form never
loads or is very broken if that dialog is allowed to come up too
early.
2007-02-02 08:24:06 +00:00
ehouse
ad77b04766 When role changes from client, where only local players are shown, to
host or standalone where all are shown, change the number shown
appropriately.  The goal is to make the experience natural,
particularly for the common case where the players aren't changing.
Give up once user manually changes number shown.
2007-02-02 08:15:07 +00:00
ehouse
c2d67e16da debugging: add custom events to logEvent 2007-02-02 08:11:42 +00:00
ehouse
f441b22e78 cleanup: only one return per function. 2007-02-02 08:11:14 +00:00
ehouse
599b43ab78 Y counts as a vowel when removing non-words. 2007-01-30 04:53:32 +00:00
ehouse
aaeb58e993 Remove excess logging 2007-01-27 15:12:13 +00:00
ehouse
9d74699181 Work around what looks like a PalmOS bug that generates a spurious
keyDown event to a form put up while processing a keyUp event in the
main form: set a flag while handling key events, and drop the first
keyDown in child forms when it's set.
2007-01-27 15:10:10 +00:00
ehouse
f56b170b2a cleanup. No change in generated code. 2007-01-27 15:07:02 +00:00
ehouse
1486c764fb use varargs for LOG_RETURNF macro 2007-01-27 15:04:57 +00:00
ehouse
1890fcac6b forward declaration stops compiler warning 2007-01-27 15:04:19 +00:00
ehouse
ebeefe457f check and flip before hiliting cells. Fixes bug with feedback on hint
search on flipped board.
2007-01-23 04:09:26 +00:00
ehouse
0313a89553 Test and special-case for zodiac, which gets events in the same way
has Treo but doesn't have OS support for moving focus among objects.
And since zodiac doesn't support the std Palm hires APIs don't try to
use them.  Up version string to b4.
2007-01-21 23:27:46 +00:00
ehouse
7ed3ad89b7 Remove assert that's firing; don't inval_all from util_yOffsetChange:
that blocks testing common inval code.
2007-01-21 23:00:52 +00:00
ehouse
a998e96de9 Tweak scroll-of-focussed-board inval code so we don't inval the whole
board, which looks crappy.  Instead inval only what was previously a
border row, and pass a new param to draw_vertScrollBoard so the
platform can choose not to scroll cells that will just get overwritten
with different bits.
2007-01-21 22:59:29 +00:00
ehouse
15acf8c8bb When scrolling a focussed board, inval everything. Otherwise border
cells scroll into the center drawn as border.
2007-01-21 18:05:25 +00:00
ehouse
6ed6fe4976 Change how flip works, keeping board data like invalFlags and limits
in sync with the board rather than the model and flipping coordinates
only in time to access the model or pass to engine.  With that done,
drawing can skip any rows scrolled off-screen, and the board's
perimeter focus rect can be drawn and invalidated correctly on a
flipped, scrolled screen: zodiac, eventually.
2007-01-21 06:21:12 +00:00
ehouse
45ad5bc5df Fix drawing highlighted cells on perimeter. 2007-01-20 04:30:02 +00:00
ehouse
0b68a917f7 preliminary addition of xplatform-only focus, esp drawing of cursor
and handling of arrow keys via WM_KEYUP; added focus/cursor color to
prefs and color edit dialog.  Tested only on win32 (WINE), and not
integrated with platform nav/focus model.
2007-01-19 08:24:02 +00:00
ehouse
2fabf70396 use new perimeter feature and conditionally replace manual board
framing with it.  Off for now.
2007-01-19 08:22:14 +00:00
ehouse
20ecd5f7d7 get rid of draw methods; always highlight cursor same way;
board_handleKeyUp becomse board_handleKey for curses
2007-01-19 08:20:58 +00:00
ehouse
0a426b0876 Get rid of draw_eraseMiniWindow: just inval what's under it; make use
of CELL_ISCURSOR consistent: when focus not dived all elements have it
set (or only perimeter for board, settable at compile time); get rid
of draw_drawCursor since CELL_ISCURSOR is all that's needed;
2007-01-19 08:20:11 +00:00
ehouse
e9871b1fb6 change constant names. No change to code compiled. 2007-01-19 06:43:52 +00:00
ehouse
68730379b4 add five-way support for Tungstens; don't move cursor when keys are
meant for menu; redraw after hiding miniwindow when OS brings up
dialog;
2007-01-18 05:49:54 +00:00
ehouse
d350151659 remove code to save bits behind miniwindow 2007-01-18 05:49:07 +00:00
ehouse
c01615e86b reintroduce board_handleKey 2007-01-18 02:42:37 +00:00
ehouse
5decd9bbf3 run svnversion on parent to catch changes in common or other shared dirs 2007-01-16 02:48:27 +00:00
ehouse
c02c3fec17 Set focusHasDived before invalidating so newly focussed object drawn correctly. 2007-01-16 02:42:58 +00:00
ehouse
1afe502436 Fix bugs in recent focus/key changes. 2007-01-12 03:37:30 +00:00
ehouse
5a87db48bd keep track of last key down so can fake key up event when palm won't
be giving us one, e.g. when holding key results in a system window
coming up;
2007-01-12 03:34:43 +00:00
ehouse
f329966a8a on keyDown, look at what keyUp will do and, if nothing, don't handle
the event.  This lets focus transfer work as before there was keyDown.
2007-01-12 03:28:20 +00:00
ehouse
e6ba8c872c fix crash when linux is bt server: if no addr provided it's not a duplicate. 2007-01-09 02:43:09 +00:00
ehouse
994ee5b254 remove dead code. 2007-01-09 02:38:22 +00:00
ehouse
fef8891e3c fix problems created by key-nav changes: don't drop hardware scroll
keys, and redraw after key-repeat if either up or down handled.
2007-01-07 05:25:28 +00:00
ehouse
cf0f88cf36 up version to b3 2007-01-07 05:23:06 +00:00
ehouse
e0010901f1 add board_handleKeyRepeat, and call it from palm and gtk. This lets a
held nav key walk the cursor across the board.
2007-01-07 04:32:29 +00:00
ehouse
593980817f Clean up for non-keyboard and non-keyboard-nav cases. Wince is the
latter: make it compile again.
2007-01-07 01:01:20 +00:00
ehouse
8f924e9dc9 Don't show about dialog (with its alpha message) except when BT enabled. 2007-01-06 18:31:16 +00:00
ehouse
31b6526917 handle both keyUp and keyDown events, including dealing with devices
that don't generate the former.  Break key-handling code into separate
function.
2007-01-06 17:50:43 +00:00
ehouse
098a2ec5c4 Use new keydown/up APIs from linux, and add key support and drawing
changes to implement keyboard navigation/focus in gtk port.
2007-01-06 17:46:02 +00:00
ehouse
0303e56c43 Break key handling into keyUp and keyDown, and treat keyDown the same
as penDown.  Idea is to be able to set timers to get bonus square
hints etc. without stylus.  Works, but transitions are rough because
keyDown doesn't know whether keyUp will result in a focus change.
2007-01-06 17:32:08 +00:00
ehouse
02c225c413 Fix so IR-only multi-device build works again. 2007-01-06 16:46:45 +00:00
ehouse
d23539536e 2007 copyright in about box 2007-01-06 16:45:39 +00:00
ehouse
5b8e0e89d3 remove duplicates as part of sort process 2007-01-06 04:43:22 +00:00
ehouse
68e2f821d6 beta 2; redraw focus ring after redrawing tray buttons; move board
focus border so it coincides with regular border.
2006-12-21 07:55:19 +00:00
ehouse
f1380a6a70 incorporate svn version number in .prc file name 2006-12-20 04:57:36 +00:00
ehouse
1808fa804c When palm button loses focus to board obj, post event to be handled
after focus event, and on handling it inval rect of focus ring on
button.  This fixes drawing glitch where palm remembers pixels behind
focus ring but they're not right.
2006-12-20 04:49:24 +00:00
ehouse
5d99928dea place initial focus on scoreboard since OS insists on putting it somewhere. Need to fix that. 2006-12-20 04:16:22 +00:00
ehouse
72228104ec fix for non-BT compile 2006-12-20 04:15:40 +00:00
ehouse
884cb8d186 prevent tray buttons overwriting tray by removing border and moving same distance to right 2006-12-20 04:14:41 +00:00
ehouse
1f6d5b6012 add new file palmdbg.c 2006-12-20 04:13:30 +00:00
ehouse
5b34e786bc bug fix: clear focusHasDived on pen event along with other focus state 2006-12-20 04:11:17 +00:00
ehouse
23b85f5437 BT work is now 4.3. Nav work moves into beta as 4.2. 2006-12-13 05:03:19 +00:00
ehouse
ebfd85019d add hand-coded implementation of HsNavDrawFocusRing. This works, but
should be replaced by generated code.
2006-11-29 04:11:24 +00:00
ehouse
4b5acc257f back out unintended change 2006-11-27 04:52:27 +00:00
ehouse
f0f8eccbe1 include Hs (nav) files for ARM build too 2006-11-27 04:50:53 +00:00
ehouse
4f0a0593e7 add type for ui color table; get a jump on Hs nav functions 2006-11-27 04:48:28 +00:00
ehouse
2fa63a74b9 temporarily comment out for arm code that won't compile on arm 2006-11-27 04:40:18 +00:00
ehouse
424718b5bb swap focus-related event data, and include the UI color table call used to
determine the color of self-drawn focus elements.  I can't draw the nav
ring on ARM, but otherwise five-way nav works on arm with this checkin.
2006-11-27 04:39:36 +00:00
ehouse
bb45f89a6f Unfocus any board object whenever pen touches board 2006-11-27 01:13:48 +00:00
ehouse
4207a6ae66 get rid of initial focus object for main board 2006-11-27 01:07:22 +00:00
ehouse
afc302a29b When alt key pressed cursor can move onto occupied squares it normally skips. 2006-11-22 13:49:14 +00:00
ehouse
06e6d4a903 Post-Slovak change, 7 bits required to save face and blank bit. Use 7, but expect the old 6 for previous version streams. 2006-11-19 06:40:56 +00:00
ehouse
53765169be Draw focus differently in tray if whole thing has it, to include borders
between the tiles.
2006-11-17 13:46:06 +00:00
ehouse
7fe5718cc5 When "dived" focus reaches and crosses border of object, return as if
not handled.  This causes the platform to handle the key event itself,
typically by moving the focus to the next top-level object.
2006-11-17 13:41:13 +00:00
ehouse
a67be62069 Remove old focus-change callback; use extended handleKey API to allow
Palm to own all top-level focus change decisions (in accord with fnav
resource)
2006-11-14 06:54:14 +00:00
ehouse
91cf8543f5 Draw all focus indications ourselves: no more broken Palm API. Draw a
thick blue rect around board, and color all tiles and score positions
within the draw routines.
2006-11-14 06:52:11 +00:00
ehouse
aaf73a0543 tweak prefs checkbox text: covers remote as well as robot players. 2006-11-14 06:49:20 +00:00
ehouse
f8031a422f reorganize fnav resource for main board, using rows. Allows for
faster travel between the main elements.
2006-11-14 06:48:46 +00:00
ehouse
cac0fd94d7 Use new top-level focus drawing model, and new API indicating whether
key handled.
2006-11-14 06:47:50 +00:00
ehouse
abca6a4092 Two big changes. Pass focus bit into all or and players when focus
not dived and tray or scoreboard focussed.  This lets platform decide
to display top-level focus via mods to all elements.  Second, when
moving focus to top level from dived, claim not to have handled the
key event (but return true if needs redraw).  This allows platform to
handle shifting focus without requiring callback (which removed.)
2006-11-14 06:46:04 +00:00
ehouse
30897a709f Debug-build macros to pass __LINE__ and __FILE__ for logging 2006-11-14 06:40:36 +00:00
ehouse
4ccddbd93f add a done button 2006-11-13 02:02:15 +00:00
ehouse
29c4cb7c10 Exit trade mode silently if user clicks 'D' when it's not his turn.
(Better than refusing because "not your turn".)
2006-11-13 02:01:54 +00:00
ehouse
bfd555c22f bug: need to OR in inval value rather than replace. 2006-11-12 21:03:15 +00:00
ehouse
8125f8405b Break scoreboard code out into a new module. board.o was getting too
big on palm.
2006-11-12 20:09:00 +00:00
ehouse
84321fa158 fix drawing of empty tray space. 2006-11-12 15:39:10 +00:00
ehouse
382848f556 Fix to work with draw API changes 2006-11-12 15:22:26 +00:00
ehouse
a37fab39e8 new UNUSED macro for keynav 2006-11-12 15:20:36 +00:00
ehouse
eb32609a1d Fix to compile and work with draw API changes 2006-11-12 14:51:47 +00:00
ehouse
d3812271a2 Add to draw APIs of individual elements (e.g. board cells) whether
they're focussed so that they can draw that during rather than after
everything else.  On palm, use this to draw focus using the system
selected color rather than with the blue nav rect.  Since a new param
was too much, add new enum type CellFlags and pass as bitvector to
draw APIs.
2006-11-12 14:36:15 +00:00
ehouse
b174b89bda fix compile error when FIVEWAY not on. 2006-11-12 14:29:35 +00:00
ehouse
86e2a2d26a fix crash when FIVEWAY not on. 2006-11-12 14:28:43 +00:00
ehouse
f0d3148a49 Force file logging on to report an assertion failure. 2006-11-11 22:53:30 +00:00
ehouse
74b6d76182 Fix messages getting dropped when remote device isn't connected by, on
getting a new connection, making a callback that calls resend_all().
This means a lot of duplication, but duplication is free with
bluetooth.  The underlying problem is that packets are reported as
sent not when acked by the other side, but when passed to a lower
level that may not be connected at all.
2006-11-11 22:52:39 +00:00
ehouse
b39d0ad600 Add missing question to phonies warning message. 2006-11-11 22:45:13 +00:00
ehouse
2945a120f9 resend_all when a socket connects. This is the strategy needed with
Palm where apps quit and reopen connections many times during a game.
2006-11-11 22:44:31 +00:00
ehouse
9f0db2d9c5 add -lmcheck, which purports to catch memory errors 2006-11-11 22:42:40 +00:00
ehouse
130c0f5a92 Refactor to not return from middle of function. No behavior change. 2006-11-11 22:38:20 +00:00
ehouse
e2f3a55611 reject initial messages coming in on the same address a second time.
Fixes problem that surfaces when clients are more agressive about
resending early in game.
2006-11-11 22:37:36 +00:00
ehouse
1838640823 Fix bug where sign extention on 16-bit processors caused too many bits
set in crosschecks.
2006-11-10 08:08:59 +00:00
ehouse
b171900dfb When moving focus through tray, skip empty space; when through board,
skip cells with tiles permanently played.  Space char raises focus but does
not move it laterally.
2006-11-09 06:05:40 +00:00
ehouse
1f5ec02172 If no arrow visible, use cursor loc as destination when moving tile to tray. 2006-11-08 13:44:34 +00:00
ehouse
708e270b2a add palm_util_notifyFocusChange to handle focus transitions away from
xplat code
2006-11-08 05:06:51 +00:00
ehouse
e8b74e1cc3 set focus to board if not held prior to passing keys 2006-11-08 05:05:11 +00:00
ehouse
414580904f board doesn't handle focus-related keys unless it has the focus. 2006-11-08 05:04:44 +00:00
ehouse
dd5fa134a5 function turning object id constants to strings for logging 2006-11-08 05:04:13 +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
7c2e09cca5 Simple fnav resource for main form: a start 2006-10-30 00:28:46 +00:00
ehouse
935f87979e Use color rather than period to separate score from tiles left in
scoreboard.
2006-10-29 18:24:50 +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
f1def437c3 Use new XP_TriEnable type; begin work to support bluetooth by tracking
connType and adding choice how to connect.  Bt connect dialog is
invoked, but the fields won't be populated.  Pass conn type into
socket constructor, assuming socket code doesn't change much to use BT
rather than TCP.
2006-10-28 14:56:04 +00:00
ehouse
a735cfab03 use new XP_TriEnable type 2006-10-28 14:49:49 +00:00
ehouse
b9cc093820 Many many changes improving newgame dialog by using a three-way rather
than two-way enabled state, but mostly about getting focus ring
working for five-way-equipped devices.  Add fnav resources to the two
dialogs with gadgets, and code so the gadgets are included in the
focus rotation.  The move to three-way means that disabled controls
can visible while excluded from the rotation.  There's cleanup and
polish to be done still, and five-way navigation doesn't work for the
main form yet. No changes to bluetooth at all.
2006-10-28 14:48:08 +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
07e2717cc8 add a few consts decls where APIs changed; use XWFEATURE_RELAY rather
than BEYOND_IR
2006-10-22 19:44:30 +00:00
ehouse
da7a9dd562 When bt init fails, put up alert; check for failure after and don't
crash; erase bt status area even when no comms in order to erase after
turning bt off; in connect dlg, use a trigger rather than field and
button for host name.
2006-10-15 16:14:42 +00:00
ehouse
8c42b56c26 Cleanup logging macros and get rid of p_ignore. 2006-10-15 14:33:55 +00:00
ehouse
b73ac76775 Build with Bluetooth on; add alpha-only text to About dlg; show About
dlg on startup first time; fix null ptr deref bug.
2006-10-15 14:22:32 +00:00
ehouse
c695d8644c remove unused field 2006-10-15 14:20:14 +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
04f99aa2c4 fix non-bt compile by ifdef-ing bt-only ui elements 2006-10-15 14:05:23 +00:00
ehouse
0506069f47 remove duplicate #definition 2006-10-15 13:54:31 +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
d123d6c352 Make self-restarting: fork child and wait (to deal with asserts). 2006-10-11 02:06:20 +00:00
ehouse
ed6cf517ea get rid of extra log statement 2006-10-11 02:02:53 +00:00
ehouse
8e4a9072e5 better message when relay disabled 2006-10-11 02:02:09 +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
b8107cbd6e Add a bit more logging; do a better job of changing roles. Now can switch
roles with a new game and communication starts without a restart of the
app.
2006-10-07 03:40:29 +00:00
ehouse
f6c0ea92e0 Raise status char a bit. 2006-10-07 03:38:36 +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
0b0aef0908 Add quick hack to show BT connect state on main board, to be replace
by icons or something prettier later.  For new games dialog, replace
hard-coded list of controls to ignore with a runtime list.  This
allows checkboxes and fields to be enabled and disabled more easily.
Works around Palm's lack of a control state meaning "visible but
inactive" that works for all form elements.
2006-09-24 17:56:14 +00:00
ehouse
d6ef943a5f add linux_dict_getShortName 2006-09-24 15:35:33 +00:00
ehouse
6bae3385f4 fix compile warnings; disable board size combo when not new game. 2006-09-24 15:34:46 +00:00
ehouse
edd48174a3 Add more consts. 2006-09-24 15:28:15 +00:00
ehouse
d78f9dd720 Add debug menu and in response dump bt state to stream for display.
Track sends and receives.  Add listening state for master, and don't
reset its acl when slave goes away.
2006-09-23 22:58:33 +00:00
ehouse
415148e771 tweaks to compile both standalone and for relay use. Remember: Symbian
code hasn't been run in over a year.
2006-09-23 20:40:36 +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
95fe18c4c7 Don't use service records; don't reset connection state as part of
reset for new game; handle case where callback happens inside of
BtLibLinkDisconnect call.
2006-09-23 15:24:30 +00:00
ehouse
04c5401711 What I meant to check in. F***ing emacs. :-) 2006-09-23 15:22:26 +00:00
ehouse
57a636618c "IR" -> "Beaming" 2006-09-23 15:19:29 +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
ehouse
d46723eb6a use gtk_combo_box instead of whatever and fix inability to set current
num players and role as dialog comes up.
2006-09-21 01:34:29 +00:00
ehouse
9137eff9fa Largely untested changes to allow BT in ncurses mode, centered around
integrating sockets into poll fdset; move relay and bt globals out of
a union so can test if in use without knowing current connection method.
2006-09-19 03:39:08 +00:00
ehouse
7b7b7006a7 clean scoreboard rects before drawing in case player's location has changed as new players added 2006-09-19 03:35:26 +00:00
ehouse
fd5117fa28 Tweaks toward a dual ARM/68K binary where only 68K supports bluetooth.
Don't try to not show the BT option for connecting, but in the case
where it's not actually supported say so in the dialog.
2006-09-18 04:40:27 +00:00
ehouse
db3a8fe6e4 Remove dependency on non-existant file: should not have been checked in. 2006-09-17 13:33:45 +00:00
ehouse
3b280f8c4d remove dead code using IR libs directly (no exchange mgr); rename
#define to be consistent with same for bluetooth.
2006-09-17 06:16:05 +00:00
ehouse
ecb8664e1b remove dead code using IR libs directly (no exchange mgr); rename
#define to be consistent with same for bluetooth.
2006-09-17 06:15:37 +00:00
ehouse
8667bb77bf remove over-agressive attempt to detect out-of-order messages that was
breaking IR comms.
2006-09-17 05:06:46 +00:00
ehouse
d03ef80b3e What I mean to check in... 2006-09-17 05:04:32 +00:00
ehouse
65a82b1c3b Punt on problem of svn version in about box changing: comment in
makefile, and make it the last string.
2006-09-17 05:03:59 +00:00
ehouse
4bdef12c3e Prune excessive logging 2006-09-17 04:45:19 +00:00
ehouse
6cf4d50ee4 fix ARM build so DEBUG setting is passed to compiler, and code so it
compiles that way.
2006-09-16 22:09:28 +00:00
ehouse
31532c06ca pass debug -D options to .rcp files to to include debug menus 2006-09-16 16:08:33 +00:00
ehouse
0f271d707f revert change 1593: FEATURE_HIGHRES is no longer defined. This brings
highres icons back.
2006-09-16 15:53:14 +00:00
ehouse
ed1a7e6fc9 be a better master: don't try to send when not connected. 2006-09-16 15:21:27 +00:00
ehouse
72cd7c7ec7 tweak svnversion output so make stays happy 2006-09-15 07:52:45 +00:00
ehouse
40563a6790 strutils macro change; log PID on startup for easier attaching 2006-09-15 07:45:40 +00:00
ehouse
8f5bdf1163 strutils macro change 2006-09-15 07:43:21 +00:00
ehouse
63afad6482 strutils macro change; tweak so compiles non-DEBUG and without Bluetooth 2006-09-15 07:42:10 +00:00
ehouse
a292e33c03 catch up with recent API changes; fix bug in newgame dialog. 2006-09-15 07:39:57 +00:00
ehouse
9239d34f19 strutils syntax changes. Rough cut at reordering loading in game
info: when the device is a client and is starting a new game, we want
to start presenting only the local players.  So load them first, and
reduce nPlayers down to the count of current local players.  Works
well, but can probably be simplified.
2006-09-15 07:36:51 +00:00
ehouse
4029120fc6 do a better job of rejecting messages that have strayed in from a
different game; strutils syntax changes.
2006-09-15 07:34:39 +00:00
ehouse
e627d7f670 do a better job of rejecting messages that have strayed in from a different game. 2006-09-15 07:33:59 +00:00
ehouse
7e049bb986 new strutils macro syntax 2006-09-15 07:32:39 +00:00
ehouse
804b3c5f76 params become const 2006-09-15 07:32:04 +00:00
ehouse
a82e84c177 params become const; new macro syntax for strutils 2006-09-15 07:31:24 +00:00
ehouse
d7a2fadd39 modify MEM_DEBUG versions of strdup utils to record the __FILE__ and
__LINE__ of callers rather than their own to assist in leak detection.
2006-09-15 07:30:00 +00:00
ehouse
4e60a477e4 Names change only: it's actions, not events, that are postponed. 2006-09-14 01:57:40 +00:00
ehouse
6e143e0b87 Remove dead code 2006-09-14 01:48:22 +00:00
ehouse
3645481a53 New addr param to checkAndDeliver so address can be passed back to
comms; Add debug-only menus to toggle logging to file and memopad.
2006-09-14 01:46:41 +00:00
ehouse
07f21767fc New addr param to checkAndDeliver so address can be passed back to
comms.
2006-09-14 01:41:37 +00:00
ehouse
3866d898f4 Better handling of disconnect and reconnect; esp. slave will keep
trying to connect after losing contact with server.  With this
checkin, a game between palm and linux can be interrupted by either or
both and restarted, with either in either role.  Haven't tested
palm-on-palm yet.  App stop speed is much better now too.
2006-09-14 01:38:09 +00:00
ehouse
4b953e8891 Add debug-only menus to toggle logging to file and memopad 2006-09-14 01:34:22 +00:00
ehouse
7cf02f322e Don't typedef array; make array field of struct. 2006-09-14 01:31:13 +00:00
ehouse
100598a35f Make formal param const; add initial value to relay-only field so
asserts don't fail b/c of uninitialized value; don't typedef array:
make array field of struct.
2006-09-14 01:25:40 +00:00
ehouse
4479cf530d Get rid of separate accept thread, instead integrating listening
socket into main event loop (poll underneath).  Works for gtk; still
debugging ncurses.
2006-09-10 19:01:06 +00:00
ehouse
0339de1de6 Check state before accepting post-connection messages; and always set
state when completing connection process.
2006-09-10 18:58:10 +00:00
ehouse
1be6172e16 use tmp buffer to avoid copying one byte at a time. 2006-09-10 18:53:03 +00:00
ehouse
7d1d4d23c4 tweaks to re/connect logic; process incoming data from main event loop
and enqueue more than one at a time; wipe existing queue when reinited.
2006-09-10 18:34:57 +00:00
ehouse
c27abcd486 Attempt to listen for connections on a separate thread so connected
game could disconnect and reconnect, but still need work on adding a
socket to the main thread's io queue from a different thread.
2006-09-08 07:23:19 +00:00
ehouse
2c5d15a8dd remove param from util_addrChange; add comms_getIsServer; save bt_addr
as part of comms.
2006-09-08 07:14:24 +00:00
ehouse
c4b0f350e1 Lots of changes aimed at allowing to quit and restart in the middle of
a BT game: track states so can shutdown cleanly; transition from
master to slave; mechanism to defer work from callbacks to the main
loop.  Can now quit and restart as guest against host on linux.  Have
not tested between two Treos.
2006-09-08 07:06:21 +00:00
ehouse
148e711e54 init address field with current bt_adddr 2006-09-08 07:02:16 +00:00
ehouse
96dd01cbe5 cleanup: add missing consts. 2006-09-08 06:43:59 +00:00
ehouse
22f4edfd89 add ability to log to non-Memo db (to be read off device). 2006-09-08 06:39:35 +00:00
ehouse
3db4dc8a27 make formal params const where possible 2006-09-02 05:30:51 +00:00
ehouse
6b527014c8 when logging state transitions, don't unless there's a change 2006-09-02 05:29:59 +00:00
ehouse
16519a2070 fix bug checking crosschecks with more than 32 tiles. 2006-09-02 05:29:13 +00:00
ehouse
5d043e349e add __FUNCTION__ to assert macro 2006-09-01 04:39:56 +00:00
ehouse
e0edcb52a8 bug fix: reset stack data stream before getting length and writing. Assert
so easier to catch similar problems.
2006-09-01 04:32:57 +00:00
ehouse
9aa0e41eed hardcode psm (for now), and remove spd lookup stuff. Was needed to
connect to linux server which doesn't add spd records yet.
2006-08-29 13:23:00 +00:00
ehouse
f3eb95b891 Make linux client work as host. Currently accepts only one connection
and blocks in accept.  Need threads and a piconet.
2006-08-29 13:20:09 +00:00
ehouse
209da1b042 use stream_getSize to detect corrupt (truncated) messages. 2006-08-29 13:18:12 +00:00
ehouse
12f115b2ac make getSize return diff between what's been written and what's already
been read.
2006-08-29 13:13:43 +00:00
ehouse
fb87fd31d2 Start adding bt support to linux port. Required removing assumptions
that all connectivity was with relay and over streaming sockets (since
BT is using l2cap's datagram-style sockets.)  With this checkin, a full
robot-vs-robot game is possible with palm as host and linux as client.
Linux as host isn't started yet.
2006-08-26 21:15:20 +00:00
ehouse
74c6b241d7 Put up BT device browser while user is picking connection method
rather than when trying to send for first time, then pass address
through from conns dialog to bt code.
2006-08-26 21:12:10 +00:00
ehouse
406d746fbf add LOG_HEX 2006-08-26 20:28:48 +00:00
ehouse
0c915e61b0 First shot at bluetooth support (turned off in Makefile by default).
A full robot vs. robot game now works between two Treos.  Added UI to
choose BT as transport mechanism, and added new send proc to establish
socket connection between host and guest.  Works only for two devices:
no piconet yet.  No error recovery, ability to quit game in middle,
start new game, etc.
2006-08-23 04:44:55 +00:00
ehouse
94b952fb26 Fix assert: implicit cast to boolean doesn't work when bit being
tested is outside the low-order byte.
2006-08-22 04:20:40 +00:00
ehouse
1e8966c6f7 Fix compile errors due to missing UNUSED macros 2006-08-17 01:31:49 +00:00
ehouse
4daabf6fe5 Set -Wunused-parameter for those versions of gcc that support it, and
deal with the output by removing params where possible and elsewhere
by adding XP_UNUSED macro wrapping __attribute__((unused)).  There
should be NO change in function in spite of the large number of files.
2006-08-16 13:44:44 +00:00
ehouse
35261484a2 include svn version in name of generated .exe file. 2006-08-16 01:30:31 +00:00
ehouse
61959b394a patch from Peter Rovnak. For Slovak support, need to specify the tray
font by name in order to get one that has all the necessary faces.  Seems
to make no difference on US/English systems, but it works for him on a
localized device.
2006-08-16 01:29:21 +00:00
ehouse
0fed666438 script for averaging results of running 'time' multiple times. 2006-08-12 02:01:57 +00:00
ehouse
5d161cdd77 optimize for the case where tiles are < 32. Previous imlementation of
64-tiles support increases engine times by ~5%.  This removes that effect.
I can't measure any slowdown vs. pre-change engines.
2006-08-12 01:59:03 +00:00
ehouse
a2840b42ac Change LANG to XWLANG to avoid conflict with ENV variable. 2006-08-11 01:44:08 +00:00
ehouse
e68771939e fix broken ce build: remove ifdefs. 2006-08-11 01:33:19 +00:00
ehouse
0b868f5b53 Base the number of bytes used to store tiles on the number in the
current dictionary.  This allows us to continue to open games saved
with older code using older dictionaries while still supporting the
new format for up to 64 tiles.  Old versions may crash when opening
games created by new versions, but that's probably ok.
2006-08-10 01:21:31 +00:00
ehouse
c41b211735 increase possible number of unique tiles from 32 to 64 in order to
support Slovak which has 40.  This change is preliminary: it seems to
work for both existing and dicts with >32 chars, but it breaks backwards
compatibility: existing saved games will crash this code.  I think the
fix is to deduce the number of bits per tile from the number in the
dictionary being used, but that's not in yet.
2006-08-09 04:56:34 +00:00
ehouse
7c0c6461cd add another const 2006-08-09 04:52:43 +00:00
ehouse
ef8add4b26 was being just a bit too cute 2006-08-09 04:49:17 +00:00
ehouse
af2eb79a4e make some ptrs const 2006-08-09 04:48:34 +00:00
ehouse
b5164aa0c5 hide dict files -- playing with svn:ignore 2006-07-29 21:36:24 +00:00
ehouse
d493502714 tweak button location 2006-07-28 08:04:00 +00:00
ehouse
8903c2ad3f fix change between Local players/Total players when device role changes in newgame dlg 2006-07-28 08:03:33 +00:00
ehouse
e4493c2255 better compile-command in header 2006-07-28 07:53:18 +00:00
ehouse
6e88146396 turn on flip menu for PPC build too 2006-07-28 07:52:40 +00:00
ehouse
8c7624fe7d cleanup: remove overly verbose logging 2006-07-28 07:51:49 +00:00
ehouse
44a4dab13a Cleanup prior to adding Swedish to BYOD. 2006-07-22 16:05:45 +00:00
ehouse
5f8ba8a570 get symbian compiling. Untested. 2006-07-22 16:04:39 +00:00
ehouse
d43acd6b46 check for remaining memory being < 0, not just <=, since we allocate exactly as much as we need. Fixes failure due to being out of memory at same time as having finished parsing stdin. 2006-07-22 16:03:14 +00:00
ehouse
de0c62fb39 Compensate for OS' failure to deliver penup events by checking for
pendownness at critical points when an up event should have been
processed: when another pen down happens, when about to scroll, and
when events (menus and buttons) occur.  This seems to catch all the
lingering miniwindow problems. Add flip menuitem (win32 only for now).
2006-07-07 08:39:31 +00:00
ehouse
27057de11e Replace a bunch of doMirror parameters with a single function, called
after a flip, that invalidates y,x for every x,y that's invalid.
2006-07-07 08:27:13 +00:00
ehouse
4beb291f0d remove rc3 from version: ready to ship 2006-07-05 00:16:18 +00:00
ehouse
58bb0734b8 round up when determining top coord of letter in cell. Fixes "Q"
getting drawn higher than other ascii chars, and does not break even
taller chars in Danish or Portuguese.
2006-07-04 00:16:08 +00:00
ehouse
63a948cbd4 Exclude high-res bitmaps from lowres build 2006-07-03 23:45:18 +00:00
ehouse
a1fcd56d55 on low-res screens, don't expand timer's clip rect to avoid erasing cell border below. 2006-07-03 23:44:51 +00:00
ehouse
dfb8104eb8 ppm files no longer used. Remove. 2006-07-03 23:06:25 +00:00
ehouse
e76e23f7f5 Enlarge Preferences... button by one pixel 2006-07-03 22:34:36 +00:00
ehouse
8c86ba26d8 add more cases to messageToBuf. Effects debug build only. 2006-07-03 22:32:29 +00:00
ehouse
ef941e2c75 up version to rc3; make all elements of prefs dlg the same height so they
line up when moving between global and local sets.
2006-07-02 01:08:45 +00:00
ehouse
501e1f7a5f add messageToBuf (debug-only ); change newgame's J button to R (for
"rearrange"); tweak locations of various dialog widgets for better
layout.
2006-07-02 00:42:41 +00:00
ehouse
f8aea3b953 keep calling newg_juggle until there's a change. 2006-07-02 00:40:16 +00:00
ehouse
1c65ffaac2 fix showing of timer field when timer disabled when switching from global
to local prefs; use num-getter utils rather than convert to/from text.
2006-07-02 00:39:31 +00:00
ehouse
5ea2b3f8a2 in juggle, need to adjust rows after swapping to get passwd fields enabled
in sync with passwd checkbox.
2006-07-02 00:34:41 +00:00
ehouse
4da329a482 Get rid of param removed from board_handlePenUp. 2006-07-01 14:22:09 +00:00
ehouse
e0072c9b87 UI compromise on juggle: force something to happen, so the user sees a
change, then juggle again so the outcome is random.  This works on Palm
because draws are not cached: if two players wind up not moving you still
see them move then move back.
2006-07-01 14:18:00 +00:00
ehouse
72bd18316d juggle until something changes. This is better than there sometimes being
no change, until I figure out how to force drawing as on Palm.
2006-07-01 14:14:48 +00:00
ehouse
3fe3e05548 default dict now gzipped (no real change) 2006-07-01 14:13:29 +00:00
ehouse
9a52d82e0d newg_juggle returns bool indicating whether anything changed 2006-06-29 03:38:25 +00:00
ehouse
5fb3705535 don't cast size to a char! 2006-06-28 14:11:46 +00:00
ehouse
de20e83bdb A couple of tweaks so it works on byod with sample wordlist. 2006-06-28 03:38:42 +00:00
ehouse
504f9641ea remove parameter following API change 2006-06-28 03:11:26 +00:00
ehouse
5ebbf3f4d0 Support for Portuguese based on info from user in Brazil 2006-06-28 03:08:22 +00:00
ehouse
968dcf2835 removed a param from board_handlePenUp 2006-06-27 06:31:36 +00:00
ehouse
7614d971c1 randIntArray runs once and returns whether array is modified. Tray calls
again until it is.  newgame calls once: it's possible that juggling won't
do anything.  Still pending: do we tell users when nothing changed, or
leave them to figure out that it's not a bug?
2006-06-27 06:30:44 +00:00
ehouse
354cde389e remove unused parameter 2006-06-26 04:39:48 +00:00
ehouse
f2906db239 Up version string to rc2. 2006-06-24 01:22:47 +00:00
ehouse
a6d140581c Turn on BitBlt scrolling. 2006-06-24 01:22:10 +00:00
ehouse
6ecbf11ad6 Rewrite juggle to just create a second set of players in juggled order.
The previous too-cute algorithm failed when any player wasn't moving.
2006-06-24 01:20:44 +00:00
ehouse
6870178490 implement vertical scrolling using BitBlt. It's faster and smoother, but
commented out for now since it may be better not to add so late in the cycle.
2006-06-22 04:59:18 +00:00
ehouse
a08dc22023 Use new xplatform newgame logic to replace palm's in newgame.c, and make other
changes (shifting util functions around) that follow from that.  Back
version number down to 4.1.5 since that'll be the next shipped from this
branch.  Add juggle button to newgame -- the whole point of this.
2006-06-22 04:57:46 +00:00
ehouse
037bce2196 Use new xplatform newgame logic to replace palm's in newgame.c, and make other
changes (shifting util functions around) that follow from that.  Back
version number down to 4.1.5 since that'll be the next shipped from this
branch.  Add juggle button to newgame -- the whole point of this.
2006-06-22 04:57:08 +00:00
ehouse
cdc74b668a turn off advanced networking by default for push to release 2006-06-22 04:52:33 +00:00
ehouse
e32a445788 remove overactive log message 2006-06-22 03:37:21 +00:00
ehouse
15df92fc65 add missing include file 2006-06-22 03:36:51 +00:00
ehouse
4d79c85e94 up version string to rc1; add DEBUG to makefile help. 2006-06-18 21:54:59 +00:00
ehouse
45979f547a disable juggle button if only one player active; copy all four players when saving game state after dismissal. 2006-06-18 19:02:47 +00:00
ehouse
46cd6e8536 add ifdef for compile with some optional condition 2006-06-16 01:46:47 +00:00
ehouse
f271aee094 add commented-out code to draw juggle icon instead of "J" button. It's too much work to get it looking good before ship. 2006-06-16 01:30:20 +00:00
ehouse
f60dade9a0 move randIntArray to strutils, and use instead of similar code to juggle tiles in tray. 2006-06-16 01:19:11 +00:00
ehouse
a4cabd9cf7 Allow no space for REM text when no tiles left to allow more room for scores. 2006-06-16 01:15:44 +00:00
ehouse
b8a8c1c175 Fix juggle so it works for 3 players too. 2006-06-15 13:05:56 +00:00
ehouse
77793e31b8 Run server after gameinfo dialog dismissed in case a player's become a robot. 2006-06-15 12:39:54 +00:00
ehouse
a4ac6f9ff4 call server_do after gameinfo dialog returns in case a player has
become a robot.
2006-06-14 06:22:21 +00:00
ehouse
133016bd1d cleanup; fix compile of non-debug win32 version 2006-06-11 20:12:20 +00:00
ehouse
73c0cefb52 Add "Save current game as" to save file dialog; remove frequent-save hack. 2006-06-11 05:27:16 +00:00
ehouse
1af17b7672 Catch up with changes including three enabled states for control and
setting dialog strings.  Align titles with columns for standalone version.
2006-06-10 16:15:31 +00:00
ehouse
0460136a90 You can always change passwd for local player. 2006-06-10 16:10:33 +00:00
ehouse
b80808bc57 Support new tri-part enabled type; add "game info" dialog/menu to test
read-only side; support new attributes for column head and nplayers
label; hide labels as well as controls that go with them.
2006-06-10 05:50:27 +00:00
ehouse
44abbc4493 Add new attributes to cover strings for number of players and remote
column head; make enabled an enum to differentiate between hidden and
disabled.
2006-06-10 05:45:53 +00:00
ehouse
1967a137ef Tweak widget positions to fit juggle button on device 2006-06-08 02:03:33 +00:00
ehouse
16dd84b059 Fix to compile in STANDALONE mode, e.g. for current PPC. 2006-06-08 01:51:34 +00:00
ehouse
5fff2997d6 First cut at using new nwgamest common code to replace PPC-only logic
for updating fields of new game dialog as players are added, made
remote, robots enabled, etc.  Removes a lot of code and fixes some
bugs in (non-yet-shipped) multi-device version.  As a bonus, added "J"
button to juggle players.  Seems to work well on Win32.  Haven't
tested on PPC yet.
2006-06-08 01:35:20 +00:00
ehouse
956c169d08 Refer to players as "remote" rather than "not local" to be consistent
with Palm and PPC; fix juggle bug by adjusting lines after moving them.
2006-06-08 01:26:18 +00:00
ehouse
e58d397c2b change newgame api names; implement juggle; change getter to take a
callback to copy strings that will go out of scope before the getter
returns (e.g. wince).  Use changed API in gtk dialog.
2006-06-07 01:45:03 +00:00
ehouse
8c176ed53c use common/nwgamest.c. Lots of code removed, and the dialog works now. 2006-06-07 01:28:37 +00:00
ehouse
9b6562e455 make a param const 2006-06-07 01:26:55 +00:00
ehouse
d918b9cb44 add common/nwgamest.{c,h} to make new game dialog logic cross-platform 2006-06-07 01:26:04 +00:00
ehouse
003f801314 up version number; add to list of dirs searched for .xwd files 2006-06-07 01:20:56 +00:00
ehouse
0fe04af4b4 Turned on leak-checking at shutdown for debug version, and fixed leaks and
crashes in destructors that had never been called before.  Seems now to 
free all allocated memory before exiting.
2006-05-30 05:12:02 +00:00
ehouse
2ba984775a trivial optimization: add 1 only once 2006-05-30 04:34:35 +00:00
ehouse
d029d6600d To show it and to prevent it's being cleared, write current password
into field in game info dialog.
2006-05-28 18:16:08 +00:00
ehouse
e26e149f4c silence compiler warnings. 2006-05-28 16:16:46 +00:00
ehouse
b8d3d477a5 fix scrolling and invalidation for flipped boards, and especially
where the board is still not fully visible when the tray is hidden.
2006-05-28 16:08:58 +00:00
ehouse
90dfc15ae9 use signed types to avoid overflow and disappearing scores 2006-05-28 16:02:16 +00:00
ehouse
d0c6e8517b center letter in tile even when it's too big. 2006-05-28 15:04:57 +00:00
ehouse
e75ef1ca53 fix a couple of compile warnings 2006-05-28 14:53:02 +00:00
ehouse
8639c4e5cd define CALLBACK to quiet warnings for CE build. 2006-05-28 00:42:34 +00:00
ehouse
b9f5925ceb Move button size #defines into .rc file. They're scaled by the time C
code sees them and so shouldn't be relied on outside the .rc file.
2006-05-28 00:41:44 +00:00
ehouse
3db196156b Calculate old window width correctly when figuring new width. Fixes
problem of buttons drawn too close to right edge.
2006-05-28 00:40:28 +00:00
ehouse
fde2ef1ee2 Before putting dialog into landscape mode, make sure it won't be wider
than the screen.  That is, don't be fooled when in portrait mode by a
screen height that's SIP-reduced.
2006-05-27 22:52:10 +00:00
ehouse
054fd21981 Cleanup password dialog 2006-05-27 22:47:33 +00:00
ehouse
4a28deb1b1 Lots of little tweaks to dialogs to get them looking better and to
work better in landscape mode; got rid of multiple DEFPUSHBUTTONs.
2006-05-27 22:21:21 +00:00
ehouse
ecb7243714 Lots of little tweaks to dialogs to get them looking better and to
work better in landscape mode; got rid of multiple DEFPUSHBUTTONs.
2006-05-27 22:21:09 +00:00
ehouse
14eef0a4b8 Move buttons in landscape mode for color sel dialogs too. 2006-05-27 22:19:30 +00:00
ehouse
3e934624a4 modify API for "portraitizing" dialogs, and space the buttons evenly
rather than stacking all from bottom.  This doesn't quit work on ce
since GetWindowInfo isn't available and IsWindowVisible does the wrong
thing.
2006-05-27 17:18:42 +00:00
ehouse
04e9dfb76a strcat becomes strcpy: trivial optimization 2006-05-25 04:07:49 +00:00
ehouse
be930f344c For dialogs in portrait-mode, move OK and Cancel buttons to the right
side and shrink up from the bottom
2006-05-25 03:41:32 +00:00
ehouse
340214d87d remove trailing <cr> to sometimes eliminate scrollbar 2006-05-23 02:01:26 +00:00
ehouse
65540759b5 clear multiple tile selection when trade ends even if cancelled 2006-05-23 01:53:18 +00:00
ehouse
abad0c7fd0 Get rid of hard-coded tile number limit in server_formatRemainingTiles 2006-05-23 01:52:20 +00:00
ehouse
113b9cea5f n## Lines starting with '## ' will be removed from the log message.
change version string to include b8
2006-05-21 02:09:03 +00:00
ehouse
778e68e4dd Increase size of buffer used to accumulate letters for "tiles left"
dialog.  French has 15 "E"s, and the old buffer size allowed an
overflow (crash) when at least 13 of any letter were left.
2006-05-21 01:54:48 +00:00
ehouse
d6ddeb0f87 update nHiddenRows so scrolling finally works 2006-05-20 06:22:33 +00:00
ehouse
27b740c03b draw lines rather than bullets to indicate whose turn it is in vertical mode 2006-05-20 06:21:53 +00:00
ehouse
5df612c1cd Change misleading function name; no code change. 2006-05-19 13:45:48 +00:00
ehouse
19414ae505 Finish scrollbar work by passing number of visible rows to
util_trayHiddenChange, which means an API change.  In board, calculate
bottom of board based on bottom of tray when tray is hidden, and round
so that it's an exact multiple of cell height.  In wince, take
advantage of the new parameter to fix the scrollbar so that very
constrained boards can be scrolled even when the tray is hidden.
2006-05-19 13:44:05 +00:00
ehouse
f69d433b7c Reset divider location on new game. 2006-05-19 13:31:18 +00:00
ehouse
70be257d8c First attempt to set board bounds based on tray bottom if tray
overlaps board.
2006-05-17 06:12:40 +00:00
ehouse
912d221b1c Replace overlap param with nHidden to give more flexibility in
creating situations where board must be scrolled.
2006-05-17 06:10:24 +00:00
ehouse
fd5355b627 Include output of svnversion in Palm version's About dialog. For
Catalan and Spanish as well as English.  There's also some character
conversion in the former two that may be linked to my local LANG
setting now being en_US.utf8.  May need to revisit if there are
problems.
2006-05-15 04:24:30 +00:00
ehouse
5dca33c5ab factor out updateScrollInfo so I can update scroller live once I get
super-small boards figured out.
2006-05-14 15:28:57 +00:00
ehouse
bb7e827703 for vertical scoreboards, force miniwindow to be entirely inside the board. 2006-05-14 15:27:29 +00:00
ehouse
e98ef5b962 move scrollbar into its own box so it doesn't force buttons to be over-tall 2006-05-14 15:26:21 +00:00
ehouse
afa496cb19 Incorporate svnversion output in About box; add CAB target 2006-05-14 15:22:48 +00:00
ehouse
94b46bc6c6 Incorporate svnversion output in usage() 2006-05-14 14:47:32 +00:00
ehouse
4bb82554e5 Since board can now sometimes only partially hide tray, introduce
distinction between obscuring and completely hiding.  In former case,
erase the tray rather than draw it partially hidden.  This means
drawing the tray before rather than after the board, which is a big
change that so far doesn't seem to have hurt anything.  If it does, it
might be necessary to draw it before and after the board.
2006-05-12 08:03:08 +00:00
ehouse
3ea23396d2 add compile-command 2006-05-12 07:59:38 +00:00
ehouse
ba1aefcd49 make tray hide button toggle hidden state 2006-05-12 07:59:21 +00:00
ehouse
54e17e76b1 rewrite score formatting to put is-turn bullets above/below for
vertical scoreboard; reduce inter-line spacing and otherwise tweak
drawing.
2006-05-12 07:58:31 +00:00
ehouse
308aa3ae42 fix compiler warning 2006-05-12 07:55:36 +00:00
ehouse
dbab3bc4fd Add ability, in win32 version, to specify height and width on wine's
commandline -- to ease debugging of layout code.
2006-05-12 07:54:59 +00:00
ehouse
121163e586 Turn on -Wall for compilers, and fix warnings that result. Got 'em
all for win32 build, but some remain for wince that I'm unable to fix.
2006-05-12 07:25:43 +00:00
ehouse
73b244e11f Turn on -Wall for compilers, and fix warnings that result. Got 'em
all for win32 build, but some remain for wince that I'm unable to fix.
2006-05-12 07:17:35 +00:00
ehouse
543df9f681 minor code improvement 2006-05-11 03:02:11 +00:00
ehouse
469a23a183 fix too-tall cells in vertical scoreboard case 2006-05-11 03:01:39 +00:00
ehouse
216615577b minor fixes to drawing spacing (what I meant to check in) 2006-05-11 03:00:50 +00:00
ehouse
3b7e22dc1c minor fixes to drawing spacing 2006-05-11 02:58:36 +00:00
ehouse
c496593800 tweak score layout, and remove a U8 that was overflowing on win32 2006-05-10 13:42:44 +00:00
ehouse
7297ab4be8 fix layout for vertical scoreboard option 2006-05-09 12:31:41 +00:00
ehouse
36993ba258 catch up with API change 2006-05-09 04:05:19 +00:00
ehouse
3a4c5dfff6 catch up with API change 2006-05-09 04:04:56 +00:00
ehouse
468c6efd37 first cut at supporting landscape mode by moving scoreboard to left edge of screen from top. 2006-05-09 02:01:27 +00:00
ehouse
28411a4466 API change: board is responsible for figuring tile size and giving
extra pixels to divider.
2006-05-06 14:42:38 +00:00
ehouse
e8377f242c Alert user of a previous version that dict location is being fixed 2006-05-05 12:51:35 +00:00
ehouse
e7868afd67 Alert user of a previous version that dict location is being fixed 2006-05-05 12:51:08 +00:00
ehouse
aa09dfba91 catch up with API changes 2006-05-05 12:49:02 +00:00
ehouse
99ba48ce3e add poolsize and fsize args to better warn users when dict is too big.
Later need to modify the build process to specify the size needed.
2006-05-02 13:28:07 +00:00
ehouse
653fdb6a7b Improve out-of-memory message; don't double-count words. 2006-05-01 14:00:06 +00:00
ehouse
fd7c649cb0 first cut at script to package binary, shortcut and BasEnglish
dictionary into an installable .cab file.
2006-04-30 21:52:17 +00:00
ehouse
3d5345f53b pretty up About text. 2006-04-30 21:51:19 +00:00
ehouse
f700c88bca update version number 2006-04-30 21:06:25 +00:00
ehouse
3c7b895bed List dictionaries alphabetically, which requires first storing them in
sorted order then adding all at once to the menu.
2006-04-30 19:54:40 +00:00
ehouse
7d60d05436 move CE_MAXDICTS to header 2006-04-30 19:45:48 +00:00
ehouse
22e6ddde2a Bring over from personal archive. I don't know if this works yet:
waiting for a wordlist.
2006-04-30 16:17:21 +00:00
ehouse
c0c5332098 add 'sort -u' to get rid of duplicates. All info files should have this.... 2006-04-30 15:15:28 +00:00
ehouse
328c96c617 fix filter to eliminate words with unused letters; catch up count of
'G' tiles with gtoal's list.
2006-04-30 14:52:43 +00:00
ehouse
4ec6af22cb Include name of dict so it can get printed. 2006-04-30 13:58:24 +00:00
ehouse
0295579e32 More cleanup for Spanish dict building. Seems to work now. 2006-04-30 04:44:10 +00:00
ehouse
8124a01010 Cleanup for Spanish dict building: die when can't build correctly, and
do same for WINCE as for FRANK re: specials
2006-04-30 04:27:33 +00:00
ehouse
834c43e131 sort to get rid of duplicates and so sort inside dict2dawg won't be needed 2006-04-30 02:35:26 +00:00
ehouse
3a37c11970 check that this version number stuff works 2006-04-29 16:47:01 +00:00
ehouse
4493ed8482 attempt to print subversion revision number with -v option 2006-04-29 16:40:48 +00:00
ehouse
993ab25c61 use stream_putString 2006-04-25 13:46:59 +00:00
ehouse
ef6ebe6bac Add, and use, stream_putString. Saves 500 bytes on win32. 2006-04-25 13:31:15 +00:00
ehouse
3b94d0f0a2 When unable to open a dictionary whose path has been saved, look for
it elsewhere in the set of possible directories.  This should help
ease the transition to there being a limited number of places where
dicts can be, since games saved previously will still work after the
dicts they reference have been moved.  Also, clean up callbacks making
their return values consistent: true means done.
2006-04-25 04:25:08 +00:00
ehouse
6687984bf0 On win32 too, return null when dict not found. 2006-04-24 13:36:23 +00:00
ehouse
1b447272b2 Replace generic "no dictionaries found" warning with list of directories searched and URL from which to download. 2006-04-24 04:34:42 +00:00
ehouse
d4bb0f307f pass the rigth size to LoadString 2006-04-22 14:31:43 +00:00
ehouse
bc2a99b474 More of dict search change: failed to save buffer before checkin 2006-04-22 14:28:22 +00:00
ehouse
eb7f62308e Show current dict in dropdown in game info mode. (Had disappeared in recent changes.) 2006-04-22 14:19:21 +00:00
ehouse
4b8e877205 Go back to writing to \Program Files\Crosswords, since we now look
there automatically.
2006-04-22 14:06:11 +00:00
ehouse
d8ab05a04e rewrite ceLocateNDicts to do recursive searches from a list of
directories stored in resources.  On device this is currently
"\Program Files\Crosswords" and "\SD Card".  (Just "." for win32.)
Later may need to restrict on the card too.  Still to do: make "no
dicts found" Alert list the places searched.
2006-04-22 14:05:09 +00:00
ehouse
dc908e52b2 set DEBUG in compile-command; no code change 2006-04-22 13:55:19 +00:00
ehouse
13e584ac68 make combobox tall enough that it can pop down 2006-04-20 13:48:44 +00:00
ehouse
7d14763d8c rename function to link with pocketpc-sdk 2006-04-20 13:47:58 +00:00
ehouse
97d3deffdd display filename only (no path, and no extention) in dropdown, but retain full path internally to use after choice is made. 2006-04-20 04:39:46 +00:00
ehouse
e96aaccef9 debug-only function for logging wchar_t strings 2006-04-20 04:38:40 +00:00
ehouse
fc0c7c3f80 When creating dicts dropdown, set 0th as default if there's been no match. 2006-04-20 03:56:38 +00:00
ehouse
b5843a5486 forgot to save before commiting.... 2006-04-19 04:57:51 +00:00
ehouse
5a8c1ef2af ceLocateNDicts now takes a callback. Use that to build menu of dicts
rather than call OpenFile, which doesn't let you browse much of the
file system on CE.  Heading for installing dicts in Program Files so
users never have to worry about them.
2006-04-19 04:56:00 +00:00
ehouse
ddb21c3cfc Install into /My Documents/Crosswords since that's the only place the
OpenFile dialog will let you browse.  And use filename as -a option so
more than one dictionary can be installed -- without that the
installer treats all dicts as versions of the same app and removes the
old before installing the new.
2006-04-16 05:49:59 +00:00
ehouse
6680edebb6 Rewrite dictionary location code so that it can more effeciently
produce a list of dictionaries.  The API has changed slightly, but the
new ability isn't used yet.
2006-04-16 05:12:52 +00:00
ehouse
b26982a3df Seems to work to pack a .xwd file so that it's installed on a device
when clicked.  Still haven't figured out how to include info about the
app name, developer name etc.
2006-04-15 23:46:24 +00:00
ehouse
1d40eddbb5 exit if can't open table file; include assert for compile on sarge 2006-04-14 08:23:28 +00:00
ehouse
3df1e461e4 For already-sorted case, read words from file on as-needed basis rather
than build a vector to hold them.
2006-04-14 05:23:30 +00:00
ehouse
8f909cd3a7 Use new compiled dict2dawg when present. 2006-04-13 15:30:15 +00:00
ehouse
b70bee3d53 A final bit of cleanup. All the perl is gone. 2006-04-13 04:04:03 +00:00
ehouse
d6dc4bf30c Cleanup: remove dead code. 2006-04-13 03:58:54 +00:00
ehouse
131d4c9bd4 Use a single huge buffer for all strings rather than calling malloc
for each.  Makes a measureable speed difference.
2006-04-13 03:52:48 +00:00
ehouse
08557184a5 debug: works now! Also ifdef out debug/verbose code. 2006-04-13 03:49:41 +00:00
ehouse
72532d72a8 print letter as well as tile in text dumps (same as cpp version) 2006-04-13 03:06:18 +00:00
ehouse
b89ed5b999 add -debug arg for parity with cpp version, and add -mn flag to usage(). 2006-04-13 02:58:39 +00:00
ehouse
0c7081bf36 Tons of changes continuing port from perl. Doesn't quite work yet, but close. 2006-04-13 02:57:43 +00:00
ehouse
2863379b9b Starting work on cpp version of dict2dawg.pl. This is nowhere near complete. 2006-04-12 04:39:49 +00:00
ehouse
b10ca04e07 don't exclude BEYOND_IR-only fields 2006-04-07 03:08:23 +00:00
ehouse
cb05850fe3 Catch up with draw.h API changes (mostly just adding consts) 2006-04-04 02:43:12 +00:00
ehouse
dd779cebbc Quick meaningless checkin (update comments) to check svn config 2006-04-03 03:37:53 +00:00
ehouse
2300d55567 Draw bitmap chars ("specials", e.g. for Spanish) centered in rect
rather than at x,y.  This lines them up with normal letters on the
board as it changes size.
2006-04-02 22:27:44 +00:00
ehouse
88b37a1beb Fix crash when no dictionary by checking for null model before calling
cePositionBoard on WM_SETTINGCHANGE event
2006-04-02 21:52:15 +00:00
ehouse
08e8c4a858 Get rid of TALL_FONT macro, since it's permanently on anyway. 2006-04-01 21:25:58 +00:00
ehouse
63a8e0adbb Add macros to draw.h, and use 'em for wince, so that a platform can choose to call draw.h methods via a vtable or static linking. 2006-04-01 21:01:20 +00:00
ehouse
9be9e55986 Fix formatting (by way of playing with svn) 2006-04-01 16:54:40 +00:00
ehouse
0563b244bb Catch up with API changes (all adding const to rect and char ptrs) 2006-04-01 16:48:13 +00:00
ehouse
3388fc9f7b Remove HIGHRES compile-time tests: all palm releases will have HIGHRES
support now; build in different directories.
2006-03-31 10:57:01 +00:00
ehouse
3da83805cc handle cmdline opts in a less-fancy way that works on freebsd too. 2006-03-22 04:33:34 +00:00
ehouse
a8463b9341 link pthreads in a way that works on freebsd too 2006-03-22 04:31:27 +00:00
ehouse
b29bde8e37 include stdio.h for freebsd 2006-03-21 04:05:33 +00:00
ehouse
96d6623026 include pthread.h for freebsd 2006-03-21 04:04:43 +00:00
ehouse
3f819b871d implement ResetEvent and SetEvent 2006-03-21 03:47:58 +00:00
ehouse
9166d66589 use MS macro to get winsock functions instead of eponymous posix ones.
With this change, play over IP works again!
2006-03-21 03:47:15 +00:00
ehouse
25b0d63b1a get rid of unneeded DH() 2006-03-20 04:13:40 +00:00
ehouse
6f9e7ed94c add an underbar to separate numerals 2006-03-18 03:35:20 +00:00
ehouse
300c29be35 add a couple of missing icon images 2006-03-18 03:34:15 +00:00
ehouse
a121388762 no harm in copying field when feature not available; may help newer
version to open file.
2006-03-04 16:07:21 +00:00
ehouse
3ad2b8e38e fix errors that became apparant when feature flags turned on and
stopped building wince resources with _WIN32_WCE on.
2006-03-04 15:57:39 +00:00
ehouse
8332e6746b colorsel dialog works now on wince, so remove warning dialog 2006-03-04 15:56:31 +00:00
ehouse
67c638643d fix colorsel dialog on wince by defining MY_COLOR_SEL for .rc files
too.  Also stop defining _WIN32_WCE for win32 .rc files.  Turn on all
other missing XW-feature flags in .rc file too.
2006-03-04 15:55:57 +00:00
ehouse
162cb99c53 ignore .stamp files 2006-03-04 15:36:06 +00:00
ehouse
6b140d641b fix b5 crasher: check for stream equivalence with the older version
now that current version's been upped.  Rename old version to better
indicate when it was current.
2006-03-04 06:12:38 +00:00
ehouse
b91ad07b03 add target to upload binary 2006-03-04 06:09:42 +00:00
ehouse
091f8ca2e3 move on to next beta 2006-02-28 05:29:37 +00:00
ehouse
10d38faa33 add install target 2006-02-27 00:08:32 +00:00
ehouse
90412fe9d4 bring in transparant small icon change from 4.1 branch 2006-02-26 23:56:06 +00:00
ehouse
eb2a4d513e up alpha version 2006-02-26 23:53:55 +00:00
ehouse
772c262b5e first checked in. works 2006-02-26 23:51:57 +00:00
ehouse
a393bd97b7 update copyright -- thought I'd done this... 2006-02-20 02:07:18 +00:00
ehouse
667c705f44 strip all .exe files, not just for release. 2006-02-20 01:57:18 +00:00
ehouse
afb90f6d90 Check .xwd files coming back from OpenFile dlg, and reject with msg to
user those that aren't valid.  This catches corrupt files and other app
files ending with .xwd.
2006-02-20 01:56:34 +00:00
ehouse
e9ef9bea2c change about box text for beta 5. 2006-02-20 01:51:46 +00:00
ehouse
95a7f64eff strip release binaries 2006-02-19 16:07:14 +00:00
ehouse
788ebda35b tweak code so board is right width in release build. Looks as if I'm
working around a code-gen bug, but I haven't looked at the asm output.
2006-02-19 05:48:51 +00:00
ehouse
7a6c44de80 update comments to describe building with Linux tools 2006-02-18 21:59:04 +00:00
ehouse
e12abddcd9 new directories to ignore 2006-02-18 14:08:04 +00:00
ehouse
fb0d471dae add const decls to draw.h and dictnry.h functions where appropriate,
and modify "subclass" methods to match.  Should be no code change, but
this makes the intent of the APIs clearer.
2006-02-18 06:39:40 +00:00
ehouse
dde823a5ca update help target 2006-02-18 06:37:01 +00:00
ehouse
a4c7d48eb5 make XP_UCHAR signed to avoid warnings calling string.h funcs 2006-02-18 06:36:39 +00:00
ehouse
447af498a2 fix warning 2006-02-18 06:35:48 +00:00
ehouse
6161e9d0ad new directories and file extensions to ignore 2006-02-17 07:33:08 +00:00
ehouse
b9aa155761 cast threadstart func ptrs. Not sure why... 2006-02-17 07:31:21 +00:00
ehouse
826a6dd82e tie aygshell to Wince rather than making it separate feature 2006-02-17 07:30:54 +00:00
ehouse
268442b782 use __VA_ARGS__ in debug macros 2006-02-17 07:29:25 +00:00
ehouse
a8add11453 clean up usage 2006-02-17 07:28:41 +00:00
ehouse
de830f328f don't include in curses-only build 2006-02-17 07:28:17 +00:00
ehouse
e9499cb4ed formatting only 2006-02-17 07:27:58 +00:00
ehouse
5aeb5dc6fa makefile cleanup 2006-02-17 07:27:36 +00:00
ehouse
472b61dbe3 get rid of printf 2006-02-16 03:32:19 +00:00
ehouse
7dccae2d3c make color buttons owner-draw, and draw them. This fixes bug where
all are the background color, and seems to fix win32 build altogether.
Wince build still needs to respond to the buttons being pressed.
2006-02-16 03:31:44 +00:00
ehouse
d601ba3488 provide sensible path for saved files on win32 so state can be preserved 2006-02-15 13:09:36 +00:00
ehouse
32454235cc use native color-picker on win32 2006-02-14 04:54:28 +00:00
ehouse
dd9298e95f make remDim 16-bit so doesn't overflow on large-screened devices 2006-02-14 04:53:45 +00:00
ehouse
92fb9fb9b2 turn off broken color sel until have time to fix 2006-02-14 04:52:31 +00:00
ehouse
233479a959 get rid of null-termination and 'sort -z' since that option isn't on
new ISP's BSD sort.
2006-02-10 05:12:25 +00:00
ehouse
098adea254 better way of doing debug builds 2006-02-07 14:46:08 +00:00
ehouse
1fd52dee8f back out change that had window drawing too narrow 2006-02-07 14:45:30 +00:00
ehouse
257afd1474 separate debug build; pass flags to linker so OS won't run in emulation mode 2006-02-06 15:00:46 +00:00
ehouse
ffd9b66bc5 lots of tweaks toward a beta build on linux. works now, but takes a
hex editor.
2006-02-06 04:48:20 +00:00
ehouse
e7dd853d07 attempt to show different title when in debug mode 2006-02-06 04:44:09 +00:00
ehouse
2ee7e7a0f2 tweak -- but these will be going away as soon as mingw and debian's
pocketpc-sdk catch up with me.
2006-02-06 04:43:32 +00:00
ehouse
8f7e41e89d cleanup closing in on building correctly -- which now works, though it
takes a hex editor.  May have fixed a bug with a missing CloseHandle
call.
2006-02-06 04:41:14 +00:00
ehouse
96a45af102 type changes to stop warnings 2006-01-31 14:40:49 +00:00
ehouse
502cddcf1f debug macros and wierd rewrite of code using random and mod. This makes it work on ce! 2006-01-31 06:42:53 +00:00
ehouse
323240fa6b missed one ce-specific struct. This makes it work on ce! 2006-01-31 06:41:49 +00:00
ehouse
559662ea98 pass the right param to WinMain. This makes it work on ce! 2006-01-31 06:41:16 +00:00
ehouse
8fc0404158 use debhacks; add flags to compile for wince 2006-01-28 19:05:39 +00:00
ehouse
3f577181dd use debhacks 2006-01-28 19:03:10 +00:00
ehouse
2ea8c2e0cd use debhacks; ifdef out cmdbar stuff which debian tools don't support yet 2006-01-28 19:02:04 +00:00
ehouse
a3feee8027 first checked in. may have bugs 2006-01-28 18:58:04 +00:00
ehouse
b03db750b5 merge transparant large-icon from 411-branch 2006-01-22 17:50:47 +00:00
ehouse
301d854c25 don't show "loading ARM" except on debug versions. It's fast enough now. 2006-01-21 19:16:39 +00:00
ehouse
95eaac50dd tell folks where to get dictionaries. 2006-01-21 19:12:37 +00:00
ehouse
146a4f1d4d -Os instead of -O2 2006-01-16 06:08:16 +00:00
ehouse
834a5e0411 make default build arm_only, and don't require multilink to build the
68k stub.
2006-01-16 06:07:33 +00:00
ehouse
4e49a4c008 don't use arm-palmos* tools if arm-elf* tools available. Current
version on debian testing builds bad code.
2006-01-08 22:19:24 +00:00
ehouse
8edc3e987d catch up with api changes so builds again -- WTF :-) 2006-01-08 03:26:08 +00:00
ehouse
92485783af update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ehouse
b852eb5ca5 add random seed in win32 case 2005-11-27 23:11:05 +00:00
ehouse
3676a8b55f need to set flag before making calls that will result in a stream of
messages.
2005-11-27 22:24:25 +00:00
ehouse
cab0622c9d Increase size of tray and fonts for win32; turn on windoze-style
menus.
2005-11-27 22:06:04 +00:00
ehouse
a79052513e Turn off STUBBED_DICT -- can now load and execute from an .xwd file
running on WINE.
2005-11-27 21:39:06 +00:00
ehouse
870af10a63 first checked in. Builds for Win32, but crashes on XP after drawing
its board.
2005-11-27 20:27:46 +00:00
ehouse
24cf6bda2f hide new obj dirs 2005-11-27 20:17:39 +00:00
ehouse
33779bf1b3 changes for gcc compilation: conditionally define out stuff that
doesn't work on win32 (e.g. CommandBar).
2005-11-27 20:17:09 +00:00
ehouse
92948425b9 changes for gcc compilation: fix syntax errors and API usage,
conditionally define out stuff that doesn't work on win32
(e.g. CommandBar).
2005-11-27 20:16:43 +00:00
ehouse
66fffb7fe9 fix for STUBBED_DICT case 2005-11-27 20:13:42 +00:00
ehouse
aba81b8627 OpenFileForMapping doesn't seem to exist in win32 -- or at least not
in MinGW's view.
2005-11-27 20:13:13 +00:00
ehouse
65611289fd for gcc: fix caps and remove commas after last item in array 2005-11-27 20:10:06 +00:00
ehouse
7c26e79dda fix caps; use rand() on win32 2005-11-27 20:09:15 +00:00
ehouse
b9de2acebf change how struct is defined for gcc 2005-11-27 20:06:36 +00:00
ehouse
b462252ebb fix syntax errors; other catch up with changes 2005-11-27 20:05:33 +00:00
ehouse
f228cc3b46 fix syntax error 2005-11-27 20:04:46 +00:00
ehouse
e8e408afd4 fix capitalization of header file -- which gcc cares about. 2005-11-27 20:04:06 +00:00
ehouse
5e6eca025a fix so hex dicts build again 2005-10-30 19:05:40 +00:00
ehouse
fb8d643ea2 replace sed with awk 2005-10-30 19:04:49 +00:00
ehouse
768cfd597a fix bug truncating tray display in history by adding size param to
formatTray()
2005-10-30 18:35:21 +00:00
ehouse
95005e45eb don't connect to relay unless have something to send 2005-10-30 16:28:52 +00:00
ehouse
cda5996195 fix unset var warning 2005-10-30 16:14:13 +00:00
ehouse
92981942b3 add _Shutdown(); override logf() to tag with cookieid; make logs less
verbose.
2005-10-30 05:20:31 +00:00
ehouse
b31cb6612b call shutdown on cref rather than deleting it; wrap mutex actions with
debugging logfs like those in mlock.h.
2005-10-30 05:16:35 +00:00
ehouse
42f3a4e7cf don't print log messages below a certain priority 2005-10-30 05:10:26 +00:00
ehouse
befc90648e add shutdown event and action 2005-10-30 05:07:58 +00:00
ehouse
d29937a734 add a const 2005-10-30 05:06:41 +00:00
ehouse
a422f21ad5 add error message; cast to avoid compile warnings 2005-10-30 05:06:23 +00:00
ehouse
880b626070 add a few consts 2005-10-30 05:05:45 +00:00
ehouse
6d88725e05 add missing header file 2005-10-28 09:20:51 +00:00
ehouse
d17165a678 add header needed on some installations 2005-10-23 21:35:19 +00:00
ehouse
b135f317b4 make location of file storing next ID configurable. 2005-10-23 21:06:07 +00:00
ehouse
deb0a2d265 shutdown in response to SIGINT 2005-10-23 15:49:48 +00:00
ehouse
e2e66f8057 Set a disconn timer when somebody leaves to make it parallel with case
where somebody never shows up; print more info about cref state to
ctrl port.
2005-10-19 03:44:55 +00:00
ehouse
80d0f3ce71 make now() relative to relay startup time. 2005-10-19 03:43:21 +00:00
ehouse
a64cbd472a don't track heartbeat independent of any timers set. This allows
infinite timeout when no devices present.
2005-10-19 03:42:17 +00:00
ehouse
d74de11771 add XWS_ANY 2005-10-19 03:40:40 +00:00
ehouse
e05777bdcf add XWS_ANY; add missing transitions to kill game on timer when device
disappears and doesn't return.
2005-10-19 03:40:26 +00:00
ehouse
4df7b3d75a add uptime 2005-10-19 03:39:18 +00:00
ehouse
5e693ee022 fix misspelling; tweak error messages 2005-10-19 03:21:19 +00:00
ehouse
74b6ccbd52 cleanup ctrl printing; repeat most recent command; cleanup internal names. 2005-10-16 01:19:25 +00:00
ehouse
ff12881ffd silence compiler warning 2005-10-16 01:15:49 +00:00
ehouse
deea73ad8b cancel all-connected timer when all are connected 2005-10-15 16:35:18 +00:00
ehouse
a8352fa745 fix leak; move heartbeat timer into crefmgr, and only run it when
there are active crefs.
2005-10-15 16:30:10 +00:00
ehouse
936e3bd110 clean up command help 2005-10-15 16:28:26 +00:00
ehouse
ecf5875d7e capitalize public methods on timermgr (no code change) 2005-10-15 15:49:22 +00:00
ehouse
eb8301ade7 return error to client when flags indicate old version; close sockets
when error occurs in processing message.
2005-10-14 08:29:58 +00:00
ehouse
6541e56c40 catch up with logf change 2005-10-14 08:27:16 +00:00
ehouse
b7e3479989 print prompt 2005-10-14 08:26:56 +00:00
ehouse
cb3e2910b9 add commented out debug flag 2005-10-14 08:26:19 +00:00
ehouse
8c8babc762 new error message 2005-10-14 08:25:51 +00:00
ehouse
e18f66f587 remove dead code 2005-10-06 02:54:05 +00:00
ehouse
07a1894c6e implement heartbeat timer required for relay 2005-10-06 02:49:50 +00:00
ehouse
be5078e8f8 removed unused states etc. 2005-10-06 02:36:45 +00:00
ehouse
0bf1dcdcf8 remove connect info button, instead bring it up every time role
changes to one that needs it.
2005-10-06 02:34:07 +00:00
ehouse
f7443c9f7f catch symbian up with api changes -- but still need to set timers
before it'll talk to relay.
2005-10-02 16:40:16 +00:00
ehouse
3bf3e2fda1 parse multiple config files in order with later ones overriding. 2005-10-02 16:23:49 +00:00
ehouse
4e5f69f4e8 rename states so can format to 80 cols; add log level param. No
change to functionality in this checkin.
2005-10-02 16:08:42 +00:00
ehouse
6835b6d1eb New scheme for accepting and limiting reconnections. Now device must
send player counts, local and expected.  Based on these the relay
accepts connections, declares the game full and ready for message
forwarding, and decides whether to accept a reconnect.
2005-10-02 15:39:38 +00:00
ehouse
77319b570d make transmitted vars smaller where possible; new relay identifying
scheme where cookie is used only to connect, and is replaced for
reconnects by a relay-generated name that's supposed to be unique
across all games on all relays and includes a hostname read in from
config file; relay assign non-servers' hostIDs.
2005-10-01 16:33:45 +00:00
ehouse
0c2365e3ea parse new SERVERNAME config variable 2005-10-01 16:09:57 +00:00
ehouse
c5add889cb make transmitted vars smaller where possible; new relay identifying
scheme where cookie is used only to connect, and is replaced for
reconnects by a relay-generated name that's supposed to be unique
across all games on all relays; let relay assign non-servers' hostIDs
rather than doing 'em randomly; use hostIDs for comms-level protocol's
channelNo where possible to avoid tripping over duplicate messages
2005-10-01 16:01:39 +00:00
ehouse
50df4d7cf4 catch up with API change 2005-10-01 15:53:56 +00:00
ehouse
3db9c4e7e9 new constant 2005-10-01 15:52:16 +00:00
ehouse
b6933b5b9b stream version change 2005-10-01 15:51:54 +00:00
ehouse
c71b442229 comment on shuffling 2005-10-01 15:51:35 +00:00
ehouse
20c87b4c19 fix streaming so four devices can be in game. 2005-10-01 15:51:14 +00:00
ehouse
255656f009 works, but not yet used. And wants relay host identifier added in. 2005-09-19 04:34:51 +00:00
ehouse
57ccb08528 fix for when BEYOND_IR not defined 2005-09-17 19:49:53 +00:00
ehouse
7d9a78f996 comment out internal mutexes: shouldn't be needed now that only one
thread at a time is given access to a cref instance.
2005-09-14 05:15:27 +00:00
ehouse
f944b154fc fix print_cookies to use iterator 2005-09-14 05:14:41 +00:00
ehouse
c4d212f78c shorten names so table easier to fit in 80 cols 2005-09-14 05:14:04 +00:00
ehouse
ca755490c5 allow to run multiple games at once 2005-09-14 05:12:07 +00:00
ehouse
237deee542 just log some messages so user interaction not required. 2005-09-14 05:11:29 +00:00
ehouse
87d1c8f593 event name change 2005-09-09 03:15:06 +00:00
ehouse
5dace1cc7a add enough timer support for heartbeat; fix redraw bug 2005-09-09 03:14:11 +00:00
ehouse
18fc5e2c14 add linuxFireTimer 2005-09-09 03:12:58 +00:00
ehouse
264f34d97d move fireTimer to linux-common code 2005-09-09 03:12:24 +00:00
ehouse
368d2b82d6 add an extra slot as on other platforms 2005-09-09 03:06:27 +00:00
ehouse
763cd70632 add missing header. (Did gtk change?) 2005-09-09 02:57:14 +00:00
ehouse
23c436a75c make network play on by default 2005-09-07 12:32:29 +00:00
ehouse
77a8df77ac add strings for relay errors 2005-09-07 12:31:32 +00:00
ehouse
cf5906eacf Add and handle disconnect message so a device can reuse its socket for
a new game.
2005-09-05 15:50:49 +00:00
ehouse
05878f11a4 Do nothing rather than assert when socket no longer found for write.
Not sure if this is a preventable error.
2005-09-05 15:50:28 +00:00
ehouse
235556240f Don't close the underlying socket. Not sure yet when I should close a
socket that hasn't returned an error.  Maybe that's the client's job.
2005-09-05 15:45:22 +00:00
ehouse
5c01044e8c send disconnect message to relay before starting a new game. 2005-09-05 15:33:51 +00:00
ehouse
466e21f608 formatting 2005-09-05 15:32:40 +00:00
ehouse
5e4fd3368e add role to newgame dialog 2005-09-05 05:31:11 +00:00
ehouse
47030320f4 move typedef 2005-09-04 20:55:07 +00:00
ehouse
8a2eae0887 log ip address of incoming connection in dotted-quad notation. 2005-09-04 20:54:09 +00:00
ehouse
89f1eca340 log tweak 2005-09-04 20:44:46 +00:00
ehouse
55988dcdd7 cut down on logging a bit 2005-09-04 20:43:53 +00:00
ehouse
6995d37ead don't assert when unexpected event arrives; just log and drop 2005-09-04 20:43:23 +00:00
ehouse
aa1323a5a3 shorten log messages; make easier to process from perl 2005-09-04 20:38:23 +00:00
ehouse
ebcc30dd5f send notice when a socket closes. This seems to be resulting in dups. 2005-09-04 20:37:42 +00:00
ehouse
0134c96962 fix deadlock by collecting crefs into local storage before starting to
act on them.
2005-09-04 20:36:53 +00:00
ehouse
7803fead80 use comms_setAddr rather than modifying const to set resolved address. 2005-09-04 20:34:52 +00:00
ehouse
75b8f5342a add error messages 2005-09-04 20:34:16 +00:00
ehouse
6d0b23a8e8 TALL_FONTS (support for Danish tall letters) now on by default 2005-09-04 20:32:16 +00:00
ehouse
aa0a9ec158 add error message; don't assert (crash) when socket closes. 2005-09-04 20:31:34 +00:00
ehouse
6f8b33a05b reset cookieID for a new game 2005-09-04 20:30:47 +00:00
ehouse
1f43831219 new error code 2005-09-04 14:35:13 +00:00
ehouse
1aed9882ef new (commented-out) info message 2005-09-03 18:36:08 +00:00
ehouse
4882c92a07 generate XWRELAY_OTHERCONNECT message 2005-09-03 18:35:34 +00:00
ehouse
8072bc687c add XWRELAY_OTHERCONNECT message 2005-09-03 18:32:12 +00:00
ehouse
59edec4955 handle OTHER_CONNECT message by resending any unACKed messages. 2005-09-03 18:31:32 +00:00
ehouse
e6e9646253 make all APIs private and add as friends the safe classes that will
access them.  This should allow reduction in the locking within cref
instances since only one thread at a time will be permitted inside by
SafeCref.
2005-09-03 15:59:48 +00:00
ehouse
4479933657 add missing state transition 2005-09-03 15:41:59 +00:00
ehouse
a4033a44c3 when one device is disconnected for heartbeat, tell others it's going
away.
2005-09-03 15:41:17 +00:00
ehouse
ca8877a5de for testing, add -H option to prevent client from sending heartbeat
messages to relay.
2005-09-03 15:39:15 +00:00
ehouse
abbd1a072f handle other-disconnected error message 2005-09-03 15:37:49 +00:00
ehouse
9a2567252b cleanup: get rid of unused states/actions and code to handle them. 2005-09-03 07:15:05 +00:00
ehouse
1114784217 Add strings for error codes for relay disconnect events. 2005-09-03 06:58:05 +00:00
ehouse
ab0e833a9b Receive disconnect events and display message for error codes. 2005-09-03 06:57:01 +00:00
ehouse
6a0abc16e8 Add range for relay errors. 2005-09-03 06:56:33 +00:00
ehouse
c82fd2e4f2 Send disconnect events with error codes on heartbeat and connect timer
failures; change how state machine handles heartbeats: only put events
into the machine when there's a failure.
2005-09-03 06:55:08 +00:00
ehouse
b0cc6f458b add disconnect event and error codes 2005-09-03 06:46:03 +00:00
ehouse
2ba0f451a7 fix failure to record bytes forwarded 2005-09-02 07:18:39 +00:00
ehouse
8f32f4f99a loads of changes: get settings from config file; remove sockets and
kill crefs via state machine, and protect access to a cref so it can
die without another thread being in it; do timers via timeout to
poll() rather than interrupt (and integrate into state machine);
detect when all players are present and change state so new
connections on that cookie will get a new cref.
2005-09-02 06:56:34 +00:00
ehouse
5d22be174a initial version 2005-09-02 06:40:34 +00:00
ehouse
9ac04243b5 first checked in. works. 2005-09-02 06:35:25 +00:00
ehouse
39fa5728ef send XWRELAY_RECONNECT 2005-09-02 06:26:33 +00:00
ehouse
e3cadfbf79 catch up with API changes 2005-09-02 06:24:47 +00:00
ehouse
6ebce9ff5e protect logging with mutex since happens from multiple threads now. 2005-08-21 14:54:49 +00:00
ehouse
a227dfd605 flesh out interaction with comms. Now able to play a complete game vs
linux version over GPRS.
2005-08-21 14:36:11 +00:00
ehouse
bef309be3f add stream_setOnCloseProc 2005-08-21 14:33:38 +00:00
ehouse
c0bdfb54c9 constant name changed 2005-08-21 14:18:56 +00:00
ehouse
a236d6a972 tweak how timers stored 2005-08-21 14:07:29 +00:00
ehouse
13d9e7e8c8 timeout isn't an assertion failure 2005-08-21 14:07:12 +00:00
ehouse
f77a4854b6 use renamed constant 2005-08-21 14:05:29 +00:00
ehouse
e8a94b670a rename constant 2005-08-21 14:04:32 +00:00
ehouse
abde767154 tweaks to logging and adding some message enums 2005-08-08 23:33:51 +00:00
ehouse
23739eee9b reduce interrupt-time logging 2005-08-03 01:17:49 +00:00
ehouse
ae91d38e45 Clean up and fix timer code. 2005-08-03 01:14:49 +00:00
ehouse
91abdb3bcc fix bug where client connecting before server would result in attempt
to forward packet to host not yet available.  Drop such packets now.
2005-08-02 04:57:13 +00:00
ehouse
170ad8f419 make overly verbose logging conditional 2005-08-02 04:56:08 +00:00
ehouse
1b40b1956e add const to match new signature 2005-07-30 02:44:42 +00:00
ehouse
dcb5783924 add vc60.pdb 2005-07-30 02:07:20 +00:00
ehouse
f6649e17f6 make some conn-related IDs conditional 2005-07-30 02:05:59 +00:00
ehouse
7d4700622e add cesockwr.o 2005-07-30 02:04:29 +00:00
ehouse
294ce5f513 Add and use driver for communication over TCP. Driver uses two
threads, reader and writer, on a single socket.  With this checkin a
connect request reaches the relay and a response comes back and is
passed to and recognized by the common code.  A full game should now
work, but hasn't been tried.  Nor is there any handling of socket
errors, retries, etc.
2005-07-30 02:02:49 +00:00
ehouse
aa27360761 tweak conn dialog 2005-07-30 01:51:24 +00:00
ehouse
9abf6f8970 add a const 2005-07-30 01:48:17 +00:00
ehouse
3ecc871515 begin work of allowing multi-device play over WiFi/Cellular: add
dialog to gather params, save 'em, and stub out send proc.  Still need
to debug a bit, and add threads to send/receive packets.
2005-07-23 15:31:21 +00:00
ehouse
24fb48008f cleanup for wince compile 2005-07-23 15:28:15 +00:00
ehouse
77d7bc9fa7 add const 2005-07-23 15:21:23 +00:00
ehouse
d6fac2014e add assertion on null string 2005-07-23 15:16:26 +00:00
ehouse
bc3515272c Get rid of unused param 2005-07-14 02:54:47 +00:00
ehouse
84ec7e38f2 Get rid of WinCopyRect-based method of drawing letters and values in
tray tiles, since it seems not to work on all versions of PalmOS.
Simply drawing seems fine where tested; will try close clipping if
erasure happens elsewhere.  Draw board-top stuff one pixel higher on
highres devices, and fix scoreboard being too narrow on high-res
devices.
2005-07-14 02:45:10 +00:00
ehouse
fc4fd3ea93 fix compile error 2005-07-13 12:35:38 +00:00
ehouse
3b12c4df87 syntax error 2005-07-09 15:36:39 +00:00
ehouse
8acfb31153 protect TIMER_HEARTBEAT for standalone platforms 2005-07-09 15:27:06 +00:00
ehouse
bf2e208d6f catch up with API changes 2005-07-09 15:26:12 +00:00
ehouse
9f694f74d1 wrap line 2005-07-09 15:25:51 +00:00
ehouse
e1d3eeaf2a don't use %c on ARM. Crashes due to my bad StrPrintF implementation. 2005-07-08 08:30:42 +00:00
ehouse
e537e29e87 new functions for measuring glyphs 2005-07-08 08:29:37 +00:00
ehouse
a16505727a Moving glyph-measuring code to drawing; fix for highres case. 2005-07-08 03:14:43 +00:00
ehouse
d3249d93ae Moving glyph-measuring code to drawing 2005-07-08 03:10:21 +00:00
ehouse
58728ae00d remove glyph-measuring API just added (since it belongs in drawing,
not dict)
2005-07-08 03:08:16 +00:00
ehouse
f082c6ad2e dict_tilesToString sig change; remove glyph-measuring API just added
(since it belongs in drawing, not dict)
2005-07-08 03:06:08 +00:00
ehouse
dc84bd22df dict_tilesToString sig change 2005-07-08 03:02:31 +00:00
ehouse
9e76871306 (conditionally) modify dicts to support getting height of platform
glyphs, pass into drawing code so can be fetched and cached, and
implement for Palm.  This is to allow drawing glyphs (like Danish's
A-with-circle) that are taller than normal without the visual padding
the rest can have.  So far works for 68K/non-highres.  Will not
compile for ARM yet.
2005-07-07 03:46:07 +00:00
ehouse
3b53363e16 Pass protocol version code with connect request, and return error if
it isn't what relay can handle.  Report error to user.
2005-07-06 01:36:52 +00:00
ehouse
77374484f8 ditch words without vowels 2005-07-06 00:58:44 +00:00
ehouse
5b3e5fbf18 name change 2005-07-06 00:58:20 +00:00
ehouse
d639e9ca45 Honor cookieID passed in connect message, falling back to cookie only
when the ID isn't set, and using it rather than assigning a new one
even if the game can't be found.
2005-07-06 00:54:38 +00:00
ehouse
f062a1f8f6 cleanup 2005-07-06 00:53:19 +00:00
ehouse
1ae6c010c9 Make cookieID a 32-bit value instead of 16-bit 2005-07-05 23:02:15 +00:00
ehouse
db6f6c258d move to using a formal table-driven state machine for each game (cref
object).  While it makes things more complex at this point, it should
make it easier in the long run to add error handling, timeouts, etc.
2005-07-05 22:05:37 +00:00
ehouse
d5858f7a21 add include file 2005-07-05 21:57:00 +00:00
ehouse
370c2f82f2 fix leak 2005-07-05 21:52:24 +00:00
ehouse
c3f5fb4639 cancel old timer before setting a new one 2005-07-05 20:59:42 +00:00
ehouse
327fb7b001 eliminate unnecessary setHeartbeatTimer call 2005-07-05 20:57:37 +00:00
ehouse
7d388c3a2a fix compile error! 2005-06-30 01:51:40 +00:00
ehouse
4f57cadd75 Refactor ce_dictionary_make so that it returns NULL rather than an
broken dict when the file's missing or corrupt.  Casts to stop
warnings.
2005-06-30 01:48:07 +00:00
ehouse
39669d9680 change dialog title when it's called from new game menuitem 2005-06-30 01:44:56 +00:00
ehouse
8fb0b4685a Refactor ce_dictionary_make so that it returns NULL rather than an
broken dict when the file's missing or corrupt.
2005-06-30 01:36:51 +00:00
ehouse
acd3bdf24b copy null byte along with rest of string 2005-06-28 04:42:08 +00:00
ehouse
4701ee8c34 update copyright year in about box 2005-06-27 06:05:14 +00:00
ehouse
978d840df7 put back functions that never should have been removed. 2005-06-27 05:45:28 +00:00
ehouse
78aefbefea fix description at user's suggestion 2005-06-27 05:23:14 +00:00
ehouse
c2fe26ec77 up version to b4 to match next tag 2005-06-27 04:01:51 +00:00
ehouse
6728862399 cast to stop warning on wince 2005-06-27 03:56:09 +00:00
ehouse
2871778cb7 remove logging 2005-06-25 05:44:30 +00:00
ehouse
e92234b324 cleanup: make module-local functions static 2005-06-25 05:43:56 +00:00
ehouse
8faf6a670c add default compile command 2005-06-25 05:43:04 +00:00
ehouse
f6a6827c59 fix compile warnings 2005-06-23 14:12:09 +00:00
ehouse
2fbfeee378 util_setTimer changes 2005-06-23 14:09:20 +00:00
ehouse
3054637842 heartbeats: send to clients in connection response; note when
heartbeat and other messages arrive; and periodically reap sockets
that haven't been active in long enough.
2005-06-23 04:26:44 +00:00
ehouse
e6b5d2d0e4 version to 4.2x 2005-06-23 04:23:06 +00:00
ehouse
fa945f74aa handle heartbeat timer and change to util_setTimer 2005-06-23 04:22:46 +00:00
ehouse
684697216d fix timer not getting drawn on highres screens; handle heartbeat timer
and change to util_setTimer
2005-06-23 04:22:27 +00:00
ehouse
3ab25c843b fix timer not getting drawn on highres screens 2005-06-23 04:21:35 +00:00
ehouse
5385c9f7dc BEYOND_IR now the default 2005-06-23 04:20:46 +00:00
ehouse
767de5a284 implement new util_setTimer, and handle heartbeat timer 2005-06-23 04:20:00 +00:00
ehouse
dfccb19667 convert util_setTimer to take procptr; remove timer call on board; add
heartbeat to comms that uses util_setTimer with new timer type.
2005-06-23 04:16:53 +00:00
ehouse
5e02ca1c86 first checked in. Seems to work. 2005-06-22 06:40:53 +00:00
ehouse
e2cbee1210 path to local copy of wordlist 2005-06-16 05:12:49 +00:00
ehouse
c57206f483 catch franklin up with recent API changes 2005-06-16 05:12:28 +00:00
ehouse
9d5ea796f3 don't draw board before it's set up 2005-06-13 14:51:21 +00:00
ehouse
001058da03 add a couple of consts to fix warnings 2005-06-13 14:34:01 +00:00
ehouse
9a09a24aab fix DEBUG compile error 2005-06-13 14:33:05 +00:00
ehouse
8eb0b50cec fix scrolling; resize board, enabling scrolling, when SIP is revealed.
And make it possible for user to reveal it.
2005-06-13 14:29:49 +00:00
ehouse
7c906a70ba add debug-version logging to catch dictionary corruption 2005-06-13 13:36:26 +00:00
ehouse
6c9caadd43 use clipping when drawing bitmaps, can center 'em. This fixes
overwriting borders when cells shrink when SIP is visible.
2005-06-13 13:32:06 +00:00
ehouse
5803496007 turn on scrolling by default 2005-06-13 13:24:15 +00:00
ehouse
b0e6ac2b7c add relay dir to -I list 2005-06-13 13:23:33 +00:00
ehouse
835f81582d fix typos 2005-06-11 15:32:34 +00:00
ehouse
69277eee0b first checkin for Danish 2005-06-11 15:32:09 +00:00
ehouse
c2297590eb fix incorrect signature that was causing all scores to be drawn as 0. 2005-06-09 14:18:55 +00:00
ehouse
cfa1a42fcd fix formatting; make board wide enough for timer. 2005-05-30 00:20:42 +00:00
ehouse
40634e33c6 add justification to draw_string_at to better position using pango. 2005-05-30 00:03:58 +00:00
ehouse
8c201ff01b give tiles a background color 2005-05-29 21:17:23 +00:00
ehouse
a83f1b46b6 Switch to GTK 2.n. 2005-05-29 20:40:38 +00:00
ehouse
3c23117a2a New fields in drawCtxt for pango-based text layout; other tweaks for
switch to GTK 2.n.
2005-05-29 20:39:01 +00:00
ehouse
7986e14d08 huge set of changes to get working with GTK 2.n. Type changes and
casts, rewrite of img-button creation, tweaks in startup ordering that
may not have been necessary.
2005-05-29 20:37:35 +00:00
ehouse
521de82234 huge set of changes to get working with GTK 2.n. Use pango for text
drawing, getting rid of all GdkFonts; get rid of clipping until I
understand why it was prevent all drawing.  Etc.
2005-05-29 20:32:48 +00:00
ehouse
2a39b6950f switch to g_signal_connect 2005-05-29 20:17:09 +00:00
ehouse
ae8a861098 formatting fixes; casts for GTK 2005-05-29 19:37:42 +00:00
ehouse
06e28770d1 make one formal param const 2005-05-29 19:31:09 +00:00
ehouse
4095acc327 casts to stop compiler warnings 2005-05-29 19:29:33 +00:00
ehouse
37dd97edf6 add NetLibGetHostByName 2005-05-01 18:23:28 +00:00
ehouse
af10fa0425 modify TARGET .prc name based on ARCH 2005-05-01 17:39:09 +00:00
ehouse
9c5971d36c implement usage() 2005-05-01 17:38:31 +00:00
ehouse
f702a75188 log incoming ip addr 2005-05-01 17:38:11 +00:00
ehouse
aef5cc3fc9 NetLibGetHostByName 2005-05-01 17:36:33 +00:00
ehouse
c56d76d743 add types for netlib funcs 2005-05-01 17:34:39 +00:00
ehouse
b1b9e96142 enable network-aware PNO build 2005-05-01 17:19:50 +00:00
ehouse
3d0530d30d fix crash by initing in right place. (modified and checked in from 9300) 2005-04-22 13:49:33 +00:00
ehouse
343e97a9ea catch up with interface change 2005-04-21 03:43:03 +00:00
ehouse
576e2ec447 finally check in bitmap drawing; tweak font selection to look better
on device.
2005-04-21 01:09:46 +00:00
ehouse
9fa68e4936 lots of little changes; cleanup and support ctrl functions 2005-04-20 12:13:20 +00:00
ehouse
df17fe4f1e reorganize; support ctrl functions 2005-04-20 12:10:05 +00:00
ehouse
d885af5386 count bytes sent 2005-04-20 12:08:33 +00:00
ehouse
92c2017cae use rwlock instead of mutex 2005-04-20 12:06:25 +00:00
ehouse
7036e53229 move to using rwlock 2005-04-20 12:03:58 +00:00
ehouse
12fc28315c more debug info 2005-04-20 11:59:08 +00:00
ehouse
40351e187b add several new commands 2005-04-20 11:57:26 +00:00
ehouse
54843e68bf fix warnings 2005-04-08 14:28:04 +00:00
ehouse
fdca4b0a88 add rwlock helper classes 2005-04-08 14:18:14 +00:00
ehouse
a809a057e4 mutex replaced by rwlock 2005-04-08 14:17:28 +00:00
ehouse
a50fe1d1be replace mutex with rwlock; move creation inside class so can be
controlled by same rwlock.
2005-04-08 14:15:23 +00:00
ehouse
7a15f44c12 move creation inside class so can be controlled by same rwlock 2005-04-08 14:13:25 +00:00
ehouse
423ff190ea turn on warnings 2005-04-08 14:11:00 +00:00
ehouse
9ee54bf8a3 don't assert after poll returns! Instead close socket on hangup. 2005-04-03 17:02:09 +00:00
ehouse
31e1a46087 separate internalization of comms from call to connect to relay since
the first must finish before the caller will have a valid reference to
comms.  call util_addrChange.
2005-04-03 17:00:59 +00:00
ehouse
0629dc5223 separate internalization of comms from call to connect to relay since
the first must finish before the caller will have a valid reference to
comms.
2005-04-03 16:58:36 +00:00
ehouse
de4af7c8ce add util_util_addrChange 2005-04-03 16:57:01 +00:00
ehouse
961ca6e256 add linux_util_addrChange (stubbed out) 2005-04-03 16:56:39 +00:00
ehouse
62b994e32e track whether running on POSE to work around NetLibSelect bug; track
whether addr needs re-resolving.
2005-04-03 16:55:38 +00:00
ehouse
b485deb357 add palm_util_addrChange; track whether running on POSE to work around
NetLibSelect bug.
2005-04-03 16:54:54 +00:00
ehouse
84cdcc8d30 remove unneeded param 2005-04-03 16:53:32 +00:00
ehouse
f5320a46bd deal with address change, esp of hostname, and separate name
resolution from socket opening.
2005-04-03 16:52:51 +00:00
ehouse
45621dffdb turn off linger on new sockets; use long enough timeout on name
resolution that can succeed on device.
2005-04-03 06:24:55 +00:00
ehouse
c5674701b9 catch up with api changes 2005-04-03 04:13:09 +00:00
ehouse
ad6de22306 add comms_getInitialAddr; protect against recursive sends 2005-04-03 02:49:04 +00:00
ehouse
3d27d0d882 add comms_getInitialAddr 2005-04-03 02:48:50 +00:00
ehouse
abc866af74 needn't open netlib from here! 2005-04-03 02:47:46 +00:00
ehouse
bf331a2805 fix for api change 2005-04-03 02:47:08 +00:00
ehouse
930b320011 first checked in. Works, but error recovery not done yet. 2005-04-03 02:46:31 +00:00
ehouse
3add8ccbf4 move generic send/receive stuff from palmir.c; tweak data structures
for relay scheme.
2005-04-03 02:00:44 +00:00
ehouse
8af072f8d9 move generic send/receive stuff from palmir.c. 2005-04-03 01:59:57 +00:00
ehouse
656bcac3aa modify ip-params dialog for new relay-based scheme, using new struct
fields and dialog objects.
2005-04-03 01:58:02 +00:00
ehouse
b6d3ad8a07 add XP_LD 2005-04-03 01:53:07 +00:00
ehouse
0839ce0337 remove ip-related stuff to new files 2005-04-03 01:47:34 +00:00
ehouse
b56b4f7b37 add palmip.c; change how upload works 2005-04-03 01:39:08 +00:00
ehouse
39185fef17 create new comms object if needed for non-first game 2005-04-03 01:36:59 +00:00
ehouse
e3151bdfe2 add command parsing and dispatch table 2005-03-31 02:20:50 +00:00
ehouse
a024c7ccd5 first checked in. works but not robust 2005-03-31 02:11:51 +00:00
ehouse
3f64d755b6 break up compile; new file 2005-03-30 02:00:15 +00:00
ehouse
db3ce42a4f this file owns thread creation now 2005-03-30 01:52:10 +00:00
ehouse
9dcec7d66c new include 2005-03-30 01:49:40 +00:00
ehouse
99d713bd8a first checked in 2005-03-30 01:47:55 +00:00
ehouse
855bc67b17 use new thread pool class 2005-03-30 01:42:28 +00:00
ehouse
64c7513867 cleanup 2005-03-30 01:32:02 +00:00
ehouse
3e476b3771 use system APIs to find stuff in app directory rather than hard coding
path.  Use system apis to find uniquie file names for games.
2005-03-26 03:25:44 +00:00
ehouse
663b3cc1a7 use c: drive, not z:, for uniformity with native version 2005-03-26 03:16:55 +00:00
ehouse
b64103ad7e don't use null comms 2005-03-25 13:41:18 +00:00
ehouse
3d40cc0e5c add cmd to lock/unlock main mutex 2005-03-25 03:24:00 +00:00
ehouse
97323636a9 use new stack-based lock 2005-03-25 03:21:16 +00:00
ehouse
a85716e8d5 first checked in. works 2005-03-25 03:19:03 +00:00
ehouse
b3432d4dfa check for null comms before using 2005-03-25 03:13:10 +00:00
ehouse
c9f60e758c don't instantiate comms unless it'll be used. Internally it has no
idea it's not supposed to connect to relay otherwise.
2005-03-25 03:11:54 +00:00
ehouse
3fd6998c2a add mutexes; general improvements 2005-03-25 02:59:44 +00:00
ehouse
120a3c1773 first checked in 2005-03-25 02:59:10 +00:00
ehouse
02c71850ee let socket server know how many connections to expect 2005-03-23 05:48:11 +00:00
ehouse
cf271c4411 fix shutdown panic by disposing fonts 2005-03-23 05:47:19 +00:00
ehouse
8b34f57bf9 don't kill socket when client connects before server 2005-03-21 05:30:55 +00:00
ehouse
dcebf5bc78 remove null-dereference when socket closed by two threads 2005-03-21 05:30:12 +00:00
ehouse
24690a2a10 too much logging 2005-03-21 05:29:37 +00:00
ehouse
f069c4c2dc "dead" is not a option for players 2005-03-21 05:29:08 +00:00
ehouse
d82f467479 load and save remote/local field 2005-03-21 05:28:27 +00:00
ehouse
f78ebee08b display remote players names in [] on scoreboard 2005-03-20 21:06:23 +00:00
ehouse
5eba6f5511 keep queue of incoming packets since new ones arrive before old can be
processed.  With this fix a complete robot-vs-robot game works between
9300 and gtk version over relay.
2005-03-20 21:05:41 +00:00
ehouse
1f3d94998f define XP_LD 2005-03-20 21:03:18 +00:00
ehouse
a02feee3b9 fix stream creation to include channelNo; correctly return success
from sym_send; fix to build in standalone case.
2005-03-20 19:55:49 +00:00
ehouse
d0441ee1e3 fix runl to reset after error so we'll try again, e.g. after first
using a hostname that doesn't resolve.
2005-03-20 19:52:21 +00:00
ehouse
105e5ed8ca move unused var 2005-03-20 19:49:08 +00:00
ehouse
848552dfe4 wins binary dir name changed 2005-03-20 19:48:14 +00:00
ehouse
dd3222ddbd resend messages menu item 2005-03-20 19:47:47 +00:00
ehouse
8181d03aac MakeSimpleStream needs channelno param 2005-03-20 19:47:07 +00:00
ehouse
10ae6d1f1e add XP_LD to correctly log 32-bit vals 2005-03-20 19:46:20 +00:00
ehouse
df68184819 add ResetState 2005-03-20 19:45:43 +00:00
ehouse
94b03dcd5d add relay/ dir; tweak for debugging inside M$VS 2005-03-20 19:45:19 +00:00
ehouse
7559c87e1a add some wins temp files 2005-03-20 19:44:07 +00:00
ehouse
290cb0b9da fix to build in standalone case 2005-03-20 19:43:00 +00:00
ehouse
edceee12a8 add XP_LD so symbian can long 32-bit vals 2005-03-20 19:41:30 +00:00
ehouse
078ab48fa1 fix bad assert 2005-03-20 15:01:59 +00:00
ehouse
e6abaaea98 add cookie field 2005-03-19 22:30:39 +00:00
ehouse
6212e4379b Connect using address passed in. Other cleanup around relay use, name
changes, etc.
2005-03-19 22:28:55 +00:00
ehouse
9b66f40d78 tweak CIdle timer use to handle incoming packets so these don't have
to be handled from within socket handler's RunL.  Other cleanup around
relay use, name changes, etc.
2005-03-19 22:27:59 +00:00
ehouse
7503282e27 tweak CIdle timer use to handle incoming packets so these don't have
to be handled from within socket handler's RunL.
2005-03-19 22:21:55 +00:00
ehouse
a8ab94d182 add cookie field 2005-03-19 22:20:16 +00:00
ehouse
e57f5e1ab2 param name fix 2005-03-19 22:19:32 +00:00
ehouse
261b03c5a5 -I relay/ 2005-03-19 22:17:23 +00:00
ehouse
dc25eb9e35 first checked in. 2005-03-19 22:16:49 +00:00
ehouse
73104819bd first checked in. primative, but works. 2005-03-19 22:14:27 +00:00
ehouse
50d8c1067b total rewrite. New protocol eliminates need to store and forward
messages: clients connect, then messages are passthru only.  Add
control port.  Use stl map and vector to remove limit on number of
connections.  Also removed synchronization, which need to be re-added.
2005-03-19 22:13:43 +00:00
ehouse
ab6d11a32a add two new .cpp files 2005-03-19 22:09:03 +00:00
ehouse
7d622f9484 fix and cleanup linux client to move to using tcp. Add the ability to
deal with socket dying and (maybe) being replaced.  Only connect on
demand now, when first packet's ready to go.
2005-03-19 22:07:53 +00:00
ehouse
02bc9178db add XP_STRNCPY 2005-03-19 22:06:23 +00:00
ehouse
d6efb446d1 Wrapping protocol around standard comms stuff that talks to the relay.
Revert previous relay-related changes.
2005-03-19 22:01:38 +00:00
ehouse
19b0d88a69 remove gross connectRelay hack. There's now a wrapping protocol that
talks to the relay entirely inside comms.c.
2005-03-19 21:48:47 +00:00
ehouse
8eb4abac6f added '-I relay/' 2005-03-19 21:47:18 +00:00
ehouse
fc6095255d listen port goes away; add separate union member for relay addressing 2005-03-19 21:46:51 +00:00
ehouse
022fd1cb9d util_listenPortChange gone 2005-03-19 21:45:21 +00:00
ehouse
272e66e635 nuke logging that was polluting ncurses screen 2005-03-19 21:44:35 +00:00
ehouse
af8602f63b add stringFromStreamHere() 2005-03-19 21:44:09 +00:00
ehouse
70b45e11c5 catch up with API change 2005-03-15 15:29:17 +00:00
ehouse
dd8f2f92c5 fix problems with clients in networked games making a move after the
game should end: check number of passes and that all players still
have tiles before running robot.
2005-03-15 15:18:58 +00:00
ehouse
2e0ee693bc add assert 2005-03-15 15:13:52 +00:00
ehouse
38bd3d4528 correct spelling 2005-03-15 06:27:21 +00:00
ehouse
5e547eb8b0 move playerNum into dsi so can be used in formatting score 2005-03-15 06:26:58 +00:00
ehouse
13b55cfeab use compiler flags that ease debugging 2005-03-15 06:22:48 +00:00
ehouse
26cd5c2d88 add model_recentPassCountOk 2005-03-15 03:31:52 +00:00
ehouse
912f53178b move playerNum into dsi so can be used in formatting score; show
most recent turn (like symbian 80)
2005-03-15 03:29:37 +00:00
ehouse
36bba4024b move playerNum into dsi so can be used in formatting score 2005-03-15 03:27:24 +00:00
ehouse
af1416ed99 api change 2005-03-12 05:33:40 +00:00
ehouse
1c7e530538 deal with tcp streams the same in curses as on gtk. Both work now
with the relay.
2005-03-12 05:33:30 +00:00
ehouse
229d615e84 comment out overly-verbose logging 2005-03-09 15:19:40 +00:00
ehouse
219b6ce937 save hostIDs as part of comms; add logging 2005-03-09 15:18:17 +00:00