| 817 | } |
| 818 | |
| 819 | LRESULT |
| 820 | onWMCommand(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); |
no test coverage detected