Files

71 lines
1.8 KiB
C++

/*
* Copyright (C) Volition, Inc. 1999. All rights reserved.
*
* All source code herein is the property of Volition, Inc. You may not sell
* or otherwise commercially exploit the source or things you created based on the
* source.
*
*/
#ifndef _MULTI_PAUSE_HEADER_FILE
#define _MULTI_PAUSE_HEADER_FILE
// ----------------------------------------------------------------------------------
// PAUSE DEFINES/VARS
//
class UI_WINDOW;
struct net_player;
// state of the game (paused or not) on _my_ machine. Obviously this is important for the server
// call multi_pause_reset() to reinitialize
extern int Multi_pause_status;
// who paused the game
extern net_player *Multi_pause_pauser;
extern int Multi_paused;
// ----------------------------------------------------------------------------------
// PAUSE FUNCTIONS
//
// re-initializes the pause system. call before entering the mission to reset
void multi_pause_reset();
// send a request to pause or unpause a game (all players should use this function)
void multi_pause_request(int pause);
// (client) call when receiving a packet indicating we should pause
void multi_pause_pause();
// (client) call when receiving a packet indicating we should unpause
void multi_pause_unpause();
// (server) evaluate a pause request from the given player (should call for himself as well)
void multi_pause_server_eval_request(net_player *pl, int pause);
// if we still want to eat keys
int multi_pause_eat_keys();
// ----------------------------------------------------------------------------------
// PAUSE UI FUNCTIONS
//
// initialize multi pause screen
void multi_pause_init(bool API_Access = false);
// do frame for the multi pause screen
void multi_pause_do(bool API_Access = false);
// close the multi pause screen
void multi_pause_close(int end_mission, bool API_Access = false);
#endif