xwords/xwords4/wince
2008-09-28 17:55:27 +00:00
..
bmps first cut 2004-01-10 18:06:18 +00:00
scripts Script for testing a bunch of Wince device resolution under Wine. 2008-09-28 17:38: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 {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
ceaskpwd.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceblank.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
ceblank.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceclrsel.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
ceclrsel.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cecondlg.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
cecondlg.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
cedebug.c Add more WM_ constants 2008-09-27 15:15:14 +00:00
cedebug.h move logLastError 2008-09-14 16:01:28 +00:00
cedefines.h Two large changes. First, layout board etc. based only on screen 2008-09-28 17:50:04 +00:00
cedict.c comments and assertions 2008-09-28 16:47:11 +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 Draw divider using player color, not always black. 2008-09-28 17:55:27 +00:00
cedraw.h Pass streams to cedraw on save and restore, adding version flag for 2008-09-10 12:18:30 +00:00
cefonts.c Improve the font dialog 2008-09-27 15:10:53 +00:00
cefonts.h Check in files forgotten before: simple font browser. 2008-09-18 03:47:04 +00:00
ceginfo.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
ceginfo.h bug fix: check which combo is generating events rather than assume all 2008-09-18 03:48:29 +00:00
cehntlim.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +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 Two large changes. First, layout board etc. based only on screen 2008-09-28 17:50:04 +00:00
cemain.h Two large changes. First, layout board etc. based only on screen 2008-09-28 17:50:04 +00:00
ceprefs.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +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 {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
cestrbx.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
cesvdgms.c {G|S}etWindowLong -> {G|S}etWindowLongPtr as per MSDN docs 2008-09-27 15:05:26 +00:00
cesvdgms.h Implement dup, delete and rename buttons in saved games dialog. 2008-06-26 04:17:14 +00:00
ceutil.c Two large changes. First, layout board etc. based only on screen 2008-09-28 17:50:04 +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 Two large changes. First, layout board etc. based only on screen 2008-09-28 17:50:04 +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 cleanup; to get better idea of what fonts are available on smartphone 2008-09-17 04:19:20 +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 clean up tile-picker dlg 2008-09-27 15:58:07 +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.