From: divverent Date: Sat, 5 Jun 2010 16:55:35 +0000 (+0000) Subject: if a dotranslate_ variable exists, ALWAYS assume the opt-in way of translating X-Git-Tag: xonotic-v0.1.0preview~230^2~252 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=046924d1bf29b8ff4d6ea6657a9e6277ab5c4828;p=xonotic%2Fdarkplaces.git if a dotranslate_ variable exists, ALWAYS assume the opt-in way of translating git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10226 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/prvm_edict.c b/prvm_edict.c index 8538e26e..ceb0e3cb 100644 --- a/prvm_edict.c +++ b/prvm_edict.c @@ -2318,6 +2318,20 @@ void PRVM_LoadProgs (const char * filename, int numrequiredfunc, char **required // later idea: include a list of authorized .po file checksums with the csprogs { qboolean deftrans = !!strcmp(PRVM_NAME, "client"); + if(deftrans) // once we have dotranslate_ strings, ALWAYS use the opt-in method! + { + for (i=0 ; iprogs->numglobaldefs ; i++) + { + const char *name; + name = PRVM_GetString(prog->globaldefs[i].s_name); + if((prog->globaldefs[i].type & ~DEF_SAVEGLOBAL) == ev_string) + if(name && !strncmp(name, "dotranslate_", 12)) + { + deftrans = false; + break; + } + } + } if(!strcmp(prvm_language.string, "dump")) { qfile_t *f = FS_OpenRealFile(va("%s.%s.po", filename, prvm_language.string), "w", false); @@ -2328,8 +2342,8 @@ void PRVM_LoadProgs (const char * filename, int numrequiredfunc, char **required { const char *name; name = PRVM_GetString(prog->globaldefs[i].s_name); - if(deftrans ? (!name || strncmp(name, "notranslate_", 12)) : (name && !strncmp(name, "dotranslate_", 12))) if((prog->globaldefs[i].type & ~DEF_SAVEGLOBAL) == ev_string) + if(deftrans ? (!name || strncmp(name, "notranslate_", 12)) : (name && !strncmp(name, "dotranslate_", 12))) { prvm_eval_t *val = (prvm_eval_t *)(prog->globals.generic + prog->globaldefs[i].ofs); const char *value = PRVM_GetString(val->string);