]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - pr_cmds.c
console logging (-condebug) now starts earlier in the startup process (just after...
[xonotic/darkplaces.git] / pr_cmds.c
index 3d31164bf347e793f36175867913b0e6bf7e4dc9..fc4ef6ef450de5b21aca7cc55f5f00af1335b536 100644 (file)
--- a/pr_cmds.c
+++ b/pr_cmds.c
@@ -65,6 +65,14 @@ char *PF_VarString (int      first)
 }
 
 char *ENGINE_EXTENSIONS =
+"DP_CL_LOADSKY "
+"DP_EF_NODRAW "
+"DP_EF_ADDITIVE "
+"DP_EF_BLUE "
+"DP_EF_RED "
+"DP_EF_FULLBRIGHT "
+"DP_EF_FLAME "
+"DP_EF_STARDUST "
 "DP_ENT_ALPHA "
 "DP_ENT_CUSTOMCOLORMAP "
 "DP_ENT_EXTERIORMODELTOCLIENT "
@@ -73,9 +81,11 @@ char *ENGINE_EXTENSIONS =
 "DP_ENT_SCALE "
 "DP_ENT_VIEWMODEL "
 "DP_GFX_FOG "
+"DP_GFX_SKYBOX "
 "DP_HALFLIFE_MAP "
 "DP_INPUTBUTTONS "
 "DP_MONSTERWALK "
+"DP_MOVETYPEBOUNCEMISSILE "
 "DP_MOVETYPEFOLLOW "
 "DP_QC_CHANGEPITCH "
 "DP_QC_COPYENTITY "
@@ -84,6 +94,7 @@ char *ENGINE_EXTENSIONS =
 "DP_QC_FINDCHAINFLOAT "
 "DP_QC_FINDFLOAT "
 "DP_QC_GETLIGHT "
+"DP_QC_GETSURFACE "
 "DP_QC_MINMAXBOUND "
 "DP_QC_RANDOMVEC "
 "DP_QC_SINCOSSQRTPOW "
@@ -91,6 +102,7 @@ char *ENGINE_EXTENSIONS =
 "DP_QC_TRACETOSS "
 "DP_QC_VECTORVECTORS "
 "DP_QUAKE2_MODEL "
+"DP_QUAKE3_MODEL "
 "DP_REGISTERCVAR "
 "DP_SOLIDCORPSE "
 "DP_SPRITE32 "
@@ -103,15 +115,21 @@ char *ENGINE_EXTENSIONS =
 "DP_SV_SLOWMO "
 "DP_TE_BLOOD "
 "DP_TE_BLOODSHOWER "
+"DP_TE_CUSTOMFLASH "
 "DP_TE_EXPLOSIONRGB "
+"DP_TE_FLAMEJET "
 "DP_TE_PARTICLECUBE "
 "DP_TE_PARTICLERAIN "
 "DP_TE_PARTICLESNOW "
+"DP_TE_PLASMABURN "
+"DP_TE_QUADEFFECTS1 "
+"DP_TE_SMALLFLASH "
 "DP_TE_SPARK "
+"DP_TE_STANDARDEFFECTBUILTINS "
+"DP_VIEWZOOM "
 "FRIK_FILE "
 "NEH_CMD_PLAY2 "
 "NEH_RESTOREGAME "
-"QSG_FILE "
 "TW_SV_STEPCONTROL "
 ;
 
@@ -835,7 +853,7 @@ int PF_newcheckclient (int check)
                if (i == check)
                        break;  // didn't find anything else
 
-               if (ent->free)
+               if (ent->e->free)
                        continue;
                if (ent->v->health <= 0)
                        continue;
@@ -887,7 +905,7 @@ void PF_checkclient (void)
 
        // return check if it might be visible
        ent = EDICT_NUM(sv.lastcheck);
