Commit graph

190 commits

Author SHA1 Message Date
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
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
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
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
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
da105cfb16 fix typo 2008-07-28 05:02:11 +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
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
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
ec8786b2a7 cleanup: remove dead function; move variables closer to where used 2008-05-25 15:08:03 +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
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
4e9f1c6c2b remove unnecessary memset 2008-05-11 13:55:58 +00:00
ehouse
ebad668227 add some consts. 2008-05-06 12:49:37 +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
c2fbb06438 force miniwindow entirely onto board even if natural position is on
tray; fix overdrawing onto miniwindow by making timer proc return a
boolean and only redrawing (on wince) when it's true.
2008-04-12 15:36:31 +00:00
ehouse
ff254fcef4 add ability to scroll the board by dragging it. add new method
util_altKeyDown to allow user to choose between scrolling board and
dragging the hint rect when both are possible.  add adjustYOffset;
make it and board_setYOffset more tolerant of out-of-bounds inputs and
use that to simplify calling code.
2008-04-08 03:55:53 +00:00
ehouse
97b8d81d40 remove excessive logging 2008-04-02 03:50:55 +00:00
ehouse
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
a6dda53907 Use new APIs to scroll dialogs; use new saved games dialogs. 2008-03-24 12:41:12 +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
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
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
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
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
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
f3b8867518 Mark params unused in compiles for standalone; remove unused param. 2008-02-16 16:02:49 +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
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
b333476d48 Update to use modified newg_store 2008-01-05 16:37:49 +00:00
ehouse
86f5193801 Fix compilation errors. Not tested. 2007-12-03 01:18:13 +00:00
ehouse
5457ea1b59 replace all __FUNCTION__ with __func__ 2007-12-02 19:13:25 +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
aad182c2e3 turn stringFromStream into macro to aid logging for leak detection. Debug builds only effected. 2007-03-18 23:31:51 +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
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
e9871b1fb6 change constant names. No change to code compiled. 2007-01-19 06:43:52 +00:00
ehouse
c01615e86b reintroduce board_handleKey 2007-01-18 02:42:37 +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
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
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
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
a292e33c03 catch up with recent API changes; fix bug in newgame dialog. 2006-09-15 07:39:57 +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
e68771939e fix broken ce build: remove ifdefs. 2006-08-11 01:33:19 +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
8c86ba26d8 add more cases to messageToBuf. Effects debug build only. 2006-07-03 22:32:29 +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
4da329a482 Get rid of param removed from board_handlePenUp. 2006-07-01 14:22:09 +00:00
ehouse
e32a445788 remove overactive log message 2006-06-22 03:37:21 +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
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
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
e75ef1ca53 fix a couple of compile warnings 2006-05-28 14:53:02 +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
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
d6ddeb0f87 update nHiddenRows so scrolling finally works 2006-05-20 06:22:33 +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
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
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
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
469a23a183 fix too-tall cells in vertical scoreboard case 2006-05-11 03:01:39 +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
e7868afd67 Alert user of a previous version that dict location is being fixed 2006-05-05 12:51:08 +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
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
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
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
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
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
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
826a6dd82e tie aygshell to Wince rather than making it separate feature 2006-02-17 07:30:54 +00:00
ehouse
472b61dbe3 get rid of printf 2006-02-16 03:32:19 +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
1fd52dee8f back out change that had window drawing too narrow 2006-02-07 14:45:30 +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
559662ea98 pass the right param to WinMain. This makes it work on ce! 2006-01-31 06:41:16 +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
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
cab0622c9d Increase size of tray and fonts for win32; turn on windoze-style
menus.
2005-11-27 22:06:04 +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
77a8df77ac add strings for relay errors 2005-09-07 12:31:32 +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
a236d6a972 tweak how timers stored 2005-08-21 14:07: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
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
bc3515272c Get rid of unused param 2005-07-14 02:54:47 +00:00