2022-03-08 05:31:34 +00:00
|
|
|
|
|
|
|
#if defined(Q3CLIENT) || defined(Q3SERVER)
|
|
|
|
struct sfx_s;
|
|
|
|
struct server_static_s;
|
|
|
|
struct server_s;
|
|
|
|
struct usercmd_s;
|
|
|
|
struct q3gamecode_s
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
void (*SendAuthPacket)(struct ftenet_connections_s *socket, netadr_t *gameserver);
|
|
|
|
void (*SendConnectPacket)(struct ftenet_connections_s *socket, netadr_t *to, int challenge, int qport, infobuf_t *userinfo);
|
|
|
|
void (*Established)(void);
|
2023-03-27 17:22:00 +00:00
|
|
|
void (VARGS *SendClientCommand)(const char *fmt, ...) LIKEPRINTF(1);
|
2022-03-08 05:31:34 +00:00
|
|
|
void (*SendCmd)(struct ftenet_connections_s *socket, struct usercmd_s *cmd, unsigned int movesequence, double gametime);
|
|
|
|
int (*ParseServerMessage) (sizebuf_t *msg);
|
|
|
|
void (*Disconnect) (struct ftenet_connections_s *socket); //disconnects from the server, killing all connection+cgame state.
|
|
|
|
} cl;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
void (*VideoRestarted) (void);
|
|
|
|
int (*Redraw) (double time);
|
|
|
|
qboolean (*ConsoleCommand) (void);
|
|
|
|
qboolean (*KeyPressed) (int key, int unicode, int down);
|
|
|
|
unsigned int (*GatherLoopingSounds) (vec3_t *positions, unsigned int *entnums, struct sfx_s **sounds, unsigned int max);
|
|
|
|
} cg;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
qboolean (*IsRunning)(void);
|
|
|
|
qboolean (*ConsoleCommand)(void);
|
|
|
|
void (*Start) (void);
|
|
|
|
qboolean (*OpenMenu)(void);
|
|
|
|
void (*Reset)(void);
|
|
|
|
} ui;
|
|
|
|
|
|
|
|
//server stuff
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
void (*ShutdownGame) (qboolean restart);
|
|
|
|
qboolean (*InitGame) (struct server_static_s *server_state_static, struct server_s *server_state, qboolean restart);
|
|
|
|
qboolean (*ConsoleCommand) (void);
|
|
|
|
qboolean (*PrefixedConsoleCommand) (void);
|
|
|
|
qboolean (*HandleClient) (netadr_t *from, sizebuf_t *msg);
|
|
|
|
void (*DirectConnect) (netadr_t *from, sizebuf_t *msg);
|
|
|
|
void (*NewMapConnects) (void);
|
|
|
|
void (*DropClient) (struct client_s *cl);
|
|
|
|
void (*RunFrame) (void);
|
|
|
|
void (*SendMessage) (struct client_s *client);
|
|
|
|
qboolean (*RestartGamecode) (void);
|
|
|
|
void (*ServerinfoChanged) (const char *key);
|
|
|
|
} sv;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern struct q3gamecode_s *q3;
|
|
|
|
#endif
|