Files
source/Multiplayer/network.h
Marco Antonio J. Costaandmajcosta 86ad401186 add newline at end of file where it's lacking
.editorconfig already enforces it but it's getting changed piecemeal in
every commit. just get it done with.

the script:
```

find . -type f -not -path "./.git/*" -not -path "./.vs/*" | while read -r file; do
	isFile=$(file -0 "$file" | cut -d $'\0' -f2)
	case "$isFile" in
		(*text*)
			echo "$file is text"
			if [[ $(tail -c 1 "$file" | wc -l) -ne 1 ]]; then
				echo "" >> "$file"
			fi
			;;
		(*)
			echo "file isn't text"
			;;
	esac
done
```
2024-12-14 19:05:48 -03:00

163 lines
4.0 KiB
C++

#pragma once
#include "random.h"
//this one just for structs, variables and functions used between the client and server scripts...
extern char cClientName[30];
extern char cServerName[30];
extern bool Sawarded;
extern unsigned int setID;
// ja2_mp.ini: File
#define JA2MP_INI_FILENAME "ja2_mp.ini"
// "ja2_mp.ini: Sections
#define JA2MP_INI_INITIAL_SECTION "JA2 Multiplayer Initial Settings"
#define JA2MP_INI_SERVER_SECTION "JA2 Multiplayer Servers"
// ja2_mp.ini: Properties
#define JA2MP_ALLOW_CUSTOM_NIV "INVENTORY_ATTACHMENTS"
#define JA2MP_CIV_ENABLED "ENABLE_CIVILIANS_IN_COOP"
#define JA2MP_CLIENT_NAME "PLAYER_NAME"
#define JA2MP_DAMAGE_MULTIPLIER "WEAPON_DAMAGE"
#define JA2MP_DIFFICULT_LEVEL "DIFFICULTY_LEVEL"
#define JA2MP_DISABLE_BOBBY_RAYS "BOBBY_RAYS"
#define JA2MP_FILE_TRANSFER_DIRECTORY "GAME_DATA_SYNC_DIRECTORY"
#define JA2MP_GAME_MODE "GAME_TYPE"
#define JA2MP_KIT_BAG "KIT_BAG"
#define JA2MP_MAX_CLIENTS "MAX_PLAYERS"
#define JA2MP_MAX_MERCS "MAX_MERCS"
#define JA2MP_OVERRIDE_MAX_AI "MAX_ENEMIES_IN_COOP"
#define JA2MP_RANDOM_EDGES "STARTING_SECTOR_EDGE"
#define JA2MP_RANDOM_MERCS "HIRE_MERCS_METHOD"
#define JA2MP_REPORT_NAME "REPORT_HIRED_MERC_NAME"
#define JA2MP_SAME_MERC "SAME_MERC_ALLOWED"
#define JA2MP_SERVER_IP "SERVER_IP"
#define JA2MP_SERVER_NAME "SERVER_NAME"
#define JA2MP_SERVER_PORT "SERVER_PORT"
#define JA2MP_STARTING_BALANCE "STARTING_CASH"
#define JA2MP_SYNC_CLIENTS_MP_DIR "SYNC_GAME_DIRECTORY"
#define JA2MP_TIMED_TURN_SECS_PER_TICK "TIMED_TURNS"
#define JA2MP_TIME "STARTING_TIME"
#define JA2MP_NEW_TRAITS "SKILL_TRAITS"
typedef struct
{
UINT8 client_num;
char client_name[30];
int team;
int cl_edge;
char client_version[30];
}client_info;
typedef struct
{
UINT8 maxClients;
UINT8 sameMercAllowed;
float damageMultiplier;
INT16 gsMercArriveSectorX;
INT16 gsMercArriveSectorY;
UINT8 enemyEnabled;
UINT8 creatureEnabled;
UINT8 militiaEnabled;
UINT8 civEnabled;
UINT8 gameType;
INT32 secondsPerTick;
INT32 startingCash;
UINT8 disableBobbyRay;
UINT8 disableMercEquipment;
BOOLEAN sofGunNut;
UINT8 soubGameStyle;
UINT8 soubDifficultyLevel;
UINT8 soubSkillTraits;
BOOLEAN sofTurnTimeLimit;
BOOLEAN sofIronManMode;
UINT8 soubBobbyRayQuality;
UINT8 soubBobbyRayQuantity;
UINT8 maxMercs;
UINT8 client_num;
char client_name[30];
char client_names[4][30];
int client_edges[5];
int client_teams[4];
char server_name[30];
int team;
char kitBag[100];
UINT8 disableMorale;
UINT8 reportHiredMerc;
UINT8 startingSectorEdge;
float startingTime;
UINT8 weaponReadyBonus;
UINT8 inventoryAttachment;
UINT8 disableSpectatorMode;
// OJW - added 20081220
UINT8 randomStartingEdge;
UINT8 randomMercs;
int random_mercs[7];
char server_version[30];
// OJW - added 20091024
UINT32 random_table[MAX_PREGENERATED_NUMS];
} settings_struct;
// WANNE: FILE TRANSFER
typedef struct
{
STRING512 fileTransferDirectory;
int syncClientsDirectory; // Does the server want to sync files to the clients
char serverName[30]; // The name of the server. This is used on the client side as a folder inside the client transfer directory
long totalTransferBytes;
} filetransfersettings_struct;
// added 080101 by OJW
typedef struct
{
INT16 gsMercArriveSectorX;
INT16 gsMercArriveSectorY;
float startingTime;
} mapchange_struct;
typedef struct
{
UINT8 client_num;
UINT8 newedge;
} edgechange_struct;
typedef struct
{
UINT8 client_num;
UINT8 newteam;
} teamchange_struct;
typedef struct
{
UINT8 client_num;
UINT8 progress;
UINT8 downloading;
} progress_struct;
typedef struct
{
BOOLEAN fMarkInterruptOccurred;
INT8 bteam;
UINT8 ubid;
}endINT;
typedef struct
{
INT8 bteam;
}real_struct;
typedef struct
{
UINT8 ubStartingTeam;
}sc_struct;
namespace ja2
{
namespace mp
{
void InitializeMultiplayerProfile(vfs::Path const& profileRoot);
}
}