diff --git a/code/game/bg_public.h b/code/game/bg_public.h index 2f19cab..3c4e62b 100644 --- a/code/game/bg_public.h +++ b/code/game/bg_public.h @@ -1,1073 +1,1073 @@ -// Copyright (C) 1999-2000 Id Software, Inc. -// -// bg_public.h -- definitions shared by both the server game and client game modules - -// meh somehow preprocessor G_LUA won't work for me -#define G_LUA 1 -#define CG_LUA 1 - -// because games can change separately from the main system version, we need a -// second version that must match between game and cgame -#define RPGX_VERSION "RPG-X V 2.3 BETA 2" -#define RPGX_COMPILEDATE "20/05/11" -#define RPGX_COMPILEDBY "GSIO01" -#define GAME_VERSION "RPG-X v" RPGX_VERSION - -#define INJURED_MODE_HEALTH 20 //! MAX_CONFIGSTRINGS -#error overflow: (CS_MAX) > MAX_CONFIGSTRINGS -#endif - -typedef enum { - GT_FFA, //!< free for all - GT_TOURNAMENT, //!< one on one tournament - GT_SINGLE_PLAYER, //!< single player tournament - - //-- team games go after this -- - - GT_TEAM, //!< team deathmatch - GT_CTF, //!< capture the flag - - GT_MAX_GAME_TYPE -} gametype_t; - -typedef enum { GENDER_MALE, GENDER_FEMALE, GENDER_NEUTER } gender_t; - -//TiM - Global variables for the player weight/height system -#define BASE_HEIGHT 185.0 -#define BASE_WEIGHT 90.0 - -#define FEMALE_OFFSET 0.73 - -#define MAX_HEIGHT 1.15 -#define MIN_HEIGHT 0.9 - -#define MAX_WEIGHT 1.1 -#define MIN_WEIGHT 0.9 - -#define HEIGHT_UNIT "cm" -#define WEIGHT_UNIT "kg" - -/* -=================================================================================== - -PMOVE MODULE - -The pmove code takes a player_state_t and a usercmd_t and generates a new player_state_t -and some other output data. Used for local prediction on the client game and true -movement on the server game. -=================================================================================== -*/ - -/** \enum pmtype_t -* -*/ -typedef enum { - PM_NORMAL, //!< can accelerate and turn - PM_NOCLIP, //!< noclip movement - PM_SPECTATOR, //!< still run into walls - PM_DEAD, //!< no acceleration or turning, but free falling - PM_FREEZE, //!< stuck in place with no control - PM_INTERMISSION,//!< no movement or status bar - PM_CCAM //!< cinematic cam mode -} pmtype_t; - -/** \enum weaponstate_t -* -*/ -typedef enum { - WEAPON_READY, - WEAPON_RAISING, - WEAPON_DROPPING, - WEAPON_FIRING -} weaponstate_t; - -// pmove->pm_flags - -#define PMF_DUCKED 1 //1 //2 -#define PMF_JUMP_HELD 2 //2 //4 -#define PMF_BACKWARDS_JUMP 8 //!< go into backwards land -#define PMF_BACKWARDS_RUN 16 //!< coast down to backwards run -#define PMF_TIME_LAND 32 //!< pm_time is time before rejump -#define PMF_TIME_KNOCKBACK 64 //!< pm_time is an air-accelerate only time -#define PMF_TIME_WATERJUMP 256 //!< pm_time is waterjump -#define PMF_RESPAWNED 512 //!< clear after attack and jump buttons come up -#define PMF_USE_ITEM_HELD 1024 -#define PMF_FOLLOW 4096 //!< spectate following another player -#define PMF_SCOREBOARD 8192 //!< spectate as a scoreboard - -#define ANIM_ONLADDER 16384 -#define ANIM_DIDFLY 32768 -#define ANIM_ALERT 128 //TiM: How was this missed!? -#define ANIM_ALERT2 2048 //TiM: This makes it full I think - -#define PMF_ALL_TIMES (PMF_TIME_WATERJUMP|PMF_TIME_LAND|PMF_TIME_KNOCKBACK) - -#define MAXTOUCH 32 - -/** -* \struct pmove_t -*/ -typedef struct { - // state (in / out) - playerState_t *ps; - - // command (in) - usercmd_t cmd; - int tracemask; //!< collide against these types of surfaces - int debugLevel; //!< if set, diagnostic output will be printed - qboolean noFootsteps; //!< if the game is setup for no footsteps by the server - qboolean pModDisintegration; //!< true if the Disintegration playerMod is on - - // results (out) - int numtouch; - int touchents[MAXTOUCH]; - - int useEvent; - - vec3_t mins, maxs; //!< bounding box size - - int watertype; - int waterlevel; - - float xyspeed; - float xyzspeed; //TiM : in case body is falling as well - - qboolean admin; - qboolean medic; - qboolean borg; - - // callbacks to test the world - // these will be different functions during game and cgame - void (*trace)( trace_t *results, const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int passEntityNum, int contentMask ); - int (*pointcontents)( const vec3_t point, int passEntityNum ); - -} pmove_t; - -// if a full pmove isn't done on the client, you can just update the angles -void PM_UpdateViewAngles( playerState_t *ps, const usercmd_t *cmd ); -void Pmove (pmove_t *pmove); - -//=================================================================================== - - -// player_state->stats[] indexes -// -// maximum of MAX_STATS...currently 16 -//TiM: Ooohhh! Usable space! -/** \enum statIndex_t -* Each of these array cells can store data up to 2^16 bits of data! -* This is good in the fact that we are capable of using this place to store data -* that is larger for its previous cells, for example, animation data. -*/ -typedef enum { - STAT_HEALTH, - STAT_HOLDABLE_ITEM, - STAT_WEAPONS, //!< 16 bit fields - STAT_ARMOR, - STAT_DEAD_YAW, //!< look this direction when dead (FIXME: get rid of?) - STAT_CLIENTS_READY, //!< bit mask of clients wishing to exit the intermission (FIXME: configstring?) - STAT_MAX_HEALTH, //!< health / armor limit, changable by handicap - STAT_USEABLE_PLACED, //!< have we placed the detpack yet? - - //TiM : Placeholder for emotes data and anim holding - TORSOTIMER, //!