home · contact · privacy
Client: Fit interface_conf to new config file style. Also, refactorings.
[plomrogue] / src / client / command_db.h
index 769670baecacb39eae3e14357f288602849f35c4..09273d145274830ea2d6871168ece26c6a114f64 100644 (file)
@@ -1,7 +1,8 @@
 /* src/client/command_db.h
  *
- * The Command DB collects identifiers and verbal descriptions of all commands
- * the user can give.
+ * The Command DB collects the commands available to the user by internal name,
+ * description and, optionally, components of a message to send to the server
+ * when calling it.
  */
 
 #ifndef COMMAND_DB_H
 
 struct Command
 {
-    char * dsc_short; /* short string name of command to be used internally */
-    char * dsc_long;  /* long string description of command for the user */
-    uint8_t id;       /* unique identifier of command */
+    char * dsc_short; /* short name of command to be used internally */
+    char * dsc_long; /* long description of command to be shown to the user */
+    char * server_msg; /* optionally start string of message to send to server*/
+    char arg; /* defines server message suffix by player_control() convention */
 };
 
 struct CommandDB
@@ -26,16 +28,12 @@ struct CommandDB
 
 
 
-/* Is "id" the ID of command whose dsc_short is "shortdsc"? Answer in binary. */
-extern uint8_t is_command_id_shortdsc(uint8_t id, char * shortdsc);
-
-/* Give short description of command ("dsc_short"), get its ID. */
-extern uint8_t get_command_id(char * dsc_short);
-
-/* Give short description of command ("dsc_short"), get long description. */
-extern char * get_command_longdsc(char * dsc_short);
+/* Return Command struct for command described by its "dsc_short" member. Return
+ * NULL if no such command is found.
+ */
+extern struct Command * get_command(char * dsc_short);
 
-/* Reads CommandDB from CommandDB file, line by line, until first empty line. */
+/* Read in CommandDB config file. */
 extern void init_command_db();
 
 /* Free all memory allocated with init_command_db. */