//this is for system-level keys, such as help, etc. //returns 1 if screen changed int HandleSystemKey(int key) { if (!Player_is_dead) switch (key) { #ifdef DOOR_DEBUGGING case KEY_LAPOSTRO+KEY_SHIFTED: dump_door_debugging_info(); return 1; #endif case KEY_ESC: { int choice; choice=nm_messagebox( NULL, 2, TXT_YES, TXT_NO, TXT_ABORT_GAME ); if (choice == 0) window_close(Game_wind); return 1; } // fleshed these out because F1 and F2 aren't sequenctial keycodes on mac -- MWA KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_1:) case KEY_SHIFTED+KEY_F1: select_next_window_function(0); return 1; KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_2:) case KEY_SHIFTED+KEY_F2: select_next_window_function(1); return 1; } switch (key) { KEY_MAC( case KEY_COMMAND+KEY_P: ) case KEY_PAUSE: do_game_pause(); break; #ifdef macintosh case KEY_COMMAND + KEY_SHIFTED + KEY_3: #endif case KEY_PRINT_SCREEN: { if (PlayerCfg.PRShot) { gr_set_current_canvas(NULL); render_frame(0, 0); //gr_set_curfont(MEDIUM2_FONT); //gr_printf(SWIDTH-FSPACX(92),SHEIGHT-LINE_SPACING,"DXX-Rebirth\n"); gr_flip(); save_screen_shot(0); } else { game_render_frame_mono(0); if(GameArg.DbgUseDoubleBuffer) gr_flip(); save_screen_shot(0); } break; } KEY_MAC(case KEY_COMMAND+KEY_1:) case KEY_F1: if (Game_mode & GM_MULTI) show_netgame_help(); else show_help(); break; KEY_MAC(case KEY_COMMAND+KEY_2:) case KEY_F2: { do_options_menu(); break; } KEY_MAC(case KEY_COMMAND+KEY_3:) case KEY_F3: if (!Player_is_dead && Viewer->type==OBJ_PLAYER) //if (!(Guided_missile[Player_num] && Guided_missile[Player_num]->type==OBJ_WEAPON && Guided_missile[Player_num]->id==GUIDEDMISS_ID && Guided_missile[Player_num]->signature==Guided_missile_sig[Player_num] && PlayerCfg.GuidedInBigWindow)) { toggle_cockpit(); } break; KEY_MAC(case KEY_COMMAND+KEY_5:) case KEY_F5: if ( Newdemo_state == ND_STATE_RECORDING ) newdemo_stop_recording(); else if ( Newdemo_state == ND_STATE_NORMAL ) newdemo_start_recording(); break; #ifdef NETWORK KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_4:) case KEY_ALTED + KEY_F4: Show_reticle_name = (Show_reticle_name+1)%2; break; KEY_MAC(case KEY_COMMAND+KEY_7:) case KEY_F7: Show_kill_list = (Show_kill_list+1) % ((Game_mode & GM_TEAM) ? 4 : 3); if (Game_mode & GM_MULTI) multi_sort_kill_list(); break; KEY_MAC(case KEY_COMMAND+KEY_8:) case KEY_F8: multi_send_message_start(); break; case KEY_F9: case KEY_F10: case KEY_F11: case KEY_F12: multi_send_macro(key); break; // send taunt macros #if defined(__APPLE__) || defined(macintosh) case KEY_9 + KEY_COMMAND: multi_send_macro(KEY_F9); break; case KEY_0 + KEY_COMMAND: multi_send_macro(KEY_F10); break; case KEY_1 + KEY_COMMAND + KEY_CTRLED: multi_send_macro(KEY_F11); break; case KEY_2 + KEY_COMMAND + KEY_CTRLED: multi_send_macro(KEY_F12); break; #endif case KEY_SHIFTED + KEY_F9: case KEY_SHIFTED + KEY_F10: case KEY_SHIFTED + KEY_F11: case KEY_SHIFTED + KEY_F12: multi_define_macro(key); break; // redefine taunt macros #if defined(__APPLE__) || defined(macintosh) case KEY_9 + KEY_SHIFTED + KEY_COMMAND: multi_define_macro(KEY_F9); break; case KEY_0 + KEY_SHIFTED + KEY_COMMAND: multi_define_macro(KEY_F10); break; case KEY_1 + KEY_SHIFTED + KEY_COMMAND + KEY_CTRLED: multi_define_macro(KEY_F11); break; case KEY_2 + KEY_SHIFTED + KEY_COMMAND + KEY_CTRLED: multi_define_macro(KEY_F12); break; #endif #endif KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_S:) KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_2:) case KEY_ALTED+KEY_F2: if (!Player_is_dead) state_save_all(0, NULL, 0); // 0 means not between levels. break; KEY_MAC(case KEY_COMMAND+KEY_S:) case KEY_ALTED+KEY_F1: if (!Player_is_dead) state_save_all(0, NULL, 1); break; KEY_MAC(case KEY_COMMAND+KEY_O:) KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_3:) case KEY_ALTED+KEY_F3: if (!((Game_mode & GM_MULTI) && !(Game_mode & GM_MULTI_COOP))) state_restore_all(1, 0, NULL); break; KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_4:) case KEY_F4 + KEY_SHIFTED: do_escort_menu(); break; KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_ALTED+KEY_4:) case KEY_F4 + KEY_SHIFTED + KEY_ALTED: change_guidebot_name(); break; /* * Jukebox hotkeys -- MD2211, 2007 * Now for all music * ============================================== */ case KEY_ALTED + KEY_SHIFTED + KEY_F9: KEY_MAC(case KEY_COMMAND+KEY_E:) if (GameCfg.MusicType == MUSIC_TYPE_REDBOOK) { songs_stop_all(); RBAEjectDisk(); } break; case KEY_ALTED + KEY_SHIFTED + KEY_F10: KEY_MAC(case KEY_COMMAND+KEY_UP:) KEY_MAC(case KEY_COMMAND+KEY_DOWN:) songs_pause_resume(); break; case KEY_MINUS + KEY_ALTED: case KEY_ALTED + KEY_SHIFTED + KEY_F11: KEY_MAC(case KEY_COMMAND+KEY_LEFT:) songs_play_level_song( Current_level_num, -1 ); break; case KEY_EQUAL + KEY_ALTED: case KEY_ALTED + KEY_SHIFTED + KEY_F12: KEY_MAC(case KEY_COMMAND+KEY_RIGHT:) songs_play_level_song( Current_level_num, 1 ); break; default: return 0; break; } return 1; }
//this is for system-level keys, such as help, etc. //returns 1 if screen changed int HandleSystemKey(int key) { if (!Player_is_dead) switch (key) { case KEY_ESC: { int choice; choice=nm_messagebox( NULL, 2, TXT_YES, TXT_NO, TXT_ABORT_GAME ); if (choice == 0) window_close(Game_wind); return 1; } } switch (key) { KEY_MAC( case KEY_COMMAND+KEY_P: ) case KEY_PAUSE: do_game_pause(); break; #ifdef macintosh case KEY_COMMAND + KEY_SHIFTED + KEY_3: #endif case KEY_PRINT_SCREEN: { if (PlayerCfg.PRShot) { gr_set_current_canvas(NULL); render_frame(0); //gr_set_curfont(MEDIUM2_FONT); //gr_printf(SWIDTH-FSPACX(92),SHEIGHT-LINE_SPACING,"DXX-Rebirth\n"); gr_flip(); save_screen_shot(0); } else { game_render_frame_mono(0); if(GameArg.DbgUseDoubleBuffer) gr_flip(); save_screen_shot(0); } break; } KEY_MAC(case KEY_COMMAND+KEY_1:) case KEY_F1: if (Game_mode & GM_MULTI) show_netgame_help(); else show_help(); break; KEY_MAC(case KEY_COMMAND+KEY_2:) case KEY_F2: { do_options_menu(); break; } KEY_MAC(case KEY_COMMAND+KEY_3:) case KEY_F3: if (!Player_is_dead) toggle_cockpit(); break; KEY_MAC(case KEY_COMMAND+KEY_5:) case KEY_F5: if ( Newdemo_state == ND_STATE_RECORDING ) newdemo_stop_recording(); else if ( Newdemo_state == ND_STATE_NORMAL ) newdemo_start_recording(); break; #ifdef NETWORK KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_4:) case KEY_ALTED + KEY_F4: Show_reticle_name = (Show_reticle_name+1)%2; break; KEY_MAC(case KEY_COMMAND+KEY_7:) case KEY_F7: Show_kill_list = (Show_kill_list+1) % ((Game_mode & GM_TEAM) ? 4 : 3); if (Game_mode & GM_MULTI) multi_sort_kill_list(); break; KEY_MAC(case KEY_COMMAND+KEY_8:) case KEY_F8: multi_send_message_start(); break; case KEY_F9: case KEY_F10: case KEY_F11: case KEY_F12: multi_send_macro(key); break; // send taunt macros #if defined(__APPLE__) || defined(macintosh) case KEY_9 + KEY_COMMAND: multi_send_macro(KEY_F9); break; case KEY_0 + KEY_COMMAND: multi_send_macro(KEY_F10); break; case KEY_1 + KEY_COMMAND + KEY_CTRLED: multi_send_macro(KEY_F11); break; case KEY_2 + KEY_COMMAND + KEY_CTRLED: multi_send_macro(KEY_F12); break; #endif case KEY_SHIFTED + KEY_F9: case KEY_SHIFTED + KEY_F10: case KEY_SHIFTED + KEY_F11: case KEY_SHIFTED + KEY_F12: multi_define_macro(key); break; // redefine taunt macros #if defined(__APPLE__) || defined(macintosh) case KEY_9 + KEY_SHIFTED + KEY_COMMAND: multi_define_macro(KEY_F9); break; case KEY_0 + KEY_SHIFTED + KEY_COMMAND: multi_define_macro(KEY_F10); break; case KEY_1 + KEY_SHIFTED + KEY_COMMAND + KEY_CTRLED: multi_define_macro(KEY_F11); break; case KEY_2 + KEY_SHIFTED + KEY_COMMAND + KEY_CTRLED: multi_define_macro(KEY_F12); break; #endif #endif KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_S:) KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_2:) case KEY_ALTED+KEY_F2: if (!Player_is_dead) state_save_all( 0 ); break; KEY_MAC(case KEY_COMMAND+KEY_S:) case KEY_ALTED+KEY_F1: if (!Player_is_dead) state_save_all(1); break; KEY_MAC(case KEY_COMMAND+KEY_O:) KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_3:) case KEY_ALTED+KEY_F3: if (!((Game_mode & GM_MULTI) && !(Game_mode & GM_MULTI_COOP))) state_restore_all(1); break; /* * Jukebox hotkeys -- MD2211, 2007 * Now for all music * ============================================== */ case KEY_ALTED + KEY_SHIFTED + KEY_F9: KEY_MAC(case KEY_COMMAND+KEY_E:) if (GameCfg.MusicType == MUSIC_TYPE_REDBOOK) { songs_stop_all(); RBAEjectDisk(); } break; case KEY_ALTED + KEY_SHIFTED + KEY_F10: KEY_MAC(case KEY_COMMAND+KEY_UP:) KEY_MAC(case KEY_COMMAND+KEY_DOWN:) songs_pause_resume(); break; case KEY_MINUS + KEY_ALTED: case KEY_ALTED + KEY_SHIFTED + KEY_F11: KEY_MAC(case KEY_COMMAND+KEY_LEFT:) songs_play_level_song( Current_level_num, -1 ); break; case KEY_EQUAL + KEY_ALTED: case KEY_ALTED + KEY_SHIFTED + KEY_F12: KEY_MAC(case KEY_COMMAND+KEY_RIGHT:) songs_play_level_song( Current_level_num, 1 ); break; default: return 0; break; } return 1; }