-
Notifications
You must be signed in to change notification settings - Fork 15
/
cdll_int.h
467 lines (423 loc) · 21.4 KB
/
cdll_int.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
/***
*
* Copyright (c) 1999, Valve LLC. All rights reserved.
*
* This product contains software technology licensed from Id
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
* All Rights Reserved.
*
* Use, distribution, and modification of this source code and/or resulting
* object code is restricted to non-commercial enhancements to products from
* Valve LLC. All other use, distribution, or modification is prohibited
* without written permission from Valve LLC.
*
****/
//
// cdll_int.h
//
// 4-23-98
// JOHN: client dll interface declarations
//
#ifndef CDLL_INT_H
#define CDLL_INT_H
#ifdef __cplusplus
extern "C" {
#endif
#include "const.h"
#include "steam/steamtypes.h"
#include "ref_params.h"
#include "r_efx.h"
#include "studio_event.h"
// this file is included by both the engine and the client-dll,
// so make sure engine declarations aren't done twice
typedef int HSPRITE; // handle to a graphic
#define SCRINFO_SCREENFLASH 1
#define SCRINFO_STRETCHED 2
typedef struct SCREENINFO_s
{
int iSize;
int iWidth;
int iHeight;
int iFlags;
int iCharHeight;
short charWidths[256];
} SCREENINFO;
typedef struct client_data_s
{
// fields that cannot be modified (ie. have no effect if changed)
vec3_t origin;
// fields that can be changed by the cldll
vec3_t viewangles;
int iWeaponBits;
// int iAccessoryBits;
float fov; // field of view
} client_data_t;
typedef struct client_sprite_s
{
char szName[64];
char szSprite[64];
int hspr;
int iRes;
wrect_t rc;
} client_sprite_t;
typedef struct hud_player_info_s
{
char *name;
short ping;
byte thisplayer; // TRUE if this is the calling player
byte spectator;
byte packetloss;
char *model;
short topcolor;
short bottomcolor;
uint64 m_nSteamID;
} hud_player_info_t;
typedef struct module_s
{
unsigned char ucMD5Hash[16]; // hash over code
qboolean fLoaded; // true if successfully loaded
} module_t;
#ifndef IN_BUTTONS_H
#include "in_buttons.h"
#endif
#define CLDLL_INTERFACE_VERSION 7
extern void LoadSecurityModuleFromDisk(char * pszDllName);
extern void LoadSecurityModuleFromMemory( unsigned char * pCode, int nSize );
extern void CloseSecurityModule();
extern void ClientDLL_Init( void ); // from cdll_int.c
extern void ClientDLL_Shutdown( void );
extern void ClientDLL_HudInit( void );
extern void ClientDLL_HudVidInit( void );
extern void ClientDLL_UpdateClientData( void );
extern void ClientDLL_Frame( double time );
extern void ClientDLL_HudRedraw( int intermission );
extern void ClientDLL_MoveClient( struct playermove_s *ppmove );
extern void ClientDLL_ClientMoveInit( struct playermove_s *ppmove );
extern char ClientDLL_ClientTextureType( char *name );
extern void ClientDLL_CreateMove( float frametime, struct usercmd_s *cmd, int active );
extern void ClientDLL_ActivateMouse( void );
extern void ClientDLL_DeactivateMouse( void );
extern void ClientDLL_MouseEvent( int mstate );
extern void ClientDLL_ClearStates( void );
extern int ClientDLL_IsThirdPerson( void );
extern void ClientDLL_GetCameraOffsets( float *ofs );
extern int ClientDLL_GraphKeyDown( void );
extern struct kbutton_s *ClientDLL_FindKey( const char *name );
extern void ClientDLL_CAM_Think( void );
extern void ClientDLL_IN_Accumulate( void );
extern void ClientDLL_CalcRefdef( struct ref_params_s *pparams );
extern int ClientDLL_AddEntity( int type, struct cl_entity_s *ent );
extern void ClientDLL_CreateEntities( void );
extern void ClientDLL_DrawNormalTriangles( void );
extern void ClientDLL_DrawTransparentTriangles( void );
extern void ClientDLL_StudioEvent( const struct mstudioevent_s *event, const struct cl_entity_s *entity );
extern void ClientDLL_PostRunCmd( struct local_state_s *from, struct local_state_s *to, struct usercmd_s *cmd, int runfuncs, double time, unsigned int random_seed );
extern void ClientDLL_TxferLocalOverrides( struct entity_state_s *state, const struct clientdata_s *client );
extern void ClientDLL_ProcessPlayerState( struct entity_state_s *dst, const struct entity_state_s *src );
extern void ClientDLL_TxferPredictionData ( struct entity_state_s *ps, const struct entity_state_s *pps, struct clientdata_s *pcd, const struct clientdata_s *ppcd, struct weapon_data_s *wd, const struct weapon_data_s *pwd );
extern void ClientDLL_ReadDemoBuffer( int size, unsigned char *buffer );
extern int ClientDLL_ConnectionlessPacket( const struct netadr_s *net_from, const char *args, char *response_buffer, int *response_buffer_size );
extern int ClientDLL_GetHullBounds( int hullnumber, float *mins, float *maxs );
extern void ClientDLL_VGui_ConsolePrint(const char* text);
extern int ClientDLL_Key_Event( int down, int keynum, const char *pszCurrentBinding );
extern void ClientDLL_TempEntUpdate( double ft, double ct, double grav, struct tempent_s **ppFreeTE, struct tempent_s **ppActiveTE, int ( *addTEntity )( struct cl_entity_s *pEntity ), void ( *playTESound )( struct tempent_s *pTemp, float damp ) );
extern struct cl_entity_s *ClientDLL_GetUserEntity( int index );
extern void ClientDLL_VoiceStatus(int entindex, qboolean bTalking);
extern void ClientDLL_DirectorMessage( int iSize, void *pbuf );
extern void ClientDLL_ChatInputPosition( int *x, int *y );
//#include "server.h" // server_static_t define for apiproxy
#include "APIProxy.h"
extern cldll_func_t cl_funcs;
extern cl_enginefunc_t cl_engsrcProxies;
extern cl_enginefunc_dst_t g_engdstAddrs;
// Module exports
extern modfuncs_t g_modfuncs;
extern module_t g_module;
// Macros for exported engine funcs
#define RecEngSPR_Load(a) (g_engdstAddrs.pfnSPR_Load(&a))
#define RecEngSPR_Frames(a) (g_engdstAddrs.pfnSPR_Frames(&a))
#define RecEngSPR_Height(a, b) (g_engdstAddrs.pfnSPR_Height(&a, &b))
#define RecEngSPR_Width(a, b) (g_engdstAddrs.pfnSPR_Width(&a, &b))
#define RecEngSPR_Set(a, b, c, d) (g_engdstAddrs.pfnSPR_Set(&a, &b, &c, &d))
#define RecEngSPR_Draw(a, b, c, d) (g_engdstAddrs.pfnSPR_Draw(&a, &b, &c, &d))
#define RecEngSPR_DrawHoles(a, b, c, d) (g_engdstAddrs.pfnSPR_DrawHoles(&a, &b, &c, &d))
#define RecEngSPR_DrawAdditive(a, b, c, d) (g_engdstAddrs.pfnSPR_DrawAdditive(&a, &b, &c, &d))
#define RecEngSPR_EnableScissor(a, b, c, d) (g_engdstAddrs.pfnSPR_EnableScissor(&a, &b, &c, &d))
#define RecEngSPR_DisableScissor() (g_engdstAddrs.pfnSPR_DisableScissor())
#define RecEngSPR_GetList(a, b) (g_engdstAddrs.pfnSPR_GetList(&a, &b))
#define RecEngDraw_FillRGBA(a, b, c, d, e, f, g, h) (g_engdstAddrs.pfnFillRGBA(&a, &b, &c, &d, &e, &f, &g, &h))
#define RecEnghudGetScreenInfo(a) (g_engdstAddrs.pfnGetScreenInfo(&a))
#define RecEngSetCrosshair(a, b, c, d, e) (g_engdstAddrs.pfnSetCrosshair(&a, &b, &c, &d, &e))
#define RecEnghudRegisterVariable(a, b, c) (g_engdstAddrs.pfnRegisterVariable(&a, &b, &c))
#define RecEnghudGetCvarFloat(a) (g_engdstAddrs.pfnGetCvarFloat(&a))
#define RecEnghudGetCvarString(a) (g_engdstAddrs.pfnGetCvarString(&a))
#define RecEnghudAddCommand(a, b) (g_engdstAddrs.pfnAddCommand(&a, &b))
#define RecEnghudHookUserMsg(a, b) (g_engdstAddrs.pfnHookUserMsg(&a, &b))
#define RecEnghudServerCmd(a) (g_engdstAddrs.pfnServerCmd(&a))
#define RecEnghudClientCmd(a) (g_engdstAddrs.pfnClientCmd(&a))
#define RecEngPrimeMusicStream(a, b) (g_engdstAddrs.pfnPrimeMusicStream(&a, &b))
#define RecEnghudGetPlayerInfo(a, b) (g_engdstAddrs.pfnGetPlayerInfo(&a, &b))
#define RecEnghudPlaySoundByName(a, b) (g_engdstAddrs.pfnPlaySoundByName(&a, &b))
#define RecEnghudPlaySoundByNameAtPitch(a, b, c) (g_engdstAddrs.pfnPlaySoundByNameAtPitch(&a, &b, &c))
#define RecEnghudPlaySoundVoiceByName(a, b) (g_engdstAddrs.pfnPlaySoundVoiceByName(&a, &b))
#define RecEnghudPlaySoundByIndex(a, b) (g_engdstAddrs.pfnPlaySoundByIndex(&a, &b))
#define RecEngAngleVectors(a, b, c, d) (g_engdstAddrs.pfnAngleVectors(&a, &b, &c, &d))
#define RecEngTextMessageGet(a) (g_engdstAddrs.pfnTextMessageGet(&a))
#define RecEngTextMessageDrawCharacter(a, b, c, d, e, f) (g_engdstAddrs.pfnDrawCharacter(&a, &b, &c, &d, &e, &f))
#define RecEngDrawConsoleString(a, b, c) (g_engdstAddrs.pfnDrawConsoleString(&a, &b, &c))
#define RecEngDrawSetTextColor(a, b, c) (g_engdstAddrs.pfnDrawSetTextColor(&a, &b, &c))
#define RecEnghudDrawConsoleStringLen(a, b, c) (g_engdstAddrs.pfnDrawConsoleStringLen(&a, &b, &c))
#define RecEnghudConsolePrint(a) (g_engdstAddrs.pfnConsolePrint(&a))
#define RecEnghudCenterPrint(a) (g_engdstAddrs.pfnCenterPrint(&a))
#define RecEnghudCenterX() (g_engdstAddrs.GetWindowCenterX())
#define RecEnghudCenterY() (g_engdstAddrs.GetWindowCenterY())
#define RecEnghudGetViewAngles(a) (g_engdstAddrs.GetViewAngles(&a))
#define RecEnghudSetViewAngles(a) (g_engdstAddrs.SetViewAngles(&a))
#define RecEnghudGetMaxClients() (g_engdstAddrs.GetMaxClients())
#define RecEngCvar_SetValue(a, b) (g_engdstAddrs.Cvar_SetValue(&a, &b))
#define RecEngCmd_Argc() (g_engdstAddrs.Cmd_Argc())
#define RecEngCmd_Argv(a) (g_engdstAddrs.Cmd_Argv(&a))
#define RecEngCon_Printf(a) (g_engdstAddrs.Con_Printf(&a))
#define RecEngCon_DPrintf(a) (g_engdstAddrs.Con_DPrintf(&a))
#define RecEngCon_NPrintf(a, b) (g_engdstAddrs.Con_NPrintf(&a, &b))
#define RecEngCon_NXPrintf(a, b) (g_engdstAddrs.Con_NXPrintf(&a, &b))
#define RecEnghudPhysInfo_ValueForKey(a) (g_engdstAddrs.PhysInfo_ValueForKey(&a))
#define RecEnghudServerInfo_ValueForKey(a) (g_engdstAddrs.ServerInfo_ValueForKey(&a))
#define RecEnghudGetClientMaxspeed() (g_engdstAddrs.GetClientMaxspeed())
#define RecEnghudCheckParm(a, b) (g_engdstAddrs.CheckParm(&a, &b))
#define RecEngKey_Event(a, b) (g_engdstAddrs.Key_Event(&a, &b))
#define RecEnghudGetMousePosition(a, b) (g_engdstAddrs.GetMousePosition(&a, &b))
#define RecEnghudIsNoClipping() (g_engdstAddrs.IsNoClipping())
#define RecEnghudGetLocalPlayer() (g_engdstAddrs.GetLocalPlayer())
#define RecEnghudGetViewModel() (g_engdstAddrs.GetViewModel())
#define RecEnghudGetEntityByIndex(a) (g_engdstAddrs.GetEntityByIndex(&a))
#define RecEnghudGetClientTime() (g_engdstAddrs.GetClientTime())
#define RecEngV_CalcShake() (g_engdstAddrs.V_CalcShake())
#define RecEngV_ApplyShake(a, b, c) (g_engdstAddrs.V_ApplyShake(&a, &b, &c))
#define RecEngPM_PointContents(a, b) (g_engdstAddrs.PM_PointContents(&a, &b))
#define RecEngPM_WaterEntity(a) (g_engdstAddrs.PM_WaterEntity(&a))
#define RecEngPM_TraceLine(a, b, c, d, e) (g_engdstAddrs.PM_TraceLine(&a, &b, &c, &d, &e))
#define RecEngCL_LoadModel(a, b) (g_engdstAddrs.CL_LoadModel(&a, &b))
#define RecEngCL_CreateVisibleEntity(a, b) (g_engdstAddrs.CL_CreateVisibleEntity(&a, &b))
#define RecEnghudGetSpritePointer(a) (g_engdstAddrs.GetSpritePointer(&a))
#define RecEnghudPlaySoundByNameAtLocation(a, b, c) (g_engdstAddrs.pfnPlaySoundByNameAtLocation(&a, &b, &c))
#define RecEnghudPrecacheEvent(a, b) (g_engdstAddrs.pfnPrecacheEvent(&a, &b))
#define RecEnghudPlaybackEvent(a, b, c, d, e, f, g, h, i, j, k, l) (g_engdstAddrs.pfnPlaybackEvent(&a, &b, &c, &d, &e, &f, &g, &h, &i, &j, &k, &l))
#define RecEnghudWeaponAnim(a, b) (g_engdstAddrs.pfnWeaponAnim(&a, &b))
#define RecEngRandomFloat(a, b) (g_engdstAddrs.pfnRandomFloat(&a, &b))
#define RecEngRandomLong(a, b) (g_engdstAddrs.pfnRandomLong(&a, &b))
#define RecEngCL_HookEvent(a, b) (g_engdstAddrs.pfnHookEvent(&a, &b))
#define RecEngCon_IsVisible() (g_engdstAddrs.Con_IsVisible())
#define RecEnghudGetGameDir() (g_engdstAddrs.pfnGetGameDirectory())
#define RecEngCvar_FindVar(a) (g_engdstAddrs.pfnGetCvarPointer(&a))
#define RecEngKey_NameForBinding(a) (g_engdstAddrs.Key_LookupBinding(&a))
#define RecEnghudGetLevelName() (g_engdstAddrs.pfnGetLevelName())
#define RecEnghudGetScreenFade(a) (g_engdstAddrs.pfnGetScreenFade(&a))
#define RecEnghudSetScreenFade(a) (g_engdstAddrs.pfnSetScreenFade(&a))
#define RecEngVGuiWrap_GetPanel() (g_engdstAddrs.VGui_GetPanel())
#define RecEngVGui_ViewportPaintBackground(a) (g_engdstAddrs.VGui_ViewportPaintBackground(&a))
#define RecEngCOM_LoadFile(a, b, c) (g_engdstAddrs.COM_LoadFile(&a, &b, &c))
#define RecEngCOM_ParseFile(a, b) (g_engdstAddrs.COM_ParseFile(&a, &b))
#define RecEngCOM_FreeFile(a) (g_engdstAddrs.COM_FreeFile(&a))
#define RecEngCL_IsSpectateOnly() (g_engdstAddrs.IsSpectateOnly())
#define RecEngR_LoadMapSprite(a) (g_engdstAddrs.LoadMapSprite(&a))
#define RecEngCOM_AddAppDirectoryToSearchPath(a, b) (g_engdstAddrs.COM_AddAppDirectoryToSearchPath(&a, &b))
#define RecEngClientDLL_ExpandFileName(a, b, c) (g_engdstAddrs.COM_ExpandFilename(&a, &b, &c))
#define RecEngPlayerInfo_ValueForKey(a, b) (g_engdstAddrs.PlayerInfo_ValueForKey(&a, &b))
#define RecEngPlayerInfo_SetValueForKey(a, b) (g_engdstAddrs.PlayerInfo_SetValueForKey(&a, &b))
#define RecEngGetPlayerUniqueID(a, b) (g_engdstAddrs.GetPlayerUniqueID(&a, &b))
#define RecEngGetTrackerIDForPlayer(a) (g_engdstAddrs.GetTrackerIDForPlayer(&a))
#define RecEngGetPlayerForTrackerID(a) (g_engdstAddrs.GetPlayerForTrackerID(&a))
#define RecEnghudServerCmdUnreliable(a) (g_engdstAddrs.pfnServerCmdUnreliable(&a))
#define RecEngGetMousePos(a) (g_engdstAddrs.pfnGetMousePos(&a))
#define RecEngSetMousePos(a, b) (g_engdstAddrs.pfnSetMousePos(&a, &b))
#define RecEngSetMouseEnable(a) (g_engdstAddrs.pfnSetMouseEnable(&a))
#define RecEngSetFilterMode(a) (g_engdstAddrs.pfnSetFilterMode(&a))
#define RecEngSetFilterColor(a,b,c) (g_engdstAddrs.pfnSetFilterColor(&a,&b,&c))
#define RecEngSetFilterBrightness(a) (g_engdstAddrs.pfnSetFilterBrightness(&a))
#define RecEngSequenceGet(a,b) (g_engdstAddrs.pfnSequenceGet(&a,&b))
#define RecEngSPR_DrawGeneric(a,b,c,d,e,f,g,h) (g_engdstAddrs.pfnSPR_DrawGeneric(&a, &b, &c, &d, &e, &f, &g, &h))
#define RecEngSequencePickSentence(a,b,c) (g_engdstAddrs.pfnSequencePickSentence(&a, &b, &c))
#define RecEngLocalPlayerInfo_ValueForKey(a) (g_engdstAddrs.LocalPlayerInfo_ValueForKey(&a))
#define RecEngProcessTutorMessageDecayBuffer(a, b) (g_engdstAddrs.pfnProcessTutorMessageDecayBuffer(&a, &b))
#define RecEngConstructTutorMessageDecayBuffer(a, b) (g_engdstAddrs.pfnConstructTutorMessageDecayBuffer(&a, &b))
#define RecEngResetTutorMessageDecayBuffer() (g_engdstAddrs.pfnResetTutorMessageDecayBuffer())
#define RecEngDraw_FillRGBABlend(a, b, c, d, e, f, g, h) (g_engdstAddrs.pfnFillRGBABlend(&a, &b, &c, &d, &e, &f, &g, &h))
// Dummy destination function for use when there's no security module
extern void NullDst(void);
// Use this to init an engdst structure to point to NullDst
#define k_engdstNull \
{ \
(pfnEngDst_pfnSPR_Load_t) NullDst, \
(pfnEngDst_pfnSPR_Frames_t) NullDst, \
(pfnEngDst_pfnSPR_Height_t) NullDst, \
(pfnEngDst_pfnSPR_Width_t) NullDst, \
(pfnEngDst_pfnSPR_Set_t) NullDst, \
(pfnEngDst_pfnSPR_Draw_t) NullDst, \
(pfnEngDst_pfnSPR_DrawHoles_t) NullDst, \
(pfnEngDst_pfnSPR_DrawAdditive_t) NullDst, \
(pfnEngDst_pfnSPR_EnableScissor_t) NullDst, \
(pfnEngDst_pfnSPR_DisableScissor_t) NullDst, \
(pfnEngDst_pfnSPR_GetList_t) NullDst, \
(pfnEngDst_pfnFillRGBA_t) NullDst, \
(pfnEngDst_pfnGetScreenInfo_t) NullDst, \
(pfnEngDst_pfnSetCrosshair_t) NullDst, \
(pfnEngDst_pfnRegisterVariable_t) NullDst, \
(pfnEngDst_pfnGetCvarFloat_t) NullDst, \
(pfnEngDst_pfnGetCvarString_t) NullDst, \
(pfnEngDst_pfnAddCommand_t) NullDst, \
(pfnEngDst_pfnHookUserMsg_t) NullDst, \
(pfnEngDst_pfnServerCmd_t) NullDst, \
(pfnEngDst_pfnClientCmd_t) NullDst, \
(pfnEngDst_pfnGetPlayerInfo_t) NullDst, \
(pfnEngDst_pfnPlaySoundByName_t) NullDst, \
(pfnEngDst_pfnPlaySoundByIndex_t) NullDst, \
(pfnEngDst_pfnAngleVectors_t) NullDst, \
(pfnEngDst_pfnTextMessageGet_t) NullDst, \
(pfnEngDst_pfnDrawCharacter_t) NullDst, \
(pfnEngDst_pfnDrawConsoleString_t) NullDst, \
(pfnEngDst_pfnDrawSetTextColor_t) NullDst, \
(pfnEngDst_pfnDrawConsoleStringLen_t) NullDst, \
(pfnEngDst_pfnConsolePrint_t) NullDst, \
(pfnEngDst_pfnCenterPrint_t) NullDst, \
(pfnEngDst_GetWindowCenterX_t) NullDst, \
(pfnEngDst_GetWindowCenterY_t) NullDst, \
(pfnEngDst_GetViewAngles_t) NullDst, \
(pfnEngDst_SetViewAngles_t) NullDst, \
(pfnEngDst_GetMaxClients_t) NullDst, \
(pfnEngDst_Cvar_SetValue_t) NullDst, \
(pfnEngDst_Cmd_Argc_t) NullDst, \
(pfnEngDst_Cmd_Argv_t) NullDst, \
(pfnEngDst_Con_Printf_t) NullDst, \
(pfnEngDst_Con_DPrintf_t) NullDst, \
(pfnEngDst_Con_NPrintf_t) NullDst, \
(pfnEngDst_Con_NXPrintf_t) NullDst, \
(pfnEngDst_PhysInfo_ValueForKey_t) NullDst, \
(pfnEngDst_ServerInfo_ValueForKey_t) NullDst, \
(pfnEngDst_GetClientMaxspeed_t) NullDst, \
(pfnEngDst_CheckParm_t) NullDst, \
(pfnEngDst_Key_Event_t) NullDst, \
(pfnEngDst_GetMousePosition_t) NullDst, \
(pfnEngDst_IsNoClipping_t) NullDst, \
(pfnEngDst_GetLocalPlayer_t) NullDst, \
(pfnEngDst_GetViewModel_t) NullDst, \
(pfnEngDst_GetEntityByIndex_t) NullDst, \
(pfnEngDst_GetClientTime_t) NullDst, \
(pfnEngDst_V_CalcShake_t) NullDst, \
(pfnEngDst_V_ApplyShake_t) NullDst, \
(pfnEngDst_PM_PointContents_t) NullDst, \
(pfnEngDst_PM_WaterEntity_t) NullDst, \
(pfnEngDst_PM_TraceLine_t) NullDst, \
(pfnEngDst_CL_LoadModel_t) NullDst, \
(pfnEngDst_CL_CreateVisibleEntity_t) NullDst, \
(pfnEngDst_GetSpritePointer_t) NullDst, \
(pfnEngDst_pfnPlaySoundByNameAtLocation_t) NullDst, \
(pfnEngDst_pfnPrecacheEvent_t) NullDst, \
(pfnEngDst_pfnPlaybackEvent_t) NullDst, \
(pfnEngDst_pfnWeaponAnim_t) NullDst, \
(pfnEngDst_pfnRandomFloat_t) NullDst, \
(pfnEngDst_pfnRandomLong_t) NullDst, \
(pfnEngDst_pfnHookEvent_t) NullDst, \
(pfnEngDst_Con_IsVisible_t) NullDst, \
(pfnEngDst_pfnGetGameDirectory_t) NullDst, \
(pfnEngDst_pfnGetCvarPointer_t) NullDst, \
(pfnEngDst_Key_LookupBinding_t) NullDst, \
(pfnEngDst_pfnGetLevelName_t) NullDst, \
(pfnEngDst_pfnGetScreenFade_t) NullDst, \
(pfnEngDst_pfnSetScreenFade_t) NullDst, \
(pfnEngDst_VGui_GetPanel_t) NullDst, \
(pfnEngDst_VGui_ViewportPaintBackground_t) NullDst, \
(pfnEngDst_COM_LoadFile_t) NullDst, \
(pfnEngDst_COM_ParseFile_t) NullDst, \
(pfnEngDst_COM_FreeFile_t) NullDst, \
NULL, \
NULL, \
NULL, \
NULL, \
NULL, \
NULL, \
(pfnEngDst_IsSpectateOnly_t) NullDst, \
(pfnEngDst_LoadMapSprite_t) NullDst, \
(pfnEngDst_COM_AddAppDirectoryToSearchPath_t) NullDst, \
(pfnEngDst_COM_ExpandFilename_t) NullDst, \
(pfnEngDst_PlayerInfo_ValueForKey_t) NullDst, \
(pfnEngDst_PlayerInfo_SetValueForKey_t) NullDst, \
(pfnEngDst_GetPlayerUniqueID_t) NullDst, \
(pfnEngDst_GetTrackerIDForPlayer_t) NullDst, \
(pfnEngDst_GetPlayerForTrackerID_t) NullDst, \
(pfnEngDst_pfnServerCmdUnreliable_t) NullDst, \
(pfnEngDst_GetMousePos_t) NullDst, \
(pfnEngDst_SetMousePos_t) NullDst, \
(pfnEngDst_SetMouseEnable_t) NullDst, \
(pfnEngDst_pfnSetFilterMode_t) NullDst, \
(pfnEngDst_pfnSetFilterColor_t) NullDst, \
(pfnEngDst_pfnSetFilterBrightness_t) NullDst, \
(pfnEngDst_pfnSequenceGet_t) NullDst, \
(pfnEngDst_pfnSPR_DrawGeneric_t) NullDst, \
(pfnEngDst_pfnSequencePickSentence_t) NullDst, \
(pfnEngDst_pfnDrawString_t) NullDst, \
(pfnEngDst_pfnDrawStringReverse_t) NullDst, \
(pfnEngDst_LocalPlayerInfo_ValueForKey_t) NullDst, \
(pfnEngDst_pfnVGUI2DrawCharacter_t) NullDst, \
(pfnEngDst_pfnVGUI2DrawCharacterAdd_t) NullDst, \
(pfnEngDst_pfnPlaySoundVoiceByName_t) NullDst, \
(pfnEngDst_pfnPrimeMusicStream_t) NullDst, \
(pfnEngDst_pfnProcessTutorMessageDecayBuffer_t) NullDst, \
(pfnEngDst_pfnConstructTutorMessageDecayBuffer_t) NullDst, \
(pfnEngDst_pfnResetTutorMessageDecayData_t) NullDst, \
(pfnEngDst_pfnPlaySoundByNameAtPitch_t) NullDst, \
(pfnEngDst_pfnFillRGBABlend_t) NullDst, \
(pfnEngDst_pfnGetAppID_t) NullDst, \
(pfnEngDst_pfnGetAliases_t) NullDst, \
(pfnEngDst_pfnVguiWrap2_GetMouseDelta_t) NullDst, \
};
// Use this to init a cldll_func_dst structure to point to NullDst
#define k_cldstNull \
{ \
(DST_INITIALIZE_FUNC) NullDst, \
(DST_HUD_INIT_FUNC) NullDst, \
(DST_HUD_VIDINIT_FUNC) NullDst, \
(DST_HUD_REDRAW_FUNC) NullDst, \
(DST_HUD_UPDATECLIENTDATA_FUNC) NullDst, \
(DST_HUD_RESET_FUNC) NullDst, \
(DST_HUD_CLIENTMOVE_FUNC) NullDst, \
(DST_HUD_CLIENTMOVEINIT_FUNC) NullDst, \
(DST_HUD_TEXTURETYPE_FUNC) NullDst, \
(DST_HUD_IN_ACTIVATEMOUSE_FUNC) NullDst, \
(DST_HUD_IN_DEACTIVATEMOUSE_FUNC) NullDst, \
(DST_HUD_IN_MOUSEEVENT_FUNC) NullDst, \
(DST_HUD_IN_CLEARSTATES_FUNC) NullDst, \
(DST_HUD_IN_ACCUMULATE_FUNC) NullDst, \
(DST_HUD_CL_CREATEMOVE_FUNC) NullDst, \
(DST_HUD_CL_ISTHIRDPERSON_FUNC) NullDst, \
(DST_HUD_CL_GETCAMERAOFFSETS_FUNC) NullDst, \
(DST_HUD_KB_FIND_FUNC) NullDst, \
(DST_HUD_CAMTHINK_FUNC) NullDst, \
(DST_HUD_CALCREF_FUNC) NullDst, \
(DST_HUD_ADDENTITY_FUNC) NullDst, \
(DST_HUD_CREATEENTITIES_FUNC) NullDst, \
(DST_HUD_DRAWNORMALTRIS_FUNC) NullDst, \
(DST_HUD_DRAWTRANSTRIS_FUNC) NullDst, \
(DST_HUD_STUDIOEVENT_FUNC) NullDst, \
(DST_HUD_POSTRUNCMD_FUNC) NullDst, \
(DST_HUD_SHUTDOWN_FUNC) NullDst, \
(DST_HUD_TXFERLOCALOVERRIDES_FUNC) NullDst, \
(DST_HUD_PROCESSPLAYERSTATE_FUNC) NullDst, \
(DST_HUD_TXFERPREDICTIONDATA_FUNC) NullDst, \
(DST_HUD_DEMOREAD_FUNC) NullDst, \
(DST_HUD_CONNECTIONLESS_FUNC) NullDst, \
(DST_HUD_GETHULLBOUNDS_FUNC) NullDst, \
(DST_HUD_FRAME_FUNC) NullDst, \
(DST_HUD_KEY_EVENT_FUNC) NullDst, \
(DST_HUD_TEMPENTUPDATE_FUNC) NullDst, \
(DST_HUD_GETUSERENTITY_FUNC) NullDst, \
(DST_HUD_VOICESTATUS_FUNC) NullDst, \
(DST_HUD_DIRECTORMESSAGE_FUNC) NullDst, \
(DST_HUD_STUDIO_INTERFACE_FUNC) NullDst, \
(DST_HUD_CHATINPUTPOSITION_FUNC) NullDst, \
(DST_HUD_GETPLAYERTEAM) NullDst, \
}
#ifdef __cplusplus
}
#endif
#endif // CDLL_INT_H