4677
by sigra
move more of the logic files into the logic directory |
1 |
/*
|
11165
by The Widelands Bunnybot
Update copyright end year to 2025 |
2 |
* Copyright (C) 2002-2025 by the Widelands Development Team
|
4677
by sigra
move more of the logic files into the logic directory |
3 |
*
|
4 |
* This program is free software; you can redistribute it and/or
|
|
5 |
* modify it under the terms of the GNU General Public License
|
|
6 |
* as published by the Free Software Foundation; either version 2
|
|
7 |
* of the License, or (at your option) any later version.
|
|
8 |
*
|
|
9 |
* This program is distributed in the hope that it will be useful,
|
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12 |
* GNU General Public License for more details.
|
|
13 |
*
|
|
14 |
* You should have received a copy of the GNU General Public License
|
|
10152
by The Widelands Bunnybot
Add check for missing copyright headers (#5223) |
15 |
* along with this program; if not, see <https://www.gnu.org/licenses/>.
|
4677
by sigra
move more of the logic files into the logic directory |
16 |
*
|
17 |
*/
|
|
18 |
||
7649.1.1
by fios at foramnagaidhlig
- Moved logic MapObjects and related classes into subdirectories. |
19 |
#ifndef WL_LOGIC_MAP_OBJECTS_TRIBES_TRIBE_DESCR_H
|
20 |
#define WL_LOGIC_MAP_OBJECTS_TRIBES_TRIBE_DESCR_H
|
|
4677
by sigra
move more of the logic files into the logic directory |
21 |
|
7175.7.42
by fios at foramnagaidhlig
Implemented LuaTable version of TribeDescr constructor + some bugfixes. |
22 |
#include <memory> |
6667.1.1
by Holger Rapp
Added new codecheck rule that complains about wrong include order. This adds tons of codecheck errors. |
23 |
|
7076.2.1
by fios at foramnagaidhlig
Replaced most instances of boost::noncopyable with new macro DISALLOW_COPY_AND_ASSIGN and added codecheck rule |
24 |
#include "base/macros.h" |
9204
by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044) |
25 |
#include "graphic/animation/animation.h" |
9033.4.50
by GunChleoc
Implemented optional custom toolbar images per tribe. |
26 |
#include "graphic/toolbar_imageset.h" |
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
27 |
#include "logic/map_objects/descriptions.h" |
7649.1.1
by fios at foramnagaidhlig
- Moved logic MapObjects and related classes into subdirectories. |
28 |
#include "logic/map_objects/immovable.h" |
8048
by GunChleoc
Ran clang-format. |
29 |
#include "logic/map_objects/tribes/building.h" |
7649.1.1
by fios at foramnagaidhlig
- Moved logic MapObjects and related classes into subdirectories. |
30 |
#include "logic/map_objects/tribes/road_textures.h" |
31 |
#include "logic/map_objects/tribes/tribe_basic_info.h" |
|
32 |
#include "logic/map_objects/tribes/ware_descr.h" |
|
33 |
#include "logic/map_objects/tribes/worker.h" |
|
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
34 |
#include "logic/map_objects/world/resource_description.h" |
8494.1.6
by GunChleoc
Restore work done in r8497. |
35 |
#include "logic/widelands.h" |
4677
by sigra
move more of the logic files into the logic directory |
36 |
|
37 |
namespace Widelands { |
|
38 |
||
39 |
/*
|
|
8771.2.18
by Benedikt Straub
implemented diff comments |
40 |
* Resource indicators:
|
41 |
* A ResourceIndicatorSet maps the resource name to a ResourceIndicatorList.
|
|
8833
by Wideland's Bunnybot
Merged lp:~widelands-dev/widelands/rework-resource-indicators: |
42 |
* A ResourceIndicatorList maps resource amounts to the DescriptionIndex of an immovable this player
|
43 |
* uses.
|
|
44 |
* Special case: The ResourceIndicatorList mapped to "" contains resis that will be used in
|
|
45 |
* locations
|
|
8771.2.18
by Benedikt Straub
implemented diff comments |
46 |
* without resources. If it has several entries, result is arbitrary.
|
8939
by Wideland's Bunnybot
Merged lp:~widelands-dev/widelands/appveyor_reenable_glbinding: |
47 |
*/
|
8771.2.1
by Benedikt Straub
Each TribeDescr defines its own set of resource indicators |
48 |
using ResourceIndicatorList = std::map<uint32_t, DescriptionIndex>; |
49 |
using ResourceIndicatorSet = std::map<std::string, ResourceIndicatorList>; |
|
50 |
||
51 |
/*
|
|
4677
by sigra
move more of the logic files into the logic directory |
52 |
Tribes
|
53 |
------
|
|
54 |
||
55 |
Every player chooses a tribe. A tribe has distinct properties such as the
|
|
56 |
buildings it can build and the associated graphics.
|
|
57 |
Two players can choose the same tribe.
|
|
58 |
*/
|
|
7175.7.79
by fios at foramnagaidhlig
Fixed more compiler errors. |
59 |
class TribeDescr { |
60 |
public: |
|
9461
by The Widelands Bunnybot
Tribes filtering (#3693) |
61 |
TribeDescr(const Widelands::TribeBasicInfo& info, |
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
62 |
Descriptions& descriptions, |
9461
by The Widelands Bunnybot
Tribes filtering (#3693) |
63 |
const LuaTable& table, |
64 |
const LuaTable* scenario_table = nullptr); |
|
4677
by sigra
move more of the logic files into the logic directory |
65 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
66 |
[[nodiscard]] const std::string& name() const; |
67 |
[[nodiscard]] const std::string& descname() const; |
|
68 |
||
69 |
[[nodiscard]] size_t get_nrwares() const; |
|
70 |
[[nodiscard]] size_t get_nrworkers() const; |
|
71 |
||
72 |
[[nodiscard]] const std::set<DescriptionIndex>& buildings() const; |
|
73 |
[[nodiscard]] const std::set<DescriptionIndex>& wares() const; |
|
74 |
[[nodiscard]] const std::set<DescriptionIndex>& workers() const; |
|
75 |
[[nodiscard]] const std::set<DescriptionIndex>& immovables() const; |
|
76 |
[[nodiscard]] const ResourceIndicatorSet& resource_indicators() const; |
|
7175.7.64
by fios at foramnagaidhlig
Cleanup in TribeDescr. |
77 |
|
9682
by The Widelands Bunnybot
Add-Ons (#4464) |
78 |
std::set<DescriptionIndex>& mutable_wares(); |
79 |
std::set<DescriptionIndex>& mutable_workers(); |
|
80 |
std::set<DescriptionIndex>& mutable_buildings(); |
|
81 |
std::set<DescriptionIndex>& mutable_immovables(); |
|
82 |
||
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
83 |
[[nodiscard]] bool has_building(const DescriptionIndex& index) const; |
84 |
[[nodiscard]] bool has_ware(const DescriptionIndex& index) const; |
|
85 |
[[nodiscard]] bool has_worker(const DescriptionIndex& index) const; |
|
86 |
[[nodiscard]] bool has_immovable(const DescriptionIndex& index) const; |
|
7175.7.294
by fios at foramnagaidhlig
Return more const references. Converted most remaining NOCOMs to TODOs. |
87 |
|
88 |
// A ware is a construction material if it appears in a building's buildcost or enhancement cost
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
89 |
[[nodiscard]] bool is_construction_material(const DescriptionIndex& ware_index) const; |
7175.7.64
by fios at foramnagaidhlig
Cleanup in TribeDescr. |
90 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
91 |
[[nodiscard]] DescriptionIndex building_index(const std::string& buildingname) const; |
92 |
[[nodiscard]] DescriptionIndex immovable_index(const std::string& immovablename) const; |
|
93 |
[[nodiscard]] DescriptionIndex ware_index(const std::string& warename) const; |
|
94 |
[[nodiscard]] DescriptionIndex worker_index(const std::string& workername) const; |
|
7175.7.64
by fios at foramnagaidhlig
Cleanup in TribeDescr. |
95 |
|
96 |
/// Return the given building or die trying
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
97 |
[[nodiscard]] DescriptionIndex safe_building_index(const std::string& buildingname) const; |
7175.7.64
by fios at foramnagaidhlig
Cleanup in TribeDescr. |
98 |
/// Return the given ware or die trying
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
99 |
[[nodiscard]] DescriptionIndex safe_ware_index(const std::string& warename) const; |
7175.7.64
by fios at foramnagaidhlig
Cleanup in TribeDescr. |
100 |
/// Return the given worker or die trying
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
101 |
[[nodiscard]] DescriptionIndex safe_worker_index(const std::string& workername) const; |
102 |
||
103 |
[[nodiscard]] BuildingDescr const* get_building_descr(const DescriptionIndex& index) const; |
|
104 |
[[nodiscard]] ImmovableDescr const* get_immovable_descr(const DescriptionIndex& index) const; |
|
105 |
[[nodiscard]] WareDescr const* get_ware_descr(const DescriptionIndex& index) const; |
|
106 |
[[nodiscard]] WorkerDescr const* get_worker_descr(const DescriptionIndex& index) const; |
|
107 |
||
108 |
[[nodiscard]] DescriptionIndex builder() const; |
|
109 |
[[nodiscard]] DescriptionIndex geologist() const; |
|
110 |
[[nodiscard]] DescriptionIndex scouts_house() const; |
|
111 |
[[nodiscard]] DescriptionIndex soldier() const; |
|
112 |
[[nodiscard]] DescriptionIndex ship() const; |
|
113 |
[[nodiscard]] DescriptionIndex ferry() const; |
|
114 |
[[nodiscard]] DescriptionIndex port() const; |
|
115 |
[[nodiscard]] const std::vector<DescriptionIndex>& carriers() const { |
|
9999
by The Widelands Bunnybot
Support having more than 2 carriers on a road (#4938) |
116 |
return carriers_; |
117 |
}
|
|
8325.4.5
by GunChleoc
Merged trunk. |
118 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
119 |
[[nodiscard]] const std::vector<DescriptionIndex>& trainingsites() const; |
120 |
[[nodiscard]] const std::vector<DescriptionIndex>& worker_types_without_cost() const; |
|
7175.7.64
by fios at foramnagaidhlig
Cleanup in TribeDescr. |
121 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
122 |
[[nodiscard]] uint32_t frontier_animation() const; |
123 |
[[nodiscard]] uint32_t flag_animation() const; |
|
124 |
[[nodiscard]] uint32_t pinned_note_animation() const; |
|
125 |
[[nodiscard]] uint32_t bridge_animation(uint8_t dir, bool busy) const; |
|
9204
by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044) |
126 |
|
127 |
// Bridge height in pixels at 1x scale, for drawing bobs walking over a bridge
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
128 |
[[nodiscard]] uint32_t bridge_height() const; |
7366.2.7
by Holger Rapp
Allow more textures for than just one. |
129 |
|
9204
by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044) |
130 |
// The road textures used for drawing roads and waterways.
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
131 |
[[nodiscard]] const RoadTextures& road_textures() const; |
4677
by sigra
move more of the logic files into the logic directory |
132 |
|
10462
by The Widelands Bunnybot
Clear clang-tidy in logic headers (#5691) |
133 |
DescriptionIndex get_resource_indicator(const ResourceDescription* res, |
134 |
ResourceAmount amount) const; |
|
4677
by sigra
move more of the logic files into the logic directory |
135 |
|
7006.2.1
by Holger Rapp
Remove unused and broken implementation of flag and frontier styles. |
136 |
// Returns the initalization at 'index' (which must not be out of bounds).
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
137 |
[[nodiscard]] const Widelands::TribeBasicInfo::Initialization& |
138 |
initialization(const uint8_t index) const { |
|
9792
by The Widelands Bunnybot
Support custom tribes in add-ons (#4708) |
139 |
return basic_info_.initializations.at(index); |
140 |
}
|
|
141 |
||
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
142 |
[[nodiscard]] const Widelands::TribeBasicInfo& basic_info() const { |
9792
by The Widelands Bunnybot
Support custom tribes in add-ons (#4708) |
143 |
return basic_info_; |
4677
by sigra
move more of the logic files into the logic directory |
144 |
}
|
5614.1.9
by Nicolai Hähnle
Introduce Ship |
145 |
|
7617.2.1
by fios at foramnagaidhlig
Renamed WareIndex to DescriptionIndex. |
146 |
using WaresOrder = std::vector<std::vector<Widelands::DescriptionIndex>>; |
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
147 |
[[nodiscard]] const WaresOrder& wares_order() const { |
8048
by GunChleoc
Ran clang-format. |
148 |
return wares_order_; |
149 |
}
|
|
9682
by The Widelands Bunnybot
Add-Ons (#4464) |
150 |
WaresOrder& mutable_wares_order() { |
151 |
return wares_order_; |
|
152 |
}
|
|
5982
by victor.pelt at gmail
fix for bug 786243 |
153 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
154 |
[[nodiscard]] const WaresOrder& workers_order() const { |
8048
by GunChleoc
Ran clang-format. |
155 |
return workers_order_; |
156 |
}
|
|
9682
by The Widelands Bunnybot
Add-Ons (#4464) |
157 |
WaresOrder& mutable_workers_order() { |
158 |
return workers_order_; |
|
159 |
}
|
|
7654.1.9
by tiborb95 at gmail
default name for ships after names are exhausted changed to ship X |
160 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
161 |
[[nodiscard]] bool uses_resource(const std::string& name) const { |
10462
by The Widelands Bunnybot
Clear clang-tidy in logic headers (#5691) |
162 |
return used_resources_.count(name) != 0u; |
9644
by The Widelands Bunnybot
Amazon fixes (#4473) |
163 |
}
|
164 |
// Warning: Do not use pointer arithmetics in logic code!
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
165 |
[[nodiscard]] const std::set<const BuildingDescr*>& buildings_built_over_immovables() const { |
9644
by The Widelands Bunnybot
Amazon fixes (#4473) |
166 |
return buildings_built_over_immovables_; |
167 |
}
|
|
168 |
||
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
169 |
[[nodiscard]] const std::vector<std::pair<std::string, int>>& collectors_points_table() const { |
9792
by The Widelands Bunnybot
Support custom tribes in add-ons (#4708) |
170 |
return collectors_points_table_; |
171 |
}
|
|
10477
by The Widelands Bunnybot
Naming Warehouses and Ships (#5703) |
172 |
[[nodiscard]] const std::vector<std::string>& get_warehouse_names() const { |
173 |
return warehouse_names_; |
|
174 |
}
|
|
9792
by The Widelands Bunnybot
Support custom tribes in add-ons (#4708) |
175 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
176 |
[[nodiscard]] const std::string& get_productionsite_worker_missing_string() const { |
9938
by The Widelands Bunnybot
Disambiguate productionsites' worker(s) missing/coming strings (#4971) |
177 |
return productionsite_worker_missing_; |
178 |
}
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
179 |
[[nodiscard]] const std::string& get_productionsite_worker_coming_string() const { |
9938
by The Widelands Bunnybot
Disambiguate productionsites' worker(s) missing/coming strings (#4971) |
180 |
return productionsite_worker_coming_; |
181 |
}
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
182 |
[[nodiscard]] const std::string& get_productionsite_workers_missing_string() const { |
9938
by The Widelands Bunnybot
Disambiguate productionsites' worker(s) missing/coming strings (#4971) |
183 |
return productionsite_workers_missing_; |
184 |
}
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
185 |
[[nodiscard]] const std::string& get_productionsite_workers_coming_string() const { |
9938
by The Widelands Bunnybot
Disambiguate productionsites' worker(s) missing/coming strings (#4971) |
186 |
return productionsite_workers_coming_; |
187 |
}
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
188 |
[[nodiscard]] const std::string& get_productionsite_experienced_worker_missing_string() const { |
10409
by The Widelands Bunnybot
Allow loading another replay in replay mode (#5611) |
189 |
return productionsite_experienced_worker_missing_; |
190 |
}
|
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
191 |
[[nodiscard]] const std::string& get_productionsite_experienced_workers_missing_string() const { |
10409
by The Widelands Bunnybot
Allow loading another replay in replay mode (#5611) |
192 |
return productionsite_experienced_workers_missing_; |
193 |
}
|
|
9938
by The Widelands Bunnybot
Disambiguate productionsites' worker(s) missing/coming strings (#4971) |
194 |
|
11133
by The Widelands Bunnybot
Improve census and status lines of warehouses (rebased) (GH #6576 / CB #4936) |
195 |
enum class CapacityStringIndex { kLacking = 0, kFull = 1, kOutAndLacking = 2, kOut = 3 }; |
196 |
||
197 |
// Return the translated format string for case `index` and plural form according to
|
|
198 |
// `number_to_format`
|
|
199 |
[[nodiscard]] std::string get_soldiers_format_string(CapacityStringIndex index, |
|
200 |
int number_to_format) const; |
|
10333
by The Widelands Bunnybot
Military capacity string refactor (#5476) |
201 |
|
9033.4.50
by GunChleoc
Implemented optional custom toolbar images per tribe. |
202 |
// The custom toolbar imageset if any. Can be nullptr.
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
203 |
[[nodiscard]] ToolbarImageset* toolbar_image_set() const; |
9033.4.50
by GunChleoc
Implemented optional custom toolbar images per tribe. |
204 |
|
10448
by The Widelands Bunnybot
Fix clang-tidy C++17 checks (#5679) |
205 |
[[nodiscard]] const std::map<std::string /* key */, std::string /* building */>& |
206 |
fastplace_defaults() const { |
|
10058
by The Widelands Bunnybot
Fastplace Groups (#5110) |
207 |
return fastplace_defaults_; |
208 |
}
|
|
209 |
||
9682
by The Widelands Bunnybot
Add-Ons (#4464) |
210 |
// Read helptext from Lua table
|
10191
by The Widelands Bunnybot
Fix misc clang-tidy checks in `logic` (#5255) |
211 |
void load_helptexts(MapObjectDescr* descr, const LuaTable& table) const; |
9682
by The Widelands Bunnybot
Add-Ons (#4464) |
212 |
|
213 |
// Make sure that everything is there and that dependencies are calculated.
|
|
214 |
// This needs to be called exactly once during postloading.
|
|
215 |
void finalize_loading(Descriptions& descriptions); |
|
216 |
||
4677
by sigra
move more of the logic files into the logic directory |
217 |
private: |
9461
by The Widelands Bunnybot
Tribes filtering (#3693) |
218 |
// Helper functions for loading everything in the constructor
|
219 |
void load_frontiers_flags_roads(const LuaTable& table); |
|
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
220 |
void load_ships(const LuaTable& table, Descriptions& descriptions); |
221 |
void load_wares(const LuaTable& table, Descriptions& descriptions); |
|
222 |
void load_immovables(const LuaTable& table, Descriptions& descriptions); |
|
223 |
void load_workers(const LuaTable& table, Descriptions& descriptions); |
|
224 |
void load_buildings(const LuaTable& table, Descriptions& descriptions); |
|
9461
by The Widelands Bunnybot
Tribes filtering (#3693) |
225 |
|
7175.7.113
by fios at foramnagaidhlig
Tribes are loading now. |
226 |
// Helper function for adding a special worker type (carriers etc.)
|
10191
by The Widelands Bunnybot
Fix misc clang-tidy checks in `logic` (#5255) |
227 |
DescriptionIndex add_special_worker(const std::string& workername, |
228 |
Descriptions& descriptions) const; |
|
7175.7.147
by fios at foramnagaidhlig
Fixed bugs with ships. |
229 |
// Helper function for adding a special building type (port etc.)
|
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
230 |
DescriptionIndex add_special_building(const std::string& buildingname, |
10191
by The Widelands Bunnybot
Fix misc clang-tidy checks in `logic` (#5255) |
231 |
Descriptions& descriptions) const; |
9461
by The Widelands Bunnybot
Tribes filtering (#3693) |
232 |
// Helper function to calculate trainingsites proportions for the AI
|
10191
by The Widelands Bunnybot
Fix misc clang-tidy checks in `logic` (#5255) |
233 |
void calculate_trainingsites_proportions(const Descriptions& descriptions) const; |
8039.2.138
by tiborb95 at gmail
codefix |
234 |
|
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
235 |
void process_productionsites(Descriptions& descriptions); |
9398
by The Widelands Bunnybot
Detect work area overlaps from MapObject programs (#4014) |
236 |
|
7175.7.54
by fios at foramnagaidhlig
Indices in TribeDescr are now identical to those in Tribes. |
237 |
const std::string name_; |
7175.7.131
by fios at foramnagaidhlig
Added TribeDescr to Lua Map interface and fixed building help for productionsites. |
238 |
const std::string descname_; |
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
239 |
const Descriptions& descriptions_; |
7175.7.54
by fios at foramnagaidhlig
Indices in TribeDescr are now identical to those in Tribes. |
240 |
|
10583
by The Widelands Bunnybot
Validate that all tribes possess all special animations (#5862) |
241 |
uint32_t frontier_animation_id_{0U}; |
242 |
uint32_t flag_animation_id_{0U}; |
|
243 |
uint32_t pinned_note_animation_id_{0U}; |
|
9204
by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044) |
244 |
struct BridgeAnimationIDs { |
245 |
uint32_t e; |
|
246 |
uint32_t se; |
|
247 |
uint32_t sw; |
|
248 |
};
|
|
249 |
BridgeAnimationIDs bridges_normal_; |
|
250 |
BridgeAnimationIDs bridges_busy_; |
|
251 |
uint32_t bridge_height_; |
|
9461
by The Widelands Bunnybot
Tribes filtering (#3693) |
252 |
|
253 |
// A container of all texture images that can be used for drawing a
|
|
254 |
// (normal|busy) road or a waterway. The images are guaranteed to exist.
|
|
7175.7.130
by fios at foramnagaidhlig
Merged trunk. |
255 |
RoadTextures road_textures_; |
4677
by sigra
move more of the logic files into the logic directory |
256 |
|
9612
by The Widelands Bunnybot
Unify tribes world (#4240) |
257 |
std::set<DescriptionIndex> buildings_; |
8048
by GunChleoc
Ran clang-format. |
258 |
std::set<DescriptionIndex> immovables_; // The player immovables |
259 |
std::set<DescriptionIndex> workers_; |
|
260 |
std::set<DescriptionIndex> wares_; |
|
9644
by The Widelands Bunnybot
Amazon fixes (#4473) |
261 |
std::set<const BuildingDescr*> buildings_built_over_immovables_; |
262 |
std::set<std::string> used_resources_; |
|
8771.2.1
by Benedikt Straub
Each TribeDescr defines its own set of resource indicators |
263 |
ResourceIndicatorSet resource_indicators_; |
7617.2.8
by fios at foramnagaidhlig
Fixed Codecheck. |
264 |
// The wares that are used by construction sites
|
8048
by GunChleoc
Ran clang-format. |
265 |
std::set<DescriptionIndex> construction_materials_; |
8039.2.128
by GunChleoc
Renamed "stines" to "granite". |
266 |
// Special units. Some of them are used by the engine, some are only used by the AI.
|
9999
by The Widelands Bunnybot
Support having more than 2 carriers on a road (#4938) |
267 |
DescriptionIndex builder_; // The builder for this tribe |
268 |
std::vector<DescriptionIndex> carriers_; // The basic and advanced carriers for this tribe |
|
269 |
DescriptionIndex geologist_; // This tribe's geologist worker |
|
270 |
DescriptionIndex soldier_; // The soldier that this tribe uses |
|
271 |
DescriptionIndex ship_; // The ship that this tribe uses |
|
272 |
DescriptionIndex ferry_; // The ferry that this tribe uses |
|
273 |
DescriptionIndex port_; // The port that this tribe uses |
|
274 |
DescriptionIndex scouts_house_; // This tribe's scout's house/hut |
|
8048
by GunChleoc
Ran clang-format. |
275 |
std::vector<DescriptionIndex> worker_types_without_cost_; |
8325.4.1
by GunChleoc
Added new entry "trainingsites_max_percent" to AI building hints. If this is not set, the percentages will be evenly distributed while loading the tribe. TribeDescr now has a new convenience function trainingsites() . |
276 |
std::vector<DescriptionIndex> trainingsites_; |
5611.1.1
by Joachim Breitner
Configurable order in WaresDisplay |
277 |
// Order and positioning of wares in the warehouse display
|
8048
by GunChleoc
Ran clang-format. |
278 |
WaresOrder wares_order_; |
279 |
WaresOrder workers_order_; |
|
9792
by The Widelands Bunnybot
Support custom tribes in add-ons (#4708) |
280 |
std::vector<std::pair<std::string, int>> collectors_points_table_; |
10477
by The Widelands Bunnybot
Naming Warehouses and Ships (#5703) |
281 |
std::vector<std::string> warehouse_names_; |
4879
by sigra
* When a road decides to request a carrying animal, also set the road type to busy. |
282 |
|
10333
by The Widelands Bunnybot
Military capacity string refactor (#5476) |
283 |
std::string productionsite_worker_missing_; |
284 |
std::string productionsite_workers_missing_; |
|
285 |
std::string productionsite_worker_coming_; |
|
286 |
std::string productionsite_workers_coming_; |
|
10409
by The Widelands Bunnybot
Allow loading another replay in replay mode (#5611) |
287 |
std::string productionsite_experienced_worker_missing_; |
288 |
std::string productionsite_experienced_workers_missing_; |
|
10333
by The Widelands Bunnybot
Military capacity string refactor (#5476) |
289 |
|
290 |
std::string soldier_context_; |
|
291 |
std::string soldier_capacity_strings_sg_[4]; |
|
292 |
std::string soldier_capacity_strings_pl_[4]; |
|
9938
by The Widelands Bunnybot
Disambiguate productionsites' worker(s) missing/coming strings (#4971) |
293 |
|
9033.4.50
by GunChleoc
Implemented optional custom toolbar images per tribe. |
294 |
// An optional custom imageset for the in-game menu toolbar
|
295 |
std::unique_ptr<ToolbarImageset> toolbar_image_set_; |
|
296 |
||
10058
by The Widelands Bunnybot
Fastplace Groups (#5110) |
297 |
std::map<std::string, std::string> fastplace_defaults_; |
298 |
||
9792
by The Widelands Bunnybot
Support custom tribes in add-ons (#4708) |
299 |
Widelands::TribeBasicInfo basic_info_; |
7076.2.3
by fios at foramnagaidhlig
Removed all uses of boost:: noncopyable except for src/wui/unique_window_handler.h |
300 |
|
7175.1.4
by fios at foramnagaidhlig
Renamed everything in editor_game_base.h and widelands_geometry.h |
301 |
DISALLOW_COPY_AND_ASSIGN(TribeDescr); |
4677
by sigra
move more of the logic files into the logic directory |
302 |
};
|
8939
by Wideland's Bunnybot
Merged lp:~widelands-dev/widelands/appveyor_reenable_glbinding: |
303 |
} // namespace Widelands |
4677
by sigra
move more of the logic files into the logic directory |
304 |
|
7649.1.1
by fios at foramnagaidhlig
- Moved logic MapObjects and related classes into subdirectories. |
305 |
#endif // end of include guard: WL_LOGIC_MAP_OBJECTS_TRIBES_TRIBE_DESCR_H |