2 * $Logfile: /Freespace2/code/Network/multi_campaign.h $
8 * Revision 1.1 2002/05/03 03:28:12 root
12 * 3 11/05/98 5:55p Dave
13 * Big pass at reducing #includes
15 * 2 10/07/98 10:53a Dave
18 * 1 10/07/98 10:50a Dave
20 * 7 5/21/98 12:14a Allender
21 * fix ingame join problems
23 * 6 5/19/98 8:35p Dave
24 * Revamp PXO channel listing system. Send campaign goals/events to
25 * clients for evaluation. Made lock button pressable on all screens.
27 * 5 5/05/98 5:02p Dave
28 * Fix end-of-campaign sequencing to work right. Make all individual
29 * missions of a campaign replayable.
31 * 4 5/05/98 2:10p Dave
32 * Verify campaign support for testing. More new tracker code.
34 * 3 2/23/98 11:09p Dave
35 * Finished up multiplayer campaign support. Seems bug-free.
37 * 2 2/22/98 2:53p Dave
38 * Put in groundwork for advanced multiplayer campaign options.
40 * 1 2/20/98 4:39p Dave
41 * Split up mp campaign functionality into its own module.
46 #ifndef _MULTIPLAYER_CAMPAIGN_HEADER_FILE
47 #define _MULTIPLAYER_CAMPAIGN_HEADER_FILE
50 // ------------------------------------------------------------------------------------
51 // MULTIPLAYER CAMPAIGN DEFINES/VARS
56 // ------------------------------------------------------------------------------------
57 // MULTIPLAYER CAMPAIGN FUNCTIONS
60 // load a new campaign file or notify the standalone if we're not the server
61 void multi_campaign_start(char *filename);
63 // client-side start of a campaign
64 void multi_campaign_client_start();
66 // move everything and eveyrone into the next mission state
67 void multi_campaign_next_mission();
69 // flush all important data between missions
70 void multi_campaign_flush_data();
72 // call in the debriefing stage to evaluate what we should be doing in regards to the campaign
73 // if player_status == 0, nothing should be done
74 // == 1, players want to continue to the next mission
75 // == 2, players want to repeat the previous mission
76 void multi_campaign_do_debrief(int player_status);
78 // display the done popup
79 void multi_campaign_done_popup();
81 // evaluate post mission goal stuff for the campaign and send all relevant stuff to clients
82 void multi_campaign_eval_debrief();
85 // ------------------------------------------------------------------------------------
86 // MULTIPLAYER CAMPAIGN PACKET HANDLERS
89 // process a campaign update packet
90 void multi_campaign_process_update(ubyte *data, header *hinfo);
92 // send a "campaign finished" packet
93 void multi_campaign_send_done();
95 // send a campaign pool status packet
96 void multi_campaign_send_pool_status();
98 // send a campaign debrief update packet
99 void multi_campaign_send_debrief_info();
101 // send a "start campaign" packet
102 void multi_campaign_send_start(net_player *pl = NULL);
104 // campaign information for ingame joiners
105 void multi_campaign_send_ingame_start(net_player *pl);
106 void multi_campaign_process_ingame_start( ubyte *data, header *hinfo );