#define PRVM_FE_CHAIN 4
#define PRVM_OP_STATE 1
-#define PRVM_MAX_STACK_DEPTH 256
-#define PRVM_LOCALSTACK_SIZE 2048
+#define PRVM_MAX_STACK_DEPTH 1024
+#define PRVM_LOCALSTACK_SIZE 16384
+
+#define PRVM_MAX_OPENFILES 256
+#define PRVM_MAX_OPENSEARCHES 128
typedef void (*prvm_builtin_t) (void);
//============================================================================
// until this point everything also exists (with the pr_ prefix) in the old vm
+ qfile_t *openfiles[PRVM_MAX_OPENFILES];
+ fssearch_t *opensearches[PRVM_MAX_OPENSEARCHES];
+
// copies of some vars that were former read from sv
int num_edicts;
// number of edicts for which space has been (should be) allocated
// number of reserved edicts (allocated from 1)
int reserved_edicts; // [INIT]
-
prvm_edict_t *edicts;
void *edictsfields;
void *edictprivate;
void (*init_cmd)(void); // [INIT] used by PRVM_InitProg
void (*reset_cmd)(void); // [INIT] used by PRVM_ResetProg
- void (*error_cmd)(const char *format, ...); // [INIT]
+ void (*error_cmd)(const char *format, ...) DP_FUNC_PRINTF(1); // [INIT]
} prvm_prog_t;
const char *PRVM_GetString(int num);
int PRVM_SetEngineString(const char *s);
+int PRVM_SetTempString(const char *s);
int PRVM_AllocString(size_t bufferlength, char **pointer);
void PRVM_FreeString(int num);
#define PRVM_End prog = 0
#endif
-
//#define PRVM_SAFENAME
#ifndef PRVM_SAFENAME
# define PRVM_NAME (prog->name)
int PRVM_GetProgNr(void);
-void VM_Warning(const char *fmt, ...);
+void VM_Warning(const char *fmt, ...) DP_FUNC_PRINTF(1);
// TODO: fill in the params
//void PRVM_Create();