X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Flib%2Fcvar.qh;h=4b292a3a5b20a614b7d2fc3f9326c9e79758a8bf;hp=666e14ab93f2592a0d884434b67339da2bddf62f;hb=cda90f24b93a7794bc85d8a3f54f82165a857cbb;hpb=d5a954d00e5c66bd5e68eadef172e50cf392bc4c diff --git a/qcsrc/lib/cvar.qh b/qcsrc/lib/cvar.qh index 666e14ab9..4b292a3a5 100644 --- a/qcsrc/lib/cvar.qh +++ b/qcsrc/lib/cvar.qh @@ -4,8 +4,10 @@ #include "progname.qh" #include "static.qh" +ERASEABLE void RegisterCvars(void(string name, string def, string desc, bool archive, string file) f) {} +ERASEABLE bool cvar_value_issafe(string s) { if (strstrofs(s, "\"", 0) >= 0) return false; @@ -18,6 +20,7 @@ bool cvar_value_issafe(string s) } /** escape the string to make it safe for consoles */ +ERASEABLE string MakeConsoleSafe(string input) { input = strreplace("\n", "", input); @@ -27,23 +30,16 @@ string MakeConsoleSafe(string input) return input; } -void cvar_describe(string name, string desc) -{ - localcmd(sprintf("\nset %1$s \"$%1$s\" \"%2$s\"\n", name, MakeConsoleSafe(desc))); -} - -void cvar_archive(string name) -{ - localcmd(sprintf("\nseta %1$s \"$%1$s\"\n", name)); -} - +ERASEABLE void RegisterCvars_Set(string name, string def, string desc, bool archive, string file) { - cvar_describe(name, desc); - if (archive) cvar_archive(name); + localcmd(sprintf("\nset %1$s \"$%1$s\" \"%2$s\"\n", name, MakeConsoleSafe(desc))); + if (archive) + localcmd(sprintf("\nseta %1$s \"$%1$s\"\n", name)); } int RegisterCvars_Save_fd; +ERASEABLE void RegisterCvars_Save(string name, string def, string desc, bool archive, string file) { if (!archive) return; @@ -80,7 +76,7 @@ const noref vector default_vector = '0 0 0'; // e.g.: AUTOCVAR(mycvar, float, 2.5, "cvar description") #define __AUTOCVAR(file, archive, var, type, desc, default) \ - [[accumulate]] void RegisterCvars(void(string, string, string, bool, string) f) \ + ACCUMULATE void RegisterCvars(void(string, string, string, bool, string) f) \ { \ f( #var, repr_cvar_##type(default), desc, archive, file); \ } \