#pragma once
#ifdef CSQC
-#include <client/resources.qh>
+#include <client/draw.qh>
+#include <client/view.qh>
+#include <common/resources/cl_resources.qh>
#endif
* 6: on (.solid != 0)
*/
bool autocvar_debugdraw;
-#endif
+#endif // GAMEQC
#ifdef CSQC
string autocvar_debugdraw_filter, autocvar_debugdraw_filterout;
});
});
}
-#endif
-
+#endif // CSQC
#ifdef SVQC
COMMON_COMMAND(debugdraw_sv, "Dump all server entities")
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", false)
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " bufstr_get bufhandle string_index");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " bufstr_get <bufhandle> <string_index>");
return;
}
}
{
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;
}
}
#ifdef CSQC
void(float bufhandle, string pattern, string antipattern) buf_cvarlist = #517;
#endif
+
GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars", false)
{
switch (request)
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges");
return;
}
}
#if ENABLE_DEBUGTRACE
REGISTER_STAT(TRACE_ENT, int)
+
#ifdef SVQC
bool autocvar_debugtrace;
stuffcmd(it, sprintf("prvm_edict server %d\n", i));
});
}
-#endif
+#endif // SVQC
+
#ifdef CSQC
entity TRACE_ENT;
void Trace_draw2d(entity this)
e.draw2d = Trace_draw2d;
IL_PUSH(g_drawables_2d, e);
}
-#endif
+#endif // CSQC
+
#endif
-GENERIC_COMMAND(find, "Search through entities for matching classname", false)
+GENERIC_COMMAND(findent, "Search through entities for matching classname", false)
{
switch (request)
{
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 <classname>");
+ LOG_HELP(" Where <classname> is the classname to search for.");
return;
}
}
{
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 <position> [<dist>]");
+ LOG_HELP(" Where <position> is a vector \"x y z\"");
return;
}
}
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) {