]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/commands/cl_cmd.qc
Add an optional argument to the screenshot ent creation command which sets the path
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / commands / cl_cmd.qc
index 24833d834704777fd88279fec7095ec08500f1a9..6777eefa9572b734b66eaed6bb92dcfd348e7bf2 100644 (file)
@@ -1,35 +1,34 @@
+#include "cl_cmd.qh"
 // ==============================================
 //  CSQC client commands code, written by Samual
 //  Last updated: December 28th, 2011
 // ==============================================
 
-#include "../../common/command/command.qh"
+#include <common/command/_mod.qh>
 #include "cl_cmd.qh"
 
 #include "../autocvars.qh"
 #include "../defs.qh"
-#include "../hud/all.qh"
+#include <client/hud/_mod.qh>
 #include "../main.qh"
 #include "../mapvoting.qh"
 #include "../miscfunctions.qh"
 
 #include "../mutators/events.qh"
 
-#include "../../common/mapinfo.qh"
-
-#include "../../common/command/generic.qh"
+#include <common/mapinfo.qh>
 
 void DrawDebugModel(entity this)
 {
        if (time - floor(time) > 0.5)
        {
-               PolyDrawModel(self);
-               self.drawmask = 0;
+               PolyDrawModel(this);
+               this.drawmask = 0;
        }
        else
        {
-               self.renderflags = 0;
-               self.drawmask = MASK_NORMAL;
+               this.renderflags = 0;
+               this.drawmask = MASK_NORMAL;
        }
 }
 
