xwords/wince
ehouse 95a93191be 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
..
bmps Add a 16x16 icon. Remove the .ico file from svn, adding instead the 2008-10-25 21:59:46 +00:00
scripts Use Ok for stringbox, Done for Saved games dialog; next release to be 2008-12-13 04:39:06 +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 Walk dialog's controls and make a list of Edit controls so that dialog 2008-10-13 05:46:45 +00:00
ceaskpwd.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceblank.c return TRUE after handling WM_INITDIALOG 2009-01-17 18:41:15 +00:00
ceblank.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
ceclrsel.c Walk dialog's controls and make a list of Edit controls so that dialog 2008-10-13 05:46:45 +00:00
ceclrsel.h update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
cecondlg.c Turn on and enable UI for relay and sms transport. relay doensn't 2009-01-05 14:13:40 +00:00
cecondlg.h Turn on and enable UI for relay and sms transport. relay doensn't 2009-01-05 14:13:40 +00:00
cedebug.c Beginning of rewrite of socket code for communication with relay, 2009-01-31 18:06:09 +00:00
cedebug.h Fix other sites putting up dialogs claiming main window as parent when 2008-12-07 05:21:13 +00:00
cedefines.h Make tray tiles one pixel taller, extending all the way to bottom of 2008-12-12 13:40:41 +00:00
cedict.c cleanup: get rid of confusing but harmless * 2009-01-13 13:03:59 +00:00
cedict.h Use SHGetSpecialFolderPath to locate dicts in /Document Files/Crosswords; reserve 1-pixel space around Rem: text 2008-10-29 08:46:02 +00:00
cedraw.c 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
cedraw.h Speed up font calculation by interleaving width and height 2008-11-08 16:25:49 +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 Turn on and enable UI for relay and sms transport. relay doensn't 2009-01-05 14:13:40 +00:00
ceginfo.h Turn on and enable UI for relay and sms transport. relay doensn't 2009-01-05 14:13:40 +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 Beginning of rewrite of socket code for communication with relay, 2009-01-31 18:06:09 +00:00
cemain.h Beginning of rewrite of socket code for communication with relay, 2009-01-31 18:06:09 +00:00
ceprefs.c Get rid of unused parameter 2009-01-14 13:02:08 +00:00
ceprefs.h Go back to using combobox on PPC but keep spinners on Smartphone. 2008-08-27 12:16:33 +00:00
cesms.c comment about APIs to use for implementation (probably the last checkin of this file.) 2009-01-31 18:03:06 +00:00
cesms.h Turn on and enable UI for relay and sms transport. relay doensn't 2009-01-05 14:13:40 +00:00
cesockwr.c Beginning of rewrite of socket code for communication with relay, 2009-01-31 18:06:09 +00:00
cesockwr.h Beginning of rewrite of socket code for communication with relay, 2009-01-31 18:06:09 +00:00
cestrbx.c Use Ok for stringbox, Done for Saved games dialog; next release to be 2008-12-13 04:39:06 +00:00
cestrbx.h rename and reorganize/simplify dialog-handling code common to all 2008-06-05 04:29:28 +00:00
cesvdgms.c Back out change: button to dismiss Saved games dialog is "Done" again, 2008-12-12 05:28:53 +00:00
cesvdgms.h Fix other sites putting up dialogs claiming main window as parent when 2008-12-07 05:21:13 +00:00
ceutil.c get rid of excess logging (one line) 2009-01-18 18:17:08 +00:00
ceutil.h Get rid of unused parameter 2009-01-14 13:02:08 +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 add (unused) missing defines for IME stuff, which can't work until I 2008-12-01 13:16:58 +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 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
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 Turn on and enable UI for relay and sms transport. relay doensn't 2009-01-05 14:13:40 +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 Include function name in assertion failure message; always print to 2009-01-17 18:44:45 +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.ico Make much smaller .ico file by hand using GIMP, and check it in. png 2008-10-26 21:05:44 +00:00
xwords4.rc add controls for sms connecting 2009-01-05 14:05:56 +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.