34 std::map<std::string, std::vector<std::string>> images_campaigns;
35 std::vector<std::string> images_general;
37 void gather_images(
const config& from, std::vector<std::string>& to)
41 to.insert(to.end(), im.begin(), im.end());
52 if(is_campaign_credits) {
54 header = cfg[
"name"].t_str();
60 if(!
about.has_child(
"entry")) {
66 if(is_campaign_credits) {
67 gather_images(
about, images_campaigns[
id]);
69 gather_images(
about, images_general);
73 if(cfg[
"sort"].to_bool(
false)) {
80 , title(cfg[
"title"].t_str())
96 return parsed_credits_data;
101 return std::find_if(parsed_credits_data.begin(), parsed_credits_data.end(),
102 [&campaign](
const credits_group& group) {
return group.id == campaign; });
107 if(!campaign.empty() && !images_campaigns[campaign].empty()) {
108 return images_campaigns[campaign];
111 return images_general;
116 parsed_credits_data.clear();
120 images_campaigns.clear();
121 images_general.clear();
127 if(group.has_child(
"about")) {
128 parsed_credits_data.emplace_back(group,
false);
132 gather_images(group, images_general);
145 parsed_credits_data.emplace_back(misc,
false);
152 if(campaign.has_child(
"about")) {
153 parsed_credits_data.emplace_back(campaign,
true);
t_string title
The section title.
credits_data::const_iterator get_campaign_credits(const std::string &campaign)
Gets credits for a given campaign.
config_array_view child_range(config_key_type key) const
int compare(const std::string &s1, const std::string &s2)
Case-sensitive lexicographical comparison.
unsigned child_count(config_key_type key) const
const credits_data & get_credits_data()
Gets all credits data.
child_itors child_range(config_key_type key)
Definitions for the interface to Wesnoth Markup Language (WML).
std::vector< about_group > sections
The group's sub-groups.
std::vector< std::string > get_background_images(const std::string &campaign)
Gets credit background images for a given campaaign.
Display credits about all contributors.
std::vector< credits_group > credits_data
std::vector< std::pair< std::string, std::string > > names
Contributor names.
void set_about(const game_config_view &cfg)
Regenerates the credits data.
credits_group(const config &cfg, bool is_campaign_credits)
about_group(const config &cfg)
std::string escape_text(const std::string &text)
Escapes the pango markup characters in a text.
bool operator<(const about_group &o) const
std::vector< std::string > names
static int sort(lua_State *L)
config & add_child(config_key_type key)
t_string header
Optional group tite.
A config object defines a single node in a WML file, with access to child nodes.
const std::string & str() const
std::vector< std::string > parenthetical_split(const std::string &val, const char separator, const std::string &left, const std::string &right, const int flags)
Splits a string based either on a separator, except then the text appears within specified parenthesi...