MCPcopy Create free account
hub / github.com/NetHack/NetHack / onWMCommand

Function onWMCommand

win/win32/mhmain.c:819–1411  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

817}
818
819LRESULT
820onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
821{
822 int wmId, wmEvent;
823 PNHMainWindow data;
824
825 UNREFERENCED_PARAMETER(lParam);
826
827 data = (PNHMainWindow) GetWindowLongPtr(hWnd, GWLP_USERDATA);
828 wmId = LOWORD(wParam);
829 wmEvent = HIWORD(wParam);
830
831 // Parse the menu selections:
832 switch (wmId) {
833 case IDM_ABOUT:
834 mswin_display_splash_window(TRUE);
835 break;
836
837 case IDM_FUZZ:
838 if (iflags.debug_fuzzer)
839 KillTimer(hWnd, IDT_FUZZ_TIMER);
840 else
841 SetTimer(hWnd, IDT_FUZZ_TIMER, 10, FuzzTimerProc);
842 iflags.debug_fuzzer = !iflags.debug_fuzzer;
843 break;
844 case IDM_EXIT:
845 if (iflags.debug_fuzzer)
846 break;
847 done2();
848 break;
849
850 case IDM_SAVE:
851 if (iflags.debug_fuzzer)
852 break;
853 if (!program_state.gameover && !program_state.done_hup)
854 dosave();
855 else
856 MessageBeep(0);
857 break;
858
859 case IDM_MAP_TILES:
860 case IDM_MAP_ASCII4X6:
861 case IDM_MAP_ASCII6X8:
862 case IDM_MAP_ASCII8X8:
863 case IDM_MAP_ASCII16X8:
864 case IDM_MAP_ASCII7X12:
865 case IDM_MAP_ASCII8X12:
866 case IDM_MAP_ASCII12X16:
867 case IDM_MAP_ASCII16X12:
868 case IDM_MAP_ASCII10X18:
869 mswin_select_map_mode(menuid2mapmode(wmId));
870 break;
871
872 case IDM_MAP_FIT_TO_SCREEN:
873 if (IS_MAP_FIT_TO_SCREEN(iflags.wc_map_mode)) {
874 mswin_select_map_mode(IS_MAP_ASCII(iflags.wc_map_mode)
875 ? data->mapAcsiiModeSave
876 : MAP_MODE_TILES);

Callers 1

MainWndProcFunction · 0.70

Calls 15

done2Function · 0.85
dosaveFunction · 0.85
NHMessageBoxFunction · 0.85
fwriteFunction · 0.85
fcloseFunction · 0.85
nhlock_windowsFunction · 0.85
dohistoryFunction · 0.85

Tested by

no test coverage detected