2023-07-22 10:27:40 -04:00
|
|
|
|
|
|
|
#ifndef GLOBALS_H_
|
|
|
|
#define GLOBALS_H_
|
2023-07-19 19:37:28 -04:00
|
|
|
|
|
|
|
#include "sdk.h"
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*
|
2023-07-20 11:26:30 -04:00
|
|
|
* DECL_INTF: Macro for declaring interfaces and it's originals.
|
|
|
|
* DECL_INTF_EXTERN: Extern version for the header.
|
2023-07-20 10:38:02 -04:00
|
|
|
*
|
2023-07-19 19:37:28 -04:00
|
|
|
* prefix | meaning
|
2023-07-20 14:25:49 -04:00
|
|
|
* -------+-------------------------------
|
|
|
|
* i_* | interface ptr (global scope)
|
|
|
|
* o_* | original interface (not a ptr)
|
2023-07-19 19:37:28 -04:00
|
|
|
*/
|
2023-07-20 10:38:02 -04:00
|
|
|
#define DECL_INTF(type, name) \
|
2023-07-20 14:25:49 -04:00
|
|
|
type* i_##name = NULL; \
|
|
|
|
type o_##name;
|
2023-07-19 19:37:28 -04:00
|
|
|
|
2023-07-20 10:38:02 -04:00
|
|
|
#define DECL_INTF_EXTERN(type, name) \
|
2023-07-20 14:25:49 -04:00
|
|
|
extern type* i_##name; \
|
|
|
|
extern type o_##name;
|
2023-07-19 19:37:28 -04:00
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern void* hw;
|
2023-07-20 10:38:02 -04:00
|
|
|
DECL_INTF_EXTERN(cl_enginefunc_t, engine);
|
|
|
|
DECL_INTF_EXTERN(cl_clientfunc_t, client);
|
2023-07-20 14:40:34 -04:00
|
|
|
DECL_INTF_EXTERN(playermove_t, pmove);
|
2023-07-19 19:37:28 -04:00
|
|
|
|
2023-07-20 17:30:44 -04:00
|
|
|
extern cl_entity_t* localplayer;
|
|
|
|
|
2023-07-19 19:37:28 -04:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
bool globals_init(void);
|
2023-07-21 01:02:26 -04:00
|
|
|
void globals_store(void);
|
|
|
|
void globals_restore(void);
|
2023-07-19 19:37:28 -04:00
|
|
|
|
2023-07-22 10:27:40 -04:00
|
|
|
#endif /* GLOBALS_H_ */
|