@@ -40,6 +39,7 @@ void DrawDebugModel(entity this)
 
 void LocalCommand_blurtest(int request)
 {
+    TC(int, request);
        // Simple command to work with postprocessing temporarily... possibly completely pointless, the glsl shader is used for a real feature now...
        // Anyway, to enable it, just compile the client with -DBLURTEST and then you can use the command.
 
@@ -75,6 +75,7 @@ void LocalCommand_blurtest(int request)
 
 void LocalCommand_boxparticles(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -89,7 +90,7 @@ void LocalCommand_boxparticles(int request, int argc)
                                        if (index <= 0)
                                                own = entitybyindex(-index);
                                        else
-                                               own = findfloat(world, entnum, index);
+                                               own = findfloat(NULL, entnum, index);
                                        vector org_from = stov(argv(3));
                                        vector org_to = stov(argv(4));
                                        vector dir_from = stov(argv(5));
@@ -128,12 +129,14 @@ void LocalCommand_boxparticles(int request, int argc)
 
 void LocalCommand_create_scrshot_ent(int request)
 {
+    TC(int, request);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
-                       string filename = strcat(MapInfo_Map_bspname, "_scrshot_ent.txt");
-                       int fh = fopen(filename, FILE_WRITE);
+                       string path = ((argv(1) == "") ? "" : strcat(argv(1), "/"));
+                       string filename = strcat(path, MapInfo_Map_bspname, "_scrshot_ent.txt");
+                       int fh = fopen(filename, FILE_APPEND);
 
                        if (fh >= 0)
                        {
@@ -143,7 +146,7 @@ void LocalCommand_create_scrshot_ent(int request)
                                fputs(fh, strcat("\"angles\" \"", strcat(ftos(view_angles.x), " ", ftos(view_angles.y), " ", ftos(view_angles.z)), "\"\n"));
                                fputs(fh, "}\n");
 
-                               LOG_INFO("Completed screenshot entity dump in ^2data/data/", MapInfo_Map_bspname, "_scrshot_ent.txt^7.\n");
+                               LOG_INFO("Completed screenshot entity dump in ^2data/data/", path, MapInfo_Map_bspname, "_scrshot_ent.txt^7.\n");
 
                                fclose(fh);
                        }
@@ -157,8 +160,8 @@ void LocalCommand_create_scrshot_ent(int request)
                default:
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 cl_cmd create_scrshot_ent\n");
-                       LOG_INFO("  No arguments required.\n");
+                       LOG_INFO("\nUsage:^3 cl_cmd create_scrshot_ent [path]\n");
+                       LOG_INFO("  Where 'path' can be the subdirectory of data/data in which the file is saved.\n");
                        return;
                }
        }
@@ -166,6 +169,7 @@ void LocalCommand_create_scrshot_ent(int request)
 
 void LocalCommand_debugmodel(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -178,6 +182,7 @@ void LocalCommand_debugmodel(int request, int argc)
                        setorigin(debugmodel_entity, view_origin);
                        debugmodel_entity.angles = view_angles;
                        debugmodel_entity.draw = DrawDebugModel;
+                       IL_PUSH(g_drawables, debugmodel_entity);
 
                        return;
                }
@@ -194,6 +199,7 @@ void LocalCommand_debugmodel(int request, int argc)
 
 void LocalCommand_handlevote(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -243,16 +249,17 @@ void LocalCommand_handlevote(int request, int argc)
 
 bool QuickMenu_IsOpened();
 void QuickMenu_Close();
-bool QuickMenu_Open(string mode, string submenu);
+bool QuickMenu_Open(string mode, string submenu, string file);
 
 bool HUD_MinigameMenu_IsOpened();
-void HUD_MinigameMenu_Close();
+void HUD_MinigameMenu_Close(entity this, entity actor, entity trigger);
 void HUD_MinigameMenu_Open();
 
 void HUD_Radar_Show_Maximized(bool doshow, bool clickable);
 
 void LocalCommand_hud(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -272,15 +279,17 @@ void LocalCommand_hud(int request, int argc)
                                {
                                        if (argv(2) == "help")
                                        {
-                                               LOG_INFO(" quickmenu [[default | file | \"\"] submenu]\n");
+                                               LOG_INFO(" quickmenu [[default | file | \"\"] submenu file]\n");
                                                LOG_INFO("Called without options (or with \"\") loads either the default quickmenu or a quickmenu file if hud_panel_quickmenu_file is set to a valid filename.\n");
                                                LOG_INFO("A submenu name can be given to open the quickmenu directly in a submenu; it requires to specify 'default', 'file' or '\"\"' option.\n");
+                                               LOG_INFO("A file name can also be given to open a different quickmenu\n");
                                                return;
                                        }
+                                       string file = ((argv(4) == "") ? autocvar_hud_panel_quickmenu_file : argv(4));
                                        if (QuickMenu_IsOpened())
                                                QuickMenu_Close();
                                        else
-                                               QuickMenu_Open(argv(2), argv(3));  // mode, submenu
+                                               QuickMenu_Open(argv(2), argv(3), file);  // mode, submenu
                                        return;
                                }
 
@@ -299,13 +308,13 @@ void LocalCommand_hud(int request, int argc)
 
                                case "scoreboard_columns_set":
                                {
-                                       Cmd_HUD_SetFields(argc);
+                                       Cmd_Scoreboard_SetFields(argc);
                                        return;
                                }
 
                                case "scoreboard_columns_help":
                                {
-                                       Cmd_HUD_Help();
+                                       Cmd_Scoreboard_Help();
                                        return;
                                }
 
@@ -345,6 +354,7 @@ void LocalCommand_hud(int request, int argc)
 
 void LocalCommand_localprint(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -371,6 +381,7 @@ void LocalCommand_localprint(int request, int argc)
 
 void LocalCommand_mv_download(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -395,31 +406,9 @@ void LocalCommand_mv_download(int request, int argc)
        }
 }
 
-void LocalCommand_find(int request, int argc)
-{
-       switch (request)
-       {
-               case CMD_REQUEST_COMMAND:
-               {
-                       FOREACH_ENTITY_CLASS(argv(1), true, LAMBDA(LOG_INFO(etos(it), "\n")));
-                       return;
-               }
-
-               default:
-               {
-                       LOG_INFO("Incorrect parameters for ^2find^7\n");
-               }
-               case CMD_REQUEST_USAGE:
-               {
-                       LOG_INFO("\nUsage:^3 cl_cmd find classname\n");
-                       LOG_INFO("  Where 'classname' is the classname to search for.\n");
-                       return;
-               }
-       }
-}
-
 void LocalCommand_sendcvar(int request, int argc)
 {
+    TC(int, request); TC(int, argc);
        switch (request)
        {
                case CMD_REQUEST_COMMAND:
@@ -490,38 +479,37 @@ CLIENT_COMMAND(debugmodel, "Spawn a debug model manually") { LocalCommand_debugm
 CLIENT_COMMAND(handlevote, "System to handle selecting a vote or option") { LocalCommand_handlevote(request, arguments); }
 CLIENT_COMMAND(hud, "Commands regarding/controlling the HUD system") { LocalCommand_hud(request, arguments); }
 CLIENT_COMMAND(localprint, "Create your own centerprint sent to yourself") { LocalCommand_localprint(request, arguments); }
-CLIENT_COMMAND(find, "Search through entities for matching classname") { LocalCommand_find(request, arguments); }
 CLIENT_COMMAND(mv_download, "Retrieve mapshot picture from the server") { LocalCommand_mv_download(request, arguments); }
 CLIENT_COMMAND(sendcvar, "Send a cvar to the server (like weaponpriority)") { LocalCommand_sendcvar(request, arguments); }
 
 void LocalCommand_macro_help()
 {
-       FOREACH(CLIENT_COMMANDS, true, LAMBDA(LOG_INFOF("  ^2%s^7: %s\n", it.m_name, it.m_description)));
+       FOREACH(CLIENT_COMMANDS, true, LOG_INFOF("  ^2%s^7: %s\n", it.m_name, it.m_description));
 }
 
 bool LocalCommand_macro_command(int argc, string command)
 {
        string c = strtolower(argv(0));
-       FOREACH(CLIENT_COMMANDS, it.m_name == c, LAMBDA(
-               it.m_invokecmd(CMD_REQUEST_COMMAND, NULL, argc, command);
+       FOREACH(CLIENT_COMMANDS, it.m_name == c, {
+               it.m_invokecmd(it, CMD_REQUEST_COMMAND, NULL, argc, command);
                return true;
-       ));
+       });
        return false;
 }
 
 bool LocalCommand_macro_usage(int argc)
 {
        string c = strtolower(argv(1));
-       FOREACH(CLIENT_COMMANDS, it.m_name == c, LAMBDA(
-               it.m_invokecmd(CMD_REQUEST_USAGE, NULL, argc, "");
+       FOREACH(CLIENT_COMMANDS, it.m_name == c, {
+               it.m_invokecmd(it, CMD_REQUEST_USAGE, NULL, argc, "");
                return true;
-       ));
+       });
        return false;
 }
 
 void LocalCommand_macro_write_aliases(int fh)
 {
-       FOREACH(CLIENT_COMMANDS, true, LAMBDA(CMD_Write_Alias("qc_cmd_cl", it.m_name, it.m_description)));
+       FOREACH(CLIENT_COMMANDS, true, CMD_Write_Alias("qc_cmd_cl", it.m_name, it.m_description));
 }