// ---------------------------------------------------------------------- // hud_escort_view_toggle() // void hud_escort_view_toggle() { Show_escort_view ^= 1; if ( Show_escort_view ) { HUD_sourced_printf(HUD_SOURCE_HIDDEN, "%s", XSTR( "Escort view enabled", 286)); } else { HUD_sourced_printf(HUD_SOURCE_HIDDEN, "%s", XSTR( "Escort view disabled", 287)); } }
// debug pause do frame void pause_debug_do() { int key; key = Pause_win.process(); if (Pause_single_step.changed()) { game_single_step = Pause_single_step.checked(); } if (Pause_physics.changed()) { physics_paused = Pause_physics.checked(); } if (Pause_ai.changed()) { ai_paused = Pause_ai.checked(); if (ai_paused) { obj_init_all_ships_physics(); } } if (Pause_ai_render.changed()) { Ai_render_debug_flag = Pause_ai_render.checked(); } if (Pause_firing.changed()) { Ai_firing_enabled = Pause_firing.checked(); } if (Pause_external_view_mode_check.changed()) { Pause_external_view_mode = Pause_external_view_mode_check.checked(); if (Pause_external_view_mode) { HUD_sourced_printf(HUD_SOURCE_HIDDEN, XSTR("External view of player ship.", 182)); } else { HUD_sourced_printf(HUD_SOURCE_HIDDEN, XSTR("View from inside player ship.", 183)); } } if (Pause_continue.pressed() || (key == KEY_PAUSE)) { // Changed, MK, 11/9/97, only Pause break pause. gameseq_post_event(GS_EVENT_PREVIOUS_STATE); } gr_clear(); Pause_win.draw(); gr_flip(); }
// display ingame,inmission message text void multi_msg_display_mission_text(const char *msg, int player_index) { // play a cue voice sound and text to speech if not from this player if(Net_players[player_index].player_id != MY_NET_PLAYER_NUM) { snd_play(&Snds[MULTI_MSG_TEXT_SOUND]); fsspeech_play(FSSPEECH_FROM_MULTI, msg); } if(MULTI_STANDALONE(Net_players[player_index])){ HUD_sourced_printf(HUD_SOURCE_NETPLAYER,"%s %s",XSTR("<SERVER>", 698), msg); } else { HUD_sourced_printf(HUD_SOURCE_NETPLAYER,"%s: %s", Net_players[player_index].m_player->callsign, msg); } }
// try to add a ship to the escort list, if slot available void hud_add_ship_to_escort(int objnum, int supress_feedback) { escort_info complete_escorts[MAX_COMPLETE_ESCORT_LIST]; int num_complete_escorts, idx, found; // get complete escort list hud_create_complete_escort_list(complete_escorts, &num_complete_escorts); // check if ship is already on complete escort list found = 0; for (idx=0; idx<num_complete_escorts; idx++) { if (complete_escorts[idx].obj_signature == Objects[objnum].signature) { found = 1; break; } } // add new ship into complete list if ( !found ) { complete_escorts[num_complete_escorts].objnum = objnum; complete_escorts[num_complete_escorts].obj_signature = Objects[objnum].signature; complete_escorts[num_complete_escorts].priority = Ships[Objects[objnum].instance].escort_priority; // remove him from escort list Ships[Objects[objnum].instance].flags |= SF_ESCORT; num_complete_escorts++; } // sort escort list by priority insertion_sort(complete_escorts, num_complete_escorts, sizeof(escort_info), escort_compare_func); // merge list merge_escort_lists(complete_escorts, num_complete_escorts); // maybe do feedback if ( (Num_escort_ships == Max_escort_ships) && !supress_feedback) { found = 0; // search thru list for objnum for (idx=0; idx<Num_escort_ships; idx++) { if (Escort_ships[idx].objnum == objnum) { found = 1; break; } } if (!found) { HUD_sourced_printf(HUD_SOURCE_HIDDEN, XSTR( "Escort list is full with %d ships", 288), Num_escort_ships); snd_play( &Snds[SND_TARGET_FAIL]); } } hud_gauge_popup_start(HUD_ESCORT_VIEW); }
// try to add a ship to the escort list, if slot available void hud_add_ship_to_escort(int objnum, int supress_feedback) { escort_info complete_escorts[MAX_COMPLETE_ESCORT_LIST]; int num_complete_escorts, idx, found; // get complete escort list hud_create_complete_escort_list(complete_escorts, &num_complete_escorts); // ensure the complete escort list is not full already if (num_complete_escorts == MAX_COMPLETE_ESCORT_LIST) { return; } // check if ship is already on complete escort list found = 0; for (idx=0; idx<num_complete_escorts; idx++) { if (complete_escorts[idx].obj_signature == Objects[objnum].signature) { found = 1; break; } } // add new ship into complete list if ( !found ) { complete_escorts[num_complete_escorts].objnum = objnum; complete_escorts[num_complete_escorts].obj_signature = Objects[objnum].signature; complete_escorts[num_complete_escorts].priority = Ships[Objects[objnum].instance].escort_priority; complete_escorts[num_complete_escorts].escort_hit_timer = 0; complete_escorts[num_complete_escorts].escort_hit_next_flash = 0; complete_escorts[num_complete_escorts].escort_show_bright = false; // add him to escort list Ships[Objects[objnum].instance].flags.set(Ship::Ship_Flags::Escort); num_complete_escorts++; } // sort escort list by priority insertion_sort(complete_escorts, num_complete_escorts, sizeof(escort_info), escort_compare_func); // merge list merge_escort_lists(complete_escorts, num_complete_escorts); // maybe do feedback if ( (Num_escort_ships == Max_escort_ships) && !supress_feedback) { found = 0; // search thru list for objnum for (idx=0; idx<Num_escort_ships; idx++) { if (Escort_ships[idx].objnum == objnum) { found = 1; break; } } if (!found) { HUD_sourced_printf(HUD_SOURCE_HIDDEN, XSTR( "Escort list is full with %d ships", 288), Num_escort_ships); snd_play( gamesnd_get_game_sound(GameSounds::TARGET_FAIL)); } } hud_gauge_popup_start(HUD_ESCORT_VIEW); }