]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - prvm_exec.c
implemented q3 shader keyword polygonoffset
[xonotic/darkplaces.git] / prvm_exec.c
index 9ab430aa2cabe953d3bb5390e606b1ddd19b91d3..a889f66b1f7b1b01d256d7678b74623605d67786 100644 (file)
@@ -488,9 +488,6 @@ PRVM_ExecuteProgram
 extern cvar_t prvm_boundscheck;
 extern cvar_t prvm_traceqc;
 extern cvar_t prvm_statementprofiling;
-extern cvar_t prvm_tempstringmemory;
-extern int             PRVM_ED_FindFieldOffset (const char *field);
-extern ddef_t* PRVM_ED_FindGlobal(const char *name);
 extern sizebuf_t vm_tempstringsbuf;
 void PRVM_ExecuteProgram (func_t fnum, const char *errormessage)
 {
@@ -503,8 +500,8 @@ void PRVM_ExecuteProgram (func_t fnum, const char *errormessage)
 
        if (!fnum || fnum >= (unsigned int)prog->progs->numfunctions)
        {
-               if (prog->self && PRVM_G_INT(prog->self->ofs))
-                       PRVM_ED_Print(PRVM_PROG_TO_EDICT(PRVM_G_INT(prog->self->ofs)));
+               if (prog->globaloffsets.self >= 0 && PRVM_GLOBALFIELDVALUE(prog->globaloffsets.self)->edict)
+                       PRVM_ED_Print(PRVM_PROG_TO_EDICT(PRVM_GLOBALFIELDVALUE(prog->globaloffsets.self)->edict), NULL);
                PRVM_ERROR ("PRVM_ExecuteProgram: %s", errormessage);
        }
 
@@ -512,19 +509,6 @@ void PRVM_ExecuteProgram (func_t fnum, const char *errormessage)
 
        // after executing this function, delete all tempstrings it created
        restorevm_tempstringsbuf_cursize = vm_tempstringsbuf.cursize;
-       // if there is no stack, this is a good time to reallocate the
-       // vm_tempstringsbuf if the cvar has changed
-       if (restorevm_tempstringsbuf_cursize == 0)
-       {
-               int maxsize = bound(4096, prvm_tempstringmemory.integer, 1<<30);
-               if (vm_tempstringsbuf.maxsize != maxsize || !vm_tempstringsbuf.data)
-               {
-                       if (vm_tempstringsbuf.data)
-                               Mem_Free(vm_tempstringsbuf.data);
-                       vm_tempstringsbuf.maxsize = maxsize;
-                       vm_tempstringsbuf.data = Mem_Alloc(sv_mempool, vm_tempstringsbuf.maxsize);
-               }
-       }
 
        prog->trace = prvm_traceqc.integer;
 
@@ -614,4 +598,6 @@ cleanup:
                Con_Printf("PRVM_ExecuteProgram: %s used %i bytes of tempstrings\n", PRVM_GetString(prog->functions[fnum].s_name), vm_tempstringsbuf.cursize - restorevm_tempstringsbuf_cursize);
        // delete tempstrings created by this function
        vm_tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
+
+       SV_FlushBroadcastMessages();
 }