etlegacy/etlegacy — Issue #2: Remove the botlib 
Author: IR4T4
Created: 2012-02-29 20:43:03+00:00
State: open

As far as I know the botlib isn't used by any ET mod. Please remove.

Note: Keep in mind some 'botlib' traps are still required:
BOTLIB_PC_LOAD_SOURCE = 579,
BOTLIB_PC_FREE_SOURCE,
BOTLIB_PC_READ_TOKEN,
BOTLIB_PC_SOURCE_FILE_AND_LINE,
BOTLIB_PC_UNREAD_TOKEN

Here is a list of used system traps:
```C
//
// system traps provided by the main engine
//
typedef enum {
//============== general Quake services ==================

G_PRINT = 0,	// ( 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_CVAR_LATCHEDVARIABLESTRINGBUFFER,

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_RENAME,
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

#ifdef OMNIBOTS
// IRATA: used by OmniBot
G_BOT_ALLOCATE_CLIENT = 36,	// ( int clientNum );
.#endif

G_GET_USERCMD = 38,	// ( 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,
// MrE:

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 );
// collision detection using capsule against all linked entities

G_ENTITY_CONTACTCAPSULE,	// ( const vec3_t mins, const vec3_t maxs, const gentity_t *ent );
// perform an exact check against inline brush models of non-square shape
// done.

G_GETTAG,

G_REGISTERTAG,
// Gordon: load a serverside tag

G_REGISTERSOUND,	// xkan, 10/28/2002 - register the sound
G_GET_SOUND_LENGTH,	// xkan, 10/28/2002 - get the length of the sound

#ifdef OMNIBOTS
// 200
BOTLIB_GET_CONSOLE_MESSAGE = 210, // ( int client, char *message, int size );
BOTLIB_USER_COMMAND = 211,	// ( int client, usercmd_t *ucmd );

// 400
BOTLIB_EA_COMMAND = 407,
#endif

// 500
// files
BOTLIB_PC_LOAD_SOURCE = 579,
BOTLIB_PC_FREE_SOURCE,
BOTLIB_PC_READ_TOKEN,
BOTLIB_PC_SOURCE_FILE_AND_LINE,
BOTLIB_PC_UNREAD_TOKEN,
#ifdef PUNKBUSTER
// PB_STAT_REPORT = 584,
#endif
// zinx
G_SENDMESSAGE = 585,
G_MESSAGESTATUS,
// -zinx
} gameImport_t;

```