Changeset - r18369:bc3de8f003de
[Not reviewed]
master
0 3 0
rubidium - 12 years ago 2011-11-14 20:38:56
rubidium@openttd.org
(svn r23215) -Codechange: stricter type safety for CommandFlags
3 files changed with 10 insertions and 9 deletions:
0 comments (0 inline, 0 general)
src/command.cpp
Show inline comments
 
@@ -173,7 +173,7 @@ CommandProc CmdSetVehicleOnTime;
 
CommandProc CmdAutofillTimetable;
 
CommandProc CmdSetTimetableStart;
 

	
 
#define DEF_CMD(proc, flags, type) {proc, #proc, flags, type}
 
#define DEF_CMD(proc, flags, type) {proc, #proc, (CommandFlags)flags, type}
 

	
 
/**
 
 * The master command table
 
@@ -327,7 +327,7 @@ bool IsValidCommand(uint32 cmd)
 
 * @param cmd The integer value of the command
 
 * @return The flags for this command
 
 */
 
byte GetCommandFlags(uint32 cmd)
 
CommandFlags GetCommandFlags(uint32 cmd)
 
{
 
	assert(IsValidCommand(cmd));
 

	
 
@@ -590,7 +590,7 @@ CommandCost DoCommandPInternal(TileIndex
 
	assert(proc != NULL);
 

	
 
	/* Command flags are used internally */
 
	uint cmd_flags = GetCommandFlags(cmd);
 
	CommandFlags cmd_flags = GetCommandFlags(cmd);
 
	/* Flags get send to the DoCommand */
 
	DoCommandFlag flags = CommandFlagsToDCFlags(cmd_flags);
 

	
src/command_func.h
Show inline comments
 
@@ -49,7 +49,7 @@ void NetworkSendCommand(TileIndex tile, 
 
extern Money _additional_cash_required;
 

	
 
bool IsValidCommand(uint32 cmd);
 
byte GetCommandFlags(uint32 cmd);
 
CommandFlags GetCommandFlags(uint32 cmd);
 
const char *GetCommandName(uint32 cmd);
 
Money GetAvailableMoneyForCommand();
 
bool IsCommandAllowedWhilePaused(uint32 cmd);
 
@@ -59,7 +59,7 @@ bool IsCommandAllowedWhilePaused(uint32 
 
 * @param cmd_flags Flags from GetCommandFlags
 
 * @return flags for DoCommand
 
 */
 
static inline DoCommandFlag CommandFlagsToDCFlags(uint cmd_flags)
 
static inline DoCommandFlag CommandFlagsToDCFlags(CommandFlags cmd_flags)
 
{
 
	DoCommandFlag flags = DC_NONE;
 
	if (cmd_flags & CMD_NO_WATER) flags |= DC_NO_WATER;
src/command_type.h
Show inline comments
 
@@ -355,6 +355,7 @@ enum CommandFlags {
 
	CMD_NO_WATER  = 0x40, ///< set the DC_NO_WATER flag on this command
 
	CMD_CLIENT_ID = 0x80, ///< set p2 with the ClientID of the sending client.
 
};
 
DECLARE_ENUM_AS_BIT_SET(CommandFlags)
 

	
 
/** Types of commands we have. */
 
enum CommandType {
 
@@ -406,10 +407,10 @@ typedef CommandCost CommandProc(TileInde
 
 * the #CMD_AUTO, #CMD_OFFLINE and #CMD_SERVER values.
 
 */
 
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.
 
	CommandProc *proc;  ///< The procedure to actually executing
 
	const char *name;   ///< A human readable name for the procedure
 
	CommandFlags flags; ///< The (command) flags to that apply to this command
 
	CommandType type;   ///< The type of command.
 
};
 

	
 
/**
0 comments (0 inline, 0 general)