log() function is now a builtin (this means we need the current engine if any code...
[divverent/nexuiz.git] / data / qcsrc / client / csqc_builtins.qc
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;
5
6 void ()                                                                 break = #6;
7 float ()                                                                random = #7;
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;
16
17 void (vector v1, vector v2, float nomonsters, entity forent)            traceline = #16;
18
19 entity (entity start, .string fld, string match)                        find = #18;
20 string (string s)                                                       precache_sound = #19;
21 string (string s)                                                       precache_model = #20;
22
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;
30
31 float (float v)                                                         rint = #36;
32 float (float v)                                                         floor = #37;
33 float (float v)                                                         ceil = #38;
34
35 float (vector v)                                                        pointcontents = #41;
36 float (float f)                                                         fabs = #43;
37
38 float (string s)                                                        cvar = #45;
39 void (string s, ...)                                                    localcmd = #46;
40 entity (entity e)                                                       nextent = #47;
41
42 vector (vector v)                                                       vectoangles = #51;
43 vector (vector v, vector w)                                                     vectoangles2 = #51;
44
45 void (string var, string val)                                           cvar_set = #72;
46
47
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!
55
56 float(string s)                                                         stof = #81;
57
58
59 void (vector v1, vector min, vector max, vector v2, float nomonsters, entity forent)    tracebox = #90;
60 float (string name, string value, ...)                                  registercvar = #93;
61
62 entity (entity start, .entity fld, entity match)                        findentity = #98;
63 entity (entity start, .float fld, float match)                          findfloat = #98;
64
65 float (string s)                                                        checkextension = #99;
66
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;
77
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 void ()                                                                 R_RenderScene = #304;
83 void (vector org, float radius, vector rgb)                             R_AddDynamicLight = #305;
84 void ()                                                                 R_CalcRefDef = #306;
85
86 vector (vector v)                                                       cs_unproject = #310;
87 vector (vector v)                                                       cs_project = #311;
88
89 void    drawline(float width, vector pos1, vector pos2, vector rgb, float alpha, float flags) = #315;
90 float   iscachedpic(string name)        = #316;
91 string  precache_pic(string name, ...)  = #317;
92 vector  drawgetimagesize(string pic) = #318;
93 void    freepic(string name)            = #319;
94 float   drawcharacter(vector position, float character, vector scale, vector rgb, float alpha, float flag) = #320;
95 float   drawstring(vector position, string text, vector scale, vector rgb, float alpha, float flag) = #321;
96 float   drawpic(vector position, string pic, vector size, vector rgb, float alpha, float flag) = #322;
97 float   drawfill(vector position, vector size, vector rgb, float alpha, float flag) = #323;
98 void    drawsetcliparea(float x, float y, float width, float height) = #324;
99 void    drawresetcliparea(void) = #325;
100 float   drawcolorcodedstring(vector position, string text, vector scale, float alpha, float flag) = #326;
101 float   stringwidth(string text, float handleColors) = #327;
102 float   drawsubpic(vector position, vector size, string pic, vector srcPosition, vector srcSize, vector rgb, float alpha, float flag) = #328;
103
104
105 float (float statnum)                                                   getstatf = #330;
106 float (float statnum)                                                   getstati = #331;
107 string (float statnum)                                                  getstats = #332;
108
109 void (entity e, float i)                                                setmodelindex = #333;
110 string (float i)                                                        modelnameforindex = #334;
111
112 float(string efname)                                                    particleeffectnum = #335;
113 void(entity ent, float effectnum, vector start, vector end, ...)        trailparticles = #336;
114 void (float efnum, vector org, vector vel, float countmultiplier, ...)  pointparticles = #337;
115
116 void (string s, ...)                                                    cprint = #338;
117 void (string s, ...)                                                    print = #339;
118
119 void (float scale)                                                      setsensitivityscale = #346;
120
121
122 void (float framenum)                                                   RetrieveMovementFrame = #345;
123 void ()                                                                 DefaultPlayerPhysics = #347;
124
125 string (float playernum, string key)                                    getplayerkey = #348;
126 void (string cmdname)                                                   registercmd = #352;
127 vector ()                                                               getmousepos = #344;
128
129 string (string s)                                                       uncolorstring = #170;
130
131 void (vector org, vector forward, vector right, vector up)              setlistener = #351;
132
133 float (vector start, vector end, float ignore, float csqcents)          selecttraceline = #355;
134 float ()                                                                isdemo = #349;
135 float ()                                                                isserver = #350;
136
137 void (float f)                                                          setwantsmousemove = #343;
138 string (float key)                                                      getkeybind = #342;
139 //string (float f)                                                      chr = #78;
140 string (float f)                                                        chr = #78;
141 float(string str, float ofs)                                            str2chr = #222;
142 string(float c, ...)                                                    chr2str = #223;
143
144 vector (vector org)                                                     getlight = #92;
145
146 entity (.string fld, string match)                                      findchain = #402;
147 entity (.float fld, float match)                                        findchainflags = #450;
148 entity (.entity fld, entity match)                                      findchainentity = #403;
149 entity (.float fld, float match)                                        findchainfloat = #403;
150 entity (entity start, .float fld, float match)                          findflags = #449;
151
152 float (string pattern, float caseinsensitive, float quiet)              search_begin = #444;
153 void (float handle)                                                     search_end = #445;
154 float (float handle)                                                    search_getsize = #446;
155 string (float handle, float num)                                        search_getfilename = #447;
156
157
158 float (entity e, float s)                                               getsurfacenumpoints = #434;
159 vector (entity e, float s, float n)                                     getsurfacepoint = #435;
160 vector (entity e, float s)                                              getsurfacenormal = #436;
161 string (entity e, float s)                                              getsurfacetexture = #437;
162 float (entity e, vector p)                                              getsurfacenearpoint = #438;
163 vector (entity e, float s, vector p)                                    getsurfaceclippedpoint = #439;
164
165 float (float a, float b) min = #94;
166 float (float a, float b, float c) min3 = #94;
167 float (float a, float b, float c, float d) min4 = #94;
168 float (float a, float b, float c, float d, float e) min5 = #94;
169 float (float a, float b, float c, float d, float e, float f) min6 = #94;
170 float (float a, float b, float c, float d, float e, float f, float g) min7 = #94;
171 float (float a, float b, float c, float d, float e, float f, float g, float h) min8 = #94;
172 float (float a, float b) max = #95;
173 float (float a, float b, float c) max3 = #95;
174 float (float a, float b, float c, float d) max4 = #95;
175 float (float a, float b, float c, float d, float e) max5 = #95;
176 float (float a, float b, float c, float d, float e, float f) max6 = #95;
177 float (float a, float b, float c, float d, float e, float f, float g) max7 = #95;
178 float (float a, float b, float c, float d, float e, float f, float g, float h) max8 = #95;
179 float (float minimum, float val, float maximum) bound = #96;
180
181 vector () randomvec = #91;
182
183 float (float val)               sin = #60;
184 float (float val)               cos = #61;
185 float (float val)               sqrt = #62;
186 float (float a, float b)        pow = #97;
187
188 void (vector org, string modelname, float startframe, float endframe, float framerate) effect = #404;
189
190 void (vector org, vector velocity, float howmany) te_blood = #405;
191 void (vector mincorner, vector maxcorner, float explosionspeed, float howmany) te_bloodshower = #406;
192 void (vector org, float radius, float lifetime, vector color) te_customflash = #417;
193 void(vector org, vector color) te_explosionrgb = #407;
194 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color, float gravityflag, float randomveljitter) te_particlecube = #408;
195 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color) te_particlerain = #409;
196 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color) te_particlesnow = #410;
197 void(vector org) te_plasmaburn = #433;
198 void(vector org) te_gunshotquad = #412;
199 void(vector org) te_spikequad = #413;
200 void(vector org) te_superspikequad = #414;
201 void(vector org) te_explosionquad = #415;
202 void(vector org) te_smallflash = #416;
203 void(vector org, vector vel, float howmany) te_spark = #411;
204
205 void(vector org) te_gunshot = #418;
206 void(vector org) te_spike = #419;
207 void(vector org) te_superspike = #420;
208 void(vector org) te_explosion = #421;
209 void(vector org) te_tarexplosion = #422;
210 void(vector org) te_wizspike = #423;
211 void(vector org) te_knightspike = #424;
212 void(vector org) te_lavasplash = #425;
213 void(vector org) te_teleport = #426;
214 void(vector org, float color, float colorlength) te_explosion2 = #427;
215 void(entity own, vector start, vector end) te_lightning1 = #428;
216 void(entity own, vector start, vector end) te_lightning2 = #429;
217 void(entity own, vector start, vector end) te_lightning3 = #430;
218 void(entity own, vector start, vector end) te_beam = #431;
219
220 float (entity ent, string tagname)      gettagindex = #451;
221 vector (entity ent, float tagindex)     gettaginfo = #452;
222
223 float (string s)        tokenize = #441;
224 string (float argnum)   argv = #442;
225
226 string (string s) cvar_string = #448;
227
228 float ()                                                buf_create = #460;
229 void (float bufhandle)                                  buf_del = #461;
230 float (float bufhandle)                                 buf_getsize = #462;
231 void (float bufhandle_from, float bufhandle_to)         buf_copy = #463;
232 void (float bufhandle, float sortpower, float backward) buf_sort = #464;
233 string (float bufhandle, string glue)                   buf_implode = #465;
234 string (float bufhandle, float string_index)            bufstr_get = #466;
235 void (float bufhandle, float string_index, string str)  bufstr_set = #467;
236 float (float bufhandle, string str, float order)        bufstr_add = #468;
237 void (float bufhandle, float string_index)              bufstr_free = #469;
238
239 float () onground = #355;
240
241 void(string texturename, ...) R_BeginPolygon = #306;
242 void(vector org, vector texcoords, vector rgb, float alpha) R_PolygonVertex = #307;
243 void() R_EndPolygon = #308;
244
245 float(string s, float num) charindex = #356;
246
247 // Darkplaces Additional Functions
248 string(string s) strdecolorize = #477;
249 string(string s) strtolower = #480; // returns the passed in string in pure lowercase form
250 string(string s) strtoupper = #481; // returns the passed in string in pure uppercase form
251 float(string s) strlennocol = #476;
252
253 void(vector origin, string sample, float volume, float attenuation) pointsound = #483;
254
255 // added by blub
256
257 string(string key)                                      serverkey = #354;
258 float(string s1, string s2)                             strcasecmp = #229;
259 float(string s1, string s2, float len)                  strncasecmp = #230;
260 float(string str, string sub, float startoffs)          strstrofs = #221;
261 //float(string str, string sub)                         strstrofs = #221;
262 entity(float num)                                       edict_num = #459;
263 string(void)                                            ReadPicture = #501;
264 string(string filename)                                 whichpack = #503;
265 float(entity ent)                                       num_for_edict = #512;
266 float(string s, string separator1, ...) tokenizebyseparator = #479;
267 string(string in) uri_unescape = #511;
268 float(float caseinsensitive, string s, ...) crc16 = #494;
269 string(string info, string key) infoget = #227;
270 string(string info, string key, string value, ...) infoadd = #226;
271 string(string in) uri_escape = #510;
272
273 string  keynumtostring(float keynum) = #520;
274 string  findkeysforcommand(string command) = #521;
275
276 string(float ccase, float calpha, float cnum, string s, ...) strconv = #224;
277 float(entity ent) wasfreed = #353;
278
279 entity(vector org, float rad) findradius = #22;
280
281 string(float uselocaltime, string format, ...) strftime = #478;
282 float(float timer) gettime = #519;
283 #define GETTIME_CDTRACK 4
284
285 float(string s) tokenize_console = #514;
286 float(float i) argv_start_index = #515;
287 float(float i) argv_end_index = #516;
288
289 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
290 float(float c) acos = #472; // returns angle in radians for a given cos() value, the result is in the range 0 to PI
291 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
292 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)
293 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
294 float DEG2RAD = 0.0174532925199432957692369076848861271344287188854172545609719144;
295 float RAD2DEG = 57.2957795130823208767981548141051703324054724665643215491602438612;
296 float PI      = 3.1415926535897932384626433832795028841971693993751058209749445923;
297 float log(float f) = #532;