mirror of https://github.com/tongzx/nt5src
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
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"
|