mirror of
https://github.com/FWGS/xash3d-fwgs
synced 2024-11-25 11:19:59 +01:00
80 lines
3.9 KiB
C
80 lines
3.9 KiB
C
/*
|
|
cdll_exp.h - exports for client
|
|
Copyright (C) 2013 Uncle Mike
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
*/
|
|
#ifndef CDLL_EXP_H
|
|
#define CDLL_EXP_H
|
|
|
|
struct tempent_s;
|
|
struct usercmd_s;
|
|
struct physent_s;
|
|
struct playermove_s;
|
|
struct mstudioevent_s;
|
|
struct engine_studio_api_s;
|
|
struct r_studio_interface_s;
|
|
|
|
// NOTE: ordering is important!
|
|
typedef struct cldll_func_s
|
|
{
|
|
int (*pfnInitialize)( cl_enginefunc_t *pEnginefuncs, int iVersion );
|
|
void (*pfnInit)( void );
|
|
int (*pfnVidInit)( void );
|
|
int (*pfnRedraw)( float flTime, int intermission );
|
|
int (*pfnUpdateClientData)( client_data_t *cdata, float flTime );
|
|
void (*pfnReset)( void );
|
|
void (*pfnPlayerMove)( struct playermove_s *ppmove, int server );
|
|
void (*pfnPlayerMoveInit)( struct playermove_s *ppmove );
|
|
char (*pfnPlayerMoveTexture)( char *name );
|
|
void (*IN_ActivateMouse)( void );
|
|
void (*IN_DeactivateMouse)( void );
|
|
void (*IN_MouseEvent)( int mstate );
|
|
void (*IN_ClearStates)( void );
|
|
void (*IN_Accumulate)( void );
|
|
void (*CL_CreateMove)( float frametime, struct usercmd_s *cmd, int active );
|
|
int (*CL_IsThirdPerson)( void );
|
|
void (*CL_CameraOffset)( float *ofs ); // unused
|
|
void *(*KB_Find)( const char *name );
|
|
void (*CAM_Think)( void ); // camera stuff
|
|
void (*pfnCalcRefdef)( ref_params_t *pparams );
|
|
int (*pfnAddEntity)( int type, cl_entity_t *ent, const char *modelname );
|
|
void (*pfnCreateEntities)( void );
|
|
void (*pfnDrawNormalTriangles)( void );
|
|
void (*pfnDrawTransparentTriangles)( void );
|
|
void (*pfnStudioEvent)( const struct mstudioevent_s *event, const cl_entity_t *entity );
|
|
void (*pfnPostRunCmd)( struct local_state_s *from, struct local_state_s *to, usercmd_t *cmd, int runfuncs, double time, unsigned int random_seed );
|
|
void (*pfnShutdown)( void );
|
|
void (*pfnTxferLocalOverrides)( entity_state_t *state, const clientdata_t *client );
|
|
void (*pfnProcessPlayerState)( entity_state_t *dst, const entity_state_t *src );
|
|
void (*pfnTxferPredictionData)( entity_state_t *ps, const entity_state_t *pps, clientdata_t *pcd, const clientdata_t *ppcd, weapon_data_t *wd, const weapon_data_t *pwd );
|
|
void (*pfnDemo_ReadBuffer)( int size, byte *buffer );
|
|
int (*pfnConnectionlessPacket)( const struct netadr_s *net_from, const char *args, char *buffer, int *size );
|
|
int (*pfnGetHullBounds)( int hullnumber, float *mins, float *maxs );
|
|
void (*pfnFrame)( double time );
|
|
int (*pfnKey_Event)( int eventcode, int keynum, const char *pszCurrentBinding );
|
|
void (*pfnTempEntUpdate)( double frametime, double client_time, double cl_gravity, struct tempent_s **ppTempEntFree, struct tempent_s **ppTempEntActive, int ( *Callback_AddVisibleEntity )( cl_entity_t *pEntity ), void ( *Callback_TempEntPlaySound )( struct tempent_s *pTemp, float damp ));
|
|
cl_entity_t *(*pfnGetUserEntity)( int index );
|
|
void (*pfnVoiceStatus)( int entindex, qboolean bTalking );
|
|
void (*pfnDirectorMessage)( int iSize, void *pbuf );
|
|
int (*pfnGetStudioModelInterface)( int version, struct r_studio_interface_s **ppinterface, struct engine_studio_api_s *pstudio );
|
|
void (*pfnChatInputPosition)( int *x, int *y );
|
|
// Xash3D extension
|
|
int (*pfnGetRenderInterface)( int version, render_api_t *renderfuncs, render_interface_t *callback );
|
|
void (*pfnClipMoveToEntity)( struct physent_s *pe, const vec3_t start, vec3_t mins, vec3_t maxs, const vec3_t end, struct pmtrace_s *tr );
|
|
// Xash3D FWGS extension
|
|
int (*pfnTouchEvent)( int type, int fingerID, float x, float y, float dx, float dy );
|
|
void (*pfnMoveEvent)( float forwardmove, float sidemove );
|
|
void (*pfnLookEvent)( float relyaw, float relpitch );
|
|
} cldll_func_t;
|
|
|
|
#endif//CDLL_EXP_H
|