diff options
Diffstat (limited to 'src/openvic/pop/Culture.cpp')
-rw-r--r-- | src/openvic/pop/Culture.cpp | 60 |
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; } |