home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2007 September / maximum-cd-2007-09.iso / Assets / data / AssaultCube_v0.93.exe / source / src / protos.h < prev    next >
Encoding:
C/C++ Source or Header  |  2007-06-05  |  14.2 KB  |  363 lines

  1. // protos for ALL external functions in cube... 
  2.  
  3. // GL_ARB_multitexture
  4. extern PFNGLACTIVETEXTUREARBPROC       glActiveTexture_;
  5. extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTexture_;
  6. extern PFNGLMULTITEXCOORD2FARBPROC     glMultiTexCoord2f_;
  7. extern PFNGLMULTITEXCOORD3FARBPROC     glMultiTexCoord3f_;
  8.  
  9. // GL_EXT_multi_draw_arrays
  10. extern PFNGLMULTIDRAWARRAYSEXTPROC glMultiDrawArrays_;
  11.  
  12. // command
  13. extern bool persistidents;
  14. extern int variable(char *name, int min, int cur, int max, int *storage, void (*fun)(), bool persist);
  15. extern void setvar(char *name, int i);
  16. extern int getvar(char *name);
  17. extern bool identexists(char *name);
  18. extern bool addcommand(char *name, void (*fun)(), int narg);
  19. extern int execute(char *p);
  20. extern void exec(char *cfgfile);
  21. extern bool execfile(char *cfgfile);
  22. extern void resetcomplete();
  23. extern void complete(char *s);
  24. extern void alias(char *name, char *action);
  25. extern char *getalias(char *name);
  26. extern void writecfg();
  27. extern void identnames(vector<char *> &names, bool builtinonly);
  28.  
  29. // console
  30. extern void keypress(int code, bool isdown, int cooked);
  31. extern void rendercommand(int x, int y);
  32. extern void renderconsole();
  33. extern char *getcurcommand();
  34. extern char *addreleaseaction(char *s);
  35. extern void writebinds(FILE *f);
  36. extern void conoutf(const char *s, ...);
  37.  
  38. // menus
  39. extern bool rendermenu();
  40. extern void menumanual(void *menu, int n, char *text, char *action=NULL);
  41. extern bool menukey(int code, bool isdown);
  42. extern void *addmenu(char *name, char *title = NULL, bool allowinput = true, void (__cdecl *refreshfunc)(void *, bool) = NULL);
  43. extern void rendermenumdl();
  44. extern void menuset(void *m);
  45. extern void menuselect(void *menu, int sel);
  46. extern void drawmenubg(int x1, int y1, int x2, int y2, bool border);
  47.  
  48. // serverbrowser
  49. extern void addserver(char *servername);
  50. extern char *getservername(int n);
  51. extern bool resolverwait(const char *name, ENetAddress *address);
  52. extern int connectwithtimeout(ENetSocket sock, char *hostname, ENetAddress &remoteaddress);
  53. extern void writeservercfg();
  54. extern void refreshservers(void *menu, bool init);
  55.  
  56. // rendergl
  57. extern void gl_init(int w, int h, int bpp, int depth, int fsaa);
  58. extern void cleangl();
  59. extern void line(int x1, int y1, float z1, int x2, int y2, float z2);
  60. extern void box(block &b, float z1, float z2, float z3, float z4);
  61. extern void dot(int x, int y, float z);
  62. extern void linestyle(float width, int r, int g, int b);
  63. extern void blendbox(int x1, int y1, int x2, int y2, bool border, int tex = -1);
  64. extern void quad(GLuint tex, float x, float y, float s, float tx, float ty, float tsx, float tsy = 0);
  65. extern void circle(GLuint tex, float x, float y, float r, float tx, float ty, float tr, int subdiv = 32);
  66. extern void gl_drawframe(int w, int h, float changelod, float curfps);
  67. extern void clearminimap();
  68.  
  69. // texture
  70. struct Texture
  71. {
  72.     char *name;
  73.     int xs, ys;
  74.     GLuint id;
  75. };
  76. extern Texture *crosshair;
  77.  
  78. extern void createtexture(int tnum, int w, int h, void *pixels, int clamp, bool mipmap, GLenum format);
  79. extern Texture *textureload(const char *name, int clamp = 0);
  80. extern int lookuptexture(int tex, int &xs, int &ys);
  81. extern void draw_envbox(int fogdist);
  82.  
  83. extern int maxtmus;
  84. extern void inittmus();
  85. extern void resettmu(int n);
  86. extern void scaletmu(int n, int rgbscale, int alphascale = 0);
  87. extern void colortmu(int n, float r = 0, float g = 0, float b = 0, float a = 0);
  88. extern void setuptmu(int n, const char *rgbfunc = NULL, const char *alphafunc = NULL);
  89.  
  90. // rendercubes
  91. extern void mipstats(int a, int b, int c);
  92. extern void render_flat(int tex, int x, int y, int size, int h, sqr *l1, sqr *l2, sqr *l3, sqr *l4, bool isceil);
  93. extern void render_flatdelta(int wtex, int x, int y, int size, float h1, float h2, float h3, float h4, sqr *l1, sqr *l2, sqr *l3, sqr *l4, bool isceil);
  94. extern void render_square(int wtex, float floor1, float floor2, float ceil1, float ceil2, int x1, int y1, int x2, int y2, int size, sqr *l1, sqr *l2, bool topleft);
  95. extern void render_tris(int x, int y, int size, bool topleft, sqr *h1, sqr *h2, sqr *s, sqr *t, sqr *u, sqr *v);
  96. extern void setwatercolor(char *r = "", char *g = "", char *b = "", char *a = "");
  97. extern void addwaterquad(int x, int y, int size);
  98. extern int renderwater(float hf, GLuint reflecttex, GLuint refracttex);
  99. extern void resetcubes();
  100. extern void setupstrips();
  101. extern void renderstripssky();
  102. extern void renderstrips();
  103.  
  104. // client
  105. extern void localservertoclient(int chan, uchar *buf, int len);
  106. extern void connects(char *servername, char *password = NULL);
  107. extern void abortconnect();
  108. extern void disconnect(int onlyclean = 0, int async = 0);
  109. extern void toserver(char *text);
  110. extern void addmsg(int type, const char *fmt = NULL, ...);
  111. extern bool multiplayer(bool msg = true);
  112. extern bool allowedittoggle();
  113. extern void sendpackettoserv(int chan, struct _ENetPacket *packet);
  114. extern void gets2c();
  115. extern void c2sinfo(playerent *d);
  116. extern void c2skeepalive();
  117. extern void neterr(char *s);
  118. extern int getclientnum();
  119. extern void changemapserv(char *name, int mode);
  120. extern void changeteam(int team);
  121. extern void newteam(char *name);
  122. extern bool sendpwd;
  123.  
  124. // clientgame
  125. extern flaginfo flaginfos[2];
  126. extern bool autoteambalance;
  127. extern void updateworld(int curtime, int lastmillis);
  128. extern void startmap(char *name);
  129. extern void changemap(char *name);
  130. extern void initclient();
  131. extern void deathstate(playerent *pl);
  132. extern void spawnplayer(playerent *d);
  133. extern void dodamage(int damage, int actor, playerent *act, bool gib = false, playerent *pl = player1);
  134. extern playerent *newplayerent();
  135. extern botent *newbotent();
  136. extern void freebotent(botent *d);
  137. extern char *getclientmap();
  138. extern const char *modestr(int n);
  139. extern void zapplayer(playerent *&d);
  140. extern playerent *getclient(int cn);
  141. extern playerent *newclient(int cn);
  142. extern void timeupdate(int timeremain);
  143. extern void respawnself();
  144. extern void setskin(playerent *pl, uint skin);
  145. //game mode extras
  146. extern void flagpickup();
  147. extern void tryflagdrop(bool reset = false);
  148. extern void flagreturn();
  149. extern void flagscore();
  150. extern void flagstolen(int flag, int action, int act);
  151. extern void flagdropped(int flag, int action, short x, short y, short z);
  152. extern void flaginbase(int flag, int action, int act);
  153. extern void flagmsg(int flag, int action);
  154. extern void arenarespawn();
  155. extern void respawn();
  156. extern void serveropcommand(int cmd, int arg1);
  157. extern void refreshsopmenu(void *menu, bool init);
  158. extern char *colorname(playerent *d, int num = 0, char *name = NULL, char *prefix = "");
  159.  
  160. // scoreboard
  161. extern void showscores(bool on);
  162. extern void renderscores(void *menu, bool init);
  163.  
  164. // world
  165. extern void setupworld(int factor);
  166. extern void empty_world(int factor, bool force);
  167. extern void remip(block &b, int level = 0);
  168. extern void remipmore(block &b, int level = 0);
  169. extern int closestent();
  170. extern int findentity(int type, int index = 0);
  171. extern int findentity(int type, int index, uchar attr2);
  172. extern entity *newentity(int x, int y, int z, char *what, int v1, int v2, int v3, int v4);
  173.  
  174. // worldlight
  175. extern void calclight();
  176. extern void dodynlight(vec &vold, vec &v, int reach, int strength, dynent *owner);
  177. extern void cleardlights();
  178. extern block *blockcopy(block &b);
  179. extern void blockpaste(block &b);
  180. extern void freeblock(block *&b);
  181.  
  182. // worldrender
  183. extern void render_world(float vx, float vy, float vh, float changelod, int yaw, int pitch, float widef, int w, int h);
  184. extern int lod_factor();
  185.  
  186. // worldocull
  187. extern void computeraytable(float vx, float vy);
  188. extern int isoccluded(float vx, float vy, float cx, float cy, float csize);
  189.  
  190. // main
  191. extern void fatal(char *s, char *o = "");
  192. extern void keyrepeat(bool on);
  193.  
  194. // rendertext
  195. extern bool setfont(char *name);
  196. extern void draw_text(const char *str, int left, int top);
  197. extern void draw_textf(const char *fstr, int left, int top, ...);
  198. extern int char_width(int c, int x = 0);
  199. extern int text_width(const char *str, int limit = -1);
  200. extern int text_visible(const char *str, int max);
  201. extern void text_block(const char *str, int max, vector<char *> &lines);
  202. extern void text_startcolumns();
  203. extern void text_endcolumns();
  204.  
  205. // editing
  206. extern void cursorupdate();
  207. extern void toggleedit();
  208. extern char *editinfo();
  209. extern void editdrag(bool isdown);
  210. extern void setvdeltaxy(int delta, block &sel);
  211. extern void editequalisexy(bool isfloor, block &sel);
  212. extern void edittypexy(int type, block &sel);
  213. extern void edittexxy(int type, int t, block &sel);
  214. extern void editheightxy(bool isfloor, int amount, block &sel);
  215. extern bool noteditmode();
  216. extern void pruneundos(int maxremain = 0);
  217.  
  218. // renderhud
  219. extern void gl_drawhud(int w, int h, int curfps, int nquads, int curvert, bool underwater);
  220. extern void damageblend(int n);
  221. extern void loadingscreen(const char *fmt = NULL, ...);
  222. extern void show_out_of_renderloop_progress(float bar1, const char *text1, float bar2 = 0, const char *text2 = NULL);
  223.  
  224. // renderparticles
  225. extern void particleinit();
  226. extern void particlereset();
  227. extern void particle_splash(int type, int num, int fade, vec &p);
  228. extern void particle_trail(int type, int fade, vec &from, vec &to);
  229. extern void particle_fireball(int type, vec &o);
  230. extern void addshotline(dynent *d, vec &from, vec &to);
  231. extern bool addbullethole(vec &from, vec &to, float radius = 1);
  232. extern void render_particles(int time);
  233.  
  234. // worldio
  235. extern void save_world(char *fname);
  236. extern void load_world(char *mname);
  237. extern void writemap(char *mname, int msize, uchar *mdata);
  238. extern uchar *readmap(char *mname, int *msize);
  239. extern void loadgamerest();
  240. extern void incomingdemodata(int chan, uchar *buf, int len, bool extras = false);
  241. extern void demoplaybackstep();
  242. extern void stop();
  243. extern void stopifrecording();
  244. extern void demodamage(int damage, vec &o);
  245. extern void demoblend(int damage);
  246. extern bool demopaused;
  247. extern playerent *demoplayer;
  248. extern void shiftdemoplayer(int i);
  249. extern bool localdemoplayer1st();
  250. extern int demomillis();
  251.  
  252. // physics
  253. extern float raycube(const vec &o, const vec &ray, vec &surface);
  254. extern void moveplayer(physent *pl, int moveres, bool local);
  255. extern void moveplayer(physent *pl, int moveres, bool local, int curtime);
  256. extern bool collide(physent *d, bool spawn, float drop, float rise);
  257. extern void entinmap(physent *d);
  258. extern void physicsframe();
  259. extern void mousemove(int dx, int dy);
  260. extern void fixcamerarange(physent *cam = camera1);
  261. extern float floor(short x, short y);
  262.  
  263. // sound
  264. extern void playsound(int n, vec *loc = 0);
  265. extern void playsoundc(int n);
  266. extern void initsound();
  267. extern void cleansound();
  268. extern void music(char *name);
  269.  
  270. // rendermodel
  271. extern void rendershadow(playerent *d);
  272. extern void rendermodel(char *mdl, int anim, int tex, float rad, float x, float y, float z, float yaw, float pitch, float speed = 0, int basetime = 0, playerent *d = NULL, char *vwepmdl = NULL, float scale = 1.0f);
  273. extern mapmodelinfo &getmminfo(int i);
  274. extern int findanim(const char *name);
  275. extern void loadskin(const char *dir, const char *altdir, Texture *&skin);
  276. extern model *loadmodel(const char *name, int i = -1);
  277. extern void preload_playermodels();
  278. extern void preload_entmodels();
  279. extern void preload_hudguns();
  280. extern void preload_mapmodels();
  281. extern void renderclients();
  282. extern void renderclient(playerent *d);
  283. extern void renderclient(playerent *d, char *mdlname, char *vwepname, int tex = 0);
  284.  
  285. // hudgun
  286. extern char *gunnames[];
  287.  
  288. extern void renderhudgun();
  289.  
  290. // server
  291. extern void initserver(bool dedicated, int uprate, char *sdesc, char *ip, char *master, char *passwd, int maxcl, char *maprot, char *adminpwd, char *srvmsg, int scthreshold);
  292. extern void cleanupserver();
  293. extern void localconnect();
  294. extern void localdisconnect();
  295. extern void localclienttoserver(int chan, struct _ENetPacket *);
  296. extern void serverslice(int seconds, unsigned int timeout);
  297. extern void putint(ucharbuf &p, int n);
  298. extern int getint(ucharbuf &p);
  299. extern void putuint(ucharbuf &p, int n);
  300. extern int getuint(ucharbuf &p);
  301. extern void sendstring(const char *t, ucharbuf &p);
  302. extern void getstring(char *t, ucharbuf &p, int len = MAXTRANS);
  303. extern void filtertext(char *dst, const char *src, bool whitespace = true, int len = sizeof(string)-1);
  304. extern void startintermission();
  305. extern void restoreserverstate(vector<entity> &ents);
  306. extern uchar *retrieveservers(uchar *buf, int buflen);
  307. extern char msgsizelookup(int msg);
  308. extern void serverms(int mode, int numplayers, int minremain, char *smapname, int seconds);
  309. extern void servermsinit(const char *master, char *ip, char *sdesc, bool listen);
  310. extern bool serverpickup(uint i, int sec, int sender);
  311.  
  312. // weapon
  313. extern bool scoped;
  314.  
  315. extern void shoot(playerent *d, vec &to);
  316. extern void shootv(int gun, vec &from, vec &to, playerent *d = 0, bool local = false, int nademillis=0);
  317. extern void createrays(vec &from, vec &to);
  318. extern void moveprojectiles(float time);
  319. extern bounceent *newbounceent();
  320. extern void movebounceents();
  321. extern void clearbounceents();
  322. extern void renderbounceents();
  323. extern void addgib(playerent *d);
  324. extern void projreset();
  325. extern playerent *playerincrosshair();
  326. extern int reloadtime(int gun);
  327. extern void reload(playerent *d);
  328. extern int attackdelay(int gun);
  329. extern int magsize(int gun);
  330. extern int kick_rot(int gun);
  331. extern int kick_back(int gun);
  332. extern bool gun_changed;
  333. extern bool akimboside;
  334. extern void checkweaponswitch();
  335. extern void weaponswitch(int gun);
  336. extern void setscope(bool activate);
  337. // Added by Rick
  338. extern bool intersect(dynent *d, vec &from, vec &to, vec *end = NULL);
  339. // End add by Rick
  340.  
  341. // entities
  342. extern char *entnames[];
  343.  
  344. extern void putitems(ucharbuf &p);
  345. extern void realpickup(int n, playerent *d);
  346. extern void renderentities();
  347. extern void resetspawns();
  348. extern void setspawn(int i, bool on);
  349. extern void baseammo(int gun, playerent *d);
  350. extern void checkitems(playerent *d);
  351. extern void equip(playerent *d);
  352. extern bool intersect(entity *e, vec &from, vec &to, vec *end=NULL);
  353.  
  354. // rndmap
  355. extern void perlinarea(block &b, int scale, int seed, int psize);
  356.  
  357. // doc
  358. extern void renderdoc(int x, int y);
  359. extern void renderdocmenu(void *menu, bool init);
  360. extern void toggledoc();
  361. extern void scrolldoc(int i);
  362.  
  363.