]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - progs.h
upgraded both QuakeC VMs to use a table of negative string indices for all dynamic...
[xonotic/darkplaces.git] / progs.h
diff --git a/progs.h b/progs.h
index b39f355ef1f0a26a28e1978e67aaaf2da0e810bf..e4ea1410931d48ce32ab401f9d07e45bc9afffa2 100644 (file)
--- a/progs.h
+++ b/progs.h
@@ -147,6 +147,7 @@ extern mfunction_t *SV_ParseClientCommandQC;
 extern dprograms_t             *progs;
 extern mfunction_t             *pr_functions;
 extern char                    *pr_strings;
+extern int                             pr_stringssize;
 extern ddef_t                  *pr_globaldefs;
 extern ddef_t                  *pr_fielddefs;
 extern dstatement_t    *pr_statements;
@@ -156,6 +157,10 @@ extern     float                   *pr_globals;                    // same as pr_global_struct
 extern int                             pr_edict_size;  // in bytes
 extern int                             pr_edictareasize; // LordHavoc: for bounds checking
 
+extern int                             pr_maxknownstrings;
+extern int                             pr_numknownstrings;
+extern const char              **pr_knownstrings;
+
 //============================================================================
 
 void PR_Init (void);
@@ -182,9 +187,6 @@ edict_t *ED_Alloc (void);
 void ED_Free (edict_t *ed);
 void ED_ClearEdict (edict_t *e);
 
-char   *ED_NewString (const char *string);
-// returns a copy of the string allocated from the server's string heap
-
 void ED_Print(edict_t *ed);
 void ED_Write (qfile_t *f, edict_t *ed);
 const char *ED_ParseEdict (const char *data, edict_t *ent);
@@ -244,8 +246,11 @@ void PR_Execute_ProgsLoaded(void);
 void ED_PrintEdicts (void);
 void ED_PrintNum (int ent);
 
-#define PR_GetString(num) (pr_strings + num)
-#define PR_SetString(s)   ((s) != NULL ? (int) (s - pr_strings) : 0)
+const char *PR_GetString(int num);
+int PR_SetQCString(const char *s);
+int PR_SetEngineString(const char *s);
+char *PR_AllocString(int bufferlength);
+void PR_FreeString(char *s);
 
 #endif