40enum class ApplicationUtilityCommandKind
49 std::filesystem::path input_directory;
50 std::filesystem::path output_archive;
51 int compression_level = 3;
56 std::filesystem::path log_directory_override;
57 bool smoke_startup =
false;
58 bool start_hidden =
false;
64 std::string binary_path;
66 ApplicationUtilityCommandKind utility_command = ApplicationUtilityCommandKind::None;
68 std::string parse_error;
70 [[nodiscard]]
bool HasParseError()
const
72 return !parse_error.empty();
104 return std::to_string(
major) +
"." + std::to_string(
minor) +
"." + std::to_string(
patch);
133 return !(*
this == other);
202 ,
engine_version{ PB_MODULE_VERSION_MAJOR, PB_MODULE_VERSION_MINOR, PB_MODULE_VERSION_PATCH }
Provides assertion and panic mechanisms with optional custom formatting.
#define ASSERT(condition,...)
Asserts that a condition is true.
Definition assert.h:163
Definition specification.h:62
Command-line arguments passed to the application.
Definition specification.h:16
char ** args
Pointer to an array of argument strings.
Definition specification.h:25
int count
The number of arguments.
Definition specification.h:20
const char * operator[](int index) const
Accesses an argument by index.
Definition specification.h:33
Definition specification.h:55
Definition specification.h:48
Contains configuration options for both the game and the engine.
Definition specification.h:145
std::string asset_base_path
The assets directory path.
Definition specification.h:165
const std::string engine_name
Default constructor that initializes default values.
Definition specification.h:187
uint32_t height
The window height.
Definition specification.h:160
const ApplicationVersion engine_version
The version of the engine (immutable).
Definition specification.h:192
uint32_t width
The window width.
Definition specification.h:155
std::string client_name
The name of the game or application.
Definition specification.h:150
ApplicationVersion client_version
The version for the game or application.
Definition specification.h:175
std::string icon_path
Optional application icon path.
Definition specification.h:170
Represents a version number.
Definition specification.h:81
bool operator!=(const ApplicationVersion &other) const
Compares two ApplicationVersion instances for inequality.
Definition specification.h:131
bool operator==(const ApplicationVersion &other) const
Compares two ApplicationVersion instances for equality.
Definition specification.h:120
std::string ToString() const
Converts the version to a string representation.
Definition specification.h:102
uint32_t ToVulkanVersion() const
Returns the Vulkan-compatible version integer.
Definition specification.cc:7
uint8_t patch
patch version number.
Definition specification.h:95
uint8_t minor
minor version number.
Definition specification.h:90
uint8_t major
major version number.
Definition specification.h:85