-       if (ent->free || ent->v->health <= 0)
+       if (ent->e->free || ent->v->health <= 0)
        {
                RETURN_EDICT(sv.edicts);
                return;
@@ -1020,7 +1038,7 @@ void PF_findradius (void)
        for (i=1 ; i<sv.num_edicts ; i++, ent = NEXT_EDICT(ent))
        {
                pr_xfunction->builtinsprofile++;
-               if (ent->free)
+               if (ent->e->free)
                        continue;
                if (ent->v->solid == SOLID_NOT)
                        continue;
@@ -1143,7 +1161,7 @@ void PF_Find (void)
        {
                pr_xfunction->builtinsprofile++;
                ed = EDICT_NUM(e);
-               if (ed->free)
+               if (ed->e->free)
                        continue;
                t = E_STRING(ed,f);
                if (!t)
@@ -1174,7 +1192,7 @@ void PF_FindFloat (void)
        {
                pr_xfunction->builtinsprofile++;
                ed = EDICT_NUM(e);
-               if (ed->free)
+               if (ed->e->free)
                        continue;
                if (E_FLOAT(ed,f) == s)
                {
@@ -1209,7 +1227,7 @@ void PF_findchain (void)
        for (i = 1;i < sv.num_edicts;i++, ent = NEXT_EDICT(ent))
        {
                pr_xfunction->builtinsprofile++;
-               if (ent->free)
+               if (ent->e->free)
                        continue;
                t = E_STRING(ent,f);
                if (!t)
@@ -1242,7 +1260,7 @@ void PF_findchainfloat (void)
        for (i = 1;i < sv.num_edicts;i++, ent = NEXT_EDICT(ent))
        {
                pr_xfunction->builtinsprofile++;
-               if (ent->free)
+               if (ent->e->free)
                        continue;
                if (E_FLOAT(ent,f) != s)
                        continue;
@@ -1412,7 +1430,7 @@ void PF_droptofloor (void)
                ent->v->groundentity = EDICT_TO_PROG(trace.ent);
                G_FLOAT(OFS_RETURN) = 1;
                // if support is destroyed, keep suspended (gross hack for floating items in various maps)
-               ent->suspendedinairflag = true;
+               ent->e->suspendedinairflag = true;
        }
 }
 
@@ -1511,7 +1529,7 @@ void PF_nextent (void)
                        return;
                }
                ent = EDICT_NUM(i);
-               if (!ent->free)
+               if (!ent->e->free)
                {
                        RETURN_EDICT(ent);
                        return;
@@ -2064,14 +2082,14 @@ void PF_copyentity (void)
 
 /*
 =================
-PF_setcolors
+PF_setcolor
 
 sets the color of a client and broadcasts the update to all connected clients
 
-setcolors(clientent, value)
+setcolor(clientent, value)
 =================
 */
-void PF_setcolors (void)
+void PF_setcolor (void)
 {
        client_t        *client;
        int                     entnum, i;
@@ -2531,7 +2549,7 @@ static msurface_t *getsurface(edict_t *ed, int surfnum)
 {
        int modelindex;
        model_t *model;
-       if (!ed || ed->free)
+       if (!ed || ed->e->free)
                return NULL;
        modelindex = ed->v->modelindex;
        if (modelindex < 1 || modelindex >= MAX_MODELS)
@@ -2566,7 +2584,7 @@ void PF_getsurfacepoint(void)
        int pointnum;
        VectorClear(G_VECTOR(OFS_RETURN));
        ed = G_EDICT(OFS_PARM0);
-       if (!ed || ed->free)
+       if (!ed || ed->e->free)
                return;
        if (!(surf = getsurface(ed, G_FLOAT(OFS_PARM1))))
                return;
@@ -2612,7 +2630,7 @@ void PF_getsurfacenearpoint(void)
        ed = G_EDICT(OFS_PARM0);
        point = G_VECTOR(OFS_PARM1);
 
-       if (!ed || ed->free)
+       if (!ed || ed->e->free)
                return;
        modelindex = ed->v->modelindex;
        if (modelindex < 1 || modelindex >= MAX_MODELS)
@@ -2652,7 +2670,7 @@ void PF_getsurfaceclippedpoint(void)
        vec3_t p, out;
        VectorClear(G_VECTOR(OFS_RETURN));
        ed = G_EDICT(OFS_PARM0);
-       if (!ed || ed->free)
+       if (!ed || ed->e->free)
                return;
        if (!(surf = getsurface(ed, G_FLOAT(OFS_PARM1))))
                return;
@@ -2663,11 +2681,6 @@ void PF_getsurfaceclippedpoint(void)
        VectorAdd(out, ed->v->origin, G_VECTOR(OFS_RETURN));
 }
 
-void PF_Fixme (void)
-{
-       Host_Error ("unimplemented QC builtin"); // LordHavoc: was misspelled (bulitin)
-}
-
 #define MAX_PRFILES 256
 
 qfile_t *pr_files[MAX_PRFILES];
@@ -2892,178 +2905,171 @@ void PF_strunzone(void)
 
 builtin_t pr_builtin[] =
 {
-PF_Fixme,
-PF_makevectors,        // void(entity e)       makevectors             = #1;
-PF_setorigin,  // void(entity e, vector o) setorigin   = #2;
-PF_setmodel,   // void(entity e, string m) setmodel    = #3;
-PF_setsize,    // void(entity e, vector min, vector max) setsize = #4;
-PF_Fixme,      // void(entity e, vector min, vector max) setabssize = #5;
-PF_break,      // void() break                                         = #6;
-PF_random,     // float() random                                               = #7;
-PF_sound,      // void(entity e, float chan, string samp) sound = #8;
-PF_normalize,  // vector(vector v) normalize                   = #9;
-PF_error,      // void(string e) error                         = #10;
-PF_objerror,   // void(string e) objerror                              = #11;
-PF_vlen,       // float(vector v) vlen                         = #12;
-PF_vectoyaw,   // float(vector v) vectoyaw             = #13;
-PF_Spawn,      // entity() spawn                                               = #14;
-PF_Remove,     // void(entity e) remove                                = #15;
-PF_traceline,  // float(vector v1, vector v2, float tryents) traceline = #16;
-PF_checkclient,        // entity() clientlist                                  = #17;
-PF_Find,       // entity(entity start, .string fld, string match) find = #18;
-PF_precache_sound,     // void(string s) precache_sound                = #19;
-PF_precache_model,     // void(string s) precache_model                = #20;
-PF_stuffcmd,   // void(entity client, string s)stuffcmd = #21;
-PF_findradius, // entity(vector org, float rad) findradius = #22;
-PF_bprint,     // void(string s) bprint                                = #23;
-PF_sprint,     // void(entity client, string s) sprint = #24;
-PF_dprint,     // void(string s) dprint                                = #25;
-PF_ftos,       // void(string s) ftos                          = #26;
-PF_vtos,       // void(string s) vtos                          = #27;
-PF_coredump,
-PF_traceon,
-PF_traceoff,
-PF_eprint,     // void(entity e) debug print an entire entity
-PF_walkmove, // float(float yaw, float dist) walkmove
-PF_Fixme, // float(float yaw, float dist) walkmove
-PF_droptofloor,
-PF_lightstyle,
-PF_rint,
-PF_floor,
-PF_ceil,
-PF_Fixme,
-PF_checkbottom,
-PF_pointcontents,
-PF_Fixme,
-PF_fabs,
-PF_aim,
-PF_cvar,
-PF_localcmd,
-PF_nextent,
-PF_particle,
-PF_changeyaw,
-PF_Fixme,
-PF_vectoangles,
-
-PF_WriteByte,
-PF_WriteChar,
-PF_WriteShort,
-PF_WriteLong,
-PF_WriteCoord,
-PF_WriteAngle,
-PF_WriteString,
-PF_WriteEntity,
-
-PF_sin,
-PF_cos,
-PF_sqrt,
-PF_changepitch,
-PF_TraceToss,
-PF_etos,
-PF_Fixme,
-
-SV_MoveToGoal,
-PF_precache_file,
-PF_makestatic,
-
-PF_changelevel,
-PF_Fixme,
-
-PF_cvar_set,
-PF_centerprint,
-
-PF_ambientsound,
-
-PF_precache_model,
-PF_precache_sound,             // precache_sound2 is different only for qcc
-PF_precache_file,
-
-PF_setspawnparms,
-
-PF_Fixme,                              // #79 LordHavoc: dunno who owns 79-89, so these are just padding
-PF_Fixme,                              // #80
-PF_stof,                               // #81 float(string s) stof = #81;
-PF_Fixme,                              // #82
-PF_Fixme,                              // #83
-PF_Fixme,                              // #84
-PF_Fixme,                              // #85
-PF_Fixme,                              // #86
-PF_Fixme,                              // #87
-PF_Fixme,                              // #88
-PF_Fixme,                              // #89
-
-PF_tracebox,                   // #90 LordHavoc builtin range (9x)
-PF_randomvec,                  // #91
-PF_GetLight,                   // #92
-PF_registercvar,               // #93
-PF_min,                                        // #94
-PF_max,                                        // #95
-PF_bound,                              // #96
-PF_pow,                                        // #97
-PF_FindFloat,                  // #98
-PF_checkextension,             // #99
-#define a PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme, PF_Fixme,
-a                                              // #100-109
-PF_fopen,                              // #110 float(string filename, float mode) fopen = #110;
-PF_fclose,                             // #111 void(float fhandle) fclose = #111;
-PF_fgets,                              // #112 string(float fhandle) fgets = #112;
-PF_fputs,                              // #113 void(float fhandle, string s) fputs = #113;
-PF_strlen,                             // #114 float(string s) strlen = #114;
-PF_strcat,                             // #115 string(string s1, string s2) strcat = #115;
-PF_substring,                  // #116 string(string s, float start, float length) substring = #116;
-PF_stov,                               // #117 vector(string) stov = #117;
-PF_strzone,                            // #118 string(string s) strzone = #118;
-PF_strunzone,                  // #119 void(string s) strunzone = #119;
-a                                              // #120-129
-a                                              // #130-139
-a                                              // #140-149
-a                                              // #150-159
-a                                              // #160-169
-a                                              // #170-179
-a                                              // #180-189
-a                                              // #190-199
-a a a a a a a a a a            // #200-299
-a a a a a a a a a a            // #300-399
-PF_copyentity,                 // #400 LordHavoc: builtin range (4xx)
-PF_setcolors,                  // #401
-PF_findchain,                  // #402
-PF_findchainfloat,             // #403
-PF_effect,                             // #404
-PF_te_blood,                   // #405
-PF_te_bloodshower,             // #406
-PF_te_explosionrgb,            // #407
-PF_te_particlecube,            // #408
-PF_te_particlerain,            // #409
-PF_te_particlesnow,            // #410
-PF_te_spark,                   // #411
-PF_te_gunshotquad,             // #412
-PF_te_spikequad,               // #413
-PF_te_superspikequad,  // #414
-PF_te_explosionquad,   // #415
-PF_te_smallflash,              // #416
-PF_te_customflash,             // #417
-PF_te_gunshot,                 // #418
-PF_te_spike,                   // #419
-PF_te_superspike,              // #420
-PF_te_explosion,               // #421
-PF_te_tarexplosion,            // #422
-PF_te_wizspike,                        // #423
-PF_te_knightspike,             // #424
-PF_te_lavasplash,              // #425
-PF_te_teleport,                        // #426
-PF_te_explosion2,              // #427
-PF_te_lightning1,              // #428
-PF_te_lightning2,              // #429
-PF_te_lightning3,              // #430
-PF_te_beam,                            // #431
-PF_vectorvectors,              // #432
-PF_te_plasmaburn,              // #433
-PF_getsurfacenumpoints, // #434 float(entity e, float s) getsurfacenumpoints = #434;
-PF_getsurfacepoint,     // #435 vector(entity e, float s, float n) getsurfacepoint = #435;
-PF_getsurfacenormal,    // #436 vector(entity e, float s) getsurfacenormal = #436;
-PF_getsurfacetexture,   // #437 string(entity e, float s) getsurfacetexture = #437;
-PF_getsurfacenearpoint, // #438 float(entity e, vector p) getsurfacenearpoint = #438;
-PF_getsurfaceclippedpoint,// #439 vector(entity e, float s, vector p) getsurfaceclippedpoint = #439;
+NULL,                                          // #0
+PF_makevectors,                                // #1 void(entity e) makevectors
+PF_setorigin,                          // #2 void(entity e, vector o) setorigin
+PF_setmodel,                           // #3 void(entity e, string m) setmodel
+PF_setsize,                                    // #4 void(entity e, vector min, vector max) setsize
+NULL,                                          // #5 void(entity e, vector min, vector max) setabssize
+PF_break,                                      // #6 void() break
+PF_random,                                     // #7 float() random
+PF_sound,                                      // #8 void(entity e, float chan, string samp) sound
+PF_normalize,                          // #9 vector(vector v) normalize
+PF_error,                                      // #10 void(string e) error
+PF_objerror,                           // #11 void(string e) objerror
+PF_vlen,                                       // #12 float(vector v) vlen
+PF_vectoyaw,                           // #13 float(vector v) vectoyaw
+PF_Spawn,                                      // #14 entity() spawn
+PF_Remove,                                     // #15 void(entity e) remove
+PF_traceline,                          // #16 float(vector v1, vector v2, float tryents) traceline
+PF_checkclient,                                // #17 entity() clientlist
+PF_Find,                                       // #18 entity(entity start, .string fld, string match) find
+PF_precache_sound,                     // #19 void(string s) precache_sound
+PF_precache_model,                     // #20 void(string s) precache_model
+PF_stuffcmd,                           // #21 void(entity client, string s)stuffcmd
+PF_findradius,                         // #22 entity(vector org, float rad) findradius
+PF_bprint,                                     // #23 void(string s) bprint
+PF_sprint,                                     // #24 void(entity client, string s) sprint
+PF_dprint,                                     // #25 void(string s) dprint
+PF_ftos,                                       // #26 void(string s) ftos
+PF_vtos,                                       // #27 void(string s) vtos
+PF_coredump,                           // #28 void() coredump
+PF_traceon,                                    // #29 void() traceon
+PF_traceoff,                           // #30 void() traceoff
+PF_eprint,                                     // #31 void(entity e) eprint
+PF_walkmove,                           // #32 float(float yaw, float dist) walkmove
+NULL,                                          // #33
+PF_droptofloor,                                // #34 float() droptofloor
+PF_lightstyle,                         // #35 void(float style, string value) lightstyle
+PF_rint,                                       // #36 float(float v) rint
+PF_floor,                                      // #37 float(float v) floor
+PF_ceil,                                       // #38 float(float v) ceil
+NULL,                                          // #39
+PF_checkbottom,                                // #40 float(entity e) checkbottom
+PF_pointcontents               ,       // #41 float(vector v) pointcontents
+NULL,                                          // #42
+PF_fabs,                                       // #43 float(float f) fabs
+PF_aim,                                                // #44 vector(entity e, float speed) aim
+PF_cvar,                                       // #45 float(string s) cvar
+PF_localcmd,                           // #46 void(string s) localcmd
+PF_nextent,                                    // #47 entity(entity e) nextent
+PF_particle,                           // #48 void(vector o, vector d, float color, float count) particle
+PF_changeyaw,                          // #49 void() ChangeYaw
+NULL,                                          // #50
+PF_vectoangles,                                // #51 vector(vector v) vectoangles
+PF_WriteByte,                          // #52 void(float to, float f) WriteByte
+PF_WriteChar,                          // #53 void(float to, float f) WriteChar
+PF_WriteShort,                         // #54 void(float to, float f) WriteShort
+PF_WriteLong,                          // #55 void(float to, float f) WriteLong
+PF_WriteCoord,                         // #56 void(float to, float f) WriteCoord
+PF_WriteAngle,                         // #57 void(float to, float f) WriteAngle
+PF_WriteString,                                // #58 void(float to, string s) WriteString
+PF_WriteEntity,                                // #59 void(float to, entity e) WriteEntity
+PF_sin,                                                // #60 float(float f) sin (DP_QC_SINCOSSQRTPOW)
+PF_cos,                                                // #61 float(float f) cos (DP_QC_SINCOSSQRTPOW)
+PF_sqrt,                                       // #62 float(float f) sqrt (DP_QC_SINCOSSQRTPOW)
+PF_changepitch,                                // #63 void(entity ent) changepitch (DP_QC_CHANGEPITCH)
+PF_TraceToss,                          // #64 void(entity e, entity ignore) tracetoss (DP_QC_TRACETOSS)
+PF_etos,                                       // #65 string(entity ent) etos (DP_QC_ETOS)
+NULL,                                          // #66
+SV_MoveToGoal,                         // #67 void(float step) movetogoal
+PF_precache_file,                      // #68 string(string s) precache_file
+PF_makestatic,                         // #69 void(entity e) makestatic
+PF_changelevel,                                // #70 void(string s) changelevel
+NULL,                                          // #71
+PF_cvar_set,                           // #72 void(string var, string val) cvar_set
+PF_centerprint,                                // #73 void(entity client, strings) centerprint
+PF_ambientsound,                       // #74 void(vector pos, string samp, float vol, float atten) ambientsound
+PF_precache_model,                     // #75 string(string s) precache_model2
+PF_precache_sound,                     // #76 string(string s) precache_sound2
+PF_precache_file,                      // #77 string(string s) precache_file2
+PF_setspawnparms,                      // #78 void(entity e) setspawnparms
+NULL,                                          // #79
+NULL,                                          // #80
+PF_stof,                                       // #81 float(string s) stof (FRIK_FILE)
+NULL,                                          // #82
+NULL,                                          // #83
+NULL,                                          // #84
+NULL,                                          // #85
+NULL,                                          // #86
+NULL,                                          // #87
+NULL,                                          // #88
+NULL,                                          // #89
+PF_tracebox,                           // #90 void(vector v1, vector min, vector max, vector v2, float nomonsters, entity forent) tracebox (DP_QC_TRACEBOX)
+PF_randomvec,                          // #91 vector() randomvec (DP_QC_RANDOMVEC)
+PF_GetLight,                           // #92 vector(vector org) getlight (DP_QC_GETLIGHT)
+PF_registercvar,                       // #93 float(string name, string value) registercvar (DP_REGISTERCVAR)
+PF_min,                                                // #94 float(float a, floats) min (DP_QC_MINMAXBOUND)
+PF_max,                                                // #95 float(float a, floats) max (DP_QC_MINMAXBOUND)
+PF_bound,                                      // #96 float(float minimum, float val, float maximum) bound (DP_QC_MINMAXBOUND)
+PF_pow,                                                // #97 float(float f, float f) pow (DP_QC_SINCOSSQRTPOW)
+PF_FindFloat,                          // #98 entity(entity start, .float fld, float match) findfloat (DP_QC_FINDFLOAT)
+PF_checkextension,                     // #99 float(string s) checkextension (the basis of the extension system)
+NULL,                                          // #100
+NULL,                                          // #101
+NULL,                                          // #102
+NULL,                                          // #103
+NULL,                                          // #104
+NULL,                                          // #105
+NULL,                                          // #106
+NULL,                                          // #107
+NULL,                                          // #108
+NULL,                                          // #109
+PF_fopen,                                      // #110 float(string filename, float mode) fopen (FRIK_FILE)
+PF_fclose,                                     // #111 void(float fhandle) fclose (FRIK_FILE)
+PF_fgets,                                      // #112 string(float fhandle) fgets (FRIK_FILE)
+PF_fputs,                                      // #113 void(float fhandle, string s) fputs (FRIK_FILE)
+PF_strlen,                                     // #114 float(string s) strlen (FRIK_FILE)
+PF_strcat,                                     // #115 string(string s1, string s2) strcat (FRIK_FILE)
+PF_substring,                          // #116 string(string s, float start, float length) substring (FRIK_FILE)
+PF_stov,                                       // #117 vector(string) stov (FRIK_FILE)
+PF_strzone,                                    // #118 string(string s) strzone (FRIK_FILE)
+PF_strunzone,                          // #119 void(string s) strunzone (FRIK_FILE)
+#define a NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+a a a a a a a a                                // #120-199
+a a a a a a a a a a                    // #200-299
+a a a a a a a a a a                    // #300-399
+PF_copyentity,                         // #400 void(entity from, entity to) copyentity (DP_QC_COPYENTITY)
+PF_setcolor,                           // #401 void(entity ent, float colors) setcolor (DP_QC_SETCOLOR)
+PF_findchain,                          // #402 entity(.string fld, string match) findchain (DP_QC_FINDCHAIN)
+PF_findchainfloat,                     // #403 entity(.float fld, float match) findchainfloat (DP_QC_FINDCHAINFLOAT)
+PF_effect,                                     // #404 void(vector org, string modelname, float startframe, float endframe, float framerate) effect (DP_SV_EFFECT)
+PF_te_blood,                           // #405 void(vector org, vector velocity, float howmany) te_blood (DP_TE_BLOOD)
+PF_te_bloodshower,                     // #406 void(vector mincorner, vector maxcorner, float explosionspeed, float howmany) te_bloodshower (DP_TE_BLOODSHOWER)
+PF_te_explosionrgb,                    // #407 void(vector org, vector color) te_explosionrgb (DP_TE_EXPLOSIONRGB)
+PF_te_particlecube,                    // #408 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color, float gravityflag, float randomveljitter) te_particlecube (DP_TE_PARTICLECUBE)
+PF_te_particlerain,                    // #409 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color) te_particlerain (DP_TE_PARTICLERAIN)
+PF_te_particlesnow,                    // #410 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color) te_particlesnow (DP_TE_PARTICLESNOW)
+PF_te_spark,                           // #411 void(vector org, vector vel, float howmany) te_spark (DP_TE_SPARK)
+PF_te_gunshotquad,                     // #412 void(vector org) te_gunshotquad (DP_QUADEFFECTS1)
+PF_te_spikequad,                       // #413 void(vector org) te_spikequad (DP_QUADEFFECTS1)
+PF_te_superspikequad,          // #414 void(vector org) te_superspikequad (DP_QUADEFFECTS1)
+PF_te_explosionquad,           // #415 void(vector org) te_explosionquad (DP_QUADEFFECTS1)
+PF_te_smallflash,                      // #416 void(vector org) te_smallflash (DP_TE_SMALLFLASH)
+PF_te_customflash,                     // #417 void(vector org, float radius, float lifetime, vector color) te_customflash (DP_TE_CUSTOMFLASH)
+PF_te_gunshot,                         // #418 void(vector org) te_gunshot (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_spike,                           // #419 void(vector org) te_spike (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_superspike,                      // #420 void(vector org) te_superspike (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_explosion,                       // #421 void(vector org) te_explosion (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_tarexplosion,                    // #422 void(vector org) te_tarexplosion (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_wizspike,                                // #423 void(vector org) te_wizspike (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_knightspike,                     // #424 void(vector org) te_knightspike (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_lavasplash,                      // #425 void(vector org) te_lavasplash (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_teleport,                                // #426 void(vector org) te_teleport (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_explosion2,                      // #427 void(vector org, float color) te_explosion2 (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_lightning1,                      // #428 void(entity own, vector start, vector end) te_lightning1 (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_lightning2,                      // #429 void(entity own, vector start, vector end) te_lightning2 (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_lightning3,                      // #430 void(entity own, vector start, vector end) te_lightning3 (DP_TE_STANDARDEFFECTBUILTINS)
+PF_te_beam,                                    // #431 void(entity own, vector start, vector end) te_beam (DP_TE_STANDARDEFFECTBUILTINS)
+PF_vectorvectors,                      // #432 void(vector dir) vectorvectors (DP_QC_VECTORVECTORS)
+PF_te_plasmaburn,                      // #433 void(vector org) te_plasmaburn (DP_TE_PLASMABURN)
+PF_getsurfacenumpoints,                // #434 float(entity e, float s) getsurfacenumpoints (DP_QC_GETSURFACE)
+PF_getsurfacepoint,                    // #435 vector(entity e, float s, float n) getsurfacepoint (DP_QC_GETSURFACE)
+PF_getsurfacenormal,           // #436 vector(entity e, float s) getsurfacenormal (DP_QC_GETSURFACE)
+PF_getsurfacetexture,          // #437 string(entity e, float s) getsurfacetexture (DP_QC_GETSURFACE)
+PF_getsurfacenearpoint,                // #438 float(entity e, vector p) getsurfacenearpoint (DP_QC_GETSURFACE)
+PF_getsurfaceclippedpoint,     // #439 vector(entity e, float s, vector p) getsurfaceclippedpoint (DP_QC_GETSURFACE)
+a a a a a a                                    // #440-499 (LordHavoc)
 };
 
 builtin_t *pr_builtins = pr_builtin;