]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/commands/cl_cmd.qh
Implement TakeResource
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / commands / cl_cmd.qh
index ba3151c43c545f6ffa59b9ae589eeec493a6a18e..f6f96501aee2abb928a8de29ca923f602f80ea6b 100644 (file)
@@ -1,13 +1,25 @@
-#ifndef CLIENT_COMMANDS_CL_CMD_H
-#define CLIENT_COMMANDS_CL_CMD_H
-// ==============================================
-//  CSQC client commands code, written by Samual
-//  Last updated: December 17th, 2011
-// ==============================================
+#pragma once
 
-void Cmd_HUD_SetFields(int);
-void Cmd_HUD_Help();
+void Cmd_Scoreboard_SetFields(int);
+void Cmd_Scoreboard_Help();
+void ConsoleCommand_macro_init();
 
 // used by common/command/generic.qc:GenericCommand_dumpcommands to list all commands into a .txt file
 void LocalCommand_macro_write_aliases(int fh);
-#endif
+
+REGISTRY(CLIENT_COMMANDS, BITS(7))
+#define CLIENT_COMMANDS_from(i) _CLIENT_COMMANDS_from(i, NULL)
+REGISTER_REGISTRY(CLIENT_COMMANDS)
+REGISTRY_SORT(CLIENT_COMMANDS)
+
+#define CLIENT_COMMAND(id, description) \
+       CLASS(clientcommand_##id, Command) \
+               ATTRIB(clientcommand_##id, m_name, string, #id); \
+       ATTRIB(clientcommand_##id, m_description, string, description); \
+       ENDCLASS(clientcommand_##id) \
+    REGISTER(CLIENT_COMMANDS, CMD_CL, id, m_id, NEW(clientcommand_##id)); \
+       METHOD(clientcommand_##id, m_invokecmd, void(clientcommand_##id this, int request, entity caller, int arguments, string command))
+
+STATIC_INIT(CLIENT_COMMANDS_aliases) {
+       FOREACH(CLIENT_COMMANDS, true, localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_cl")));
+}