diff --git a/engine/common/pr_common.h b/engine/common/pr_common.h new file mode 100644 index 000000000..725dfcc21 --- /dev/null +++ b/engine/common/pr_common.h @@ -0,0 +1,187 @@ + +void PF_InitTempStrings(progfuncs_t *prinst); +string_t PR_TempString(progfuncs_t *prinst, char *str); //returns a tempstring containing str +char *PF_TempStr(progfuncs_t *prinst); //returns a tempstring which can be filled in with whatever junk you want. + +#define RETURN_SSTRING(s) (((int *)pr_globals)[OFS_RETURN] = PR_SetString(prinst, s)) //static - exe will not change it. +#define MAX_TEMPSTRS ((int)pr_tempstringcount.value) +#define MAXTEMPBUFFERLEN ((int)pr_tempstringsize.value) +extern cvar_t pr_tempstringsize; +extern cvar_t pr_tempstringcount; + +int MP_TranslateFTEtoDPCodes(int code); + +//pr_cmds.c builtins that need to be moved to a common. +void VARGS PR_BIError(progfuncs_t *progfuncs, char *format, ...); +void PF_print (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_dprint (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_error (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_rint (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_floor (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_ceil (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Tokenize (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_ArgV (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_FindString (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_FindFloat (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_nextent (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_randomvector (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Sin (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Cos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Sqrt (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_bound (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strlen(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strcat (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_ftos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fabs (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vtos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_etos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_stof (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_mod (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_substring (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_stov (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_dupstring(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_forgetstring(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Spawn (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_min (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_max (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_registercvar (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_pow (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_chr2str (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_localcmd (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_random (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fopen (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fclose (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fputs (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fgets (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_normalize (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vlen (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vectoyaw (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vectoangles (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_findchain (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_findchainfloat (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_coredump (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_traceon (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_traceoff (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_eprint (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void search_close_progs(progfuncs_t *prinst, qboolean complain); +void PF_search_begin (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_search_end (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_search_getsize (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_search_getfilename (progfuncs_t *prinst, struct globalvars_s *pr_globals); + +void PR_fclose_progs (progfuncs_t *prinst); +char *PF_VarString (progfuncs_t *prinst, int first, struct globalvars_s *pr_globals); + + + + + + + + +//pr_cmds.c builtins that need to be moved to a common. +void VARGS PR_BIError(progfuncs_t *progfuncs, char *format, ...); +void PF_cvar_string (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_cvar_set (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_print (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_dprint (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_error (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_rint (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_floor (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_ceil (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Tokenize (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_ArgV (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_FindString (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_FindFloat (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_nextent (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_randomvec (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Sin (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Cos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Sqrt (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_bound (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strlen(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strcat (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_ftos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fabs (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vtos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_etos (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_stof (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_mod (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_substring (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_stov (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_dupstring(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_forgetstring(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Spawn (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_min (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_max (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_registercvar (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_pow (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_chr2str (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_localcmd (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_random (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_randomvector (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fopen (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fclose (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fputs (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_fgets (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_normalize (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vlen (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vectoyaw (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_vectoangles (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_FindFlags (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_findchain (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_findchainfloat (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_findchainflags (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_coredump (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_traceon (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_traceoff (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_eprint (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_bitshift(progfuncs_t *prinst, struct globalvars_s *pr_globals); + +void PF_registercvar (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_Abort(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_externcall (progfuncs_t *prinst, globalvars_t *pr_globals); +void PF_externrefcall (progfuncs_t *prinst, globalvars_t *pr_globals); +void PF_externvalue (progfuncs_t *prinst, globalvars_t *pr_globals); +void PF_externset (progfuncs_t *prinst, globalvars_t *pr_globals); +void PF_instr (progfuncs_t *prinst, globalvars_t *pr_globals); + +void PF_strstrofs (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_str2chr (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_chr2str (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strconv (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_infoadd (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_infoget (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strncmp (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strcasecmp (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strncasecmp (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_strpad (progfuncs_t *prinst, struct globalvars_s *pr_globals); + +//these functions are from pr_menu.dat +void PF_CL_is_cached_pic (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_precache_pic (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_free_pic (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawcharacter (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawstring (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawpic (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawline (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawfill (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawsetcliparea (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawresetcliparea (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_CL_drawgetimagesize (progfuncs_t *prinst, struct globalvars_s *pr_globals); + +void PF_cl_keynumtostring (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_cl_stringtokeynum(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_cl_getkeybind (progfuncs_t *prinst, struct globalvars_s *pr_globals); + +void search_close_progs(progfuncs_t *prinst, qboolean complain); +void PF_search_begin (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_search_end (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_search_getsize (progfuncs_t *prinst, struct globalvars_s *pr_globals); +void PF_search_getfilename (progfuncs_t *prinst, struct globalvars_s *pr_globals); + + +void PF_fclose_progs (progfuncs_t *prinst); +char *PF_VarString (progfuncs_t *prinst, int first, struct globalvars_s *pr_globals); +int QCEditor (progfuncs_t *prinst, char *filename, int line, int nump, char **parms); +