38 #define MC_CODE_POOL 0 // pool/weapons update
39 #define MC_CODE_DONE 1 // campaign is "done"
40 #define MC_CODE_DEBRIEF 2 // debrief info
41 #define MC_CODE_START 3 // start campaign information
44 #define MC_JIP_INITIAL_PACKET 1 // initial data
45 #define MC_JIP_GE_STATUS 2 // goal event status for all missions
46 #define MC_JIP_GOAL_NAMES 3 // goal names
47 #define MC_JIP_EVENT_NAMES 4 // event names
48 #define MC_JIP_END_DATA 5 // this is the end of the data
51 #define MC_INGAME_DATA_SLOP 50
168 if(player_status == 1){
197 else if(player_status == 2){
257 ubyte cur_mission,next_mission;
276 for(idx = 0; idx < static_cast<int>(
Ship_info.size()); idx++) {
291 for(idx=0;idx<spool_size;idx++){
298 for(idx=0;idx<wpool_size;idx++){
457 for(idx = 0; idx < static_cast<int>(
Ship_info.size()); idx++) {
472 Assert((wpool_size + spool_size) < 480);
475 val = (
ubyte)spool_size;
477 for(idx = 0; idx < static_cast<int>(
Ship_info.size()); idx++) {
485 val = (
ubyte)wpool_size;
577 for ( j = 0; j < num_goals; j++ ) {
584 for ( j = 0; j < num_events; j++ ) {
594 ubyte goal_count, starting_goal_num;
616 starting_goal_num = 0;
619 for ( j = 0; j < num_goals; j++ ) {
634 starting_goal_num = (
ubyte)j;
645 ubyte event_count, starting_event_num;
666 starting_event_num = 0;
669 for ( j = 0; j < num_events; j++ ) {
684 starting_event_num = (
ubyte)j;
704 ubyte packet_type, num_goals, num_events, status, starting_num;
710 switch( packet_type ) {
732 if ( num_goals > 0 ){
735 for ( i = 0; i < num_goals; i++ ) {
749 if ( num_events > 0 ){
753 for ( i = 0; i < num_events; i++ ) {
763 for ( i = starting_num; i < (starting_num + num_goals); i++ ) {
772 for ( i = starting_num; i < (starting_num + num_events); i++ ) {
void multi_campaign_send_debrief_info()
void multi_campaign_do_debrief(int player_status)
void multi_campaign_flush_data()
void multi_campaign_eval_debrief()
char Game_current_mission_filename[MAX_FILENAME_LEN]
#define MC_JIP_INITIAL_PACKET
#define MC_JIP_EVENT_NAMES
void mission_campaign_clear()
#define PACKET_SET_SIZE()
void multi_campaign_send_pool_status()
void multi_reset_timestamps()
void send_netplayer_update_packet(net_player *pl)
#define MULTI_SYNC_PRE_BRIEFING
void multi_io_send_to_all_reliable(ubyte *data, int length, net_player *ignore)
void multi_io_send_reliable(net_player *pl, ubyte *data, int len)
void send_netgame_update_packet(net_player *pl)
void mission_campaign_mission_over(bool do_next_mission)
ubyte ships_allowed[MAX_SHIP_CLASSES]
mission_goal Mission_goals[MAX_GOALS]
void std_multi_set_standalone_mission_name(char *mission_name)
#define NETPLAYER_STATE_CPOOL_ACK
void multi_campaign_process_ingame_start(ubyte *data, header *hinfo)
#define NETINFO_FLAG_AM_MASTER
ubyte weapons_allowed[MAX_WEAPON_TYPES]
void multi_flush_mission_stuff()
mission_event Mission_events[MAX_MISSION_EVENTS]
#define NETGAME_STATE_MISSION_SYNC
char mission_name[NAME_LENGTH+1]
char campaign_name[NAME_LENGTH+1]
void multi_campaign_send_ingame_start(net_player *pl)
void multi_campaign_send_start(net_player *pl)
const char * XSTR(const char *str, int index)
#define GM_STANDALONE_SERVER
void multi_campaign_done_popup()
int multi_quit_game(int prompt, int notify_code, int err_code, int wsa_error)
#define MC_INGAME_DATA_SLOP
int mission_campaign_load(char *filename, player *pl, int load_savefile, bool reset_stats)
#define MC_JIP_GOAL_NAMES
int Multi_campaign_accept_flags[MAX_PLAYERS]
SCP_vector< ship_info > Ship_info
GLenum GLsizei GLenum GLenum const GLvoid * data
void multi_campaign_client_start()
int mission_campaign_next_mission()
void multi_campaign_start(char *filename)
void multi_campaign_next_mission()
#define NETPLAYER_STATE_INGAME_CINFO
void multi_campaign_client_store_goals(int mission_num)
#define NETGAME_STATE_FORMING
void multi_common_add_text(const char *str, int auto_scroll)
void multi_campaign_send_done()
void gameseq_post_event(int event)
cmission missions[MAX_CAMPAIGN_MISSIONS]
void multi_campaign_process_update(ubyte *data, header *hinfo)
#define CAMPAIGN_UPDATE_INGAME