X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fdebug.qh;h=e63a7f04f63e7e86f69f04dd3befb13af5868a0a;hb=8beec64997768a03f05b166a4b4af5a63cb9886c;hp=2242dc0a27f6816a8c2d470b509437c960bbc7da;hpb=eb8bd20d5384af0cdde5674b10829a9a54486a88;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/debug.qh b/qcsrc/common/debug.qh index 2242dc0a27..e63a7f04f6 100644 --- a/qcsrc/common/debug.qh +++ b/qcsrc/common/debug.qh @@ -1,7 +1,9 @@ #pragma once #ifdef CSQC +#include #include +#include #endif @@ -69,7 +71,7 @@ REGISTER_NET_TEMP(net_debug) * 6: on (.solid != 0) */ bool autocvar_debugdraw; -#endif +#endif // GAMEQC #ifdef CSQC string autocvar_debugdraw_filter, autocvar_debugdraw_filterout; @@ -161,8 +163,7 @@ bool autocvar_debugdraw; }); }); } -#endif - +#endif // CSQC #ifdef SVQC COMMON_COMMAND(debugdraw_sv, "Dump all server entities") @@ -188,16 +189,16 @@ bool autocvar_debugdraw; default: case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " debugdraw_sv"); + LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " debugdraw_sv"); return; } } } -#endif -#endif +#endif // SVQC +#endif // ENABLE_DEBUGDRAW -GENERIC_COMMAND(bufstr_get, "Examine a string buffer object") +GENERIC_COMMAND(bufstr_get, "Examine a string buffer object", false) { switch (request) { @@ -205,34 +206,33 @@ GENERIC_COMMAND(bufstr_get, "Examine a string buffer object") { int bufhandle = stof(argv(1)); int string_index = stof(argv(2)); - string s = bufstr_get(bufhandle, string_index); - LOG_INFOF("%s", s); + LOG_INFO(bufstr_get(bufhandle, string_index)); return; } default: case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " bufstr_get bufhandle string_index"); + LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " bufstr_get "); return; } } } -GENERIC_COMMAND(version, "Print the current version") +GENERIC_COMMAND(version, "Print the current version", false) { switch (request) { case CMD_REQUEST_COMMAND: { - LOG_INFO(WATERMARK); + LOG_INFO(PROGNAME, " version: ", WATERMARK); return; } default: case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " version"); + LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " version"); return; } } @@ -242,7 +242,8 @@ 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") + +GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars", false) { switch (request) { @@ -267,7 +268,7 @@ GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars") default: case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges"); + LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges"); return; } } @@ -276,6 +277,7 @@ GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars") #if ENABLE_DEBUGTRACE REGISTER_STAT(TRACE_ENT, int) + #ifdef SVQC bool autocvar_debugtrace; @@ -311,7 +313,8 @@ MUTATOR_HOOKFUNCTION(trace, SV_StartFrame) stuffcmd(it, sprintf("prvm_edict server %d\n", i)); }); } -#endif +#endif // SVQC + #ifdef CSQC entity TRACE_ENT; void Trace_draw2d(entity this) @@ -329,11 +332,12 @@ STATIC_INIT(TRACE_ENT) e.draw2d = Trace_draw2d; IL_PUSH(g_drawables_2d, e); } -#endif +#endif // CSQC + #endif -GENERIC_COMMAND(find, "Search through entities for matching classname") +GENERIC_COMMAND(findent, "Search through entities for matching classname", false) { switch (request) { @@ -342,44 +346,58 @@ GENERIC_COMMAND(find, "Search through entities for matching classname") int entcnt = 0; FOREACH_ENTITY_CLASS_ORDERED(argv(1), true, { - LOG_INFOF("%i (%s)", it, it.classname); + LOG_HELPF("%i (%s)", it, it.classname); ++entcnt; }); if(entcnt) - LOG_INFOF("Found %d entities", entcnt); + LOG_HELPF("Found %d entities", entcnt); return; } default: - { - LOG_INFO("Incorrect parameters for ^2find^7"); - } + LOG_INFOF("Incorrect parameters for ^2%s^7", argv(0)); case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 " GetProgramCommandPrefix() " find classname"); - LOG_INFO(" Where 'classname' is the classname to search for."); + LOG_HELP("Usage:^3 " GetProgramCommandPrefix() " find "); + LOG_HELP(" Where is the classname to search for."); return; } } } -GENERIC_COMMAND(findat, "Search through entities for matching origin") +GENERIC_COMMAND(findat, "Search through entities for matching origin", false) { switch (request) { case CMD_REQUEST_COMMAND: { - vector match = stov(argv(1)); - FOREACH_ENTITY_ORDERED(it.origin == match, LOG_INFOF("%i (%s)", it, it.classname)); + vector org = stov(argv(1)); + float dist = stof(argv(2)); + int entcnt = 0; + FOREACH_ENTITY_ORDERED(true, + { + if (dist > 0) + { + if (!vdist(it.origin - org, <, dist)) + continue; + } + else if (it.origin != org) + continue; + LOG_HELPF("%i (%s)", it, it.classname); + ++entcnt; + }); + if(entcnt) + LOG_HELPF("Found %d entities", entcnt); return; } default: - LOG_INFO("Incorrect parameters for ^2findat^7"); + LOG_INFOF("Incorrect parameters for ^2%s^7", argv(0)); case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 " GetProgramCommandPrefix() " findat \"0 0 0\""); + LOG_HELP("Usage:^3 " GetProgramCommandPrefix() " findat []"); + LOG_HELP(" Where is a vector \"x y z\""); return; } } @@ -400,14 +418,14 @@ CLASS(DebugText3d, Object) ATTRIB(DebugText3d, message, string); // the text (i wanted to use the .text field but then this whole macro-based-inheritance thing shat itself) ATTRIB(DebugText3d, health, float); // text alignment (recycled field) ATTRIB(DebugText3d, hit_time, float); // when it was created - ATTRIB(DebugText3d, fade_rate, float); // how fast is should disappear + ATTRIB(DebugText3d, fade_rate, float); // how fast it should disappear ATTRIB(DebugText3d, velocity, vector); CONSTRUCTOR(DebugText3d, vector pos, string msg, float align, float fade_rate_, vector vel) { CONSTRUCT(DebugText3d); this.origin = pos; this.message = strzone(msg); - SetResourceAmount(this, RESOURCE_HEALTH, align); + SetResource(this, RES_HEALTH, align); this.hit_time = time; this.fade_rate = fade_rate_; this.velocity = vel; @@ -432,7 +450,7 @@ CLASS(DebugText3d, Object) if (screen_pos.z < 0) return; // behind camera screen_pos.z = 0; - float align = GetResourceAmount(this, RESOURCE_HEALTH); + float align = GetResource(this, RES_HEALTH); string msg; vector msg_pos;