]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - pr_execprogram.h
no longer uses R_Shadow_VertexBuffer, instead uses aliasvert_vertex3f
[xonotic/darkplaces.git] / pr_execprogram.h
index f421e22c1427b8957e69688282f9273ca5b53280..4c2001eee276a8e924780d9a2d91d112d0fe39e1 100644 (file)
@@ -4,7 +4,7 @@
                while (1)
                {
                        st++;
-                       if (++profile > 1000000) // LordHavoc: increased runaway loop limit 10x
+                       if (++profile > 10000000) // LordHavoc: increased runaway loop limit 100x
                        {
                                pr_xstatement = st - pr_statements;
                                Host_Error ("runaway loop error");
                                if (newf->first_statement < 0)
                                {
                                        // negative statements are built in functions
-                                       if ((-newf->first_statement) >= pr_numbuiltins)
-                                               Host_Error ("Bad builtin call number");
-                                       pr_builtins[-newf->first_statement] ();
+                                       int builtinnumber = -newf->first_statement;
+                                       pr_xfunction->builtinsprofile++;
+                                       if (builtinnumber < pr_numbuiltins && pr_builtins[builtinnumber])
+                                               pr_builtins[builtinnumber] ();
+                                       else
+                                               Host_Error ("No such builtin #%i", builtinnumber);
                                }
                                else
                                        st = pr_statements + PR_EnterFunction(newf);