Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

165 lines
6.2 KiB

#include "windows.h"
#include "freecons.h"
ID_ICON_MAIN ICON freecell.ico
DownArrow CURSOR DOWN.CUR
KingBitmap BITMAP KING.BMP
KingLeft BITMAP KINGL.BMP
KingSmile BITMAP KINGS.BMP
FreeMenu MENU
BEGIN
POPUP "&Game"
BEGIN
MENUITEM "&New Game\tF2", IDM_NEWGAME
MENUITEM "&Select Game\tF3", IDM_SELECT
MENUITEM "&Restart Game", IDM_RESTART, GRAYED
MENUITEM SEPARATOR
MENUITEM "S&tatistics...\tF4", IDM_STATS
MENUITEM "&Options...\tF5", IDM_OPTIONS
MENUITEM SEPARATOR
MENUITEM "&Undo\tF10", IDM_UNDO, GRAYED
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
POPUP "&Help"
BEGIN
MENUITEM "&Contents\t F1", IDM_HELP
MENUITEM "&Search for Help on...", IDM_HOWTOPLAY
MENUITEM "&How to Use Help", IDM_HELPONHELP
MENUITEM SEPARATOR
MENUITEM "&About FreeCell...", IDM_ABOUT
END
END
FreeMenu ACCELERATORS
BEGIN
VK_F1, IDM_HELP, VIRTKEY
VK_F1, IDM_HELP, VIRTKEY, SHIFT
VK_F2, IDM_NEWGAME, VIRTKEY
VK_F3, IDM_SELECT, VIRTKEY
VK_F4, IDM_STATS, VIRTKEY
VK_F5, IDM_OPTIONS, VIRTKEY
VK_F10, IDM_UNDO, VIRTKEY
VK_F10, IDM_CHEAT, VIRTKEY, CONTROL, SHIFT
END
MoveCol DIALOG LOADONCALL MOVEABLE DISCARDABLE 40, 40, 150, 80
CAPTION "Move to Empty Column..."
STYLE DS_MODALFRAME | WS_CAPTION
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Move &column", IDC_MOVECOL, "button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 30, 15, 90, 14
CONTROL "Move &single card", IDC_SINGLE, "button", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 30, 35, 90, 14
CONTROL "Cancel", IDCANCEL, "button", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 55, 57, 40, 14
END
GameNum DIALOG LOADONCALL MOVEABLE DISCARDABLE 40, 40, 120, 75
CAPTION "Game Number"
STYLE DS_MODALFRAME | WS_CAPTION | DS_CONTEXTHELP | WS_SYSMENU
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Select a game number", -1, "static", SS_CENTER | WS_CHILD, 0, 7, 121, 8
CONTROL "from 1 to 1000000", -1, "static", SS_CENTER | WS_CHILD, 0, 17, 121, 8
CONTROL "", IDC_GAMENUM, "edit", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 45, 32, 40, 12
CONTROL "OK", IDOK, "button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 40, 54, 40, 14
END
YouLose DIALOG LOADONCALL MOVEABLE DISCARDABLE 60, 60, 135, 90
CAPTION "Game Over"
STYLE DS_MODALFRAME | WS_CAPTION
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Sorry, you lose.\
There are no more legal moves.\n\
Do you want to play again?",
-1, "static", SS_LEFT | WS_CHILD, 15, 6, 120, 40
CONTROL "&Yes", IDYES, "button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 15, 70, 40, 14
CONTROL "&No", IDNO, "button", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 80, 70, 40, 14
CONTROL "&Same game", IDC_YLSAME, "button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 15, 55, 62, 12
END
YouWin DIALOG LOADONCALL MOVEABLE DISCARDABLE 172, 85, 135, 80
CAPTION "Game Over"
STYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | DS_MODALFRAME | WS_POPUP
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Congratulations, you win!\n
Do you want to play again?",
-1, "static", SS_CENTER | WS_CHILD, 15, 8, 105, 31
CONTROL "&Yes", IDYES, "button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 15, 58, 40, 14
CONTROL "&No", IDNO, "button", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 80, 58, 40, 14
CONTROL "&Select game", IDC_YWSELECT, "button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 15, 43, 63, 12
END
Stats DIALOG LOADONCALL MOVEABLE DISCARDABLE 84, 47, 150, 135
CAPTION "FreeCell Statistics"
STYLE DS_MODALFRAME | WS_CAPTION | DS_CONTEXTHELP | WS_SYSMENU
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "", IDC_STEXT1, "static", SS_LEFT | WS_CHILD, 11, 10, 130, 30
CONTROL "", IDC_STEXT2, "static", SS_LEFT | WS_CHILD, 11, 42, 130, 30
CONTROL "", IDC_STEXT3, "static", SS_LEFT | WS_CHILD, 11, 74, 130, 40
CONTROL "OK", IDOK, "button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 20, 115, 40, 14
CONTROL "&Clear", IDC_CLEAR, "button", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 90, 115, 40, 14
END
DLG_OPTIONS DIALOG DISCARDABLE 58, 68, 203, 63
CAPTION "FreeCell Options"
STYLE DS_MODALFRAME | WS_CAPTION | DS_3DLOOK | DS_CONTEXTHELP | WS_SYSMENU
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "OK",IDOK,148,9,50,14
PUSHBUTTON "Cancel",IDCANCEL,148,26,50,14
CONTROL "Display &messages on illegal moves",IDC_MESSAGES,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,6,9,136,10
CONTROL "&Quick play (no animation)",IDC_QUICK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,6,26,136,10
CONTROL "&Double click moves card to free cell",IDC_DBLCLICK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,6,43,136,10
END
STRINGTABLE
BEGIN
IDS_APPNAME, "FreeCell"
IDS_APPNAME2, "FreeCell Game #%d"
IDS_MEMORY, "Out of memory. Close other applications and try again."
IDS_RESIGN, "Do you want to resign this game?"
IDS_1WIN, "1 win"
IDS_1LOSS, "1 loss"
IDS_WINS, "%u wins"
IDS_LOSSES, "%u losses"
IDS_STREAK, "streak"
IDS_STYPE, "stype"
IDS_ILLEGAL, "That move is not allowed."
IDS_TOOFEWFREE, "That move requires moving %u cards.\
You only have enough free space to move %u."
IDS_CARDSLEFT, "Cards Left: %u"
IDS_FULLNAME, "FreeCell"
IDS_CREDITS, "by Jim Horne"
/* keywords for help */
IDS_HELP1 "How to Play"
IDS_HELP2 "Commands"
/* new strings for NT */
IDS_RU_SURE, "Are you sure you want to delete all statistics?"
/* stat string */
IDS_STATS1 "This session\t\t\t%u%%\n\twon:\t\t%u \n\tlost:\t\t%u%\n\n"
IDS_STATS2 "Total\t\t\t\t%u%%\n\twon:\t\t%u \n\tlost:\t\t%u%\n\n"
IDS_STATS3 "Streaks\n\twins:\t\t%u \n\tlosses:\t\t%u% \n\tcurrent:\t\t%s"
END
#include <ntverp.h>
#define VER_FILETYPE VFT_APP
#define VER_FILESUBTYPE VFT2_UNKNOWN
#define VER_FILEDESCRIPTION_STR "Entertainment Pack FreeCell Game"
#define VER_INTERNALNAME_STR "freecell\0"
#include "common.ver"