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