X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=prvm_edict.c;h=18238abb3dd57072645459657269bf5ef1169880;hb=9829ccb76b1b5f2cb18d14cae0092ab94f183ece;hp=ca54439d21fc1f93cf98ab3d6a110a089150d710;hpb=298be39bde342dc131650c9fe7b028ece4bb8e96;p=xonotic%2Fdarkplaces.git diff --git a/prvm_edict.c b/prvm_edict.c index ca54439d..18238abb 100644 --- a/prvm_edict.c +++ b/prvm_edict.c @@ -648,7 +648,7 @@ void PRVM_ED_Print(prvm_edict_t *ed, const char *wildcard_fieldname) { d = &prog->fielddefs[i]; name = PRVM_GetString(d->s_name); - if (name[strlen(name)-2] == '_') + if(strlen(name) > 1 && name[strlen(name)-2] == '_' && (name[strlen(name)-1] == 'x' || name[strlen(name)-1] == 'y' || name[strlen(name)-1] == 'z')) continue; // skip _x, _y, _z vars // Check Field Name Wildcard @@ -732,8 +732,9 @@ void PRVM_ED_Write (qfile_t *f, prvm_edict_t *ed) if(developer_entityparsing.integer) Con_Printf("PRVM_ED_Write: at entity %d field %s\n", PRVM_NUM_FOR_EDICT(ed), name); - if (name[strlen(name)-2] == '_') - continue; // skip _x, _y, _z vars + //if(strlen(name) > 1 && name[strlen(name)-2] == '_' && (name[strlen(name)-1] == 'x' || name[strlen(name)-1] == 'y' || name[strlen(name)-1] == 'z')) + if(strlen(name) > 1 && name[strlen(name)-2] == '_') + continue; // skip _x, _y, _z vars, and ALSO other _? vars as some mods expect them to be never saved (TODO: a gameplayfix for using the "more precise" condition above?) v = (int *)(ed->fields.vp + d->ofs);