]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add cvar_localchanges command
authorTimePath <andrew.hardaker1995@gmail.com>
Sun, 24 Jul 2016 05:48:21 +0000 (15:48 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Sun, 24 Jul 2016 05:48:21 +0000 (15:48 +1000)
qcsrc/common/debug.qh

index 9aca8e774c34a669cf3439f6656914c703b7a0a3..13fd6a24f5f5e10622795211e7baf56cf835a000 100644 (file)
@@ -223,6 +223,40 @@ GENERIC_COMMAND(version, "Print the current version")
        }
 }
 
+#ifdef CSQC
+void(float bufhandle, string pattern, string antipattern) buf_cvarlist = #517;
+#endif
+GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars")
+{
+       switch (request)
+       {
+               case CMD_REQUEST_COMMAND:
+               {
+                       string s = "";
+                       int h = buf_create();
+                       buf_cvarlist(h, "", "_"); // exclude all _ cvars as they are temporary
+                       int n = buf_getsize(h);
+                       for (int i = 0; i < n; ++i) {
+                               string k = bufstr_get(h, i);
+                               string v = cvar_string(k);
+                               string d = cvar_defstring(k);
+                               if (v == d)
+                                       continue;
+                               s = strcat(s, k, " \"", v, "\" // \"", d, "\"\n");
+                       }
+                       buf_del(h);
+                       LOG_INFO(s);
+                       return;
+               }
+               default:
+               case CMD_REQUEST_USAGE:
+               {
+                       LOG_INFO(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges"));
+                       return;
+               }
+       }
+}
+
 REGISTER_STAT(TRACE_ENT, int)
 #ifdef SVQC
 bool autocvar_debugtrace;