From: nethack.allison Date: Wed, 26 Mar 2003 00:02:09 +0000 (+0000) Subject: To summarise: X-Git-Tag: MOVE2GIT~2051 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=39befe07fdee40784e2fcaad5e3422562638a628;p=nethack To summarise: - My "various Windows refinements" patch from yesterday went into 3.4.x correctly - My "NumberPad" patch went into 3.4.x, but should be backed out - My "various Windows refinements" patch from last week was for 3.5.0, but is incomplete; you can safely ignore that. - I'll make a new "various Windows refinements" patch for 3.5.0 tonight. --- diff --git a/win/win32/mhdlg.c b/win/win32/mhdlg.c index e3defb4f3..325535be5 100644 --- a/win/win32/mhdlg.c +++ b/win/win32/mhdlg.c @@ -354,7 +354,7 @@ BOOL CALLBACK PlayerSelectorDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPAR if( plselFinalSelection(hWnd, data->selection) ) { EndDialog(hWnd, wParam); } else { - NHMessageBox(hWnd, TEXT("Cannot match this role. Try something else."), MB_ICONSTOP | MB_OK ); + MessageBox(hWnd, TEXT("Cannot match this role. Try something else."), TEXT("STOP"), MB_OK ); } return TRUE; @@ -677,7 +677,7 @@ int plselFinalSelection(HWND hWnd, int* selection) if( flags.initrole==ROLE_RANDOM ) { flags.initrole = pick_role(flags.initrace, flags.initgend, flags.initalign, PICK_RANDOM); if (flags.initrole < 0) { - NHMessageBox(hWnd, TEXT("Incompatible role!"), MB_ICONSTOP | MB_OK); + MessageBox(hWnd, TEXT("Incompatible role!"), TEXT("STOP"), MB_OK); return FALSE; } } @@ -691,7 +691,7 @@ int plselFinalSelection(HWND hWnd, int* selection) } if (flags.initrace < 0) { - NHMessageBox(hWnd, TEXT("Incompatible race!"), MB_ICONSTOP | MB_OK); + MessageBox(hWnd, TEXT("Incompatible race!"), TEXT("STOP"), MB_OK); return FALSE; } } @@ -707,7 +707,7 @@ int plselFinalSelection(HWND hWnd, int* selection) } if (flags.initgend < 0) { - NHMessageBox(hWnd, TEXT("Incompatible gender!"), MB_ICONSTOP | MB_OK); + MessageBox(hWnd, TEXT("Incompatible gender!"), TEXT("STOP"), MB_OK); return FALSE; } } @@ -720,7 +720,7 @@ int plselFinalSelection(HWND hWnd, int* selection) if (flags.initalign == ROLE_RANDOM) { flags.initalign = pick_align(flags.initrole, flags.initrace, flags.initgend, PICK_RANDOM); } else { - NHMessageBox(hWnd, TEXT("Incompatible alignment!"), MB_ICONSTOP | MB_OK); + MessageBox(hWnd, TEXT("Incompatible alignment!"), TEXT("STOP"), MB_OK); return FALSE; } } diff --git a/win/win32/mhfont.c b/win/win32/mhfont.c index 5f05e7633..ecbb4776a 100644 --- a/win/win32/mhfont.c +++ b/win/win32/mhfont.c @@ -14,6 +14,7 @@ static struct font_table_entry { } font_table[MAXFONTS] ; static int font_table_size = 0; HFONT version_splash_font; +HFONT extrainfo_splash_font; #define NHFONT_CODE(win, attr) (((attr&0xFF)<<8)|(win_type&0xFF)) @@ -40,12 +41,15 @@ void mswin_init_splashfonts(HWND hWnd) lgfnt.lfPitchAndFamily = DEFAULT_PITCH; // pitch and family NH_A2W( "Times New Roman", lgfnt.lfFaceName, LF_FACESIZE); version_splash_font = CreateFontIndirect(&lgfnt); + lgfnt.lfHeight = -16; // height of font + extrainfo_splash_font = CreateFontIndirect(&lgfnt); ReleaseDC(hWnd, hdc); } void mswin_destroy_splashfonts() { DeleteObject (version_splash_font); + DeleteObject (extrainfo_splash_font); } /* create font based on window type, charater attributes and diff --git a/win/win32/mhmain.c b/win/win32/mhmain.c index 65658dcaf..d5f87d6c3 100644 --- a/win/win32/mhmain.c +++ b/win/win32/mhmain.c @@ -438,8 +438,7 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar wp.length = sizeof(wp); if (GetWindowPlacement(hWnd, &wp)) { - GetNHApp()->regMainShowState = (wp.showCmd == SW_SHOWMAXIMIZED - ? SW_SHOWMAXIMIZED : SW_SHOWNORMAL); + GetNHApp()->regMainShowState = wp.showCmd; GetNHApp()->regMainMinX = wp.ptMinPosition.x; GetNHApp()->regMainMinY = wp.ptMinPosition.y; @@ -473,15 +472,9 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar NHEVENT_KBD('\033'); /* and send keyboard input as if user pressed ESC */ /* additional code for this is done in menu and rip windows */ } - else if (!program_state.something_worth_saving) - { - /* User exited before the game started, e.g. during splash display */ - /* Just get out. */ - bail((char *)0); - } else { - switch (NHMessageBox(hWnd, TEXT("Save?"), MB_YESNOCANCEL | MB_ICONQUESTION)) { + switch(MessageBox(hWnd, TEXT("Save?"), TEXT("NetHack for Windows"), MB_YESNOCANCEL | MB_ICONQUESTION)) { case IDYES: NHEVENT_KBD('y'); dosave(); break; case IDNO: NHEVENT_KBD('q'); done(QUIT); break; case IDCANCEL: break; @@ -768,9 +761,9 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam) { mswin_destroy_reg(); /* Notify the user that windows settings will not be saved this time. */ - NHMessageBox(GetNHApp()->hMainWnd, + MessageBox(GetNHApp()->hMainWnd, "Your Windows Settings will not be stored when you exit this time.", - MB_OK | MB_ICONINFORMATION); + "NetHack", MB_OK | MB_ICONINFORMATION); break; } diff --git a/win/win32/mhsplash.c b/win/win32/mhsplash.c index 3a483d26e..4f4ed2677 100644 --- a/win/win32/mhsplash.c +++ b/win/win32/mhsplash.c @@ -31,13 +31,12 @@ extern HFONT extrainfo_splash_font; void mswin_display_splash_window (BOOL show_ver) { MSG msg; - int left, top; + RECT rt; RECT splashrt; RECT clientrt; RECT controlrt; HWND hWnd; int buttop; - HDC hDC; hWnd = CreateDialog(GetNHApp()->hApp, MAKEINTRESOURCE(IDD_SPLASH), GetNHApp()->hMainWnd, NHSplashWndProc); @@ -58,12 +57,10 @@ void mswin_display_splash_window (BOOL show_ver) splashrt.right += SPLASH_WIDTH + SPLASH_OFFSET_X * 2 - clientrt.right; splashrt.bottom += SPLASH_HEIGHT + controlrt.bottom + SPLASH_OFFSET_Y * 3 - clientrt.bottom; /* Place the window centered */ - /* On the screen, not on the parent window */ - hDC = CreateDC("DISPLAY", NULL, NULL, NULL); - left = (GetDeviceCaps(hDC, HORZRES) - splashrt.right) / 2; - top = (GetDeviceCaps(hDC, VERTRES) - splashrt.bottom) / 2; - DeleteDC(hDC); - MoveWindow(hWnd, left, top, splashrt.right, splashrt.bottom, TRUE); + GetWindowRect(GetNHApp()->hMainWnd, &rt); + rt.left += (rt.right - rt.left - splashrt.right) / 2; + rt.top += (rt.bottom - rt.top - splashrt.bottom) / 2; + MoveWindow(hWnd, rt.left, rt.top, splashrt.right, splashrt.bottom, TRUE); /* Place the OK control */ GetClientRect (hWnd, &clientrt); MoveWindow (GetDlgItem(hWnd, IDOK), diff --git a/win/win32/mswproc.c b/win/win32/mswproc.c index e4e99a47b..ce27794ee 100644 --- a/win/win32/mswproc.c +++ b/win/win32/mswproc.c @@ -23,7 +23,6 @@ #include "mhrip.h" #include "mhmain.h" #include "mhfont.h" -#include "resource.h" #define LLEN 128 @@ -334,8 +333,8 @@ void prompt_for_player_selection(void) /* tty_putstr(BASE_WINDOW, 0, ""); */ /* echoline = wins[BASE_WINDOW]->cury; */ - box_result = NHMessageBox(NULL, prompt, - MB_ICONQUESTION | MB_YESNOCANCEL | MB_DEFBUTTON1); + box_result = MessageBox(NULL, prompt, TEXT("NetHack for Windows"), + MB_YESNOCANCEL | MB_DEFBUTTON1); pick4u = (box_result == IDYES) ? 'y' : (box_result == IDNO) ? 'n' : '\033'; /* tty_putstr(BASE_WINDOW, 0, prompt); */ do { @@ -999,7 +998,7 @@ void mswin_display_file(const char *filename,BOOLEAN_P must_exist) if (must_exist) { TCHAR message[90]; _stprintf(message, TEXT("Warning! Could not find file: %s\n"), NH_A2W(filename, wbuf, sizeof(wbuf))); - NHMessageBox(GetNHApp()->hMainWnd, message, MB_OK | MB_ICONEXCLAMATION ); + MessageBox(GetNHApp()->hMainWnd, message, TEXT("ERROR"), MB_OK | MB_ICONERROR ); } } else { winid text; @@ -1276,8 +1275,7 @@ void mswin_raw_print(const char *str) TCHAR wbuf[255]; logDebug("mswin_raw_print(%s)\n", str); if( str && *str ) - NHMessageBox(GetNHApp()->hMainWnd, NH_A2W(str, wbuf, sizeof(wbuf)), - MB_ICONINFORMATION | MB_OK ); + MessageBox(GetNHApp()->hMainWnd, NH_A2W(str, wbuf, sizeof(wbuf)), TEXT("NetHack"), MB_OK ); } /* @@ -1290,8 +1288,7 @@ void mswin_raw_print_bold(const char *str) TCHAR wbuf[255]; logDebug("mswin_raw_print_bold(%s)\n", str); if( str && *str ) - NHMessageBox(GetNHApp()->hMainWnd, NH_A2W(str, wbuf, sizeof(wbuf)), - MB_ICONINFORMATION | MB_OK ); + MessageBox(GetNHApp()->hMainWnd, NH_A2W(str, wbuf, sizeof(wbuf)), TEXT("NetHack"), MB_OK ); } /* @@ -1408,9 +1405,10 @@ char mswin_yn_function(const char *question, const char *choices, + strlen(GetNHApp()->saved_text) + 1); DWORD box_result; strcat(text, question); - box_result = NHMessageBox(NULL, + box_result = MessageBox(NULL, NH_W2A(text, message, sizeof(message)), - MB_YESNOCANCEL | MB_ICONQUESTION | + TEXT("NetHack for Windows"), + MB_YESNOCANCEL | ((def == 'y') ? MB_DEFBUTTON1 : (def == 'n') ? MB_DEFBUTTON2 : MB_DEFBUTTON3)); free(text); @@ -2402,15 +2400,6 @@ static void mswin_color_from_string(char *colorstring, HBRUSH* brushptr, COLORRE brush_table[max_brush++] = *brushptr; } -int NHMessageBox(HWND hWnd, LPCTSTR text, UINT type) -{ - TCHAR title[MAX_LOADSTRING]; - - LoadString(GetNHApp()->hApp, IDS_APP_TITLE_SHORT, title, MAX_LOADSTRING); - - return MessageBox(hWnd, text, title, type); -} - void mswin_get_window_placement(int type, LPRECT rt) { switch (type) { diff --git a/win/win32/resource.h b/win/win32/resource.h index 8cc7dd4b4..c9c06af37 100644 --- a/win/win32/resource.h +++ b/win/win32/resource.h @@ -11,7 +11,6 @@ #define IDS_HELLO 106 #define IDI_NETHACKW 107 #define IDC_NETHACKW 109 -#define IDS_APP_TITLE_SHORT 110 #define IDR_MAINFRAME 128 #define IDB_TILES 129 #define IDD_TEXT 130 diff --git a/win/win32/winMS.h b/win/win32/winMS.h index a37ec8ed4..684be30cd 100644 --- a/win/win32/winMS.h +++ b/win/win32/winMS.h @@ -164,8 +164,6 @@ void mswin_write_reg(void); void mswin_get_window_placement(int type, LPRECT rt); void mswin_update_window_placement(int type, LPRECT rt); -int NHMessageBox(HWND hWnd, LPCTSTR text, UINT type); - extern HBRUSH menu_bg_brush; extern HBRUSH menu_fg_brush; extern HBRUSH text_bg_brush; diff --git a/win/win32/winhack.rc b/win/win32/winhack.rc index ed2a4c42c..32d210a57 100644 --- a/win/win32/winhack.rc +++ b/win/win32/winhack.rc @@ -325,7 +325,6 @@ STRINGTABLE DISCARDABLE BEGIN IDS_APP_TITLE "NetHack for Windows - Graphical Interface" IDC_NETHACKW "NETHACKW" - IDS_APP_TITLE_SHORT "NetHack for Windows" END #endif // English (U.S.) resources