xwords/xwords4/wince
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
..
bmps first cut 2004-01-10 18:06:18 +00:00
.cvsignore new directories to ignore 2006-02-18 14:08:04 +00:00
armrel.mk add relay dir to -I list 2005-06-13 13:23:33 +00:00
ceaskpwd.c rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceaskpwd.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceblank.c Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
ceblank.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceclrsel.c Finally fix scroll-follows-focus for color edit dialog (the tallest). 2008-06-07 14:40:05 +00:00
ceclrsel.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cecondlg.c rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
cecondlg.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
cedebug.c Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
cedebug.h modify ceStackButtonsRight to place dialog ok/cancel buttons in 2008-02-16 17:14:35 +00:00
cedefines.h Shrink scoreboard a bit. Goal's to not needs scrolling on small 2008-09-01 15:07:46 +00:00
cedict.c 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
cedict.h 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
cedraw.c Add listeners to model so board can be notified whenever dictionary 2008-09-05 12:11:37 +00:00
cedraw.h Make CEDrawCtx def private; erase background when OS invalidates it. 2008-09-01 15:10:28 +00:00
ceginfo.c Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
ceginfo.h Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
cehntlim.c Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
cehntlim.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceir.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cemain.c Make CEDrawCtx def private; erase background when OS invalidates it. 2008-09-01 15:10:28 +00:00
cemain.h Make CEDrawCtx def private; erase background when OS invalidates it. 2008-09-01 15:10:28 +00:00
ceprefs.c Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
ceprefs.h Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
cesockwr.c Use new XP_TriEnable type; begin work to support bluetooth by tracking 2006-10-28 14:56:04 +00:00
cesockwr.h Use new XP_TriEnable type; begin work to support bluetooth by tracking 2006-10-28 14:56:04 +00:00
cestrbx.c nuke unused variable 2008-07-20 16:31:50 +00:00
cestrbx.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
cesvdgms.c Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
cesvdgms.h Implement dup, delete and rename buttons in saved games dialog. 2008-06-26 04:17:14 +00:00
ceutil.c Get rid of cute-but-confusing feature whereby the menuitem to which 2008-08-27 12:38:01 +00:00
ceutil.h Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
debhacks.c 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
debhacks.h Cleanup: fix for win32; remove constants that belong in cegcc; etc. 2008-06-07 14:42:20 +00:00
exe2cab.pl Don't include mingwm10.dll in .cab. Doesn't seem to be needed. 2008-05-12 02:51:22 +00:00
LocalizedStrIncludes.h Catch up with changes including three enabled states for control and 2006-06-10 16:15:31 +00:00
Makefile 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
newres.h first checked in 2003-12-03 04:30:32 +00:00
README.txt update comments to describe building with Linux tools 2006-02-18 21:59:04 +00:00
resource.h Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
shared.mk make network play on by default 2005-09-07 12:32:29 +00:00
simrel.mk add relay dir to -I list 2005-06-13 13:23:33 +00:00
StdAfx.cpp first checkin from personal archive 2003-11-20 16:26:35 +00:00
stdafx.h first checkin from personal archive 2003-11-20 16:26:35 +00:00
xptypes.h 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
xwd2cab.pl Go back to writing to \Program Files\Crosswords, since we now look 2006-04-22 14:06:11 +00:00
xwords.vcp revert to an earlier version that didn't build crashing code. 2005-02-11 02:50:04 +00:00
xwords4.h first checkin from personal archive 2003-11-20 16:26:35 +00:00
xwords4.rc Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00

This document describes how to build Crosswords for PocketPC (and for
desktop Windows).  You can build using Debian Linux, or using
Microsoft's embedded visual tools (which are free provided you have a
copy of Visual Studio.)

(Caveat: I've had to make modifications to the MinGW and pocketpc-sdk
packages to support Crosswords.  I have submitted the changes back to
the tool maintainers, but it may take some time before they appear in
Debian.  Please contact me if you need them in the meantime, at
ehouse@users.sf.net.)

To build for PocketPC with Debian, you need to install the MinGW and
pocketpc packages:

sudo apt-get install pocketpc-binutils pocketpc-gas pocketpc-gcc \
pocketpc-sdk mingw32-runtime

If you're building for Windows, you also need the mingw tools: 

sudo apt-get install mingw32-binutils mingw32

Once those are installed, it's just a matter of typing

make TARGET_OS=wince

or

make TARGET_OS=win32

at the commandline in this directory.

******************************************************************************
The rest of this file is older, and talks about building with
Microsoft's tools.

First, you need to install Microsoft's SDK for Wince/PocketPC.  It's
available for about $8 shipping and handling from Microsoft, and is
included with many books on PocketPC/Wince programming.  Here's a link
where I was able to get it:

https://microsoft.order-5.com/trialstore/product.asp?catalog%5Fname=MSTrialandEval&category%5Fname=Developer+Tools&product%5Fid=X09%2D17298

1.  Launch eMbedded Visual C++ (EVC++).

2.  Choose "Open" from the "File" menu, and open xwords.vcp in this
    directory.

*** To build for the emulator (best for development work): ***

3.  On the "Build" menu, choose "Set active conguration".  Select
    "xwords - Win32 (WCE x86) Debug" and click on the "OK" button.

4.  Choose "Build xwords.exe" from the "Build" menu.  You will see the
    names of files appear in the Build window, and a few warnings that
    you can safely ignore (though fixes are welcomed!)  After the link
    finishes, you'll see a dialog announcing that the emulator is
    being started.  The emulator will appear, and once the dialog
    disappears, if you go to the Start menu in the emulator you'll see
    a listing for "xwords".

5.  Before you can run Crosswords/xwords, you need to install a
    dictionary on the emulator.  To do this, go back to EVC++ and
    choose "Remote file viewer" from the "Tools" menu.

6.  From the "Connection" menu of the file browser that appears, choose
    "Add connection", select "Pocket PC 2002 Emulation" and click "Ok".

7.  Now navigate to a directory.  (I usually use "\My
    Documents\Personal", but it shouldn't matter.)  From the "File"
    menu, choose "Export file".  Then select the file
    "BasEnglish2to8.xwd" from the directory dawg/English.  (The
    directory dawg lives in the same directory as the wince directory
    this document is in.)

8.  Now when you launch xwords on the emulator it will not complain
    that there's no dictionary, and you'll be able to navigate to
    BasEnglish2to8.xwd when starting your first game.


*** To build for a device ***

9.  On the "Build" menu, choose "Set active conguration".  Select
    "xwords - Win32 (WCE ARM) Release" or "xwords - Win32 (WCE x86)
    Debug" and click on the "OK" button.  The "Debug" version has a
    number of asserts and other debugging aids compiled in, and logs
    to the file "/My Documents/Personal/xwDbgLog.txt" on the device.
    The "Release" version does no logging, and is smaller and faster
    and in general better suited for non-developers.

10. Choose "Build xwords.exe" from the Build menu.  Once the link is
    finished, EVC++ will try to upload the executable to your device.
    If that works, fine.  Otherwise, you'll need to get the file
    wince/ARMRel/xwords.exe (or wince/ARMDbg/xwords.exe) to your
    device on your own.  I use either an SD card or IR beaming for
    this.  You'll also need a dictionary such as BasEnglish2to8.xwd
    from dawg/English.

11. Once xwords.exe and a dictionary are on your device, just use the
    File Explorer to lauch xwords.exe.

12. Enjoy!  And please report bugs and/or submit fixes.