bool game_start(int skill,network_reply_join_remotes *remotes,char *err_str) { // pause time game_time_pause_start(); // reset random numbers random_reset(); // start progress console_add_system("Starting Game"); progress_initialize("Starting"); progress_draw(0); // start server if (!server_game_start("Game",skill,remotes,err_str)) { return(FALSE); } // start view view_game_start(); // game in running state server.game_open=TRUE; server.state=gs_running; game_time_pause_end(); return(TRUE); }
void file_click(void) { int id,k; char err_str[256],file_name[256]; id=-1; // keyboard if (input_get_keyboard_escape()) id=file_button_cancel_id; if (input_get_keyboard_return()) id=file_is_save?file_button_save_id:file_button_load_id; // clicking if (id==-1) { id=gui_click(); if (id!=-1) hud_click(); } if (id==-1) return; // handle click switch (id) { case file_button_save_id: if (!game_file_save(FALSE,FALSE,err_str)) console_add_error(err_str); server.next_state=gs_running; break; case file_button_load_id: k=element_get_value(file_info_table_id); if (k==-1) break; element_get_table_column_data(file_info_table_id,k,1,file_name,256); server.next_state=gs_running; if (game_file_load(file_name,FALSE,err_str)) { game_time_pause_end(); break; } if (server.map_open) map_end(); if (server.game_open) game_end(); error_setup(err_str,"Game Load Canceled"); server.next_state=gs_error; break; case file_button_delete_id: file_save_delete(); break; case file_button_cancel_id: server.next_state=file_last_state; break; case file_info_table_id: file_save_selected(); break; } }