#pragma once #include "Soldier Init List.h" #include "Merc Hiring.h" #include "event pump.h" extern bool is_connected; extern bool is_connecting; extern bool is_client; extern bool is_server; extern bool is_networked; extern bool is_host; // OJW - added 20081129 // OJW - 20040922 extern bool recieved_settings; extern bool recieved_transfer_settings; extern INT16 serverSyncClientsDirectory; extern int PLAYER_TEAM_TIMER_SEC_PER_TICKS; //extern char CLIENT_NUM[30]; extern int CLIENT_NUM; extern int ENEMY_ENABLED; extern int CREATURE_ENABLED; extern int MILITIA_ENABLED; extern int CIV_ENABLED; extern int MAX_CLIENTS; extern int SAME_MERC; extern int PLAYER_BSIDE; extern bool allowlaptop; extern UINT8 netbTeam; extern UINT8 ubID_prefix; extern FLOAT DAMAGE_MULTIPLIER; //OJW - 20081218 extern int RANDOM_SPAWN; extern int RANDOM_MERCS; //OJW - 20090317 extern bool is_game_started; //OJW - 20090403 extern int OVERRIDE_MAX_AI; //OJW - 20090405 extern STRING512 gCurrentTransferFilename; extern INT32 gCurrentTransferBytes; extern INT32 gTotalTransferBytes; extern UINT16 crate_usMapPos; //extern int INTERRUPTS; extern int ALLOW_EQUIP; extern INT32 MAX_MERCS; void lockui (bool unlock); void start_battle ( void ); void DropOffItemsInSector( UINT8 ubOrderNum ); void test_func2 ( void ); void mp_help (void); void mp_help2 (void); void grid_display ( void); void send_loaded (void); void send_donegui ( UINT8 ubResult ); UINT8 numenemyLAN( UINT8 ubSectorX, UINT8 ubSectorY ); void connect_client ( void ); void start_server (void); void client_packet ( void ); void server_packet ( void ); void NetworkAutoStart(); // OJW - 20081130 - Automate connection functions void server_disconnect (void); void client_disconnect (void); void DialogRemoved( UINT8 ubResult ); void manual_overide(void); void send_path ( SOLDIERTYPE *pSoldier, UINT16 sDestGridNo, UINT16 usMovementAnim, BOOLEAN fFromUI, BOOLEAN fForceRestartAnim ); void send_stance ( SOLDIERTYPE *pSoldier, UINT8 ubDesiredStance ); void send_dir ( SOLDIERTYPE *pSoldier, UINT16 usDesiredDirection ); void send_fire( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo ); void send_hit( EV_S_WEAPONHIT *SWeaponHit ); void send_hire( UINT8 iNewIndex, UINT8 ubCurrentSoldier, INT16 iTotalContractLength, BOOLEAN fCopyProfileItemsOver); void send_gui_pos(SOLDIERTYPE *pSoldier, FLOAT dNewXPos, FLOAT dNewYPos); void send_gui_dir(SOLDIERTYPE *pSoldier, UINT16 usNewDirection); void send_EndTurn( UINT8 ubNextTeam ); void send_AI( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *pubID ); void send_stop (EV_S_STOP_MERC *SStopMerc); void send_interrupt(SOLDIERTYPE *pSoldier); void OpenChatMsgBox(void); void reapplySETTINGS(); BOOLEAN CheckConditionsForBattle( GROUP *pGroup ); // this comes from strategic movement.cpp extern char client_names[4][30]; // OJW - 20081204 // I need to keep track of all the clients readyness, spawn edge and team // want to change this all to use client_info, but dont want to make sweeping // changes to the codebase without talking to the other devs extern int client_ready[4]; extern int client_teams[4]; extern int client_edges[4]; extern int client_downloading[4]; extern int client_progress[4]; extern char SERVER_NAME[30]; //OJW - 20081224 #define MAX_CONNECT_RETRIES 5 extern bool auto_retry; extern int giNumTries; void send_settings(); void send_mapchange(); // added 20081201 by OJW void send_teamchange( int newteam ); // send team a change void send_edgechange( int newedge ); // send an edge change bool can_teamchange(); // UI Checks bool can_edgechange(); // UI Checks void StartInterrupt( void ); // MP GameTypes enum { MP_TYPE_DEATHMATCH, MP_TYPE_TEAMDEATMATCH, MP_TYPE_COOP, NUM_MP_GAMETYPE }; typedef struct { int kills; int deaths; int hits; int misses; } player_stats; extern player_stats gMPPlayerStats[5]; extern void game_over( void ); // OJW - 20090422 extern BOOLEAN fClientReceivedAllFiles; // OJW - 20090507 // Add basic version checking, will only work from now on // note: this cannot be longer than char[30] #define MPVERSION "1.13MP-v1.2"