(svn r21425) -Codechange: add "command types" to all commands

This commit is contained in:
rubidium
2010-12-07 21:05:27 +00:00
parent 0f2402306c
commit b3eb3b96b9
2 changed files with 122 additions and 99 deletions

View File

@@ -331,6 +331,28 @@ enum CommandFlags {
CMD_CLIENT_ID = 0x80, ///< set p2 with the ClientID of the sending client.
};
/** Types of commands we have. */
enum CommandType {
CMDT_LANDSCAPE_CONSTRUCTION, ///< Construction and destruction of objects on the map.
CMDT_VEHICLE_CONSTRUCTION, ///< Construction, modification (incl. refit) and destruction of vehicles.
CMDT_MONEY_MANAGEMENT, ///< Management of money, i.e. loans and shares.
CMDT_VEHICLE_MANAGEMENT, ///< Stopping, starting, sending to depot, turning around, replace orders etc.
CMDT_ROUTE_MANAGEMENT, ///< Modifications to route management (orders, groups, etc).
CMDT_OTHER_MANAGEMENT, ///< Renaming stuff, changing company colours, placing signs, etc.
CMDT_COMPANY_SETTING, ///< Changing settings related to a company.
CMDT_SERVER_SETTING, ///< Pausing/removing companies/server settings.
CMDT_END, ///< Magic end marker.
};
/** Different command pause levels. */
enum CommandPauseLevel {
CMDPL_NO_ACTIONS, ///< No user actions may be executed.
CMDPL_NO_CONSTRUCTION, ///< No construction actions may be executed.
CMDPL_NO_LANDSCAPING, ///< No landscaping actions may be executed.
CMDPL_ALL_ACTIONS, ///< All actions may be executed.
};
/**
* Defines the callback type for all command handler functions.
*
@@ -361,6 +383,7 @@ struct Command {
CommandProc *proc; ///< The procedure to actually executing
const char *name; ///< A human readable name for the procedure
byte flags; ///< The (command) flags to that apply to this command
CommandType type; ///< The type of command.
};
/**