79 lines
3.9 KiB
79 lines
3.9 KiB
/* |
|
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
|
|
|