engine.h

//
// HPB_bot - botman's High Ping Bastard bot
//
// (http://planethalflife.com/botman/)
//
// engine.h
//
ifndef ENGINE_H
define ENGINE_H
// engine prototypes (from engine\eiface.h)…
int pfnPrecacheModel( char* s );
int pfnPrecacheSound( char* s );
void pfnSetModel( edict_t *e, const char *m );
int pfnModelIndex( const char *m );
int pfnModelFrames( int modelIndex );
void pfnSetSize( edict_t *e, const float *rgflMin, const float *rgflMax );
void pfnChangeLevel( char* s1, char* s2 );
void pfnGetSpawnParms( edict_t *ent );
void pfnSaveSpawnParms( edict_t *ent );
float pfnVecToYaw( const float *rgflVector );
void pfnVecToAngles( const float *rgflVectorIn, float *rgflVectorOut );
void pfnMoveToOrigin( edict_t *ent, const float pflGoal, float dist, int iMoveType ); void pfnChangeYaw( edict_t ent );
void pfnChangePitch( edict_t* ent );
edict_t* pfnFindEntityByString( edict_t *pEdictStartSearchAfter, const char *pszField, const char pszValue ); int pfnGetEntityIllum( edict_t pEnt );
edict_t* pfnFindEntityInSphere( edict_t *pEdictStartSearchAfter, const float *org, float rad );
edict_t* pfnFindClientInPVS( edict_t pEdict ); edict_t pfnEntitiesInPVS( edict_t *pplayer );
void pfnMakeVectors( const float *rgflVector );
void pfnAngleVectors( const float *rgflVector, float *forward, float *right, float *up );
edict_t* pfnCreateEntity( void );
void pfnRemoveEntity( edict_t* e );
edict_t* pfnCreateNamedEntity( int className );
void pfnMakeStatic( edict_t *ent );
int pfnEntIsOnFloor( edict_t *e );
int pfnDropToFloor( edict_t* e );
int pfnWalkMove( edict_t *ent, float yaw, float dist, int iMode );
void pfnSetOrigin( edict_t *e, const float *rgflOrigin );
void pfnEmitSound( edict_t *entity, int channel, const char sample, /int*/float volume, float attenuation, int fFlags, int pitch );
void pfnEmitAmbientSound( edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch );
void pfnTraceLine( const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr );
void pfnTraceToss( edict_t* pent, edict_t* pentToIgnore, TraceResult *ptr );
int pfnTraceMonsterHull( edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr );
void pfnTraceHull( const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr );
void pfnTraceModel( const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr );
const char *pfnTraceTexture( edict_t *pTextureEntity, const float *v1, const float *v2 );
void pfnTraceSphere( const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr );
void pfnGetAimVector( edict_t* ent, float speed, float rgflReturn ); void pfnServerCommand( char str );
void pfnServerExecute( void );
void pfnClientCommand( edict_t* pEdict, char* szFmt, … );
void pfnParticleEffect( const float *org, const float *dir, float color, float count );
void pfnLightStyle( int style, char* val );
int pfnDecalIndex( const char *name );
int pfnPointContents( const float *rgflVector );
void pfnMessageBegin( int msg_dest, int msg_type, const float *pOrigin, edict_t *ed );
void pfnMessageEnd( void );
void pfnWriteByte( int iValue );
void pfnWriteChar( int iValue );
void pfnWriteShort( int iValue );
void pfnWriteLong( int iValue );
void pfnWriteAngle( float flValue );
void pfnWriteCoord( float flValue );
void pfnWriteString( const char *sz );
void pfnWriteEntity( int iValue );
void pfnCVarRegister( cvar_t *pCvar );
float pfnCVarGetFloat( const char szVarName ); const char pfnCVarGetString( const char *szVarName );
void pfnCVarSetFloat( const char *szVarName, float flValue );
void pfnCVarSetString( const char *szVarName, const char *szValue );
void pfnAlertMessage( ALERT_TYPE atype, char *szFmt, … );
void pfnEngineFprintf( FILE *pfile, char szFmt, … ); void pfnPvAllocEntPrivateData( edict_t pEdict, long cb ); void pfnPvEntPrivateData( edict_t *pEdict );
void pfnFreeEntPrivateData( edict_t *pEdict );
const char* pfnSzFromIndex( int iString );
int pfnAllocString( const char szValue ); struct entvars_s pfnGetVarsOfEnt( edict_t pEdict ); edict_t pfnPEntityOfEntOffset( int iEntOffset );
int pfnEntOffsetOfPEntity( const edict_t *pEdict );
int pfnIndexOfEdict( const edict_t *pEdict );
edict_t* pfnPEntityOfEntIndex( int iEntIndex );
edict_t* pfnFindEntityByVars( struct entvars_s* pvars );
void* pfnGetModelPtr( edict_t* pEdict );
int pfnRegUserMsg( const char pszName, int iSize ); void pfnAnimationAutomove( const edict_t pEdict, float flTime );
void pfnGetBonePosition( const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles );
unsigned long pfnFunctionFromName( const char *pName );
const char *pfnNameForFunction( unsigned long function );
void pfnClientPrintf( edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg );
void pfnServerPrint( const char *szMsg );
const char *pfnCmd_Args( void );
const char *pfnCmd_Argv( int argc );
int pfnCmd_Argc( void );
void pfnGetAttachment( const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles );
void pfnCRC32_Init( CRC32_t *pulCRC );
void pfnCRC32_ProcessBuffer( CRC32_t *pulCRC, void *p, int len );
void pfnCRC32_ProcessByte( CRC32_t *pulCRC, unsigned char ch );
CRC32_t pfnCRC32_Final( CRC32_t pulCRC );
long pfnRandomLong( long lLow, long lHigh );
float pfnRandomFloat( float flLow, float flHigh );
void pfnSetView( const edict_t *pClient, const edict_t *pViewent );
float pfnTime( void );
void pfnCrosshairAngle( const edict_t *pClient, float pitch, float yaw );
byte * pfnLoadFileForMe( char *filename, int *pLength );
void pfnFreeFile( void *buffer );
void pfnEndSection( const char *pszSectionName );
int pfnCompareFileTime( char *filename1, char *filename2, int *iCompare );
void pfnGetGameDir( char *szGetGameDir );
void pfnCvar_RegisterVariable( cvar_t *variable );
void pfnFadeClientVolume( const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds );
void pfnSetClientMaxspeed( const edict_t *pEdict, float fNewMaxspeed );
edict_t * pfnCreateFakeClient( const char *netname );
void pfnRunPlayerMove( edict_t *fakeclient, const float viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec ); int pfnNumberOfEntities( void ); char pfnGetInfoKeyBuffer( edict_t e ); char pfnInfoKeyValue( char *infobuffer, char *key );
void pfnSetKeyValue( char *infobuffer, char *key, char *value );
void pfnSetClientKeyValue( int clientIndex, char *infobuffer, char *key, char *value );
int pfnIsMapValid( char *filename );
void pfnStaticDecal( const float *origin, int decalIndex, int entityIndex, int modelIndex );
int pfnPrecacheGeneric( char* s );
int pfnGetPlayerUserId( edict_t *e );
void pfnBuildSoundMsg( edict_t *entity, int channel, const char sample, /int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed );
int pfnIsDedicatedServer( void );
cvar_t *pfnCVarGetPointer( const char *szVarName );
unsigned int pfnGetPlayerWONId( edict_t *e );
void pfnInfo_RemoveKey( char *s, const char *key );
const char *pfnGetPhysicsKeyValue( const edict_t *pClient, const char *key );
void pfnSetPhysicsKeyValue( const edict_t *pClient, const char *key, const char *value );
const char *pfnGetPhysicsInfoString( const edict_t *pClient );
unsigned short pfnPrecacheEvent( int type, const char*psz );
void pfnPlaybackEvent( int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 );
unsigned char *pfnSetFatPVS( float *org );
unsigned char *pfnSetFatPAS( float *org );
int pfnCheckVisibility ( const edict_t *entity, unsigned char *pset );
void pfnDeltaSetField( struct delta_s *pFields, const char *fieldname );
void pfnDeltaUnsetField( struct delta_s *pFields, const char *fieldname );
void pfnDeltaAddEncoder( char name, void (conditionalencode)( struct delta_s *pFields, const unsigned char *from, const unsigned char *to ) );
int pfnGetCurrentPlayer( void );
int pfnCanSkipPlayer( const edict_t *player );
int pfnDeltaFindField( struct delta_s *pFields, const char *fieldname );
void pfnDeltaSetFieldByIndex( struct delta_s *pFields, int fieldNumber );
void pfnDeltaUnsetFieldByIndex( struct delta_s *pFields, int fieldNumber );
void pfnSetGroupMask( int mask, int op );
int pfnCreateInstancedBaseline( int classname, struct entity_state_s *baseline );
void pfnCvar_DirectSet( struct cvar_s *var, char *value );
void pfnForceUnmodified( FORCE_TYPE type, float *mins, float *maxs, const char *filename );
void pfnGetPlayerStats( const edict_t *pClient, int *ping, int *packet_loss );
endif // ENGINE_H