Blamite Game Engine - Blam (Core)
crash.hpp
Go to the documentation of this file.
1 #include "../console.h"
4 
5 namespace Blam::Console
6 {
14  {
15  public:
17  {
18  name = "crash";
19  description = "Crashes the engine. Requires CONFIRM argument to execute.";
20  aliases = { "kms" };
21 
23  }
24 
26  {
27  delete this;
28  }
29 
30  CommandStatus onCommand(std::vector<std::string> arguments)
31  {
32 
33  if (arguments.size() > 1)
34  {
36  }
37 
38  if (arguments.size() == 0)
39  {
40  Blam::Logger::LogEventForce("this command will crash the engine!", WSV_ERROR);
41  Blam::Logger::LogEventForce("if you are sure please run: crash CONFIRM", WSV_ERROR);
42 
43  return CMD_OK;
44  }
45 
46  if (arguments[0] == "CONFIRM")
47  {
48  BLAM_ASSERTM(0, "User manually invoked the crash.");
49  }
50  else
51  {
52  return CMD_ERR_INVALID_ARGS;
53  }
54 
55  return CommandStatus::Ok;
56  }
57  };
58 }
Blam::Console::ConsoleCommand::aliases
std::vector< std::string > aliases
A list of aliases for the command. Executing any of these instead of the command name will behave the...
Definition: console.h:75
Blam::Console::ConsoleCommand::description
std::string description
An optional description of the command. Shown when using the classify command.
Definition: console.h:73
CMD_ERR_WRONG_ARGS_COUNT
#define CMD_ERR_WRONG_ARGS_COUNT
Macro for Wrong Arg Count command status. See Blam::Console::WrongArgumentCount for more details.
Definition: console.h:11
Blam::Console::ConsoleCommand::type
CommandType type
The type of command this is. See Blam::Console::CommandType for more information.
Definition: console.h:77
Blam::Console::CommandStatus
CommandStatus
Indicates the return state of a console command.
Definition: console.h:28
logger.h
Blam::Console::CrashCommand::CrashCommand
CrashCommand()
Definition: crash.hpp:16
Blam::Console::Builtin
@ Builtin
A command that is hard-coded into the engine.
Definition: console.h:41
Blam::Console::CrashCommand::onCommand
CommandStatus onCommand(std::vector< std::string > arguments)
Called upon command execution.
Definition: crash.hpp:30
Blam::Console::ConsoleCommand::name
std::string name
The name of the console command.
Definition: console.h:70
WSV_ERROR
#define WSV_ERROR
Macro for 'Error' log seveirty. Original pre-enum value was 2.
Definition: logger.h:17
Blam::Console::CrashCommand
Class for the crash command.
Definition: crash.hpp:13
BLAM_ASSERTM
#define BLAM_ASSERTM(x, msg)
Invokes an engine assertion, with an optional message.
Definition: crash.h:26
Blam::Console
Namespace for things relating to the debug console.
Definition: abort.hpp:5
crash.h
Blam::Console::Ok
@ Ok
The command was run without error.
Definition: console.h:30
Blam::Console::ConsoleCommand
Class used to represent a console command.
Definition: console.h:50
Blam::Logger::LogEventForce
BLAM void LogEventForce(std::string message, LogSeverity severity)
Forcibly logs a message to the log and/or console.
Definition: aliases.cpp:137
CMD_OK
#define CMD_OK
Macro for OK command status. See Blam::Console::Ok for more details.
Definition: console.h:9
CMD_ERR_INVALID_ARGS
#define CMD_ERR_INVALID_ARGS
Macro for Invalid Args command status. See Blam::Console::InvalidArguments for more details.
Definition: console.h:10
Blam::Console::CrashCommand::~CrashCommand
~CrashCommand()
Definition: crash.hpp:25