aboutsummaryrefslogtreecommitdiff
path: root/src/openvic/pop/Culture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic/pop/Culture.cpp')
-rw-r--r--src/openvic/pop/Culture.cpp60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/openvic/pop/Culture.cpp b/src/openvic/pop/Culture.cpp
index 2670f00..d86d608 100644
--- a/src/openvic/pop/Culture.cpp
+++ b/src/openvic/pop/Culture.cpp
@@ -50,10 +50,10 @@ CultureManager::CultureManager()
culture_groups { "culture groups" },
cultures { "cultures" } {}
-return_t CultureManager::add_graphical_culture_type(const std::string_view identifier) {
+bool CultureManager::add_graphical_culture_type(const std::string_view identifier) {
if (identifier.empty()) {
Logger::error("Invalid culture group identifier - empty!");
- return FAILURE;
+ return false;
}
return graphical_culture_types.add_item({ identifier });
}
@@ -74,22 +74,22 @@ std::vector<GraphicalCultureType> const& CultureManager::get_graphical_culture_t
return graphical_culture_types.get_items();
}
-return_t CultureManager::add_culture_group(const std::string_view identifier, const std::string_view leader, GraphicalCultureType const* graphical_culture_type, bool is_overseas) {
+bool CultureManager::add_culture_group(const std::string_view identifier, const std::string_view leader, GraphicalCultureType const* graphical_culture_type, bool is_overseas) {
if (!graphical_culture_types.is_locked()) {
Logger::error("Cannot register culture groups until graphical culture types are locked!");
- return FAILURE;
+ return false;
}
if (identifier.empty()) {
Logger::error("Invalid culture group identifier - empty!");
- return FAILURE;
+ return false;
}
if (leader.empty()) {
Logger::error("Invalid culture group leader - empty!");
- return FAILURE;
+ return false;
}
if (graphical_culture_type == nullptr) {
Logger::error("Null graphical culture type for ", identifier);
- return FAILURE;
+ return false;
}
return culture_groups.add_item({ identifier, leader, *graphical_culture_type, is_overseas });
}
@@ -110,22 +110,22 @@ std::vector<CultureGroup> const& CultureManager::get_culture_groups() const {
return culture_groups.get_items();
}
-return_t CultureManager::add_culture(const std::string_view identifier, colour_t colour, CultureGroup const* group, std::vector<std::string> const& first_names, std::vector<std::string> const& last_names) {
+bool CultureManager::add_culture(const std::string_view identifier, colour_t colour, CultureGroup const* group, std::vector<std::string> const& first_names, std::vector<std::string> const& last_names) {
if (!culture_groups.is_locked()) {
Logger::error("Cannot register cultures until culture groups are locked!");
- return FAILURE;
+ return false;
}
if (identifier.empty()) {
Logger::error("Invalid culture identifier - empty!");
- return FAILURE;
+ return false;
}
if (group == nullptr) {
Logger::error("Null culture group for ", identifier);
- return FAILURE;
+ return false;
}
if (colour > MAX_COLOUR_RGB) {
Logger::error("Invalid culture colour for ", identifier, ": ", colour_to_hex_string(colour));
- return FAILURE;
+ return false;
}
return cultures.add_item({ identifier, colour, *group, first_names, last_names });
}
@@ -146,8 +146,8 @@ std::vector<Culture> const& CultureManager::get_cultures() const {
return cultures.get_items();
}
-return_t CultureManager::load_graphical_culture_type_file(ast::NodeCPtr root) {
- const return_t ret = expect_list_reserve_length(
+bool CultureManager::load_graphical_culture_type_file(ast::NodeCPtr root) {
+ const bool ret = expect_list_reserve_length(
graphical_culture_types,
expect_identifier(
std::bind(&CultureManager::add_graphical_culture_type, this, std::placeholders::_1)
@@ -157,10 +157,10 @@ return_t CultureManager::load_graphical_culture_type_file(ast::NodeCPtr root) {
return ret;
}
-return_t CultureManager::load_culture_file(ast::NodeCPtr root) {
+bool CultureManager::load_culture_file(ast::NodeCPtr root) {
if (!graphical_culture_types.is_locked()) {
Logger::error("Cannot load culture groups until graphical culture types are locked!");
- return FAILURE;
+ return false;
}
static const std::string default_unit_graphical_culture_type_identifier = "Generic";
@@ -170,14 +170,14 @@ return_t CultureManager::load_culture_file(ast::NodeCPtr root) {
}
size_t total_expected_cultures = 0;
- return_t ret = expect_dictionary_reserve_length(
+ bool ret = expect_dictionary_reserve_length(
culture_groups,
- [this, default_unit_graphical_culture_type, &total_expected_cultures](std::string_view key, ast::NodeCPtr value) -> return_t {
+ [this, default_unit_graphical_culture_type, &total_expected_cultures](std::string_view key, ast::NodeCPtr value) -> bool {
std::string_view leader;
GraphicalCultureType const* unit_graphical_culture_type = default_unit_graphical_culture_type;
bool is_overseas = true;
- return_t ret = expect_dictionary_keys_and_length(
+ bool ret = expect_dictionary_keys_and_length(
[&total_expected_cultures](size_t size) -> size_t {
total_expected_cultures += size;
return size;
@@ -186,48 +186,48 @@ return_t CultureManager::load_culture_file(ast::NodeCPtr root) {
"leader", ONE_EXACTLY, expect_identifier(assign_variable_callback(leader)),
"unit", ZERO_OR_ONE,
expect_identifier(
- [this, &unit_graphical_culture_type](std::string_view identifier) -> return_t {
+ [this, &unit_graphical_culture_type](std::string_view identifier) -> bool {
unit_graphical_culture_type = get_graphical_culture_type_by_identifier(identifier);
- if (unit_graphical_culture_type != nullptr) return SUCCESS;
+ if (unit_graphical_culture_type != nullptr) return true;
Logger::error("Invalid unit graphical culture type: ", identifier);
- return FAILURE;
+ return false;
}
),
"union", ZERO_OR_ONE, success_callback,
"is_overseas", ZERO_OR_ONE, expect_bool(assign_variable_callback(is_overseas))
)(value);
- if (add_culture_group(key, leader, unit_graphical_culture_type, is_overseas) != SUCCESS) ret = FAILURE;
+ ret &= add_culture_group(key, leader, unit_graphical_culture_type, is_overseas);
return ret;
}
)(root);
lock_culture_groups();
cultures.reserve(cultures.size() + total_expected_cultures);
- if (expect_dictionary(
- [this](std::string_view culture_group_key, ast::NodeCPtr culture_group_value) -> return_t {
+ ret &= expect_dictionary(
+ [this](std::string_view culture_group_key, ast::NodeCPtr culture_group_value) -> bool {
CultureGroup const* culture_group = get_culture_group_by_identifier(culture_group_key);
return expect_dictionary(
- [this, culture_group](std::string_view key, ast::NodeCPtr value) -> return_t {
- if (key == "leader" || key == "unit" || key == "union" || key == "is_overseas") return SUCCESS;
+ [this, culture_group](std::string_view key, ast::NodeCPtr value) -> bool {
+ if (key == "leader" || key == "unit" || key == "union" || key == "is_overseas") return true;
colour_t colour = NULL_COLOUR;
std::vector<std::string> first_names, last_names;
- return_t ret = expect_dictionary_keys(
+ bool ret = expect_dictionary_keys(
"color", ONE_EXACTLY, expect_colour(assign_variable_callback(colour)),
"first_names", ONE_EXACTLY, name_list_callback(first_names),
"last_names", ONE_EXACTLY, name_list_callback(last_names),
"radicalism", ZERO_OR_ONE, success_callback,
"primary", ZERO_OR_ONE, success_callback
)(value);
- if (add_culture(key, colour, culture_group, first_names, last_names) != SUCCESS) ret = FAILURE;
+ ret &= add_culture(key, colour, culture_group, first_names, last_names);
return ret;
}
)(culture_group_value);
}
- )(root) != SUCCESS) ret = FAILURE;
+ )(root);
lock_cultures();
return ret;
}