X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=progsvm.h;h=b49922b6ff2ee6a5d38b3188ca4e89ec5d8fe677;hb=bd31e3b2322a06cd4c7e079f7bdb29a4863e61bd;hp=6aa6b01a779f10dc7576d76f53716c56be5aa6c0;hpb=0c6707ec9d047fb24d2fb7feadaa9861fe0840a0;p=xonotic%2Fdarkplaces.git diff --git a/progsvm.h b/progsvm.h index 6aa6b01a..b49922b6 100644 --- a/progsvm.h +++ b/progsvm.h @@ -33,6 +33,10 @@ The code uses void pointers instead. #include "progdefs.h" // generated by program cdefs #include "clprogdefs.h" // generated by program cdefs +#ifndef DP_SMALLMEMORY +#define PROFILING +#endif + // forward declaration of clgecko_t struct clgecko_s; @@ -40,6 +44,7 @@ typedef struct prvm_stack_s { int s; mfunction_t *f; + double tprofile_acc; double profile_acc; double builtinsprofile_acc; } prvm_stack_t; @@ -183,9 +188,9 @@ typedef struct prvm_prog_fieldoffsets_s int dimension_hit; // ssqc / csqc int dimension_solid; // ssqc / csqc int disableclientprediction; // ssqc + int discardabledemo; // ssqc int dphitcontentsmask; // ssqc / csqc int drawonlytoclient; // ssqc - int effects; // ssqc / csqc int exteriormodeltoclient; // ssqc int fatness; // ssqc / csqc int forceshader; // csqc @@ -262,6 +267,19 @@ typedef struct prvm_prog_fieldoffsets_s int enemy; // ssqc / csqc (physics) int aiment; // ssqc / csqc (physics) int movedir; // ssqc / csqc (physics) + + int camera_transform; // csqc (warpzones) + + int userwavefunc_param0; // csqc (userwavefunc) + int userwavefunc_param1; // csqc (userwavefunc) + int userwavefunc_param2; // csqc (userwavefunc) + int userwavefunc_param3; // csqc (userwavefunc) + + int crypto_keyfp; // svqc (crypto) + int crypto_mykeyfp; // svqc (crypto) + int crypto_idfp; // svqc (crypto) + int crypto_encryptmethod; // svqc (crypto) + int crypto_signmethod; // svqc (crypto) } prvm_prog_fieldoffsets_t; @@ -276,6 +294,8 @@ typedef struct prvm_prog_globaloffsets_s int v_right; // ssqc / csqc int v_up; // ssqc / csqc int view_angles; // csqc + int view_punchangle; // csqc + int view_punchvector; // csqc int trace_allsolid; // ssqc / csqc int trace_startsolid; // ssqc / csqc int trace_fraction; // ssqc / csqc @@ -311,6 +331,11 @@ typedef struct prvm_prog_globaloffsets_s int gettaginfo_right; // ssqc / csqc int gettaginfo_up; // ssqc / csqc int transparent_offset; // csqc + + int particles_alphamin; // csqc + int particles_alphamax; // csqc + int particles_colormin; // csqc + int particles_colormax; // csqc } prvm_prog_globaloffsets_t; @@ -356,12 +381,16 @@ typedef struct prvm_prog_funcoffsets_s } prvm_prog_funcoffsets_t; +// stringbuffer flags +#define STRINGBUFFER_SAVED 1 // saved in savegames + typedef struct prvm_stringbuffer_s { int max_strings; int num_strings; char **strings; const char *origin; + unsigned char flags; } prvm_stringbuffer_t; @@ -570,7 +599,7 @@ void *_PRVM_Alloc (size_t buffersize, const char *filename, int fileline); void _PRVM_Free (void *buffer, const char *filename, int fileline); void _PRVM_FreeAll (const char *filename, int fileline); -void PRVM_Profile (int maxfunctions, int mininstructions, int sortby); +void PRVM_Profile (int maxfunctions, double mintime, int sortby); void PRVM_Profile_f (void); void PRVM_ChildProfile_f (void); void PRVM_CallProfile_f (void);