mirror of
https://github.com/UberGames/rpgxEF.git
synced 2025-04-22 17:00:53 +00:00
Added first changes towards rpgxEF (Note this won't compile yet)
This commit is contained in:
parent
cf8c93b07f
commit
0e225482a6
5 changed files with 25 additions and 439 deletions
|
@ -131,50 +131,8 @@ typedef enum {
|
|||
CG_SETUSERCMDVALUE,
|
||||
CG_R_REGISTERSHADERNOMIP,
|
||||
CG_MEMORY_REMAINING,
|
||||
#ifndef ELITEFORCE
|
||||
CG_R_REGISTERFONT,
|
||||
CG_KEY_ISDOWN,
|
||||
CG_KEY_GETCATCHER,
|
||||
CG_KEY_SETCATCHER,
|
||||
CG_KEY_GETKEY,
|
||||
CG_PC_ADD_GLOBAL_DEFINE,
|
||||
CG_PC_LOAD_SOURCE,
|
||||
CG_PC_FREE_SOURCE,
|
||||
CG_PC_READ_TOKEN,
|
||||
CG_PC_SOURCE_FILE_AND_LINE,
|
||||
CG_S_STOPBACKGROUNDTRACK,
|
||||
CG_REAL_TIME,
|
||||
CG_SNAPVECTOR,
|
||||
CG_REMOVECOMMAND,
|
||||
CG_R_LIGHTFORPOINT,
|
||||
CG_CIN_PLAYCINEMATIC,
|
||||
CG_CIN_STOPCINEMATIC,
|
||||
CG_CIN_RUNCINEMATIC,
|
||||
CG_CIN_DRAWCINEMATIC,
|
||||
CG_CIN_SETEXTENTS,
|
||||
CG_R_REMAP_SHADER,
|
||||
CG_S_ADDREALLOOPINGSOUND,
|
||||
CG_S_STOPLOOPINGSOUND,
|
||||
|
||||
CG_CM_TEMPCAPSULEMODEL,
|
||||
CG_CM_CAPSULETRACE,
|
||||
CG_CM_TRANSFORMEDCAPSULETRACE,
|
||||
CG_R_ADDADDITIVELIGHTTOSCENE,
|
||||
CG_GET_ENTITY_TOKEN,
|
||||
CG_R_ADDPOLYSTOSCENE,
|
||||
CG_R_INPVS,
|
||||
// 1.32
|
||||
CG_FS_SEEK,
|
||||
|
||||
/*
|
||||
CG_LOADCAMERA,
|
||||
CG_STARTCAMERA,
|
||||
CG_GETCAMERAINFO,
|
||||
*/
|
||||
#else
|
||||
CG_R_REGISTERSHADER3D, //59
|
||||
CG_CVAR_SET_NO_MODIFY, // 60
|
||||
#endif
|
||||
CG_R_REGISTERSHADER3D, //59
|
||||
CG_CVAR_SET_NO_MODIFY, // 60
|
||||
CG_MEMSET = 100,
|
||||
CG_MEMCPY,
|
||||
CG_STRNCPY,
|
||||
|
@ -186,9 +144,8 @@ typedef enum {
|
|||
CG_CEIL,
|
||||
CG_TESTPRINTINT,
|
||||
CG_TESTPRINTFLOAT,
|
||||
#ifndef ELITEFORCE
|
||||
CG_ACOS
|
||||
#endif
|
||||
CG_R_REMAP_SHADER = 200,
|
||||
CG_R_ADDPOLYSTOSCENE
|
||||
} cgameImport_t;
|
||||
|
||||
|
||||
|
@ -231,15 +188,6 @@ typedef enum {
|
|||
|
||||
CG_LAST_ATTACKER,
|
||||
// int (*CG_LastAttacker)( void );
|
||||
#ifndef ELITEFORCE
|
||||
CG_KEY_EVENT,
|
||||
// void (*CG_KeyEvent)( int key, qboolean down );
|
||||
|
||||
CG_MOUSE_EVENT,
|
||||
// void (*CG_MouseEvent)( int dx, int dy );
|
||||
CG_EVENT_HANDLING
|
||||
// void (*CG_EventHandling)(int type);
|
||||
#endif
|
||||
} cgameExport_t;
|
||||
|
||||
//----------------------------------------------
|
||||
|
|
|
@ -262,11 +262,8 @@ typedef enum {
|
|||
#define EF_AWARD_ASSIST 0x00020000 // draw a assist sprite
|
||||
#define EF_AWARD_DENIED 0x00040000 // denied
|
||||
#define EF_TEAMVOTED 0x00080000 // already cast a team vote
|
||||
|
||||
#ifdef ELITEFORCE
|
||||
#define EF_SHIELD_BOX_X 0x00000800
|
||||
#define EF_SHIELD_BOX_Y 0x00400000
|
||||
#endif
|
||||
|
||||
// NOTE: may not have more than 16
|
||||
typedef enum {
|
||||
|
|
|
@ -33,18 +33,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
|
||||
// TTimo
|
||||
// https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=551
|
||||
#ifdef ELITEFORCE
|
||||
#define SVF_SHIELD_BBOX 0x00000002
|
||||
#define SVF_CLIENTMASK 0x00000004
|
||||
#else
|
||||
#define SVF_CLIENTMASK 0x00000002
|
||||
#endif
|
||||
|
||||
#define SVF_BOT 0x00000008 // set if the entity is a bot
|
||||
|
||||
#ifdef ELITEFORCE
|
||||
#define SVF_ELIMINATED 0x00000010
|
||||
#endif
|
||||
|
||||
#define SVF_BROADCAST 0x00000020 // send to all connected clients
|
||||
#define SVF_PORTAL 0x00000040 // merge a second pvs at origin2 into snapshots
|
||||
|
@ -64,10 +58,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
|
||||
|
||||
typedef struct {
|
||||
#ifndef ELITEFORCE
|
||||
entityState_t unused; // apparently this field was put here accidentally
|
||||
#endif
|
||||
|
||||
qboolean linked; // qfalse if not in any good cluster
|
||||
int linkcount;
|
||||
|
||||
|
@ -115,7 +105,6 @@ typedef struct {
|
|||
//
|
||||
// system traps provided by the main engine
|
||||
//
|
||||
#ifdef ELITEFORCE
|
||||
typedef enum {
|
||||
//============== general Quake services ==================
|
||||
|
||||
|
@ -388,294 +377,7 @@ typedef enum {
|
|||
BOTLIB_AI_REMOVE_FROM_AVOID_GOALS,
|
||||
BOTLIB_AI_PREDICT_VISIBLE_POSITION
|
||||
} gameImport_t;
|
||||
#else
|
||||
typedef enum {
|
||||
//============== general Quake services ==================
|
||||
|
||||
G_PRINT, // ( const char *string );
|
||||
// print message on the local console
|
||||
|
||||
G_ERROR, // ( const char *string );
|
||||
// abort the game
|
||||
|
||||
G_MILLISECONDS, // ( void );
|
||||
// get current time for profiling reasons
|
||||
// this should NOT be used for any game related tasks,
|
||||
// because it is not journaled
|
||||
|
||||
// console variable interaction
|
||||
G_CVAR_REGISTER, // ( vmCvar_t *vmCvar, const char *varName, const char *defaultValue, int flags );
|
||||
G_CVAR_UPDATE, // ( vmCvar_t *vmCvar );
|
||||
G_CVAR_SET, // ( const char *var_name, const char *value );
|
||||
G_CVAR_VARIABLE_INTEGER_VALUE, // ( const char *var_name );
|
||||
|
||||
G_CVAR_VARIABLE_STRING_BUFFER, // ( const char *var_name, char *buffer, int bufsize );
|
||||
|
||||
G_ARGC, // ( void );
|
||||
// ClientCommand and ServerCommand parameter access
|
||||
|
||||
G_ARGV, // ( int n, char *buffer, int bufferLength );
|
||||
|
||||
G_FS_FOPEN_FILE, // ( const char *qpath, fileHandle_t *file, fsMode_t mode );
|
||||
G_FS_READ, // ( void *buffer, int len, fileHandle_t f );
|
||||
G_FS_WRITE, // ( const void *buffer, int len, fileHandle_t f );
|
||||
G_FS_FCLOSE_FILE, // ( fileHandle_t f );
|
||||
|
||||
G_SEND_CONSOLE_COMMAND, // ( const char *text );
|
||||
// add commands to the console as if they were typed in
|
||||
// for map changing, etc
|
||||
|
||||
|
||||
//=========== server specific functionality =============
|
||||
|
||||
G_LOCATE_GAME_DATA, // ( gentity_t *gEnts, int numGEntities, int sizeofGEntity_t,
|
||||
// playerState_t *clients, int sizeofGameClient );
|
||||
// the game needs to let the server system know where and how big the gentities
|
||||
// are, so it can look at them directly without going through an interface
|
||||
|
||||
G_DROP_CLIENT, // ( int clientNum, const char *reason );
|
||||
// kick a client off the server with a message
|
||||
|
||||
G_SEND_SERVER_COMMAND, // ( int clientNum, const char *fmt, ... );
|
||||
// reliably sends a command string to be interpreted by the given
|
||||
// client. If clientNum is -1, it will be sent to all clients
|
||||
|
||||
G_SET_CONFIGSTRING, // ( int num, const char *string );
|
||||
// config strings hold all the index strings, and various other information
|
||||
// that is reliably communicated to all clients
|
||||
// All of the current configstrings are sent to clients when
|
||||
// they connect, and changes are sent to all connected clients.
|
||||
// All confgstrings are cleared at each level start.
|
||||
|
||||
G_GET_CONFIGSTRING, // ( int num, char *buffer, int bufferSize );
|
||||
|
||||
G_GET_USERINFO, // ( int num, char *buffer, int bufferSize );
|
||||
// userinfo strings are maintained by the server system, so they
|
||||
// are persistant across level loads, while all other game visible
|
||||
// data is completely reset
|
||||
|
||||
G_SET_USERINFO, // ( int num, const char *buffer );
|
||||
|
||||
G_GET_SERVERINFO, // ( char *buffer, int bufferSize );
|
||||
// the serverinfo info string has all the cvars visible to server browsers
|
||||
|
||||
G_SET_BRUSH_MODEL, // ( gentity_t *ent, const char *name );
|
||||
// sets mins and maxs based on the brushmodel name
|
||||
|
||||
G_TRACE, // ( trace_t *results, const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int passEntityNum, int contentmask );
|
||||
// collision detection against all linked entities
|
||||
|
||||
G_POINT_CONTENTS, // ( const vec3_t point, int passEntityNum );
|
||||
// point contents against all linked entities
|
||||
|
||||
G_IN_PVS, // ( const vec3_t p1, const vec3_t p2 );
|
||||
|
||||
G_IN_PVS_IGNORE_PORTALS, // ( const vec3_t p1, const vec3_t p2 );
|
||||
|
||||
G_ADJUST_AREA_PORTAL_STATE, // ( gentity_t *ent, qboolean open );
|
||||
|
||||
G_AREAS_CONNECTED, // ( int area1, int area2 );
|
||||
|
||||
G_LINKENTITY, // ( gentity_t *ent );
|
||||
// an entity will never be sent to a client or used for collision
|
||||
// if it is not passed to linkentity. If the size, position, or
|
||||
// solidity changes, it must be relinked.
|
||||
|
||||
G_UNLINKENTITY, // ( gentity_t *ent );
|
||||
// call before removing an interactive entity
|
||||
|
||||
G_ENTITIES_IN_BOX, // ( const vec3_t mins, const vec3_t maxs, gentity_t **list, int maxcount );
|
||||
// EntitiesInBox will return brush models based on their bounding box,
|
||||
// so exact determination must still be done with EntityContact
|
||||
|
||||
G_ENTITY_CONTACT, // ( const vec3_t mins, const vec3_t maxs, const gentity_t *ent );
|
||||
// perform an exact check against inline brush models of non-square shape
|
||||
|
||||
// access for bots to get and free a server client (FIXME?)
|
||||
G_BOT_ALLOCATE_CLIENT, // ( void );
|
||||
|
||||
G_BOT_FREE_CLIENT, // ( int clientNum );
|
||||
|
||||
G_GET_USERCMD, // ( int clientNum, usercmd_t *cmd )
|
||||
|
||||
G_GET_ENTITY_TOKEN, // qboolean ( char *buffer, int bufferSize )
|
||||
// Retrieves the next string token from the entity spawn text, returning
|
||||
// false when all tokens have been parsed.
|
||||
// This should only be done at GAME_INIT time.
|
||||
|
||||
G_FS_GETFILELIST,
|
||||
G_DEBUG_POLYGON_CREATE,
|
||||
G_DEBUG_POLYGON_DELETE,
|
||||
G_REAL_TIME,
|
||||
G_SNAPVECTOR,
|
||||
|
||||
G_TRACECAPSULE, // ( trace_t *results, const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int passEntityNum, int contentmask );
|
||||
G_ENTITY_CONTACTCAPSULE, // ( const vec3_t mins, const vec3_t maxs, const gentity_t *ent );
|
||||
|
||||
// 1.32
|
||||
G_FS_SEEK,
|
||||
|
||||
BOTLIB_SETUP = 200, // ( void );
|
||||
BOTLIB_SHUTDOWN, // ( void );
|
||||
BOTLIB_LIBVAR_SET,
|
||||
BOTLIB_LIBVAR_GET,
|
||||
BOTLIB_PC_ADD_GLOBAL_DEFINE,
|
||||
BOTLIB_START_FRAME,
|
||||
BOTLIB_LOAD_MAP,
|
||||
BOTLIB_UPDATENTITY,
|
||||
BOTLIB_TEST,
|
||||
|
||||
BOTLIB_GET_SNAPSHOT_ENTITY, // ( int client, int ent );
|
||||
BOTLIB_GET_CONSOLE_MESSAGE, // ( int client, char *message, int size );
|
||||
BOTLIB_USER_COMMAND, // ( int client, usercmd_t *ucmd );
|
||||
|
||||
BOTLIB_AAS_ENABLE_ROUTING_AREA = 300,
|
||||
BOTLIB_AAS_BBOX_AREAS,
|
||||
BOTLIB_AAS_AREA_INFO,
|
||||
BOTLIB_AAS_ENTITY_INFO,
|
||||
|
||||
BOTLIB_AAS_INITIALIZED,
|
||||
BOTLIB_AAS_PRESENCE_TYPE_BOUNDING_BOX,
|
||||
BOTLIB_AAS_TIME,
|
||||
|
||||
BOTLIB_AAS_POINT_AREA_NUM,
|
||||
BOTLIB_AAS_TRACE_AREAS,
|
||||
|
||||
BOTLIB_AAS_POINT_CONTENTS,
|
||||
BOTLIB_AAS_NEXT_BSP_ENTITY,
|
||||
BOTLIB_AAS_VALUE_FOR_BSP_EPAIR_KEY,
|
||||
BOTLIB_AAS_VECTOR_FOR_BSP_EPAIR_KEY,
|
||||
BOTLIB_AAS_FLOAT_FOR_BSP_EPAIR_KEY,
|
||||
BOTLIB_AAS_INT_FOR_BSP_EPAIR_KEY,
|
||||
|
||||
BOTLIB_AAS_AREA_REACHABILITY,
|
||||
|
||||
BOTLIB_AAS_AREA_TRAVEL_TIME_TO_GOAL_AREA,
|
||||
|
||||
BOTLIB_AAS_SWIMMING,
|
||||
BOTLIB_AAS_PREDICT_CLIENT_MOVEMENT,
|
||||
|
||||
BOTLIB_EA_SAY = 400,
|
||||
BOTLIB_EA_SAY_TEAM,
|
||||
BOTLIB_EA_COMMAND,
|
||||
|
||||
BOTLIB_EA_ACTION,
|
||||
BOTLIB_EA_GESTURE,
|
||||
BOTLIB_EA_TALK,
|
||||
BOTLIB_EA_ATTACK,
|
||||
BOTLIB_EA_USE,
|
||||
BOTLIB_EA_RESPAWN,
|
||||
BOTLIB_EA_CROUCH,
|
||||
BOTLIB_EA_MOVE_UP,
|
||||
BOTLIB_EA_MOVE_DOWN,
|
||||
BOTLIB_EA_MOVE_FORWARD,
|
||||
BOTLIB_EA_MOVE_BACK,
|
||||
BOTLIB_EA_MOVE_LEFT,
|
||||
BOTLIB_EA_MOVE_RIGHT,
|
||||
|
||||
BOTLIB_EA_SELECT_WEAPON,
|
||||
BOTLIB_EA_JUMP,
|
||||
BOTLIB_EA_DELAYED_JUMP,
|
||||
BOTLIB_EA_MOVE,
|
||||
BOTLIB_EA_VIEW,
|
||||
|
||||
BOTLIB_EA_END_REGULAR,
|
||||
BOTLIB_EA_GET_INPUT,
|
||||
BOTLIB_EA_RESET_INPUT,
|
||||
|
||||
|
||||
BOTLIB_AI_LOAD_CHARACTER = 500,
|
||||
BOTLIB_AI_FREE_CHARACTER,
|
||||
BOTLIB_AI_CHARACTERISTIC_FLOAT,
|
||||
BOTLIB_AI_CHARACTERISTIC_BFLOAT,
|
||||
BOTLIB_AI_CHARACTERISTIC_INTEGER,
|
||||
BOTLIB_AI_CHARACTERISTIC_BINTEGER,
|
||||
BOTLIB_AI_CHARACTERISTIC_STRING,
|
||||
|
||||
BOTLIB_AI_ALLOC_CHAT_STATE,
|
||||
BOTLIB_AI_FREE_CHAT_STATE,
|
||||
BOTLIB_AI_QUEUE_CONSOLE_MESSAGE,
|
||||
BOTLIB_AI_REMOVE_CONSOLE_MESSAGE,
|
||||
BOTLIB_AI_NEXT_CONSOLE_MESSAGE,
|
||||
BOTLIB_AI_NUM_CONSOLE_MESSAGE,
|
||||
BOTLIB_AI_INITIAL_CHAT,
|
||||
BOTLIB_AI_REPLY_CHAT,
|
||||
BOTLIB_AI_CHAT_LENGTH,
|
||||
BOTLIB_AI_ENTER_CHAT,
|
||||
BOTLIB_AI_STRING_CONTAINS,
|
||||
BOTLIB_AI_FIND_MATCH,
|
||||
BOTLIB_AI_MATCH_VARIABLE,
|
||||
BOTLIB_AI_UNIFY_WHITE_SPACES,
|
||||
BOTLIB_AI_REPLACE_SYNONYMS,
|
||||
BOTLIB_AI_LOAD_CHAT_FILE,
|
||||
BOTLIB_AI_SET_CHAT_GENDER,
|
||||
BOTLIB_AI_SET_CHAT_NAME,
|
||||
|
||||
BOTLIB_AI_RESET_GOAL_STATE,
|
||||
BOTLIB_AI_RESET_AVOID_GOALS,
|
||||
BOTLIB_AI_PUSH_GOAL,
|
||||
BOTLIB_AI_POP_GOAL,
|
||||
BOTLIB_AI_EMPTY_GOAL_STACK,
|
||||
BOTLIB_AI_DUMP_AVOID_GOALS,
|
||||
BOTLIB_AI_DUMP_GOAL_STACK,
|
||||
BOTLIB_AI_GOAL_NAME,
|
||||
BOTLIB_AI_GET_TOP_GOAL,
|
||||
BOTLIB_AI_GET_SECOND_GOAL,
|
||||
BOTLIB_AI_CHOOSE_LTG_ITEM,
|
||||
BOTLIB_AI_CHOOSE_NBG_ITEM,
|
||||
BOTLIB_AI_TOUCHING_GOAL,
|
||||
BOTLIB_AI_ITEM_GOAL_IN_VIS_BUT_NOT_VISIBLE,
|
||||
BOTLIB_AI_GET_LEVEL_ITEM_GOAL,
|
||||
BOTLIB_AI_AVOID_GOAL_TIME,
|
||||
BOTLIB_AI_INIT_LEVEL_ITEMS,
|
||||
BOTLIB_AI_UPDATE_ENTITY_ITEMS,
|
||||
BOTLIB_AI_LOAD_ITEM_WEIGHTS,
|
||||
BOTLIB_AI_FREE_ITEM_WEIGHTS,
|
||||
BOTLIB_AI_SAVE_GOAL_FUZZY_LOGIC,
|
||||
BOTLIB_AI_ALLOC_GOAL_STATE,
|
||||
BOTLIB_AI_FREE_GOAL_STATE,
|
||||
|
||||
BOTLIB_AI_RESET_MOVE_STATE,
|
||||
BOTLIB_AI_MOVE_TO_GOAL,
|
||||
BOTLIB_AI_MOVE_IN_DIRECTION,
|
||||
BOTLIB_AI_RESET_AVOID_REACH,
|
||||
BOTLIB_AI_RESET_LAST_AVOID_REACH,
|
||||
BOTLIB_AI_REACHABILITY_AREA,
|
||||
BOTLIB_AI_MOVEMENT_VIEW_TARGET,
|
||||
BOTLIB_AI_ALLOC_MOVE_STATE,
|
||||
BOTLIB_AI_FREE_MOVE_STATE,
|
||||
BOTLIB_AI_INIT_MOVE_STATE,
|
||||
|
||||
BOTLIB_AI_CHOOSE_BEST_FIGHT_WEAPON,
|
||||
BOTLIB_AI_GET_WEAPON_INFO,
|
||||
BOTLIB_AI_LOAD_WEAPON_WEIGHTS,
|
||||
BOTLIB_AI_ALLOC_WEAPON_STATE,
|
||||
BOTLIB_AI_FREE_WEAPON_STATE,
|
||||
BOTLIB_AI_RESET_WEAPON_STATE,
|
||||
|
||||
BOTLIB_AI_GENETIC_PARENTS_AND_CHILD_SELECTION,
|
||||
BOTLIB_AI_INTERBREED_GOAL_FUZZY_LOGIC,
|
||||
BOTLIB_AI_MUTATE_GOAL_FUZZY_LOGIC,
|
||||
BOTLIB_AI_GET_NEXT_CAMP_SPOT_GOAL,
|
||||
BOTLIB_AI_GET_MAP_LOCATION_GOAL,
|
||||
BOTLIB_AI_NUM_INITIAL_CHATS,
|
||||
BOTLIB_AI_GET_CHAT_MESSAGE,
|
||||
BOTLIB_AI_REMOVE_FROM_AVOID_GOALS,
|
||||
BOTLIB_AI_PREDICT_VISIBLE_POSITION,
|
||||
|
||||
BOTLIB_AI_SET_AVOID_GOAL_TIME,
|
||||
BOTLIB_AI_ADD_AVOID_SPOT,
|
||||
BOTLIB_AAS_ALTERNATIVE_ROUTE_GOAL,
|
||||
BOTLIB_AAS_PREDICT_ROUTE,
|
||||
BOTLIB_AAS_POINT_REACHABILITY_AREA_INDEX,
|
||||
|
||||
BOTLIB_PC_LOAD_SOURCE,
|
||||
BOTLIB_PC_FREE_SOURCE,
|
||||
BOTLIB_PC_READ_TOKEN,
|
||||
BOTLIB_PC_SOURCE_FILE_AND_LINE
|
||||
|
||||
} gameImport_t;
|
||||
#endif
|
||||
|
||||
//
|
||||
// functions exported by the game subsystem
|
||||
|
|
|
@ -26,51 +26,24 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
// q_shared.h -- included first by ALL program modules.
|
||||
// A user mod should never modify this file
|
||||
|
||||
#ifdef STANDALONE
|
||||
#define PRODUCT_NAME "iofoo3"
|
||||
#define BASEGAME "foobar"
|
||||
#define CLIENT_WINDOW_TITLE "changeme"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "changeme2"
|
||||
#define HOMEPATH_NAME_UNIX ".foo"
|
||||
#define HOMEPATH_NAME_WIN "FooBar"
|
||||
#define HOMEPATH_NAME_MACOSX HOMEPATH_NAME_WIN
|
||||
#define GAMENAME_FOR_MASTER "foobar" // must NOT contain whitespace
|
||||
// #define LEGACY_PROTOCOL // You probably don't need this for your standalone game
|
||||
#else
|
||||
#ifdef ELITEFORCE
|
||||
#define PRODUCT_NAME "ioST:V HM"
|
||||
#define BASEGAME "baseEF"
|
||||
#define CLIENT_WINDOW_TITLE "iostvoyHM"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "iostvoyHM"
|
||||
#define HOMEPATH_NAME_UNIX ".stvef"
|
||||
#define HOMEPATH_NAME_WIN "STVEF"
|
||||
#define HOMEPATH_NAME_MACOSX HOMEPATH_NAME_WIN
|
||||
#define GAMENAME_FOR_MASTER "EliteForce"
|
||||
#define LEGACY_PROTOCOL
|
||||
#else
|
||||
#define PRODUCT_NAME "ioq3"
|
||||
#define BASEGAME "baseq3"
|
||||
#define CLIENT_WINDOW_TITLE "ioquake3"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "ioq3"
|
||||
#define HOMEPATH_NAME_UNIX ".q3a"
|
||||
#define HOMEPATH_NAME_WIN "Quake3"
|
||||
#define HOMEPATH_NAME_MACOSX HOMEPATH_NAME_WIN
|
||||
#define GAMENAME_FOR_MASTER "Quake3Arena"
|
||||
#define LEGACY_PROTOCOL
|
||||
#endif
|
||||
#endif
|
||||
#define PRODUCT_NAME "rpgxEF"
|
||||
#define BASEGAME "RPG-X2"
|
||||
#define CLIENT_WINDOW_TITLE "rpgxEF"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "rpgxEF"
|
||||
#define HOMEPATH_NAME_UNIX ".rpgxEF"
|
||||
#define HOMEPATH_NAME_WIN "RPGXEF"
|
||||
#define HOMEPATH_NAME_MACOSX HOMEPATH_NAME_WIN
|
||||
#define GAMENAME_FOR_MASTER "rpgxEF" // was EliteForce
|
||||
#define LEGACY_PROTOCOL
|
||||
|
||||
|
||||
// Heartbeat for dpmaster protocol. You shouldn't change this unless you know what you're doing
|
||||
#ifdef ELITEFORCE
|
||||
#define HEARTBEAT_FOR_MASTER "STEF1"
|
||||
#else
|
||||
#define HEARTBEAT_FOR_MASTER "DarkPlaces"
|
||||
#endif
|
||||
#define HEARTBEAT_FOR_MASTER "STEF1"
|
||||
|
||||
#define BASETA "missionpack"
|
||||
|
||||
#ifndef PRODUCT_VERSION
|
||||
#define PRODUCT_VERSION "1.36"
|
||||
#define PRODUCT_VERSION "2.0"
|
||||
#endif
|
||||
|
||||
#define Q3_VERSION PRODUCT_NAME " " PRODUCT_VERSION
|
||||
|
@ -1083,7 +1056,9 @@ typedef enum {
|
|||
#define MAX_CLIENTS 64 // absolute limit
|
||||
#define MAX_LOCATIONS 64
|
||||
|
||||
#define GENTITYNUM_BITS 10 // don't need to send any more
|
||||
// don't increase this mindlessly ... MAX_GAMESTATE_CHARS, MAX_CONFIGSTRINGS ... and other need to be adjusted
|
||||
// also the renderer has to be adjusted (drawsurf 32 bit packing, actualle with 11 it's 33bit)
|
||||
#define GENTITYNUM_BITS 11
|
||||
#define MAX_GENTITIES (1<<GENTITYNUM_BITS)
|
||||
|
||||
// entitynums are communicated with GENTITY_BITS, so any reserved
|
||||
|
@ -1098,7 +1073,7 @@ typedef enum {
|
|||
#define MAX_SOUNDS 256 // so they cannot be blindly increased
|
||||
|
||||
|
||||
#define MAX_CONFIGSTRINGS 1024
|
||||
#define MAX_CONFIGSTRINGS 4096 // was 1024
|
||||
|
||||
// these are the only configstrings that the system reserves, all the
|
||||
// other ones are strictly for servergame to clientgame communication
|
||||
|
@ -1107,7 +1082,7 @@ typedef enum {
|
|||
|
||||
#define RESERVED_CONFIGSTRINGS 2 // game can't modify below this, only the system can
|
||||
|
||||
#define MAX_GAMESTATE_CHARS 16000
|
||||
#define MAX_GAMESTATE_CHARS 64000 // when increasing the gamestate MAX_CONFIGSTRINGS and MAX_MSGLEN also have to be increased
|
||||
typedef struct {
|
||||
int stringOffsets[MAX_CONFIGSTRINGS];
|
||||
char stringData[MAX_GAMESTATE_CHARS];
|
||||
|
@ -1121,12 +1096,7 @@ typedef struct {
|
|||
#define MAX_PERSISTANT 16
|
||||
#define MAX_POWERUPS 16
|
||||
#define MAX_WEAPONS 16
|
||||
|
||||
#ifdef ELITEFORCE
|
||||
#define MAX_PS_EVENTS 4
|
||||
#else
|
||||
#define MAX_PS_EVENTS 2
|
||||
#endif
|
||||
|
||||
#define PS_PMOVEFRAMECOUNTBITS 6
|
||||
|
||||
|
@ -1150,11 +1120,9 @@ typedef struct playerState_s {
|
|||
vec3_t origin;
|
||||
vec3_t velocity;
|
||||
int weaponTime;
|
||||
#ifdef ELITEFORCE
|
||||
int rechargeTime; // for the phaser
|
||||
short useTime; // use debounce
|
||||
int introTime; // for the holodoor
|
||||
#endif
|
||||
int rechargeTime; // for the phaser
|
||||
short useTime; // use debounce
|
||||
int introTime; // for the holodoor
|
||||
int gravity;
|
||||
int speed;
|
||||
int delta_angles[3]; // add to command angles to get view direction
|
||||
|
@ -1173,10 +1141,6 @@ typedef struct playerState_s {
|
|||
// when at rest, the value will remain unchanged
|
||||
// used to twist the legs during strafing
|
||||
|
||||
#ifndef ELITEFORCE
|
||||
vec3_t grapplePoint; // location of grapple to pull towards if PMF_GRAPPLE_PULL
|
||||
#endif
|
||||
|
||||
int eFlags; // copied to entityState_t->eFlags
|
||||
|
||||
int eventSequence; // pmove generated events
|
||||
|
@ -1199,27 +1163,15 @@ typedef struct playerState_s {
|
|||
int damageYaw;
|
||||
int damagePitch;
|
||||
int damageCount;
|
||||
#ifdef ELITEFORCE
|
||||
int damageShieldCount;
|
||||
#endif
|
||||
|
||||
int stats[MAX_STATS];
|
||||
int persistant[MAX_PERSISTANT]; // stats that aren't cleared on death
|
||||
int powerups[MAX_POWERUPS]; // level.time that the powerup runs out
|
||||
int ammo[MAX_WEAPONS];
|
||||
|
||||
#ifndef ELITEFORCE
|
||||
int generic1;
|
||||
int loopSound;
|
||||
int jumppad_ent; // jumppad entity hit this frame
|
||||
#endif
|
||||
|
||||
// not communicated over the net at all
|
||||
int ping; // server to game info for scoreboard
|
||||
#ifndef ELITEFORCE
|
||||
int pmove_framecount; // FIXME: don't transmit over the network
|
||||
int jumppad_frame;
|
||||
#endif
|
||||
int entityEventSequence;
|
||||
} playerState_t;
|
||||
|
||||
|
@ -1254,7 +1206,6 @@ typedef struct playerState_s {
|
|||
// then BUTTON_WALKING should be set
|
||||
|
||||
// usercmd_t is sent to the server each client frame
|
||||
#ifdef ELITEFORCE
|
||||
typedef struct usercmd_s {
|
||||
int serverTime;
|
||||
byte buttons;
|
||||
|
@ -1262,15 +1213,7 @@ typedef struct usercmd_s {
|
|||
int angles[3];
|
||||
signed char forwardmove, rightmove, upmove;
|
||||
} usercmd_t;
|
||||
#else
|
||||
typedef struct usercmd_s {
|
||||
int serverTime;
|
||||
int angles[3];
|
||||
int buttons;
|
||||
byte weapon; // weapon
|
||||
signed char forwardmove, rightmove, upmove;
|
||||
} usercmd_t;
|
||||
#endif
|
||||
|
||||
//===================================================================
|
||||
|
||||
// if entityState->solid == SOLID_BMODEL, modelindex is an inline model number
|
||||
|
@ -1340,10 +1283,6 @@ typedef struct entityState_s {
|
|||
int weapon; // determines weapon and flash model, etc
|
||||
int legsAnim; // mask off ANIM_TOGGLEBIT
|
||||
int torsoAnim; // mask off ANIM_TOGGLEBIT
|
||||
|
||||
#ifndef ELITEFORCE
|
||||
int generic1;
|
||||
#endif
|
||||
} entityState_t;
|
||||
|
||||
typedef enum {
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue