X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fdebug.qh;h=6d580bd2d69a8b65631a465d0adee730e6bca07d;hb=9f3c9851a330279ee0ea7943970c3af484447bf2;hp=113019a7c7d125bf69a03b215e67739438220b3a;hpb=6f4c7132e635c0150e3894f2f9958b361ce0c238;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/debug.qh b/qcsrc/common/debug.qh index 113019a7c..6d580bd2d 100644 --- a/qcsrc/common/debug.qh +++ b/qcsrc/common/debug.qh @@ -1,6 +1,10 @@ #pragma once -#ifndef MENUQC +#ifdef CSQC +.entity tag_entity; +#endif + +#ifdef GAMEQC .bool debug; .int sv_entnum; REGISTER_NET_TEMP(net_debug) @@ -43,7 +47,7 @@ REGISTER_NET_TEMP(net_debug) } #endif -#ifndef MENUQC +#ifdef GAMEQC /** * 0: off * 1: on @@ -96,7 +100,7 @@ bool autocvar_debugdraw; // if (it.entnum) break; // if (it.drawmask) break; // if (it.predraw) break; -// if (it.movetype) break; +// if (it.move_movetype) break; if (it.solid) break; // if (it.origin) break; // if (it.oldorigin) break; @@ -138,7 +142,7 @@ bool autocvar_debugdraw; if (pos.z < 0) continue; pos.z = 0; pos.y += ofs * sz; - drawcolorcodedstring2(pos, + drawcolorcodedstring2_builtin(pos, sprintf("%d: '%s'@%s", (it.debug ? it.sv_entnum : etof(it)), it.classname, it.sourceLoc), sz * '1 1 0', rgb, 0.5, DRAWFLAG_NORMAL); @@ -219,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; @@ -239,7 +277,7 @@ MUTATOR_HOOKFUNCTION(trace, SV_StartFrame) it.solid_prev = it.solid; it.solid = SOLID_BBOX; }); - vector forward; vector right; vector up; + vector forward = '0 0 0'; vector right = '0 0 0'; vector up = '0 0 0'; MAKEVECTORS(makevectors, it.v_angle, forward, right, up); vector pos = it.origin + it.view_ofs; traceline(pos, pos + forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, it); @@ -271,6 +309,7 @@ STATIC_INIT(TRACE_ENT) { entity e = TRACE_ENT = new_pure(TRACE_ENT); e.draw2d = Trace_draw2d; + IL_PUSH(g_drawables_2d, e); } #endif