void check_cd_event(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam) { POINT press; short wind_hit = -1,item_hit = -1; switch (message) { case WM_COMMAND: if (LOWORD(wparam) == 150) break; cd_find_dlog(hwnd,&wind_hit,&item_hit); // item_hit is dummy item_hit = (short) LOWORD(wparam); break; case WM_KEYDOWN: wind_hit = cd_process_syskeystroke(hwnd, wparam, lparam,&item_hit); break; case WM_CHAR: wind_hit = cd_process_keystroke(hwnd, wparam, lparam,&item_hit); break; case WM_LBUTTONDOWN: press = MAKEPOINT(lparam); wind_hit = cd_process_click(hwnd,press, wparam, lparam,&item_hit); break; case WM_RBUTTONDOWN: press = MAKEPOINT(lparam); wparam = wparam | MK_CONTROL; wind_hit = cd_process_click(hwnd,press, wparam, lparam,&item_hit); break; case WM_PAINT: cd_redraw(hwnd); break; } if (wind_hit < 0) return; switch (wind_hit) { case -1: break; case 917: edit_day_event_filter(item_hit); break; case 970: case 971: case 972: case 973: display_strings_event_filter(item_hit); break; case 991: display_pc_event_filter(item_hit); break; case 996: display_alchemy_event_filter(item_hit); break; case 1010: spend_xp_event_filter (item_hit); break; case 1012: case 947: edit_gold_or_food_event_filter (item_hit); break; case 1013: pick_race_abil_event_filter (item_hit); break; case 1018: select_pc_event_filter (item_hit); break; case 1024: edit_xp_event_filter (item_hit); break; default: fancy_choice_dialog_event_filter (item_hit); break; } }
short check_cd_event(HWND hwnd, UINT message, WPARAM wparam,LPARAM lparam) { POINT press; short wind_hit = -1,item_hit = -1; switch (message) { case WM_COMMAND: if ((LOWORD(wparam) >= 150) && (LOWORD(wparam) <= 250)) { if (HIWORD(wparam) == EN_ERRSPACE) play_sound(0); return 0; } cd_find_dlog(hwnd,&wind_hit,&item_hit); // item_hit is dummy item_hit = (short) wparam; break; case WM_KEYDOWN: if ((wparam >= 150) && (wparam <= 250)) { return -1; } wind_hit = cd_process_syskeystroke(hwnd, wparam, lparam,&item_hit); break; case WM_CHAR: wind_hit = cd_process_keystroke(hwnd, wparam, lparam,&item_hit); break; case WM_LBUTTONDOWN: press = MAKEPOINT(lparam); wind_hit = cd_process_click(hwnd,press, wparam, lparam,&item_hit); break; case WM_RBUTTONDOWN: press = MAKEPOINT(lparam); wparam = wparam | MK_CONTROL; wind_hit = cd_process_click(hwnd,press, wparam, lparam,&item_hit); break; case WM_MOUSEMOVE: restore_cursor(); break; case WM_PAINT: cd_redraw(hwnd); break; } if (wind_hit < 0) return 0; switch (wind_hit) { case -1: break; case 970: case 971: case 972: case 973: display_strings_event_filter(item_hit); break; case 800: edit_make_scen_1_event_filter(item_hit); break; case 801: edit_make_scen_2_event_filter(item_hit); break; case 803: edit_scen_details_event_filter(item_hit); break; case 804: edit_scen_intro_event_filter(item_hit); break; case 805: set_starting_loc_filter(item_hit); break; case 806: edit_spec_item_event_filter(item_hit); break; case 807: edit_save_rects_event_filter(item_hit); break; case 808: edit_horses_event_filter(item_hit); break; case 809: edit_boats_event_filter(item_hit); break; case 810: edit_add_town_event_filter(item_hit); break; case 811: edit_scenario_events_event_filter(item_hit); break; case 812: edit_item_placement_event_filter(item_hit); break; case 813: edit_ter_type_event_filter(item_hit); break; case 814: edit_monst_type_event_filter(item_hit); break; case 815: edit_monst_abil_event_filter(item_hit); break; case 816: edit_text_event_filter(item_hit); break; case 817: edit_talk_node_event_filter(item_hit); break; case 818: edit_item_type_event_filter(item_hit); break; case 819: choose_graphic_event_filter(item_hit); break; case 820: choose_text_res_event_filter(item_hit); break; case 821: edit_basic_dlog_event_filter(item_hit); break; case 822: edit_spec_enc_event_filter(item_hit); break; case 824: edit_item_abil_event_filter(item_hit); break; case 825: edit_special_num_event_filter(item_hit); break; case 826: edit_spec_text_event_filter(item_hit); break; case 830: new_town_event_filter(item_hit); break; case 831: edit_sign_event_filter(item_hit); break; case 832: edit_town_details_event_filter(item_hit); break; case 833: edit_town_events_event_filter(item_hit); break; case 834: edit_advanced_town_event_filter(item_hit); break; case 835: edit_town_wand_event_filter(item_hit); break; case 836: edit_placed_item_event_filter(item_hit); break; case 837: edit_placed_monst_event_filter(item_hit); break; case 838: edit_placed_monst_adv_event_filter(item_hit); break; case 839: edit_town_strs_event_filter(item_hit); break; case 840: edit_area_rect_event_filter(item_hit); break; case 841: pick_import_town_event_filter(item_hit); break; case 842: edit_dialog_text_event_filter(item_hit); break; case 850: edit_out_strs_event_filter(item_hit); break; case 851: outdoor_details_event_filter(item_hit); break; case 852: edit_out_wand_event_filter(item_hit); break; case 854: pick_out_event_filter(item_hit); break; case 855: case 856: pick_town_num_event_filter(item_hit); break; case 857: change_ter_event_filter(item_hit); break; default: fancy_choice_dialog_event_filter (item_hit); break; } return 0; }