xwords/wince
ehouse 2649017752 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
..
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 Turn on -Wall for compilers, and fix warnings that result. Got 'em 2006-05-12 07:17:35 +00:00
ceaskpwd.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ceblank.c substitute macro for common sizeof(x)/sizeof(x[0]) pattern; no generated code change 2007-05-26 14:03:07 +00:00
ceblank.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ceclrsel.c replace all __FUNCTION__ with __func__ 2007-12-02 19:13:25 +00:00
ceclrsel.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cecondlg.c Fix compilation errors due to constant name changes -- no change to binary. 2007-12-14 13:06:44 +00:00
cecondlg.h name change only: Connectedness becomes DeviceRole 2007-02-02 08:34:37 +00:00
cedefines.h modify API for "portraitizing" dialogs, and space the buttons evenly 2006-05-27 17:18:42 +00:00
cedict.c replace all __FUNCTION__ with __func__ 2007-12-02 19:13:25 +00:00
cedict.h add a few consts decls where APIs changed; use XWFEATURE_RELAY rather 2006-10-22 19:44:30 +00:00
cedraw.c change name of field. No code change. Pending on symbian and franklin which don't compile. 2008-02-02 15:17:53 +00:00
ceginfo.c Update to use modified newg_store 2008-01-05 16:37:49 +00:00
ceginfo.h First cut at using new nwgamest common code to replace PPC-only logic 2006-06-08 01:35:20 +00:00
cehntlim.c Turn on -Wall for compilers, and fix warnings that result. Got 'em 2006-05-12 07:25:43 +00:00
cehntlim.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ceir.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cemain.c Add full-screen mode and menu to get to it (leaving the cmdbar/softkey 2008-01-20 15:36:17 +00:00
cemain.h Add full-screen mode and menu to get to it (leaving the cmdbar/softkey 2008-01-20 15:36:17 +00:00
ceprefs.c substitute macro for common sizeof(x)/sizeof(x[0]) pattern; no generated code change 2007-05-26 14:03:07 +00:00
ceprefs.h change constant names. No change to code compiled. 2007-01-19 06:43:52 +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 cleanup; fix compile of non-debug win32 version 2006-06-11 20:12:20 +00:00
cestrbx.h modify API for "portraitizing" dialogs, and space the buttons evenly 2006-05-27 17:18:42 +00:00
ceutil.c substitute macro for common sizeof(x)/sizeof(x[0]) pattern; no generated code change 2007-05-26 14:03:07 +00:00
ceutil.h modify API for "portraitizing" dialogs, and space the buttons evenly 2006-05-27 17:18:42 +00:00
debhacks.c implement ResetEvent and SetEvent 2006-03-21 03:47:58 +00:00
debhacks.h Add full-screen mode and menu to get to it (leaving the cmdbar/softkey 2008-01-20 15:36:17 +00:00
exe2cab.pl first cut at script to package binary, shortcut and BasEnglish 2006-04-30 21:52:17 +00:00
LocalizedStrIncludes.h Catch up with changes including three enabled states for control and 2006-06-10 16:15:31 +00:00
Makefile Modify to switch between cegcc and pocketpc-sdk, with pocketpc-sdk 2008-02-05 03:45:24 +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 Add full-screen mode and menu to get to it (leaving the cmdbar/softkey 2008-01-20 15:36:17 +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 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
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 make "next hint" top sub-item since it'll be most frequently used 2008-02-05 03:38:15 +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.