// the interface the engine uses to run the gameplay module namespace entities { extern void editent(int i, bool local); extern const char *entname(int i); extern int extraentinfosize(); extern void fixentity(extentity &e); extern void entradius(extentity &e); extern extentity *newentity(); extern void deleteentity(extentity *e); extern void clearents(); extern vector &getents(); extern const char *entmodel(const entity &e); } namespace game { extern void gamedisconnect(bool cleanup); extern void parsepacketclient(int chan, packetbuf &p); extern void connectattempt(const char *name, const char *password, const ENetAddress &address); extern void connectfail(); extern void gameconnect(bool _remote); extern bool allowedittoggle(); extern void edittoggled(bool on); extern void writeclientinfo(stream *f); extern void toserver(char *text); extern void changemap(const char *name); extern void forceedit(const char *name); extern bool ispaused(); extern int scaletime(int t); extern bool allowmouselook(); extern const char *savedconfig(); extern const char *restoreconfig(); extern const char *defaultconfig(); extern const char *autoexec(); extern const char *savedservers(); extern void loadconfigs(); extern void updateworld(); extern void initclient(); extern void physicstrigger(physent *d, int floorlevel); extern void bounced(physent *d, const vec &surface); extern void edittrigger(const selinfo &sel, int op, int arg1 = 0, int arg2 = 0, int arg3 = 0, const VSlot *vs = NULL); extern void vartrigger(ident *id); extern const char *getclientmap(); extern const char *getmapinfo(); extern const char *getscreenshotinfo(); extern void resetgamestate(); extern void suicide(physent *d); extern float ratespawn(dynent *d, const extentity &e); extern void newmap(int size); extern void startmap(const char *name); extern void preload(); extern float abovegameplayhud(int w, int h); extern void gameplayhud(int w, int h); extern bool canjump(); extern bool allowmove(physent *d); extern void doattack(bool on); extern dynent *iterdynents(int i); extern int numdynents(); extern void rendergame(bool mainpass); extern void renderavatar(); extern void renderplayerpreview(int model, int team, int weap); extern void g3d_gamemenus(); extern const char *defaultcrosshair(int index); extern int selectcrosshair(vec &color); extern void setupcamera(); extern bool allowthirdperson(bool msg = false); extern bool detachcamera(); extern bool collidecamera(); extern void adddynlights(); extern void particletrack(physent *owner, vec &o, vec &d); extern void dynlighttrack(physent *owner, vec &o, vec &hud); extern int maxsoundradius(int n); extern bool serverinfostartcolumn(g3d_gui *g, int i); extern void serverinfoendcolumn(g3d_gui *g, int i); extern bool serverinfoentry(g3d_gui *g, int i, const char *name, int port, const char *desc, const char *map, int ping, const vector &attr, int np); } namespace server { extern void *newclientinfo(); extern void deleteclientinfo(void *ci); extern void serverinit(); extern int reserveclients(); extern int numchannels(); extern void clientdisconnect(int n); extern int clientconnect(int n); extern void localdisconnect(int n); extern void localconnect(int n); extern bool allowbroadcast(int n); extern void recordpacket(int chan, void *data, int len); extern void parsepacket(int sender, int chan, packetbuf &p); extern void sendservmsg(const char *s); extern bool sendpackets(bool force = false); extern void serverinforeply(ucharbuf &req, ucharbuf &p); extern void serverupdate(); extern int laninfoport(); extern int serverinfoport(int servport = -1); extern int serverport(int infoport = -1); extern const char *defaultmaster(); extern int masterport(); extern void processmasterinput(const char *cmd, int cmdlen); extern void masterconnected(); extern void masterdisconnected(); extern bool ispaused(); extern int scaletime(int t); }