1 void (vector ang) makevectors = #1;
2 void(entity e, vector o) setorigin = #2;
3 void (entity e, string m) setmodel = #3;
4 void(entity e, vector min, vector max) setsize = #4;
8 void (entity e, float chan, string samp, float vol, float atten) sound = #8;
9 vector (vector v) normalize = #9;
10 void (string e) error = #10;
11 void (string e) objerror = #11;
12 float (vector v) vlen = #12;
13 float (vector v) vectoyaw = #13;
14 entity () spawn = #14;
15 void (entity e) remove = #15;
17 void (vector v1, vector v2, float nomonsters, entity forent) traceline = #16;
19 entity (entity start, .string fld, string match) find = #18;
20 string (string s) precache_sound = #19;
21 string (string s) precache_model = #20;
23 void (string s, ...) dprint = #25;
24 string (float f) ftos = #26;
25 string (vector v) vtos = #27;
26 void () coredump = #28;
27 void () traceon = #29;
28 void () traceoff = #30;
29 void (entity e) eprint = #31;
31 float (float v) rint = #36;
32 float (float v) floor = #37;
33 float (float v) ceil = #38;
35 float (vector v) pointcontents = #41;
36 float (float f) fabs = #43;
38 float (string s) cvar = #45;
39 void (string s, ...) localcmd = #46;
40 entity (entity e) nextent = #47;
42 vector (vector v) vectoangles = #51;
43 vector (vector v, vector w) vectoangles2 = #51;
45 void (string var, string val) cvar_set = #72;
48 float() ReadByte = #360;
49 float() ReadChar = #361;
50 float() ReadShort = #362;
51 float() ReadLong = #363;
52 float() ReadCoord = #364;
53 float() ReadAngle = #365;
54 string() ReadString = #366; //warning: this returns a temporary!
56 float(string s) stof = #81;
59 void (vector v1, vector min, vector max, vector v2, float nomonsters, entity forent) tracebox = #90;
60 float (string name, string value, ...) registercvar = #93;
62 entity (entity start, .entity fld, entity match) findentity = #98;
63 entity (entity start, .float fld, float match) findfloat = #98;
65 float (string s) checkextension = #99;
67 float (string filename, float mode) fopen = #110;
68 void (float fhandle) fclose = #111;
69 string (float fhandle) fgets = #112;
70 void (float fhandle, string s) fputs = #113;
71 float (string s) strlen = #114;
72 string (...) strcat = #115;
73 string (string s, float start, float length) substring = #116;
74 vector (string s) stov = #117;
75 string (string s) strzone = #118;
76 void (string s) strunzone = #119;
78 void () R_ClearScene = #300;
79 void (float mask) R_AddEntities = #301;
80 void (entity e) R_AddEntity = #302;
81 float (float property, ...) R_SetView = #303;
82 vector (float property, ...) R_SetView3fv = #303;
83 void () R_RenderScene = #304;
84 void (vector org, float radius, vector rgb) R_AddDynamicLight = #305;
85 void () R_CalcRefDef = #306;
87 vector (vector v) cs_unproject = #310;
88 vector (vector v) cs_project = #311;
90 void drawline(float width, vector pos1, vector pos2, vector rgb, float alpha, float flags) = #315;
91 float iscachedpic(string name) = #316;
92 string precache_pic(string name, ...) = #317;
93 vector draw_getimagesize(string pic) = #318;
94 void freepic(string name) = #319;
95 float drawcharacter(vector position, float character, vector scale, vector rgb, float alpha, float flag) = #320;
96 float drawstring(vector position, string text, vector scale, vector rgb, float alpha, float flag) = #321;
97 float drawpic(vector position, string pic, vector size, vector rgb, float alpha, float flag) = #322;
98 float drawfill(vector position, vector size, vector rgb, float alpha, float flag) = #323;
99 void drawsetcliparea(float x, float y, float width, float height) = #324;
100 void drawresetcliparea(void) = #325;
101 float drawcolorcodedstring(vector position, string text, vector scale, float alpha, float flag) = #326;
102 float stringwidth(string text, float handleColors, vector fontSize) = #327;
103 float drawsubpic(vector position, vector size, string pic, vector srcPosition, vector srcSize, vector rgb, float alpha, float flag) = #328;
106 float (float statnum) getstatf = #330;
107 float (float statnum) getstati = #331;
108 string (float statnum) getstats = #332;
110 void (entity e, float i) setmodelindex = #333;
111 string (float i) modelnameforindex = #334;
113 float(string efname) particleeffectnum = #335;
114 void(entity ent, float effectnum, vector start, vector end, ...) trailparticles = #336;
115 void (float efnum, vector org, vector vel, float countmultiplier, ...) pointparticles = #337;
117 void (string s, ...) cprint = #338;
118 void (string s, ...) print = #339;
120 void (float scale) setsensitivityscale = #346;
123 float (float framenum) getinputstate = #345;
124 void (entity e) runstandardplayerphysics = #347;
126 string (float playernum, string key) getplayerkeyvalue = #348;
127 void (string cmdname) registercmd = #352;
128 void(float usecursor) setcursormode = #343;
129 vector () getmousepos = #344;
131 string (string s) uncolorstring = #170;
133 void (vector org, vector forward, vector right, vector up) setlistener = #351;
135 float (vector start, vector end, float ignore, float csqcents) selecttraceline = #355;
136 float () isdemo = #349;
137 float () isserver = #350;
139 void (float f) setwantsmousemove = #343;
140 string (float key) getkeybind = #342;
141 //string (float f) chr = #78;
142 string (float f) chr = #78;
143 float(string str, float ofs) str2chr = #222;
144 string(float c, ...) chr2str = #223;
146 vector (vector org) getlight = #92;
148 entity (.string fld, string match) findchain = #402;
149 entity (.float fld, float match) findchainflags = #450;
150 entity (.entity fld, entity match) findchainentity = #403;
151 entity (.float fld, float match) findchainfloat = #403;
152 entity (entity start, .float fld, float match) findflags = #449;
154 float (string pattern, float caseinsensitive, float quiet) search_begin = #444;
155 void (float handle) search_end = #445;
156 float (float handle) search_getsize = #446;
157 string (float handle, float num) search_getfilename = #447;
160 #define SPA_POSITION 0
164 #define SPA_TEXCOORDS0 4
165 #define SPA_LIGHTMAP0_TEXCOORDS 5
166 #define SPA_LIGHTMAP_COLOR 6
167 float (entity e, float s) getsurfacenumpoints = #434;
168 vector (entity e, float s, float n) getsurfacepoint = #435;
169 vector (entity e, float s) getsurfacenormal = #436;
170 string (entity e, float s) getsurfacetexture = #437;
171 float (entity e, vector p) getsurfacenearpoint = #438;
172 vector (entity e, float s, vector p) getsurfaceclippedpoint = #439;
173 vector(entity e, float s, float n, float a) getsurfacepointattribute = #486;
174 float(entity e, float s) getsurfacenumtriangles = #628;
175 vector(entity e, float s, float n) getsurfacetriangle = #629;
178 float (float a, float b, ...) min = #94;
179 float (float a, float b, float c) min3 = #94;
180 float (float a, float b, float c, float d) min4 = #94;
181 float (float a, float b, float c, float d, float e) min5 = #94;
182 float (float a, float b, float c, float d, float e, float f) min6 = #94;
183 float (float a, float b, float c, float d, float e, float f, float g) min7 = #94;
184 float (float a, float b, float c, float d, float e, float f, float g, float h) min8 = #94;
185 float (float a, float b, ...) max = #95;
186 float (float a, float b, float c) max3 = #95;
187 float (float a, float b, float c, float d) max4 = #95;
188 float (float a, float b, float c, float d, float e) max5 = #95;
189 float (float a, float b, float c, float d, float e, float f) max6 = #95;
190 float (float a, float b, float c, float d, float e, float f, float g) max7 = #95;
191 float (float a, float b, float c, float d, float e, float f, float g, float h) max8 = #95;
192 float (float minimum, float val, float maximum) bound = #96;
194 vector () randomvec = #91;
196 float (float val) sin = #60;
197 float (float val) cos = #61;
198 float (float val) sqrt = #62;
199 float (float a, float b) pow = #97;
201 void (vector org, string modelname, float startframe, float endframe, float framerate) effect = #404;
203 void (vector org, vector velocity, float howmany) te_blood = #405;
204 void (vector mincorner, vector maxcorner, float explosionspeed, float howmany) te_bloodshower = #406;
205 void (vector org, float radius, float lifetime, vector color) te_customflash = #417;
206 void(vector org, vector color) te_explosionrgb = #407;
207 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color, float gravityflag, float randomveljitter) te_particlecube = #408;
208 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color) te_particlerain = #409;
209 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color) te_particlesnow = #410;
210 void(vector org) te_plasmaburn = #433;
211 void(vector org) te_gunshotquad = #412;
212 void(vector org) te_spikequad = #413;
213 void(vector org) te_superspikequad = #414;
214 void(vector org) te_explosionquad = #415;
215 void(vector org) te_smallflash = #416;
216 void(vector org, vector vel, float howmany) te_spark = #411;
218 void(vector org) te_gunshot = #418;
219 void(vector org) te_spike = #419;
220 void(vector org) te_superspike = #420;
221 void(vector org) te_explosion = #421;
222 void(vector org) te_tarexplosion = #422;
223 void(vector org) te_wizspike = #423;
224 void(vector org) te_knightspike = #424;
225 void(vector org) te_lavasplash = #425;
226 void(vector org) te_teleport = #426;
227 void(vector org, float color, float colorlength) te_explosion2 = #427;
228 void(entity own, vector start, vector end) te_lightning1 = #428;
229 void(entity own, vector start, vector end) te_lightning2 = #429;
230 void(entity own, vector start, vector end) te_lightning3 = #430;
231 void(entity own, vector start, vector end) te_beam = #431;
233 float (entity ent, string tagname) gettagindex = #451;
234 vector (entity ent, float tagindex) gettaginfo = #452;
236 float (string s) tokenize = #441;
237 string (float argnum) argv = #442;
239 string (string s) cvar_string = #448;
240 string (string s) cvar_defstring = #482;
242 float () buf_create = #460;
243 void (float bufhandle) buf_del = #461;
244 float (float bufhandle) buf_getsize = #462;
245 void (float bufhandle_from, float bufhandle_to) buf_copy = #463;
246 void (float bufhandle, float sortpower, float backward) buf_sort = #464;
247 string (float bufhandle, string glue) buf_implode = #465;
248 string (float bufhandle, float string_index) bufstr_get = #466;
249 void (float bufhandle, float string_index, string str) bufstr_set = #467;
250 float (float bufhandle, string str, float order) bufstr_add = #468;
251 void (float bufhandle, float string_index) bufstr_free = #469;
253 float () onground = #355;
255 void(string texturename, ...) R_BeginPolygon = #306;
256 void(vector org, vector texcoords, vector rgb, float alpha) R_PolygonVertex = #307;
257 void() R_EndPolygon = #308;
259 float(string s, float num) charindex = #356;
261 // Darkplaces Additional Functions
262 string(string s) strdecolorize = #477;
263 string(string s) strtolower = #480; // returns the passed in string in pure lowercase form
264 string(string s) strtoupper = #481; // returns the passed in string in pure uppercase form
265 float(string s) strlennocol = #476;
267 void(vector origin, string sample, float volume, float attenuation) pointsound = #483;
271 string(string key) serverkey = #354;
272 float(string s1, string s2) strcasecmp = #229;
273 float(string s1, string s2, float len) strncasecmp = #230;
274 float(string str, string sub, float startoffs) strstrofs = #221;
275 //float(string str, string sub) strstrofs = #221;
276 entity(float num) edict_num = #459;
277 string(void) ReadPicture = #501;
278 string(string filename) whichpack = #503;
279 float(entity ent) num_for_edict = #512;
280 float(string s, string separator1, ...) tokenizebyseparator = #479;
281 string(string in) uri_unescape = #511;
282 float(float caseinsensitive, string s, ...) crc16 = #494;
283 string(string info, string key) infoget = #227;
284 string(string info, string key, string value, ...) infoadd = #226;
285 string(string in) uri_escape = #510;
287 float stringtokeynum(string keyname) = #341;
288 string keynumtostring(float keynum) = #520;
289 string findkeysforcommand(string command) = #521;
291 string(float ccase, float calpha, float cnum, string s, ...) strconv = #224;
292 float(entity ent) wasfreed = #353;
294 entity(vector org, float rad) findradius = #22;
296 string(float uselocaltime, string format, ...) strftime = #478;
297 float(float timer) gettime = #519;
298 #define GETTIME_REALTIME 1
299 #define GETTIME_CDTRACK 4
301 float(string s) tokenize_console = #514;
302 float(float i) argv_start_index = #515;
303 float(float i) argv_end_index = #516;
305 float(float s) asin = #471; // returns angle in radians for a given sin() value, the result is in the range -PI*0.5 to PI*0.5
306 float(float c) acos = #472; // returns angle in radians for a given cos() value, the result is in the range 0 to PI
307 float(float t) atan = #473; // returns angle in radians for a given tan() value, the result is in the range -PI*0.5 to PI*0.5
308 float(float c, float s) atan2 = #474; // returns angle in radians for a given cos() and sin() value pair, the result is in the range -PI to PI (this is identical to vectoyaw except it returns radians rather than degrees)
309 float(float a) tan = #475; // returns tangent value (which is simply sin(a)/cos(a)) for the given angle in radians, the result is in the range -infinity to +infinity
310 float DEG2RAD = 0.0174532925199432957692369076848861271344287188854172545609719144;
311 float RAD2DEG = 57.2957795130823208767981548141051703324054724665643215491602438612;
312 float PI = 3.1415926535897932384626433832795028841971693993751058209749445923;
313 float log(float f) = #532;
315 void(entity e, entity ignore) tracetoss = #64;
317 float(entity e, float ch) getsoundtime = #533; // (DP_SND_GETSOUNDTIME)
319 #define PARTICLES_USEALPHA 1
320 float particles_alphamin, particles_alphamax;
321 #define PARTICLES_USECOLOR 2
322 vector particles_colormin, particles_colormax;
323 void(float effectindex, entity own, vector org_from, vector org_to, vector dir_from, vector dir_to, float countmultiplier, float flags) boxparticles = #502;
324 string(string format, ...) sprintf = #627;
326 float(string name) cvar_type = #495;
327 float CVAR_TYPEFLAG_EXISTS = 1;
328 float CVAR_TYPEFLAG_SAVED = 2;
329 float CVAR_TYPEFLAG_PRIVATE = 4;
330 float CVAR_TYPEFLAG_ENGINE = 8;
331 float CVAR_TYPEFLAG_HASDESCRIPTION = 16;
332 float CVAR_TYPEFLAG_READONLY = 32;
334 void (entity e, float chan, string samp, float vol, float atten, float pitchshift, float flags) sound7 = #8;
336 float trace_dphitcontents;
337 float trace_networkentity;
339 string(string search, string replace, string subject) strreplace = #484;
342 //idea: motorsep, Spike
343 //DarkPlaces implementation: divVerent
344 //builtin definitions:
345 string(string digest, string data, ...) digest_hex = #639;
347 //returns a given hex digest of given data
348 //the returned digest is always encoded in hexadecimal
349 //only the "MD4" digest is always supported!
350 //if the given digest is not supported, string_null is returned
351 //the digest string is matched case sensitively, use "MD4", not "md4"!
353 //DP_CSQC_MINFPS_QUALITY
355 //darkplaces implementation: divVerent
356 //constant definitions:
357 const float VF_MINFPS_QUALITY = 213;
358 //use getproperty(VF_MINFPS_QUALITY); to do CSQC based LOD based on cl_minfps
359 //1 should lead to an unmodified view