#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;
//============================================================================
#define PRVM_OP_STATE 1
+#ifdef DP_SMALLMEMORY
+#define PRVM_MAX_STACK_DEPTH 128
+#define PRVM_LOCALSTACK_SIZE 2048
+
+#define PRVM_MAX_OPENFILES 16
+#define PRVM_MAX_OPENSEARCHES 8
+#define PRVM_MAX_GECKOINSTANCES 1
+#else
#define PRVM_MAX_STACK_DEPTH 1024
#define PRVM_LOCALSTACK_SIZE 16384
#define PRVM_MAX_OPENFILES 256
#define PRVM_MAX_OPENSEARCHES 128
#define PRVM_MAX_GECKOINSTANCES 32
+#endif
typedef void (*prvm_builtin_t) (void);
int nodrawtoclient; // ssqc
int pflags; // ssqc
int ping; // ssqc
+ int packetloss; // ssqc
+ int movementloss; // ssqc
int pitch_speed; // ssqc / csqc
int playermodel; // ssqc
int playerskin; // ssqc
int dmg_origin; // csqc
int sb_showscores; // csqc
int drawfont; // csqc / menu
+ int drawfontscale; // csqc / menu
int require_spawnfunc_prefix; // ssqc
int worldstatus; // ssqc
int servertime; // csqc
}
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;
qboolean loaded;
qboolean leaktest_active;
+ // translation buffer (only needs to be freed on unloading progs, type is private to prvm_edict.c)
+ void *po;
+
// printed together with backtraces
const char *statestring;
void PRVM_Init (void);
+#ifdef PROFILING
void MVM_ExecuteProgram (func_t fnum, const char *errormessage);
void CLVM_ExecuteProgram (func_t fnum, const char *errormessage);
void SVVM_ExecuteProgram (func_t fnum, const char *errormessage);
+#else
+#define MVM_ExecuteProgram SVVM_ExecuteProgram
+#define CLVM_ExecuteProgram SVVM_ExecuteProgram
+void SVVM_ExecuteProgram (func_t fnum, const char *errormessage);
+#endif
#define PRVM_ExecuteProgram prog->ExecuteProgram
#define PRVM_Alloc(buffersize) _PRVM_Alloc(buffersize, __FILE__, __LINE__)