prog->globaloffsets.dmg_save = PRVM_ED_FindGlobalOffset("dmg_save");
prog->globaloffsets.dmg_take = PRVM_ED_FindGlobalOffset("dmg_take");
prog->globaloffsets.drawfont = PRVM_ED_FindGlobalOffset("drawfont");
+ prog->globaloffsets.drawfontscale = PRVM_ED_FindGlobalOffset("drawfontscale");
prog->globaloffsets.gettaginfo_forward = PRVM_ED_FindGlobalOffset("gettaginfo_forward");
prog->globaloffsets.gettaginfo_name = PRVM_ED_FindGlobalOffset("gettaginfo_name");
prog->globaloffsets.gettaginfo_offset = PRVM_ED_FindGlobalOffset("gettaginfo_offset");
--q;
if(*(q-1) != '"')
break;
- if(q - p >= (ssize_t) sizeof(inbuf))
+ if((size_t)(q - p) >= (size_t) sizeof(inbuf))
break;
strlcpy(inbuf, p, q - p); // not - 1, because this adds a NUL
PRVM_PO_ParseString(decodedbuf + decodedpos, inbuf, sizeof(decodedbuf) - decodedpos);
PRVM_Init_Exec();
- if(*prvm_language.string && !strcmp(PRVM_NAME, "client"))
+ if(*prvm_language.string)
// in CSQC we really shouldn't be able to change how stuff works... sorry for now
// later idea: include a list of authorized .po file checksums with the csprogs
{
+ qboolean deftrans = !!strcmp(PRVM_NAME, "client");
if(!strcmp(prvm_language.string, "dump"))
{
qfile_t *f = FS_OpenRealFile(va("%s.%s.po", filename, prvm_language.string), "w", false);
{
const char *name;
name = PRVM_GetString(prog->globaldefs[i].s_name);
- if(!name || strncmp(name, "notranslate_", 12))
+ if(deftrans ? (!name || strncmp(name, "notranslate_", 12)) : (name && !strncmp(name, "dotranslate_", 12)))
if((prog->globaldefs[i].type & ~DEF_SAVEGLOBAL) == ev_string)
{
prvm_eval_t *val = (prvm_eval_t *)(prog->globals.generic + prog->globaldefs[i].ofs);
{
const char *name;
name = PRVM_GetString(prog->globaldefs[i].s_name);
- if(!name || strncmp(name, "notranslate_", 12))
+ if(deftrans ? (!name || strncmp(name, "notranslate_", 12)) : (name && !strncmp(name, "dotranslate_", 12)))
if((prog->globaldefs[i].type & ~DEF_SAVEGLOBAL) == ev_string)
{
prvm_eval_t *val = (prvm_eval_t *)(prog->globals.generic + prog->globaldefs[i].ofs);
if (prog->knownstrings[i] == s)
return -1 - i;
// new unknown engine string
- if (developer.integer >= 200)
- Con_Printf("new engine string %p = \"%s\"\n", s, s);
+ if (developer_insane.integer)
+ Con_DPrintf("new engine string %p = \"%s\"\n", s, s);
for (i = prog->firstfreeknownstring;i < prog->numknownstrings;i++)
if (!prog->knownstrings[i])
break;
if (!s)
return 0;
size = (int)strlen(s) + 1;
- if (developer.integer >= 300)
- Con_Printf("PRVM_SetTempString: cursize %i, size %i\n", vm_tempstringsbuf.cursize, size);
+ if (developer_insane.integer)
+ Con_DPrintf("PRVM_SetTempString: cursize %i, size %i\n", vm_tempstringsbuf.cursize, size);
if (vm_tempstringsbuf.maxsize < vm_tempstringsbuf.cursize + size)
{
sizebuf_t old = vm_tempstringsbuf;
vm_tempstringsbuf.maxsize *= 2;
if (vm_tempstringsbuf.maxsize != old.maxsize || vm_tempstringsbuf.data == NULL)
{
- if (developer.integer >= 100)
- Con_Printf("PRVM_SetTempString: enlarging tempstrings buffer (%iKB -> %iKB)\n", old.maxsize/1024, vm_tempstringsbuf.maxsize/1024);
+ Con_DPrintf("PRVM_SetTempString: enlarging tempstrings buffer (%iKB -> %iKB)\n", old.maxsize/1024, vm_tempstringsbuf.maxsize/1024);
vm_tempstringsbuf.data = (unsigned char *) Mem_Alloc(sv_mempool, vm_tempstringsbuf.maxsize);
if (old.cursize)
memcpy(vm_tempstringsbuf.data, old.data, old.cursize);