rendered paste bodytypedef struct cl_enginefuncs_s{ // sprite handlers HSPRITE ( _cdecl *pfnSPR_Load ) ( const char *szPicName ); int ( _cdecl *pfnSPR_Frames ) ( HSPRITE hPic ); int ( _cdecl *pfnSPR_Height ) ( HSPRITE hPic, int frame ); int ( _cdecl *pfnSPR_Width ) ( HSPRITE hPic, int frame ); void ( _cdecl *pfnSPR_Set ) ( HSPRITE hPic, int r, int g, int b ); void ( _cdecl *pfnSPR_Draw ) ( int frame, int x, int y, const wrect_t *prc ); void ( _cdecl *pfnSPR_DrawHoles ) ( int frame, int x, int y, const wrect_t *prc ); void ( _cdecl *pfnSPR_DrawAdditive ) ( int frame, int x, int y, const wrect_t *prc ); void ( _cdecl *pfnSPR_EnableScissor ) ( int x, int y, int width, int height ); void ( _cdecl *pfnSPR_DisableScissor ) ( void ); client_sprite_t *( _cdecl *pfnSPR_GetList ) ( char *psz, int *piCount ); // screen handlers void ( _cdecl *pfnFillRGBA ) ( int x, int y, int width, int height, int r, int g, int b, int a ); int ( _cdecl *pfnGetScreenInfo ) ( SCREENINFO *pscrinfo ); void ( _cdecl *pfnSetCrosshair ) ( HSPRITE hspr, wrect_t rc, int r, int g, int b ); // cvar handlers struct cvar_s *( _cdecl *pfnRegisterVariable ) ( char *szName, char *szValue, int flags ); float ( _cdecl *pfnGetCvarFloat ) ( char *szName ); char* ( _cdecl *pfnGetCvarString ) ( char *szName ); // command handlers int ( _cdecl *pfnAddCommand ) ( char *cmd_name, void (*function)(void) ); int ( _cdecl *pfnHookUserMsg ) ( char *szMsgName, pfnUserMsgHook pfn ); int ( _cdecl *pfnServerCmd ) ( char *szCmdString ); int ( _cdecl *pfnClientCmd ) ( char *szCmdString ); void ( _cdecl *pfnGetPlayerInfo ) ( int ent_num, hud_player_info_t *pinfo ); // sound handlers void ( _cdecl *pfnPlaySoundByName ) ( char *szSound, float volume ); void ( _cdecl *pfnPlaySoundByIndex ) ( int iSound, float volume ); // vector helpers void ( _cdecl *pfnAngleVectors ) ( const float * vecAngles, float * forward, float * right, float * up ); // text message system client_textmessage_t *( _cdecl *pfnTextMessageGet ) ( const char *pName ); int ( _cdecl *pfnDrawCharacter ) ( int x, int y, int number, int r, int g, int b ); int ( _cdecl *pfnDrawConsoleString ) ( int x, int y, char *string ); void ( _cdecl *pfnDrawSetTextColor ) ( float r, float g, float b ); void ( _cdecl *pfnDrawConsoleStringLen )( const char *string, int *length, int *height ); void ( _cdecl *pfnConsolePrint ) ( const char *string ); void ( _cdecl *pfnCenterPrint ) ( const char *string );// Added for user input processing int ( _cdecl *GetWindowCenterX ) ( void ); int ( _cdecl *GetWindowCenterY ) ( void ); void ( _cdecl *GetViewAngles ) ( float * ); void ( _cdecl *SetViewAngles ) ( float * ); int ( _cdecl *GetMaxClients ) ( void ); void ( _cdecl *Cvar_SetValue ) ( char *cvar, float value ); int ( _cdecl *Cmd_Argc) (void); char *( _cdecl *Cmd_Argv ) ( int arg ); void ( _cdecl *Con_Printf ) ( char *fmt, ... ); void ( _cdecl *Con_DPrintf ) ( char *fmt, ... ); void ( _cdecl *Con_NPrintf ) ( int pos, char *fmt, ... ); void ( _cdecl *Con_NXPrintf ) ( struct con_nprint_s *info, char *fmt, ... ); const char *( _cdecl *PhysInfo_ValueForKey ) ( const char *key ); const char *( _cdecl *ServerInfo_ValueForKey )( const char *key ); float ( _cdecl *GetClientMaxspeed ) ( void ); int ( _cdecl *CheckParm ) ( char *parm, char **ppnext ); void ( _cdecl *Key_Event ) ( int key, int down ); void ( _cdecl *GetMousePosition ) ( int *mx, int *my ); int ( _cdecl *IsNoClipping ) ( void ); struct cl_entity_s *( _cdecl *GetLocalPlayer ) ( void ); struct cl_entity_s *( _cdecl *GetViewModel ) ( void ); struct cl_entity_s *( _cdecl *GetEntityByIndex ) ( int idx ); float ( _cdecl *GetClientTime ) ( void ); void ( _cdecl *V_CalcShake ) ( void ); void ( _cdecl *V_ApplyShake ) ( float *origin, float *angles, float factor ); int ( _cdecl *PM_PointContents ) ( float *point, int *truecontents ); int ( _cdecl *PM_WaterEntity ) ( float *p ); struct pmtrace_s *( _cdecl *PM_TraceLine ) ( float *start, float *end, int flags, int usehull, int ignore_pe ); struct model_s *( _cdecl *CL_LoadModel ) ( const char *modelname, int *index ); int ( _cdecl *CL_CreateVisibleEntity ) ( int type, struct cl_entity_s *ent ); const struct model_s * ( _cdecl *GetSpritePointer ) ( HSPRITE hSprite ); void ( _cdecl *pfnPlaySoundByNameAtLocation ) ( char *szSound, float volume, float *origin ); unsigned short ( _cdecl *pfnPrecacheEvent ) ( int type, const char* psz ); void ( _cdecl *pfnPlaybackEvent ) ( int flags, const struct edict_s *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ); void ( _cdecl *pfnWeaponAnim ) ( int iAnim, int body ); float ( _cdecl *pfnRandomFloat ) ( float flLow, float flHigh ); long ( _cdecl *pfnRandomLong ) ( long lLow, long lHigh ); void ( _cdecl *pfnHookEvent ) ( char *name, void ( *pfnEvent )( struct event_args_s *args ) ); int ( _cdecl *Con_IsVisible) (); const char *( _cdecl *pfnGetGameDirectory ) ( void ); struct cvar_s *( _cdecl *pfnGetCvarPointer ) ( const char *szName ); const char *( _cdecl *Key_LookupBinding ) ( const char *pBinding ); const char *( _cdecl *pfnGetLevelName ) ( void ); void ( _cdecl *pfnGetScreenFade ) ( struct screenfade_s *fade ); void ( _cdecl *pfnSetScreenFade ) ( struct screenfade_s *fade ); void *( _cdecl *VGui_GetPanel ) ( ); void ( _cdecl *VGui_ViewportPaintBackground ) (int extents[4]); byte* ( _cdecl *COM_LoadFile) ( char *path, int usehunk, int *pLength ); char* ( _cdecl *COM_ParseFile) ( char *data, char *token ); void ( _cdecl *COM_FreeFile) ( void *buffer ); struct triangleapi_s *pTriAPI; struct efx_api_s *pEfxAPI; struct event_api_s *pEventAPI; struct demo_api_s *pDemoAPI; struct net_api_s *pNetAPI; struct IVoiceTweak_s *pVoiceTweak; /*struct triangleapi_s ( _cdecl *pTriAPI; ) struct efx_api_s ( _cdecl *pEfxAPI; ) struct event_api_s ( _cdecl *pEventAPI; ) struct demo_api_s ( _cdecl *pDemoAPI; ) struct net_api_s ( _cdecl *pNetAPI; ) struct IVoiceTweak_s ( _cdecl *pVoiceTweak; )*/ // returns 1 if the client is a spectator only (connected to a proxy), 0 otherwise or 2 if in dev_overview mode int ( _cdecl *IsSpectateOnly ) ( void ); struct model_s *( _cdecl *LoadMapSprite ) ( const char *filename ); // file search functions void ( _cdecl *COM_AddAppDirectoryToSearchPath ) ( const char *pszBaseDir, const char *appName ); int ( _cdecl *COM_ExpandFilename) ( const char *fileName, char *nameOutBuffer, int nameOutBufferSize ); // User info // playerNum is in the range (1, MaxClients) // returns NULL if player doesn't exit // returns "" if no value is set const char *( _cdecl *PlayerInfo_ValueForKey )( int playerNum, const char *key ); void ( _cdecl *PlayerInfo_SetValueForKey )( const char *key, const char *value ); // Gets a unique ID for the specified player. This is the same even if you see the player on a different server. // iPlayer is an entity index, so client 0 would use iPlayer=1. // Returns false if there is no player on the server in the specified slot. qboolean ( _cdecl *GetPlayerUniqueID)(int iPlayer, char playerID[16]); // TrackerID access int ( _cdecl *GetTrackerIDForPlayer)(int playerSlot); int ( _cdecl *GetPlayerForTrackerID)(int trackerID); // Same as pfnServerCmd, but the message goes in the unreliable stream so it can't clog the net stream // (but it might not get there). int ( _cdecl *pfnServerCmdUnreliable )( char *szCmdString );} cl_enginefunc_t;