Initial commit.
This commit is contained in:
116
codemp/game/bg_saga.h
Normal file
116
codemp/game/bg_saga.h
Normal file
@@ -0,0 +1,116 @@
|
||||
#define MAX_SIEGE_INFO_SIZE 16384
|
||||
|
||||
#define SIEGETEAM_TEAM1 1 //e.g. TEAM_RED
|
||||
#define SIEGETEAM_TEAM2 2 //e.g. TEAM_BLUE
|
||||
|
||||
#define SIEGE_POINTS_OBJECTIVECOMPLETED 20
|
||||
#define SIEGE_POINTS_FINALOBJECTIVECOMPLETED 30
|
||||
#define SIEGE_POINTS_TEAMWONROUND 10
|
||||
|
||||
#define SIEGE_ROUND_BEGIN_TIME 5000 //delay 5 secs after players are in game.
|
||||
|
||||
//#define MAX_SIEGE_CLASSES 128 //up to 128 classes
|
||||
#define MAX_SIEGE_CLASSES 64 //up to 128 classes
|
||||
#define MAX_SIEGE_CLASSES_PER_TEAM 16
|
||||
|
||||
#define MAX_SIEGE_TEAMS 16 //up to 16 diffent teams
|
||||
|
||||
#define MAX_EXDATA_ENTS_TO_SEND MAX_CLIENTS //max number of extended data for ents to send
|
||||
|
||||
// The basic siege player classes
|
||||
typedef enum
|
||||
{
|
||||
SPC_INFANTRY = 0,
|
||||
SPC_VANGUARD,
|
||||
SPC_SUPPORT,
|
||||
SPC_JEDI,
|
||||
SPC_DEMOLITIONIST,
|
||||
SPC_HEAVY_WEAPONS,
|
||||
SPC_MAX
|
||||
} siegePlayerClassFlags_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CFL_MORESABERDMG = 0,
|
||||
CFL_STRONGAGAINSTPHYSICAL,
|
||||
CFL_FASTFORCEREGEN,
|
||||
CFL_STATVIEWER,
|
||||
CFL_HEAVYMELEE,
|
||||
CFL_SINGLE_ROCKET,//has only 1 rocket to use with rocketlauncher
|
||||
CFL_CUSTOMSKEL, //class uses a custom skeleton, be sure to load on server etc
|
||||
CFL_EXTRA_AMMO
|
||||
} siegeClassFlags_t;
|
||||
|
||||
|
||||
#ifdef _XBOX
|
||||
#define SIEGE_CLASS_DESC_LEN 512
|
||||
#else
|
||||
#define SIEGE_CLASS_DESC_LEN 4096
|
||||
#endif
|
||||
typedef struct
|
||||
{
|
||||
char desc[SIEGE_CLASS_DESC_LEN];
|
||||
} siegeClassDesc_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char name[512];
|
||||
char forcedModel[256];
|
||||
char forcedSkin[256];
|
||||
char saber1[64];
|
||||
char saber2[64];
|
||||
int saberStance;
|
||||
int weapons;
|
||||
int forcePowerLevels[NUM_FORCE_POWERS];
|
||||
int classflags;
|
||||
int maxhealth;
|
||||
int starthealth;
|
||||
int maxarmor;
|
||||
int startarmor;
|
||||
float speed;
|
||||
qboolean hasForcedSaberColor;
|
||||
int forcedSaberColor;
|
||||
qboolean hasForcedSaber2Color;
|
||||
int forcedSaber2Color;
|
||||
int invenItems;
|
||||
int powerups;
|
||||
int uiPortraitShader;
|
||||
char uiPortrait[256];
|
||||
int classShader;
|
||||
short playerClass; // SPC_INFANTRY . ..
|
||||
} siegeClass_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char name[512];
|
||||
siegeClass_t *classes[MAX_SIEGE_CLASSES_PER_TEAM];
|
||||
int numClasses;
|
||||
int friendlyShader;
|
||||
} siegeTeam_t;
|
||||
|
||||
extern siegeClass_t bgSiegeClasses[MAX_SIEGE_CLASSES];
|
||||
extern int bgNumSiegeClasses;
|
||||
|
||||
extern siegeTeam_t bgSiegeTeams[MAX_SIEGE_TEAMS];
|
||||
extern int bgNumSiegeTeams;
|
||||
|
||||
#include "../namespace_begin.h"
|
||||
|
||||
int BG_SiegeGetValueGroup(char *buf, char *group, char *outbuf);
|
||||
int BG_SiegeGetPairedValue(char *buf, char *key, char *outbuf);
|
||||
void BG_SiegeStripTabs(char *buf);
|
||||
|
||||
void BG_SiegeLoadClasses(siegeClassDesc_t *descBuffer);
|
||||
void BG_SiegeLoadTeams(void);
|
||||
|
||||
siegeTeam_t *BG_SiegeFindThemeForTeam(int team);
|
||||
void BG_PrecacheSabersForSiegeTeam(int team);
|
||||
siegeClass_t *BG_SiegeFindClassByName(const char *classname);
|
||||
qboolean BG_SiegeCheckClassLegality(int team, char *classname);
|
||||
void BG_SiegeSetTeamTheme(int team, char *themeName);
|
||||
int BG_SiegeFindClassIndexByName(const char *classname);
|
||||
|
||||
extern char siege_info[MAX_SIEGE_INFO_SIZE];
|
||||
extern int siege_valid;
|
||||
|
||||
#include "../namespace_end.h"
|
||||
Reference in New Issue
Block a user