Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
crash.hpp
Go to the documentation of this file.
1 #include "../console.h"
2 
5 
7 {
15  {
16  public:
18  {
19  name = "crash";
20  description = "Crashes the engine. Requires CONFIRM argument to execute.";
21  aliases = { "kms" };
22 
24  }
25 
26  BlamResult Execute(std::vector<std::string> arguments)
27  {
28 
29  if (arguments.size() > 1)
30  {
31  return BlamResult::Error_Command_WrongArgumentCount;
32  }
33 
34  if (arguments.size() == 0)
35  {
36  Blam::Logger::LogEventForce("this command will crash the engine!", WSV_ERROR);
37  Blam::Logger::LogEventForce("if you are sure please run: crash CONFIRM", WSV_ERROR);
38 
39  return BlamResult::Success_OK;
40  }
41 
42  if (arguments[0] == "CONFIRM")
43  {
44  BLAM_ASSERTM(0, "User manually invoked the crash.");
45  }
46  else
47  {
48  return BlamResult::Error_Command_InvalidArguments;
49  }
50 
51  return BlamResult::Success_OK;
52  }
53  };
54 }
BlamCommandType::Builtin
@ Builtin
A command that is hard-coded into the engine.
BlamConsoleCommand::description
std::string description
An optional description of the command. Shown when using the classify command.
Definition: console.h:34
logger.h
BlamConsoleCommand
Class used to represent a console command.
Definition: console.h:31
Blam::Resources::Console::CrashCommand
Class for the crash command.
Definition: crash.hpp:14
BlamConsoleCommand::name
std::string name
The name of the console command.
Definition: console.h:33
BLAM_ASSERTM
#define BLAM_ASSERTM(x, msg)
Invokes an engine assertion, with an optional message.
Definition: crash.h:26
Blam::Resources::Console::CrashCommand::CrashCommand
CrashCommand()
Definition: crash.hpp:17
crash.h
BlamConsoleCommand::type
BlamCommandType type
The type of command this is. See #Blam::Resources::Console::BlamCommandType for more information.
Definition: console.h:38
Blam::Logger::LogEventForce
BLAM void LogEventForce(std::string message)
Forcibly logs a message to the log and/or console.
Definition: aliases.cpp:262
Blam::Resources::Console::CrashCommand::Execute
BlamResult Execute(std::vector< std::string > arguments)
Called upon command execution.
Definition: crash.hpp:26
BlamConsoleCommand::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:36
Blam::Resources::Console
Namespace for things relating to the debug console.
Definition: abort.hpp:5