]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - prvm_edict.c
reducing error output in font loading (use developer != 0 to re-enable)
[xonotic/darkplaces.git] / prvm_edict.c
index 0b7c607579897868feb2cd7cfaec4a4fa3a78010..c6a1a8590c6357f4d5c3cc6c679fb252ea7a08a3 100644 (file)
@@ -1686,6 +1686,7 @@ void PRVM_FindOffsets(void)
        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");
@@ -1928,7 +1929,7 @@ po_t *PRVM_PO_Load(const char *filename, mempool_t *pool)
                                --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);
@@ -2303,10 +2304,11 @@ void PRVM_LoadProgs (const char * filename, int numrequiredfunc, char **required
 
        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);
@@ -2317,7 +2319,7 @@ void PRVM_LoadProgs (const char * filename, int numrequiredfunc, char **required
                                {
                                        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);
@@ -2342,7 +2344,7 @@ void PRVM_LoadProgs (const char * filename, int numrequiredfunc, char **required
                                {
                                        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);