diff --git a/reactos/apps/demos/winemine/.cvsignore b/reactos/apps/demos/winemine/.cvsignore deleted file mode 100644 index 7e878167e8e..00000000000 --- a/reactos/apps/demos/winemine/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -*.o -*.d -*.exe -*.coff -*.sym diff --git a/reactos/apps/demos/winemine/Makefile b/reactos/apps/demos/winemine/Makefile deleted file mode 100644 index cf88f47a6a8..00000000000 --- a/reactos/apps/demos/winemine/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# $Id: Makefile,v 1.1 2003/03/06 18:44:57 gvg Exp $ - -PATH_TO_TOP = ../../.. - -TARGET_TYPE = program - -TARGET_APPTYPE = windows - -TARGET_NAME = winemine - -TARGET_SDKLIBS = kernel32.a gdi32.a - -TARGET_OBJECTS = main.o dialog.o - -include $(PATH_TO_TOP)/rules.mak - -include $(TOOLS_PATH)/helper.mk - -# EOF diff --git a/reactos/apps/demos/winemine/README b/reactos/apps/demos/winemine/README deleted file mode 100644 index 31d7b277fa9..00000000000 --- a/reactos/apps/demos/winemine/README +++ /dev/null @@ -1,21 +0,0 @@ -WineMine README - -WineMine, copyright March 2000, Joshua Thielen -WineMine is to be distributed under the Wine License -See the Wine License for further information. - - -This is minesweeper for wine... -Enjoy. I wrote it because it rhymes ;). - -KNOWN BUGS: - Chokes on fastest times names greater than 16 characters long, must have - something to do with GetDlgItemText. - - No help file. - - Starting a new game causes the window to drop one pixel (Peter Hunnisett) - I don't know if it's a window manager problem (KDE) - -UNKNOWN BUGS: - ??? diff --git a/reactos/apps/demos/winemine/dialog.c b/reactos/apps/demos/winemine/dialog.c deleted file mode 100644 index b7acda3fa7f..00000000000 --- a/reactos/apps/demos/winemine/dialog.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * WineMine (dialog.c) - * - * Copyright 2000 Joshua Thielen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include "main.h" -#include "dialog.h" -#include "resource.h" - -BOOL CALLBACK CustomDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - BOOL IsRet; - static BOARD *p_board; - - switch( uMsg ) { - case WM_INITDIALOG: - p_board = (BOARD*) lParam; - SetDlgItemInt( hDlg, IDC_EDITROWS, p_board->rows, FALSE ); - SetDlgItemInt( hDlg, IDC_EDITCOLS, p_board->cols, FALSE ); - SetDlgItemInt( hDlg, IDC_EDITMINES, p_board->mines, FALSE ); - return TRUE; - - case WM_COMMAND: - switch( LOWORD( wParam ) ) { - case IDOK: - p_board->rows = GetDlgItemInt( hDlg, IDC_EDITROWS, &IsRet, FALSE ); - p_board->cols = GetDlgItemInt( hDlg, IDC_EDITCOLS, &IsRet, FALSE ); - p_board->mines = GetDlgItemInt( hDlg, IDC_EDITMINES, &IsRet, FALSE ); - CheckLevel( p_board ); - EndDialog( hDlg, 0 ); - return TRUE; - - case IDCANCEL: - EndDialog( hDlg, 0 ); - return TRUE; - } - break; - } - return FALSE; -} - -BOOL CALLBACK CongratsDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - static BOARD *p_board; - - switch( uMsg ) { - case WM_INITDIALOG: - p_board = (BOARD*) lParam; - SetDlgItemText( hDlg, IDC_EDITNAME, - p_board->best_name[p_board->difficulty] ); - return TRUE; - - case WM_COMMAND: - switch( LOWORD( wParam ) ) { - case IDOK: - GetDlgItemText( hDlg, IDC_EDITNAME, - p_board->best_name[p_board->difficulty], - sizeof( p_board->best_name[p_board->difficulty] ) ); - EndDialog( hDlg, 0 ); - return TRUE; - - case IDCANCEL: - EndDialog( hDlg, 0 ); - return TRUE; - } - break; - } - return FALSE; -} - -BOOL CALLBACK TimesDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - static BOARD *p_board; - unsigned i; - - switch( uMsg ) { - case WM_INITDIALOG: - p_board = (BOARD*) lParam; - - /* set best names */ - for( i = 0; i < 3; i++ ) - SetDlgItemText( hDlg, (IDC_NAME1) + i, p_board->best_name[i] ); - - /* set best times */ - for( i = 0; i < 3; i++ ) - SetDlgItemInt( hDlg, (IDC_TIME1) + i, p_board->best_time[i], FALSE ); - return TRUE; - - case WM_COMMAND: - switch( LOWORD( wParam ) ) { - case IDOK: - EndDialog( hDlg, 0 ); - return TRUE; - } - break; - } - return FALSE; -} - -BOOL CALLBACK AboutDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - switch( uMsg ) { - case WM_INITDIALOG: - return TRUE; - - case WM_COMMAND: - switch( LOWORD( wParam ) ) { - case IDOK: - EndDialog( hDlg, 0 ); - return TRUE; - } - break; - } - return FALSE; -} - diff --git a/reactos/apps/demos/winemine/dialog.h b/reactos/apps/demos/winemine/dialog.h deleted file mode 100644 index b4e0fc4a457..00000000000 --- a/reactos/apps/demos/winemine/dialog.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * WineMine (dialog.h) - * - * Copyright 2000 Joshua Thielen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -BOOL CALLBACK CustomDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -BOOL CALLBACK CongratsDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -BOOL CALLBACK TimesDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -BOOL CALLBACK AboutDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - diff --git a/reactos/apps/demos/winemine/main.c b/reactos/apps/demos/winemine/main.c deleted file mode 100644 index 1b338985417..00000000000 --- a/reactos/apps/demos/winemine/main.c +++ /dev/null @@ -1,1055 +0,0 @@ -/* - * WineMine (main.c) - * - * Copyright 2000 Joshua Thielen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include -#include -#include -#include "main.h" -#include "dialog.h" -#include "resource.h" - -/* Work around a Wine bug which defines handles as UINT rather than LPVOID */ -#ifdef WINE_STRICT -#define NULL_HANDLE NULL -#else -#define NULL_HANDLE 0 -#endif - -#ifdef DUMB_DEBUG -#include -#define DEBUG(x) fprintf(stderr,x) -#else -#define DEBUG(x) -#endif - -#define SZ_APPNAME "ROSMine" -int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmdshow ) -{ - MSG msg; - WNDCLASS wc; - HWND hWnd; - HACCEL haccel; - /* - char appname[9]; - LoadString doesn't appear to work properly under ROS - LoadString( hInst, IDS_APPNAME, appname, sizeof(appname)); - */ - wc.style = 0; - wc.lpfnWndProc = MainProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 0; - wc.hInstance = hInst; - wc.hIcon = LoadIcon( hInst, SZ_APPNAME ); - wc.hCursor = LoadCursor( NULL_HANDLE, IDI_APPLICATION ); - wc.hbrBackground = (HBRUSH) GetStockObject( BLACK_BRUSH ); - wc.lpszMenuName = "MENU_WINEMINE"; - wc.lpszClassName = SZ_APPNAME; - - if (!RegisterClass(&wc)) exit(1); - hWnd = CreateWindow( SZ_APPNAME, SZ_APPNAME, - WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX, - CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - NULL_HANDLE, NULL_HANDLE, hInst, NULL ); - - if (!hWnd) exit(1); - - ShowWindow( hWnd, cmdshow ); - UpdateWindow( hWnd ); - - haccel = LoadAccelerators( hInst, SZ_APPNAME ); - SetTimer( hWnd, ID_TIMER, 1000, NULL ); - - while( GetMessage(&msg, NULL_HANDLE, 0, 0) ) { - if (!TranslateAccelerator( hWnd, haccel, &msg )) - TranslateMessage( &msg ); - - DispatchMessage( &msg ); - } - return msg.wParam; -} - -LRESULT WINAPI MainProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) -{ - HDC hdc; - PAINTSTRUCT ps; - HMENU hMenu; - static BOARD board; - - switch( msg ) { - case WM_CREATE: - board.hInst = ((LPCREATESTRUCT) lParam)->hInstance; - board.hWnd = hWnd; - InitBoard( &board ); - CreateBoard( &board ); - return 0; - - case WM_PAINT: - { - HDC hMemDC; - - DEBUG("WM_PAINT\n"); - hdc = BeginPaint( hWnd, &ps ); - hMemDC = CreateCompatibleDC( hdc ); - - DrawBoard( hdc, hMemDC, &ps, &board ); - - DeleteDC( hMemDC ); - EndPaint( hWnd, &ps ); - - return 0; - } - - case WM_MOVE: - DEBUG("WM_MOVE\n"); - board.pos.x = (unsigned) LOWORD(lParam); - board.pos.y = (unsigned) HIWORD(lParam); - return 0; - - case WM_DESTROY: - SaveBoard( &board ); - DestroyBoard( &board ); - PostQuitMessage( 0 ); - return 0; - - case WM_TIMER: - if( board.status == PLAYING ) { - board.time++; - RedrawWindow( hWnd, &board.timer_rect, NULL_HANDLE, - RDW_INVALIDATE | RDW_UPDATENOW ); - } - return 0; - - case WM_LBUTTONDOWN: - DEBUG("WM_LBUTTONDOWN\n"); - if( wParam & MK_RBUTTON ) - msg = WM_MBUTTONDOWN; - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - SetCapture( hWnd ); - return 0; - - case WM_LBUTTONUP: - DEBUG("WM_LBUTTONUP\n"); - if( wParam & MK_RBUTTON ) - msg = WM_MBUTTONUP; - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - ReleaseCapture(); - return 0; - - case WM_RBUTTONDOWN: - DEBUG("WM_RBUTTONDOWN\n"); - if( wParam & MK_LBUTTON ) { - board.press.x = 0; - board.press.y = 0; - msg = WM_MBUTTONDOWN; - } - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - return 0; - - case WM_RBUTTONUP: - DEBUG("WM_RBUTTONUP\n"); - if( wParam & MK_LBUTTON ) - msg = WM_MBUTTONUP; - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - return 0; - - case WM_MBUTTONDOWN: - DEBUG("WM_MBUTTONDOWN\n"); - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - return 0; - - case WM_MBUTTONUP: - DEBUG("WM_MBUTTONUP\n"); - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - return 0; - - case WM_MOUSEMOVE: - { - if( (wParam & MK_LBUTTON) && (wParam & MK_RBUTTON) ) { - msg = WM_MBUTTONDOWN; - } - else if( wParam & MK_LBUTTON ) { - msg = WM_LBUTTONDOWN; - } - else { - return 0; - } - - TestBoard( hWnd, &board, LOWORD(lParam), HIWORD(lParam), msg ); - - return 0; - } - - case WM_COMMAND: - switch(LOWORD(wParam)) { - case IDM_NEW: - CreateBoard( &board ); - return 0; - - case IDM_MARKQ: - hMenu = GetMenu( hWnd ); - board.IsMarkQ = !board.IsMarkQ; - if( board.IsMarkQ ) - CheckMenuItem( hMenu, IDM_MARKQ, MF_CHECKED ); - else - CheckMenuItem( hMenu, IDM_MARKQ, MF_UNCHECKED ); - return 0; - - case IDM_BEGINNER: - SetDifficulty( &board, BEGINNER ); - CreateBoard( &board ); - return 0; - - case IDM_ADVANCED: - SetDifficulty( &board, ADVANCED ); - CreateBoard( &board ); - return 0; - - case IDM_EXPERT: - SetDifficulty( &board, EXPERT ); - CreateBoard( &board ); - return 0; - - case IDM_CUSTOM: - SetDifficulty( &board, CUSTOM ); - CreateBoard( &board ); - return 0; - - case IDM_EXIT: - SendMessage( hWnd, WM_CLOSE, 0, 0); - return 0; - - case IDM_TIMES: - DialogBoxParam( board.hInst, "DLG_TIMES", hWnd, - TimesDlgProc, (LPARAM) &board); - return 0; - - case IDM_ABOUT: - DialogBox( board.hInst, "DLG_ABOUT", hWnd, AboutDlgProc ); - return 0; - default: - DEBUG("Unknown WM_COMMAND command message received\n"); - break; - } - } - return( DefWindowProc( hWnd, msg, wParam, lParam )); -} - -void InitBoard( BOARD *p_board ) -{ - HMENU hMenu; - - p_board->hMinesBMP = LoadBitmap( p_board->hInst, (LPCSTR) IDB_MINES); - p_board->hFacesBMP = LoadBitmap( p_board->hInst, (LPCSTR) IDB_FACES); - p_board->hLedsBMP = LoadBitmap( p_board->hInst, (LPCSTR) IDB_LEDS); - - LoadBoard( p_board ); - - if( p_board->pos.x < (unsigned) GetSystemMetrics( SM_CXFIXEDFRAME )) - p_board->pos.x = GetSystemMetrics( SM_CXFIXEDFRAME ); - - if( p_board->pos.x > (unsigned) (GetSystemMetrics( SM_CXSCREEN ) - - GetSystemMetrics( SM_CXFIXEDFRAME ))) { - p_board->pos.x = GetSystemMetrics( SM_CXSCREEN ) - - GetSystemMetrics( SM_CXFIXEDFRAME ); - } - - if( p_board->pos.y < (unsigned) (GetSystemMetrics( SM_CYMENU ) - + GetSystemMetrics( SM_CYCAPTION ) - + GetSystemMetrics( SM_CYFIXEDFRAME ))) { - p_board->pos.y = GetSystemMetrics( SM_CYMENU ) + - GetSystemMetrics( SM_CYCAPTION ) + - GetSystemMetrics( SM_CYFIXEDFRAME ); - } - - if( p_board->pos.y > (unsigned) (GetSystemMetrics( SM_CYSCREEN ) - - GetSystemMetrics( SM_CYFIXEDFRAME ))) { - p_board->pos.y = GetSystemMetrics( SM_CYSCREEN ) - - GetSystemMetrics( SM_CYFIXEDFRAME ); - } - - hMenu = GetMenu( p_board->hWnd ); - CheckMenuItem( hMenu, IDM_BEGINNER + (unsigned) p_board->difficulty, - MF_CHECKED ); - if( p_board->IsMarkQ ) - CheckMenuItem( hMenu, IDM_MARKQ, MF_CHECKED ); - else - CheckMenuItem( hMenu, IDM_MARKQ, MF_UNCHECKED ); - CheckLevel( p_board ); -} - -void LoadBoard( BOARD *p_board ) -{ - DWORD size; - DWORD type; - HKEY hkey; - char data[16]; - char key_name[8]; - unsigned i; - - - RegOpenKeyEx( HKEY_LOCAL_MACHINE, "Software\\Wine\\WineMine", - 0, KEY_QUERY_VALUE, &hkey ); - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "Xpos", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) { - p_board->pos.x = atoi( data ); - } - else - p_board->pos.x = GetSystemMetrics( SM_CXFIXEDFRAME ); - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "Ypos", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->pos.y = atoi( data ); - else - p_board->pos.y = GetSystemMetrics( SM_CYMENU ) - + GetSystemMetrics( SM_CYCAPTION ) - + GetSystemMetrics( SM_CYFIXEDFRAME ); - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "Rows", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->rows = atoi( data ); - else - p_board->rows = BEGINNER_ROWS; - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "Cols", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->cols = atoi( data ); - else - p_board->cols = BEGINNER_COLS; - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "Mines", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->mines = atoi( data ); - else - p_board->rows = BEGINNER_ROWS; - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "Difficulty", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->difficulty = (DIFFICULTY) atoi( data ); - else - p_board->difficulty = BEGINNER; - - size = sizeof( data ); - if( RegQueryValueEx( hkey, "MarkQ", NULL, (LPDWORD) &type, - (LPBYTE) data, (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->IsMarkQ = atoi( data ); - else - p_board->IsMarkQ = TRUE; - - for( i = 0; i < 3; i++ ) { - wsprintf( key_name, "Name%d", i ); - size = sizeof( data ); - if( RegQueryValueEx( hkey, key_name, NULL, (LPDWORD) &type, - (LPBYTE) data, - (LPDWORD) &size ) == ERROR_SUCCESS ) - strncpy( p_board->best_name[i], data, sizeof( data ) ); - else - wsprintf( p_board->best_name[i], "Nobody"); - } - - for( i = 0; i < 3; i++ ) { - wsprintf( key_name, "Time%d", i ); - size = sizeof( data ); - if( RegQueryValueEx( hkey, key_name, NULL, (LPDWORD) &type, - (LPBYTE) data, - (LPDWORD) &size ) == ERROR_SUCCESS ) - p_board->best_time[i] = atoi( data ); - else - p_board->best_time[i] = 999; - } - RegCloseKey( hkey ); -} - -void SaveBoard( BOARD *p_board ) -{ - DWORD disp; - HKEY hkey; - SECURITY_ATTRIBUTES sa; - unsigned i; - char data[16]; - char key_name[8]; - - if( RegCreateKeyEx( HKEY_LOCAL_MACHINE, - "Software\\Wine\\WineMine", 0, NULL, - REG_OPTION_NON_VOLATILE, KEY_WRITE, &sa, - &hkey, &disp ) != ERROR_SUCCESS) - return; - - wsprintf( data, "%d", p_board->pos.x ); - RegSetValueEx( hkey, "Xpos", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - wsprintf( data, "%d", p_board->pos.x ); - RegSetValueEx( hkey, "Ypos", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - wsprintf( data, "%d", (int) p_board->difficulty ); - RegSetValueEx( hkey, "Difficulty", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - wsprintf( data, "%d", p_board->rows ); - RegSetValueEx( hkey, "Rows", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - wsprintf( data, "%d", p_board->cols ); - RegSetValueEx( hkey, "Cols", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - wsprintf( data, "%d", p_board->mines ); - RegSetValueEx( hkey, "Mines", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - wsprintf( data, "%d", (int) p_board->IsMarkQ ); - RegSetValueEx( hkey, "MarkQ", 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - - for( i = 0; i < 3; i++ ) { - wsprintf( key_name, "Name%u", i ); - strncpy( data, p_board->best_name[i], sizeof( data ) ); - RegSetValueEx( hkey, key_name, 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - } - - for( i = 0; i < 3; i++ ) { - wsprintf( key_name, "Time%u", i ); - wsprintf( data, "%d", p_board->best_time[i] ); - RegSetValueEx( hkey, key_name, 0, REG_SZ, (LPBYTE) data, strlen(data)+1 ); - } - RegCloseKey( hkey ); -} - -void DestroyBoard( BOARD *p_board ) -{ - DeleteObject( p_board->hFacesBMP ); - DeleteObject( p_board->hLedsBMP ); - DeleteObject( p_board->hMinesBMP ); -} - -void SetDifficulty( BOARD *p_board, DIFFICULTY difficulty ) -{ - HMENU hMenu = GetMenu( p_board->hWnd ); - - CheckMenuItem( hMenu, IDM_BEGINNER + p_board->difficulty, MF_UNCHECKED ); - p_board->difficulty = difficulty; - CheckMenuItem( hMenu, IDM_BEGINNER + difficulty, MF_CHECKED ); - - switch( difficulty ) { - case BEGINNER: - p_board->cols = BEGINNER_COLS; - p_board->rows = BEGINNER_ROWS; - p_board->mines = BEGINNER_MINES; - break; - - case ADVANCED: - p_board->cols = ADVANCED_COLS; - p_board->rows = ADVANCED_ROWS; - p_board->mines = ADVANCED_MINES; - break; - - case EXPERT: - p_board->cols = EXPERT_COLS; - p_board->rows = EXPERT_ROWS; - p_board->mines = EXPERT_MINES; - break; - - case CUSTOM: - DialogBoxParam( p_board->hInst, "DLG_CUSTOM", p_board->hWnd, - CustomDlgProc, (LPARAM) p_board); - break; - } -} - -void CreateBoard( BOARD *p_board ) -{ - int left, top, bottom, right, wnd_x, wnd_y, wnd_width, wnd_height; - - p_board->mb = MB_NONE; - p_board->boxes_left = p_board->cols * p_board->rows - p_board->mines; - p_board->num_flags = 0; - - CreateBoxes( p_board ); - - p_board->width = p_board->cols * MINE_WIDTH + BOARD_WMARGIN * 2; - - p_board->height = p_board->rows * MINE_HEIGHT + LED_HEIGHT - + BOARD_HMARGIN * 3; - - wnd_x = p_board->pos.x - GetSystemMetrics( SM_CXFIXEDFRAME ); - wnd_y = p_board->pos.y - GetSystemMetrics( SM_CYMENU ) - - GetSystemMetrics( SM_CYCAPTION ) - - GetSystemMetrics( SM_CYFIXEDFRAME ); - wnd_width = p_board->width - + GetSystemMetrics( SM_CXFIXEDFRAME ) * 2; - wnd_height = p_board->height - + GetSystemMetrics( SM_CYMENU ) - + GetSystemMetrics( SM_CYCAPTION ) - + GetSystemMetrics( SM_CYFIXEDFRAME ) * 2; - - /* setting the mines rectangle boundary */ - left = BOARD_WMARGIN; - top = BOARD_HMARGIN * 2 + LED_HEIGHT; - right = left + p_board->cols * MINE_WIDTH; - bottom = top + p_board->rows * MINE_HEIGHT; - SetRect( &p_board->mines_rect, left, top, right, bottom ); - - /* setting the face rectangle boundary */ - left = p_board->width / 2 - FACE_WIDTH / 2; - top = BOARD_HMARGIN; - right = left + FACE_WIDTH; - bottom = top + FACE_HEIGHT; - SetRect( &p_board->face_rect, left, top, right, bottom ); - - /* setting the timer rectangle boundary */ - left = BOARD_WMARGIN; - top = BOARD_HMARGIN; - right = left + LED_WIDTH * 3; - bottom = top + LED_HEIGHT; - SetRect( &p_board->timer_rect, left, top, right, bottom ); - - /* setting the counter rectangle boundary */ - left = p_board->width - BOARD_WMARGIN - LED_WIDTH * 3; - top = BOARD_HMARGIN; - right = p_board->width - BOARD_WMARGIN; - bottom = top + LED_HEIGHT; - SetRect( &p_board->counter_rect, left, top, right, bottom ); - - p_board->status = WAITING; - p_board->face_bmp = SMILE_BMP; - p_board->time = 0; - - MoveWindow( p_board->hWnd, wnd_x, wnd_y, wnd_width, wnd_height, TRUE ); - RedrawWindow( p_board->hWnd, NULL, NULL_HANDLE, - RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE ); -} - - -void CheckLevel( BOARD *p_board ) -{ - if( p_board->rows < BEGINNER_ROWS ) - p_board->rows = BEGINNER_ROWS; - - if( p_board->rows > MAX_ROWS ) - p_board->rows = MAX_ROWS; - - if( p_board->cols < BEGINNER_COLS ) - p_board->cols = BEGINNER_COLS; - - if( p_board->cols > MAX_COLS ) - p_board->cols = MAX_COLS; - - if( p_board->mines < BEGINNER_MINES ) - p_board->mines = BEGINNER_MINES; - - if( p_board->mines > p_board->cols * p_board->rows - 1 ) - p_board->mines = p_board->cols * p_board->rows - 1; -} - - -void CreateBoxes( BOARD *p_board ) -{ - int i, j; - unsigned col, row; - - srand( (unsigned) time( NULL ) ); - - /* Create the boxes... - * We actually create them with an empty border, - * so special care doesn't have to be taken on the edges - */ - - for( col = 0; col <= p_board->cols + 1; col++ ) - for( row = 0; row <= p_board->rows + 1; row++ ) { - p_board->box[col][row].IsPressed = FALSE; - p_board->box[col][row].IsMine = FALSE; - p_board->box[col][row].FlagType = NORMAL; - p_board->box[col][row].NumMines = 0; - } - - /* create mines */ - i = 0; - while( (unsigned) i < p_board->mines ) { - col = (int) (p_board->cols * (float) rand() / RAND_MAX + 1); - row = (int) (p_board->rows * (float) rand() / RAND_MAX + 1); - - if( !p_board->box[col][row].IsMine ) { - i++; - p_board->box[col][row].IsMine = TRUE; - } - } - - /* - * Now we label the remaining boxes with the - * number of mines surrounding them. - */ - - for( col = 1; col < p_board->cols + 1; col++ ) - for( row = 1; row < p_board->rows + 1; row++ ) { - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - if( p_board->box[col + i][row + j].IsMine ) { - p_board->box[col][row].NumMines++ ; - } - } - } -} - -void DrawMines ( HDC hdc, HDC hMemDC, BOARD *p_board ) -{ - HGDIOBJ hOldObj; - unsigned col, row; - hOldObj = SelectObject (hMemDC, p_board->hMinesBMP); - - for( row = 1; row <= p_board->rows; row++ ) { - for( col = 1; col <= p_board->cols; col++ ) { - DrawMine( hdc, hMemDC, p_board, col, row, FALSE ); - } - } - SelectObject( hMemDC, hOldObj ); -} - -void DrawMine( HDC hdc, HDC hMemDC, BOARD *p_board, unsigned col, unsigned row, BOOL IsPressed ) -{ - MINEBMP_OFFSET offset = BOX_BMP; - - if( col == 0 || col > p_board->cols || row == 0 || row > p_board->rows ) - return; - - if( p_board->status == GAMEOVER ) { - if( p_board->box[col][row].IsMine ) { - switch( p_board->box[col][row].FlagType ) { - case FLAG: - offset = FLAG_BMP; - break; - case COMPLETE: - offset = EXPLODE_BMP; - break; - case NORMAL: - offset = MINE_BMP; - } - } else { - switch( p_board->box[col][row].FlagType ) { - case QUESTION: - offset = QUESTION_BMP; - break; - case FLAG: - offset = WRONG_BMP; - break; - case NORMAL: - offset = BOX_BMP; - break; - case COMPLETE: - /* Do nothing */ - break; - default: - DEBUG("Unknown FlagType during game over in DrawMine\n"); - break; - } - } - } else { /* WAITING or PLAYING */ - switch( p_board->box[col][row].FlagType ) { - case QUESTION: - if( !IsPressed ) - offset = QUESTION_BMP; - else - offset = QPRESS_BMP; - break; - case FLAG: - offset = FLAG_BMP; - break; - case NORMAL: - if( !IsPressed ) - offset = BOX_BMP; - else - offset = MPRESS_BMP; - break; - case COMPLETE: - /* Do nothing */ - break; - default: - DEBUG("Unknown FlagType while playing in DrawMine\n"); - break; - } - } - - if( p_board->box[col][row].FlagType == COMPLETE - && !p_board->box[col][row].IsMine ) - offset = (MINEBMP_OFFSET) p_board->box[col][row].NumMines; - - BitBlt( hdc, - (col - 1) * MINE_WIDTH + p_board->mines_rect.left, - (row - 1) * MINE_HEIGHT + p_board->mines_rect.top, - MINE_WIDTH, MINE_HEIGHT, - hMemDC, 0, offset * MINE_HEIGHT, SRCCOPY ); -} - -void DrawLeds( HDC hdc, HDC hMemDC, BOARD *p_board, int number, int x, int y ) -{ - HGDIOBJ hOldObj; - unsigned led[3], i; - int count; - - count = number; - if( count < 1000 ) { - if( count >= 0 ) { - led[0] = count / 100 ; - count -= led[0] * 100; - } - else { - led[0] = 10; /* negative sign */ - count = -count; - } - led[1] = count / 10; - count -= led[1] * 10; - led[2] = count; - } - else { - for( i = 0; i < 3; i++ ) - led[i] = 10; - } - - /* use unlit led if not playing */ - if( p_board->status == WAITING ) - for( i = 0; i < 3; i++ ) - led[i] = 11; - - hOldObj = SelectObject (hMemDC, p_board->hLedsBMP); - - for( i = 0; i < 3; i++ ) { - BitBlt( hdc, - i * LED_WIDTH + x, - y, - LED_WIDTH, - LED_HEIGHT, - hMemDC, - 0, - led[i] * LED_HEIGHT, - SRCCOPY); - } - - SelectObject( hMemDC, hOldObj ); -} - - -void DrawFace( HDC hdc, HDC hMemDC, BOARD *p_board ) -{ - HGDIOBJ hOldObj; - - hOldObj = SelectObject (hMemDC, p_board->hFacesBMP); - - BitBlt( hdc, - p_board->face_rect.left, - p_board->face_rect.top, - FACE_WIDTH, - FACE_HEIGHT, - hMemDC, 0, p_board->face_bmp * FACE_HEIGHT, SRCCOPY); - - SelectObject( hMemDC, hOldObj ); -} - - -void DrawBoard( HDC hdc, HDC hMemDC, PAINTSTRUCT *ps, BOARD *p_board ) -{ - RECT tmp_rect; - - if( IntersectRect( &tmp_rect, &ps->rcPaint, &p_board->counter_rect ) ) - DrawLeds( hdc, hMemDC, p_board, p_board->mines - p_board->num_flags, - p_board->counter_rect.left, - p_board->counter_rect.top ); - - if( IntersectRect( &tmp_rect, &ps->rcPaint, &p_board->timer_rect ) ) - DrawLeds( hdc, hMemDC, p_board, p_board->time, - p_board->timer_rect.left, - p_board->timer_rect.top ); - - if( IntersectRect( &tmp_rect, &ps->rcPaint, &p_board->face_rect ) ) - DrawFace( hdc, hMemDC, p_board ); - - if( IntersectRect( &tmp_rect, &ps->rcPaint, &p_board->mines_rect ) ) - DrawMines( hdc, hMemDC, p_board ); -} - - -void TestBoard( HWND hWnd, BOARD *p_board, unsigned x, unsigned y, int msg ) -{ - POINT pt; - - pt.x = x; - pt.y = y; - - if( PtInRect( &p_board->mines_rect, pt ) && p_board->status != GAMEOVER - && p_board->status != WON ) - TestMines( p_board, pt, msg ); - else { - UnpressBoxes( p_board, - p_board->press.x, - p_board->press.y ); - p_board->press.x = 0; - p_board->press.y = 0; - } - - if( p_board->boxes_left == 0 ) { - p_board->status = WON; - - if( p_board->difficulty != CUSTOM && - p_board->time < p_board->best_time[p_board->difficulty] ) { - p_board->best_time[p_board->difficulty] = p_board->time; - - DialogBoxParam( p_board->hInst, "DLG_CONGRATS", hWnd, - CongratsDlgProc, (LPARAM) p_board); - - DialogBoxParam( p_board->hInst, "DLG_TIMES", hWnd, - TimesDlgProc, (LPARAM) p_board); - } - } - TestFace( p_board, pt, msg ); -} - -void TestMines( BOARD *p_board, POINT pt, int msg ) -{ - BOOL draw = TRUE; - unsigned col, row; - - col = (pt.x - p_board->mines_rect.left) / MINE_WIDTH + 1; - row = (pt.y - p_board->mines_rect.top ) / MINE_HEIGHT + 1; - - switch ( msg ) { - case WM_LBUTTONDOWN: - if( p_board->press.x != col || p_board->press.y != row ) { - UnpressBox( p_board, - p_board->press.x, p_board->press.y ); - p_board->press.x = col; - p_board->press.y = row; - PressBox( p_board, col, row ); - } - draw = FALSE; - break; - - case WM_LBUTTONUP: - if( p_board->press.x != col || p_board->press.y != row ) - UnpressBox( p_board, - p_board->press.x, p_board->press.y ); - p_board->press.x = 0; - p_board->press.y = 0; - if( p_board->box[col][row].FlagType != FLAG ) - p_board->status = PLAYING; - CompleteBox( p_board, col, row ); - break; - - case WM_MBUTTONDOWN: - PressBoxes( p_board, col, row ); - draw = FALSE; - break; - - case WM_MBUTTONUP: - if( p_board->press.x != col || p_board->press.y != row ) - UnpressBoxes( p_board, - p_board->press.x, p_board->press.y ); - p_board->press.x = 0; - p_board->press.y = 0; - CompleteBoxes( p_board, col, row ); - break; - - case WM_RBUTTONDOWN: - AddFlag( p_board, col, row ); - p_board->status = PLAYING; - break; - default: - DEBUG("Unknown message type received in TestMines\n"); - break; - } - - if( draw ) - { - RedrawWindow( p_board->hWnd, NULL, NULL_HANDLE, - RDW_INVALIDATE | RDW_UPDATENOW ); - } -} - - -void TestFace( BOARD *p_board, POINT pt, int msg ) -{ - if( p_board->status == PLAYING || p_board->status == WAITING ) { - if( msg == WM_LBUTTONDOWN || msg == WM_MBUTTONDOWN ) - p_board->face_bmp = OOH_BMP; - else p_board->face_bmp = SMILE_BMP; - } - else if( p_board->status == GAMEOVER ) - p_board->face_bmp = DEAD_BMP; - else if( p_board->status == WON ) - p_board->face_bmp = COOL_BMP; - - if( PtInRect( &p_board->face_rect, pt ) ) { - if( msg == WM_LBUTTONDOWN ) - p_board->face_bmp = SPRESS_BMP; - - if( msg == WM_LBUTTONUP ) - CreateBoard( p_board ); - } - - RedrawWindow( p_board->hWnd, &p_board->face_rect, NULL_HANDLE, - RDW_INVALIDATE | RDW_UPDATENOW ); -} - - -void CompleteBox( BOARD *p_board, unsigned col, unsigned row ) -{ - int i, j; - - if( p_board->box[col][row].FlagType != COMPLETE && - p_board->box[col][row].FlagType != FLAG && - col > 0 && col < p_board->cols + 1 && - row > 0 && row < p_board->rows + 1 ) { - p_board->box[col][row].FlagType = COMPLETE; - - if( p_board->box[col][row].IsMine ) { - p_board->face_bmp = DEAD_BMP; - p_board->status = GAMEOVER; - } - else if( p_board->status != GAMEOVER ) - p_board->boxes_left--; - - if( p_board->box[col][row].NumMines == 0 ) - { - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) - CompleteBox( p_board, col + i, row + j ); - } - } -} - - -void CompleteBoxes( BOARD *p_board, unsigned col, unsigned row ) -{ - unsigned numFlags = 0; - int i, j; - - if( p_board->box[col][row].FlagType == COMPLETE ) { - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - if( p_board->box[col+i][row+j].FlagType == FLAG ) - numFlags++; - } - - if( numFlags == p_board->box[col][row].NumMines ) { - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - if( p_board->box[col+i][row+j].FlagType != FLAG ) - CompleteBox( p_board, col+i, row+j ); - } - } - } -} - - -void AddFlag( BOARD *p_board, unsigned col, unsigned row ) -{ - if( p_board->box[col][row].FlagType != COMPLETE ) { - switch( p_board->box[col][row].FlagType ) { - case FLAG: - if( p_board->IsMarkQ ) - p_board->box[col][row].FlagType = QUESTION; - else - p_board->box[col][row].FlagType = NORMAL; - p_board->num_flags--; - break; - - case QUESTION: - p_board->box[col][row].FlagType = NORMAL; - break; - - default: - p_board->box[col][row].FlagType = FLAG; - p_board->num_flags++; - } - } -} - - -void PressBox( BOARD *p_board, unsigned col, unsigned row ) -{ - HDC hdc; - HGDIOBJ hOldObj; - HDC hMemDC; - - hdc = GetDC( p_board->hWnd ); - hMemDC = CreateCompatibleDC( hdc ); - hOldObj = SelectObject (hMemDC, p_board->hMinesBMP); - - DrawMine( hdc, hMemDC, p_board, col, row, TRUE ); - - SelectObject( hMemDC, hOldObj ); - DeleteDC( hMemDC ); - ReleaseDC( p_board->hWnd, hdc ); -} - - -void PressBoxes( BOARD *p_board, unsigned col, unsigned row ) -{ - int i, j; - - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - p_board->box[col + i][row + j].IsPressed = TRUE; - PressBox( p_board, col + i, row + j ); - } - - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - if( !p_board->box[p_board->press.x + i][p_board->press.y + j].IsPressed ) - UnpressBox( p_board, p_board->press.x + i, p_board->press.y + j ); - } - - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - p_board->box[col + i][row + j].IsPressed = FALSE; - PressBox( p_board, col + i, row + j ); - } - - p_board->press.x = col; - p_board->press.y = row; -} - - -void UnpressBox( BOARD *p_board, unsigned col, unsigned row ) -{ - HDC hdc; - HGDIOBJ hOldObj; - HDC hMemDC; - - hdc = GetDC( p_board->hWnd ); - hMemDC = CreateCompatibleDC( hdc ); - hOldObj = SelectObject( hMemDC, p_board->hMinesBMP ); - - DrawMine( hdc, hMemDC, p_board, col, row, FALSE ); - - SelectObject( hMemDC, hOldObj ); - DeleteDC( hMemDC ); - ReleaseDC( p_board->hWnd, hdc ); -} - - -void UnpressBoxes( BOARD *p_board, unsigned col, unsigned row ) -{ - int i, j; - - for( i = -1; i <= 1; i++ ) - for( j = -1; j <= 1; j++ ) { - UnpressBox( p_board, col + i, row + j ); - } -} diff --git a/reactos/apps/demos/winemine/main.h b/reactos/apps/demos/winemine/main.h deleted file mode 100644 index 1f8b4cca91a..00000000000 --- a/reactos/apps/demos/winemine/main.h +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright 2000 Joshua Thielen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include - -#define BEGINNER_MINES 10 -#define BEGINNER_COLS 8 -#define BEGINNER_ROWS 8 - -#define ADVANCED_MINES 40 -#define ADVANCED_COLS 16 -#define ADVANCED_ROWS 16 - -#define EXPERT_MINES 99 -#define EXPERT_COLS 30 -#define EXPERT_ROWS 16 - -#define MAX_COLS 30 -#define MAX_ROWS 24 - -#define BOTTOM_MARGIN 20 -#define BOARD_WMARGIN 5 -#define BOARD_HMARGIN 5 - -/* mine defines */ -#define MINE_WIDTH 16 -#define MINE_HEIGHT 16 -#define LED_WIDTH 12 -#define LED_HEIGHT 23 -#define FACE_WIDTH 24 -#define FACE_HEIGHT 24 - -typedef enum { SPRESS_BMP, COOL_BMP, DEAD_BMP, OOH_BMP, SMILE_BMP } FACE_BMP; - -typedef enum { WAITING, PLAYING, GAMEOVER, WON } GAME_STATUS; - -typedef enum { - MPRESS_BMP, ONE_BMP, TWO_BMP, THREE_BMP, FOUR_BMP, FIVE_BMP, SIX_BMP, - SEVEN_BMP, EIGHT_BMP, BOX_BMP, FLAG_BMP, QUESTION_BMP, EXPLODE_BMP, - WRONG_BMP, MINE_BMP, QPRESS_BMP -} MINEBMP_OFFSET; - -typedef enum { BEGINNER, ADVANCED, EXPERT, CUSTOM } DIFFICULTY; - -typedef struct tagBOARD -{ - BOOL IsMarkQ; - HDC hdc; - HINSTANCE hInst; - HWND hWnd; - HBITMAP hMinesBMP; - HBITMAP hFacesBMP; - HBITMAP hLedsBMP; - RECT mines_rect; - RECT face_rect; - RECT timer_rect; - RECT counter_rect; - - unsigned width; - unsigned height; - POINT pos; - - unsigned time; - unsigned num_flags; - unsigned boxes_left; - unsigned num_mines; - - /* difficulty info */ - unsigned rows; - unsigned cols; - unsigned mines; - char best_name [3][16]; - unsigned best_time [3]; - DIFFICULTY difficulty; - - POINT press; - - /* defines for mb */ - #define MB_NONE 0 - #define MB_LEFTDOWN 1 - #define MB_LEFTUP 2 - #define MB_RIGHTDOWN 3 - #define MB_RIGHTUP 4 - #define MB_BOTHDOWN 5 - #define MB_BOTHUP 6 - unsigned mb; - - FACE_BMP face_bmp; - GAME_STATUS status; - struct BOX_STRUCT - { - unsigned IsMine : 1; - unsigned IsPressed : 1; - unsigned FlagType : 2; - unsigned NumMines : 4; - } box [MAX_COLS + 2] [MAX_ROWS + 2]; - - /* defines for FlagType */ - #define NORMAL 0 - #define QUESTION 1 - #define FLAG 2 - #define COMPLETE 3 - -} BOARD; - -void ExitApp( int error ); - -void InitBoard( BOARD *p_board ); - -void LoadBoard( BOARD *p_board ); - -void SaveBoard( BOARD *p_board ); - -void DestroyBoard( BOARD *p_board ); - -void SetDifficulty( BOARD *p_board, DIFFICULTY difficulty ); - -void CheckLevel( BOARD *p_board ); - -void CreateBoard( BOARD *p_board ); - -void CreateBoxes( BOARD *p_board ); - -void TestBoard( HWND hWnd, BOARD *p_board, unsigned x, unsigned y, int msg ); - -void TestMines( BOARD *p_board, POINT pt, int msg ); - -void TestFace( BOARD *p_board, POINT pt, int msg ); - -void DrawBoard( HDC hdc, HDC hMemDC, PAINTSTRUCT *ps, BOARD *p_board ); - -void DrawMines( HDC hdc, HDC hMemDC, BOARD *p_board ); - -void DrawMine( HDC hdc, HDC hMemDC, BOARD *p_board, unsigned col, unsigned row, BOOL IsPressed ); - -void AddFlag( BOARD *p_board, unsigned col, unsigned row ); - -void CompleteBox( BOARD *p_board, unsigned col, unsigned row ); - -void CompleteBoxes( BOARD *p_board, unsigned col, unsigned row ); - -void PressBox( BOARD *p_board, unsigned col, unsigned row ); - -void PressBoxes( BOARD *p_board, unsigned col, unsigned row ); - -void UnpressBox( BOARD *p_board, unsigned col, unsigned row ); - -void UnpressBoxes( BOARD *p_board, unsigned col, unsigned row ); - -void UpdateTimer( BOARD *p_board ); - -void DrawLeds( HDC hdc, HDC hMemDC, BOARD *p_board, int number, int x, int y); - -void DrawFace( HDC hdc, HDC hMemDC, BOARD *p_board ); - -LRESULT WINAPI MainProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); - -BOOL CALLBACK CustomDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -BOOL CALLBACK CongratsDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -BOOL CALLBACK TimesDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -BOOL CALLBACK AboutDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -/* end of header */ diff --git a/reactos/apps/demos/winemine/rc/faces.bmp b/reactos/apps/demos/winemine/rc/faces.bmp deleted file mode 100644 index 77f20f44115..00000000000 Binary files a/reactos/apps/demos/winemine/rc/faces.bmp and /dev/null differ diff --git a/reactos/apps/demos/winemine/rc/leds.bmp b/reactos/apps/demos/winemine/rc/leds.bmp deleted file mode 100644 index 5473cc3569b..00000000000 Binary files a/reactos/apps/demos/winemine/rc/leds.bmp and /dev/null differ diff --git a/reactos/apps/demos/winemine/rc/mines.bmp b/reactos/apps/demos/winemine/rc/mines.bmp deleted file mode 100644 index 6850b6eb8ee..00000000000 Binary files a/reactos/apps/demos/winemine/rc/mines.bmp and /dev/null differ diff --git a/reactos/apps/demos/winemine/rc/winemine.ico b/reactos/apps/demos/winemine/rc/winemine.ico deleted file mode 100644 index bc2a24f3614..00000000000 Binary files a/reactos/apps/demos/winemine/rc/winemine.ico and /dev/null differ diff --git a/reactos/apps/demos/winemine/resource.h b/reactos/apps/demos/winemine/resource.h deleted file mode 100644 index 8348e92bb56..00000000000 --- a/reactos/apps/demos/winemine/resource.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * WineMine (resource.h) - * - * Copyright 2000 Joshua Thielen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#define ID_TIMER 1000 - -/* menu defines */ -#define IDM_NEW 1001 -#define IDM_EXIT 1002 -#define IDM_TIMES 1003 -#define IDM_ABOUT 1004 -#define IDM_BEGINNER 1005 -#define IDM_ADVANCED 1006 -#define IDM_EXPERT 1007 -#define IDM_CUSTOM 1008 -#define IDM_MARKQ 1009 - -#define IDC_TIME1 1011 -#define IDC_TIME2 1012 -#define IDC_TIME3 1013 -#define IDC_NAME1 1014 -#define IDC_NAME2 1015 -#define IDC_NAME3 1016 - -#define IDC_EDITNAME 1021 - -#define IDC_EDITCOLS 1031 -#define IDC_EDITROWS 1032 -#define IDC_EDITMINES 1033 - -#define IDS_APPNAME 1101 - -#define IDI_WINEMINE 1201 - -#define IDB_FACES 1301 -#define IDB_LEDS 1302 -#define IDB_MINES 1303 \ No newline at end of file diff --git a/reactos/apps/demos/winemine/winemine.rc b/reactos/apps/demos/winemine/winemine.rc deleted file mode 100644 index 18577efb620..00000000000 --- a/reactos/apps/demos/winemine/winemine.rc +++ /dev/null @@ -1,115 +0,0 @@ -/* - * WineMine (rsrc.rc) - * - * Copyright 2000 Joshua Thielen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include "resource.h" - -IDI_WINEMINE ICON MOVEABLE "rc/winemine.ico" - -IDB_FACES BITMAP MOVEABLE "rc/faces.bmp" - -IDB_LEDS BITMAP MOVEABLE "rc/leds.bmp" - -IDB_MINES BITMAP MOVEABLE "rc/mines.bmp" - -/* English-US Resources */ -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -STRINGTABLE { - IDS_APPNAME, "WineMine" - -} - -MENU_WINEMINE MENU DISCARDABLE -{ - POPUP "&Options" { - MENUITEM "&New", IDM_NEW - MENUITEM SEPARATOR - MENUITEM "&Mark Question", IDM_MARKQ - MENUITEM SEPARATOR - MENUITEM "&Beginner", IDM_BEGINNER - MENUITEM "&Advanced", IDM_ADVANCED - MENUITEM "&Expert", IDM_EXPERT - MENUITEM "&Custom", IDM_CUSTOM - MENUITEM SEPARATOR - MENUITEM "E&xit", IDM_EXIT - } - POPUP "&Info" { - MENUITEM "&Fastest Times", IDM_TIMES - MENUITEM "&About", IDM_ABOUT - } -} - -DLG_TIMES DIALOG DISCARDABLE 0, 0, 160, 80 -STYLE DS_MODALFRAME | DS_3DLOOK | - WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP -CAPTION "Fastest Times" -{ - GROUPBOX "Fastest Times", IDIGNORE, 10, 10, 140, 45 - LTEXT "Beginner", IDIGNORE, 20, 20, 40, 8 - LTEXT "Advanced", IDIGNORE, 20, 30, 40, 8 - LTEXT "Expert", IDIGNORE, 20, 40, 40, 8 - LTEXT "999", IDC_TIME1, 70, 20, 15, 8 - LTEXT "999", IDC_TIME2, 70, 30, 15, 8 - LTEXT "999", IDC_TIME3, 70, 40, 15, 8 - LTEXT "", IDC_NAME1, 90, 20, 55, 8 - LTEXT "", IDC_NAME2, 90, 30, 55, 8 - LTEXT "", IDC_NAME3, 90, 40, 55, 8 - DEFPUSHBUTTON "OK", IDOK, 55, 60, 50, 15 -} - -DLG_CONGRATS DIALOG DISCARDABLE 0, 0, 160, 60 -STYLE DS_MODALFRAME | DS_3DLOOK | - WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP -CAPTION "Congratulations!" -{ - LTEXT "Please enter your name", IDIGNORE, 10, 10, 150, 10 - EDITTEXT IDC_EDITNAME, 25, 20, 110, 12 - DEFPUSHBUTTON "Ok", IDOK, 60, 40, 40, 15 -} - -DLG_CUSTOM DIALOG DISCARDABLE 0, 0, 100, 100 -STYLE DS_MODALFRAME | DS_3DLOOK | - WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP -CAPTION "Custom Game" -{ - LTEXT "Rows", IDIGNORE, 5, 5, 30, 10 - LTEXT "Cols", IDIGNORE, 5, 35, 30, 10 - LTEXT "Mines", IDIGNORE, 5, 65, 30, 10 - EDITTEXT IDC_EDITROWS, 5, 15, 20, 12, ES_NUMBER - EDITTEXT IDC_EDITCOLS, 5, 45, 20, 12, ES_NUMBER - EDITTEXT IDC_EDITMINES, 5, 75, 20, 12, ES_NUMBER - DEFPUSHBUTTON "Ok", IDOK, 40, 30, 50, 15 - PUSHBUTTON "Cancel", IDCANCEL, 40, 50, 50, 15 -} - -DLG_ABOUT DIALOG DISCARDABLE 0, 0, 145, 80 -STYLE DS_MODALFRAME | DS_3DLOOK | - WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP -CAPTION "About" -{ - LTEXT "Winemine", IDIGNORE, 10, 10, 35, 10 - LTEXT "Copyright 2000, Joshua Thielen", IDIGNORE, 35, 25, 100, 10 - LTEXT "under the Wine license", IDIGNORE, 35, 35, 100, 10 - ICON "WINEMINE", IDIGNORE, 10, 25, 20, 20 - DEFPUSHBUTTON "Ok", IDOK, 50, 60, 55, 15 -} - -/* End of English-US Resources */