Merge lp:~widelands-dev/widelands/mapobject_cleanup_building into lp:widelands
- mapobject_cleanup_building
- Merge into trunk
Proposed by
GunChleoc
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 7094 | ||||
Proposed branch: | lp:~widelands-dev/widelands/mapobject_cleanup_building | ||||
Merge into: | lp:widelands | ||||
Diff against target: |
1037 lines (+112/-124) 19 files modified
src/ai/defaultai.cc (+5/-5) src/logic/building.cc (+5/-5) src/logic/building.h (+0/-12) src/logic/constructionsite.cc (+4/-4) src/logic/dismantlesite.cc (+2/-2) src/logic/militarysite.cc (+7/-7) src/logic/partially_finished_building.cc (+1/-1) src/logic/playercommand.cc (+1/-1) src/logic/production_program.cc (+2/-2) src/logic/productionsite.cc (+7/-7) src/logic/soldier.cc (+1/-1) src/logic/trainingsite.cc (+1/-1) src/logic/warehouse.cc (+47/-47) src/map_io/widelands_map_building_data_packet.cc (+2/-2) src/map_io/widelands_map_buildingdata_data_packet.cc (+21/-21) src/wui/actionconfirm.cc (+1/-1) src/wui/buildingwindow.cc (+3/-3) src/wui/productionsitewindow.cc (+1/-1) src/wui/soldierlist.cc (+1/-1) |
||||
To merge this branch: | bzr merge lp:~widelands-dev/widelands/mapobject_cleanup_building | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
SirVer | Approve | ||
Review via email: mp+226755@code.launchpad.net |
Commit message
Description of the change
MapObject cleanup for the Building object
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'src/ai/defaultai.cc' |
2 | --- src/ai/defaultai.cc 2014-07-14 07:31:18 +0000 |
3 | +++ src/ai/defaultai.cc 2014-07-14 22:50:15 +0000 |
4 | @@ -644,7 +644,7 @@ |
5 | |
6 | if (upcast(MilitarySite const, militarysite, building)) { |
7 | const int32_t dist = map.calc_distance(field.coords, immovables.at(i).coords); |
8 | - const int32_t radius = militarysite->get_conquers() + 4; |
9 | + const int32_t radius = militarysite->descr().get_conquers() + 4; |
10 | const int32_t v = radius - dist; |
11 | |
12 | if (v > 0 and dist > 0) { |
13 | @@ -1995,7 +1995,7 @@ |
14 | |
15 | // Check whether building is enhanceable and if wares of the enhanced |
16 | // buildings are needed. If yes consider an upgrade. |
17 | - std::set<Building_Index> enhancements = site.site->enhancements(); |
18 | + std::set<Building_Index> enhancements = site.site->descr().enhancements(); |
19 | int32_t maxprio = 0; |
20 | Building_Index enbld = INVALID_INDEX; // to get rid of this |
21 | BuildingObserver* bestbld = nullptr; |
22 | @@ -2110,7 +2110,7 @@ |
23 | } |
24 | |
25 | // Check whether building is enhanceable. If yes consider an upgrade. |
26 | - std::set<Building_Index> enhancements = site.site->enhancements(); |
27 | + std::set<Building_Index> enhancements = site.site->descr().enhancements(); |
28 | int32_t maxprio = 0; |
29 | Building_Index enbld = INVALID_INDEX; |
30 | BuildingObserver* bestbld = nullptr; |
31 | @@ -2240,7 +2240,7 @@ |
32 | bool changed = false; |
33 | Map& map = game().map(); |
34 | MilitarySite* ms = militarysites.front().site; |
35 | - uint32_t const vision = ms->vision_range(); |
36 | + uint32_t const vision = ms->descr().vision_range(); |
37 | FCoords f = map.get_fcoords(ms->get_position()); |
38 | // look if there is any enemy land nearby |
39 | // FindNodeEnemy find_enemy(player, game()); |
40 | @@ -2662,7 +2662,7 @@ |
41 | |
42 | MilitarySite* ms = mso->site; |
43 | Building* target = ms; // dummy initialisation to silence the compiler |
44 | - uint32_t const vision = ms->vision_range(); |
45 | + uint32_t const vision = ms->descr().vision_range(); |
46 | FCoords f = map.get_fcoords(ms->get_position()); |
47 | int32_t chance = 0; |
48 | uint32_t attackers = 0; |
49 | |
50 | === modified file 'src/logic/building.cc' |
51 | --- src/logic/building.cc 2014-07-05 13:28:20 +0000 |
52 | +++ src/logic/building.cc 2014-07-14 22:50:15 +0000 |
53 | @@ -505,7 +505,7 @@ |
54 | { |
55 | const bool fire = burn_on_destroy(); |
56 | const Coords pos = m_position; |
57 | - const Tribe_Descr & t = tribe(); |
58 | + const Tribe_Descr & t = descr().tribe(); |
59 | PlayerImmovable::destroy(egbase); |
60 | // We are deleted. Only use stack variables beyond this point |
61 | if (fire) |
62 | @@ -551,13 +551,13 @@ |
63 | FORMAT('y', get_position().y); |
64 | FORMAT |
65 | ('c', '(' << get_position().x << ", " << get_position().y << ')'); |
66 | - FORMAT('A', descname()); |
67 | + FORMAT('A', descr().descname()); |
68 | FORMAT('a', name()); |
69 | case 'N': |
70 | if (upcast(ConstructionSite const, constructionsite, this)) |
71 | result << constructionsite->building().descname(); |
72 | else |
73 | - result << descname(); |
74 | + result << descr().descname(); |
75 | break; |
76 | case 'n': |
77 | if (upcast(ConstructionSite const, constructionsite, this)) |
78 | @@ -887,10 +887,10 @@ |
79 | |
80 | if (see) |
81 | player.see_area |
82 | - (Area<FCoords>(map.get_fcoords(get_position()), vision_range())); |
83 | + (Area<FCoords>(map.get_fcoords(get_position()), descr().vision_range())); |
84 | else |
85 | player.unsee_area |
86 | - (Area<FCoords>(map.get_fcoords(get_position()), vision_range())); |
87 | + (Area<FCoords>(map.get_fcoords(get_position()), descr().vision_range())); |
88 | |
89 | m_seeing = see; |
90 | } |
91 | |
92 | === modified file 'src/logic/building.h' |
93 | --- src/logic/building.h 2014-07-05 16:41:51 +0000 |
94 | +++ src/logic/building.h 2014-07-14 22:50:15 +0000 |
95 | @@ -180,8 +180,6 @@ |
96 | |
97 | void load_finish(Editor_Game_Base &) override; |
98 | |
99 | - const Tribe_Descr & tribe() const {return descr().tribe();} |
100 | - |
101 | virtual int32_t get_type () const override; |
102 | char const * type_name() const override {return "building";} |
103 | virtual int32_t get_size () const override; |
104 | @@ -195,7 +193,6 @@ |
105 | virtual PositionList get_positions (const Editor_Game_Base &) const override; |
106 | |
107 | const std::string & name() const override; |
108 | - const std::string & descname() const {return descr().descname();} |
109 | |
110 | std::string info_string(const std::string & format); |
111 | virtual std::string get_statistics_string(); |
112 | @@ -215,11 +212,6 @@ |
113 | |
114 | bool leave_check_and_wait(Game &, Worker &); |
115 | void leave_skip(Game &, Worker &); |
116 | - uint32_t get_conquers() const {return descr().get_conquers();} |
117 | - virtual uint32_t vision_range() const { |
118 | - return descr().vision_range(); |
119 | - } |
120 | - |
121 | |
122 | // Get/Set the priority for this waretype for this building. 'type' defines |
123 | // if this is for a worker or a ware, 'index' is the type of worker or ware. |
124 | @@ -233,10 +225,6 @@ |
125 | void collect_priorities |
126 | (std::map<int32_t, std::map<Ware_Index, int32_t> > & p) const; |
127 | |
128 | - const std::set<Building_Index> & enhancements() const { |
129 | - return descr().enhancements(); |
130 | - } |
131 | - |
132 | /** |
133 | * The former buildings vector keeps track of all former buildings |
134 | * that have been enhanced up to the current one. The current building |
135 | |
136 | === modified file 'src/logic/constructionsite.cc' |
137 | --- src/logic/constructionsite.cc 2014-07-05 14:22:44 +0000 |
138 | +++ src/logic/constructionsite.cc 2014-07-14 22:50:15 +0000 |
139 | @@ -136,7 +136,7 @@ |
140 | if (!m_old_buildings.empty()) { |
141 | // Enhancement |
142 | Building_Index was_index = m_old_buildings.back(); |
143 | - const Building_Descr* was_descr = tribe().get_building_descr(was_index); |
144 | + const Building_Descr* was_descr = descr().tribe().get_building_descr(was_index); |
145 | m_info.was = was_descr; |
146 | buildcost = &m_building->enhancement_cost(); |
147 | } else { |
148 | @@ -174,7 +174,7 @@ |
149 | |
150 | if (m_work_steps <= m_work_completed) { |
151 | // Put the real building in place |
152 | - Building_Index becomes_idx = tribe().building_index(m_building->name()); |
153 | + Building_Index becomes_idx = descr().tribe().building_index(m_building->name()); |
154 | m_old_buildings.push_back(becomes_idx); |
155 | Building & b = |
156 | m_building->create(egbase, owner(), m_position, false, false, m_old_buildings); |
157 | @@ -274,7 +274,7 @@ |
158 | WaresQueue * queue = *iqueue; |
159 | if (queue->get_filled() > queue->get_max_fill()) { |
160 | queue->set_filled(queue->get_filled() - 1); |
161 | - const WareDescr & wd = *tribe().get_ware_descr(queue->get_ware()); |
162 | + const WareDescr & wd = *descr().tribe().get_ware_descr(queue->get_ware()); |
163 | WareInstance & ware = *new WareInstance(queue->get_ware(), &wd); |
164 | ware.init(game); |
165 | worker.start_task_dropoff(game, ware); |
166 | @@ -395,7 +395,7 @@ |
167 | dst.drawanimrect(pos, anim_idx, tanim - FRAME_LENGTH, get_owner(), Rect(Point(0, 0), w, h - lines)); |
168 | else if (!m_old_buildings.empty()) { |
169 | Building_Index prev_idx = m_old_buildings.back(); |
170 | - const Building_Descr* prev_building = tribe().get_building_descr(prev_idx); |
171 | + const Building_Descr* prev_building = descr().tribe().get_building_descr(prev_idx); |
172 | // Is the first picture but there was another building here before, |
173 | // get its most fitting picture and draw it instead. |
174 | uint32_t prev_building_anim_idx; |
175 | |
176 | === modified file 'src/logic/dismantlesite.cc' |
177 | --- src/logic/dismantlesite.cc 2014-07-03 19:26:30 +0000 |
178 | +++ src/logic/dismantlesite.cc 2014-07-14 22:50:15 +0000 |
179 | @@ -134,7 +134,7 @@ |
180 | { |
181 | for (Building_Index former_idx : building->get_former_buildings()) { |
182 | const std::map<Ware_Index, uint8_t> * return_wares; |
183 | - const Building_Descr* former_descr = building->tribe().get_building_descr(former_idx); |
184 | + const Building_Descr* former_descr = building->descr().tribe().get_building_descr(former_idx); |
185 | if (former_idx != building->get_former_buildings().front()) { |
186 | return_wares = & former_descr->returned_wares_enhanced(); |
187 | } else { |
188 | @@ -196,7 +196,7 @@ |
189 | //update statistics |
190 | owner().ware_produced(wq.get_ware()); |
191 | |
192 | - const WareDescr & wd = *tribe().get_ware_descr(wq.get_ware()); |
193 | + const WareDescr & wd = *descr().tribe().get_ware_descr(wq.get_ware()); |
194 | WareInstance & ware = *new WareInstance(wq.get_ware(), &wd); |
195 | ware.init(game); |
196 | worker.start_task_dropoff(game, ware); |
197 | |
198 | === modified file 'src/logic/militarysite.cc' |
199 | --- src/logic/militarysite.cc 2014-07-03 19:26:30 +0000 |
200 | +++ src/logic/militarysite.cc 2014-07-14 22:50:15 +0000 |
201 | @@ -193,7 +193,7 @@ |
202 | (Player_Area<Area<FCoords> > |
203 | (owner().player_number(), |
204 | Area<FCoords> |
205 | - (egbase.map().get_fcoords(get_position()), get_conquers())), |
206 | + (egbase.map().get_fcoords(get_position()), descr().get_conquers())), |
207 | m_defeating_player); |
208 | |
209 | ProductionSite::cleanup(egbase); |
210 | @@ -242,7 +242,7 @@ |
211 | send_message |
212 | (*game, |
213 | "site_occupied", |
214 | - descname(), |
215 | + descr().descname(), |
216 | descr().m_occupied_str, |
217 | true); |
218 | } |
219 | @@ -390,7 +390,7 @@ |
220 | m_normal_soldier_request.reset |
221 | (new Request |
222 | (*this, |
223 | - tribe().safe_worker_index("soldier"), |
224 | + descr().tribe().safe_worker_index("soldier"), |
225 | MilitarySite::request_soldier_callback, |
226 | wwWORKER)); |
227 | m_normal_soldier_request->set_requirements (m_soldier_requirements); |
228 | @@ -446,7 +446,7 @@ |
229 | m_upgrade_soldier_request.reset |
230 | (new Request |
231 | (*this, |
232 | - tribe().safe_worker_index("soldier"), |
233 | + descr().tribe().safe_worker_index("soldier"), |
234 | MilitarySite::request_soldier_callback, |
235 | wwWORKER)); |
236 | |
237 | @@ -734,7 +734,7 @@ |
238 | (Player_Area<Area<FCoords> > |
239 | (owner().player_number(), |
240 | Area<FCoords> |
241 | - (egbase.map().get_fcoords(get_position()), get_conquers()))); |
242 | + (egbase.map().get_fcoords(get_position()), descr().get_conquers()))); |
243 | m_didconquer = true; |
244 | } |
245 | |
246 | @@ -751,7 +751,7 @@ |
247 | if |
248 | (enemy.get_owner() == &owner() || |
249 | enemy.getBattle() || |
250 | - get_conquers() |
251 | + descr().get_conquers() |
252 | <= |
253 | map.calc_distance(enemy.get_position(), get_position())) |
254 | return; |
255 | @@ -861,7 +861,7 @@ |
256 | // the new owner comes from another tribe |
257 | Building::FormerBuildings former_buildings; |
258 | for (Building_Index former_idx : m_old_buildings) { |
259 | - const Building_Descr * old_descr = tribe().get_building_descr(former_idx); |
260 | + const Building_Descr * old_descr = descr().tribe().get_building_descr(former_idx); |
261 | std::string bldname = old_descr->name(); |
262 | // Has this building already a suffix? == conquered building? |
263 | std::string::size_type const dot = bldname.rfind('.'); |
264 | |
265 | === modified file 'src/logic/partially_finished_building.cc' |
266 | --- src/logic/partially_finished_building.cc 2014-07-03 19:26:30 +0000 |
267 | +++ src/logic/partially_finished_building.cc 2014-07-14 22:50:15 +0000 |
268 | @@ -110,7 +110,7 @@ |
269 | m_builder_request = |
270 | new Request |
271 | (*this, |
272 | - tribe().safe_worker_index("builder"), |
273 | + descr().tribe().safe_worker_index("builder"), |
274 | Partially_Finished_Building::request_builder_callback, |
275 | wwWORKER); |
276 | } |
277 | |
278 | === modified file 'src/logic/playercommand.cc' |
279 | --- src/logic/playercommand.cc 2014-07-03 19:26:30 +0000 |
280 | +++ src/logic/playercommand.cc 2014-07-14 22:50:15 +0000 |
281 | @@ -1859,7 +1859,7 @@ |
282 | return; |
283 | } |
284 | |
285 | - const Tribe_Descr & tribe = warehouse->tribe(); |
286 | + const Tribe_Descr & tribe = warehouse->descr().tribe(); |
287 | if (m_isworker) { |
288 | if (!(m_ware < tribe.get_nrworkers())) { |
289 | log |
290 | |
291 | === modified file 'src/logic/production_program.cc' |
292 | --- src/logic/production_program.cc 2014-07-03 20:11:14 +0000 |
293 | +++ src/logic/production_program.cc 2014-07-14 22:50:15 +0000 |
294 | @@ -1566,7 +1566,7 @@ |
295 | const Immovable_Descr & ProductionProgram::ActConstruct::get_construction_descr |
296 | (ProductionSite & psite) const |
297 | { |
298 | - const Immovable_Descr * descr = psite.tribe().get_immovable_descr(objectname); |
299 | + const Immovable_Descr * descr = psite.descr().tribe().get_immovable_descr(objectname); |
300 | if (!descr) |
301 | throw wexception("ActConstruct: immovable '%s' does not exist", objectname.c_str()); |
302 | |
303 | @@ -1667,7 +1667,7 @@ |
304 | } |
305 | |
306 | // Second step: give ware to worker |
307 | - WareInstance * ware = new WareInstance(wq->get_ware(), psite.tribe().get_ware_descr(wq->get_ware())); |
308 | + WareInstance * ware = new WareInstance(wq->get_ware(), psite.descr().tribe().get_ware_descr(wq->get_ware())); |
309 | ware->init(game); |
310 | worker.set_carried_ware(game, ware); |
311 | wq->set_filled(wq->get_filled() - 1); |
312 | |
313 | === modified file 'src/logic/productionsite.cc' |
314 | --- src/logic/productionsite.cc 2014-07-05 14:22:44 +0000 |
315 | +++ src/logic/productionsite.cc 2014-07-14 22:50:15 +0000 |
316 | @@ -233,7 +233,7 @@ |
317 | bool ProductionSite::has_workers(Building_Index targetSite, Game & /* game */) |
318 | { |
319 | // bld holds the description of the building we want to have |
320 | - if (upcast(ProductionSite_Descr const, bld, tribe().get_building_descr(targetSite))) { |
321 | + if (upcast(ProductionSite_Descr const, bld, descr().tribe().get_building_descr(targetSite))) { |
322 | // if he has workers |
323 | if (bld->nr_working_positions()) { |
324 | Ware_Index need = bld->working_positions()[0].first; |
325 | @@ -242,7 +242,7 @@ |
326 | return false; // no one is in this house |
327 | } else { |
328 | Ware_Index have = working_positions()[i].worker->worker_index(); |
329 | - if (tribe().get_worker_descr(have)->can_act_as(need)) { |
330 | + if (descr().tribe().get_worker_descr(have)->can_act_as(need)) { |
331 | return true; // he found a lead worker |
332 | } |
333 | } |
334 | @@ -544,10 +544,10 @@ |
335 | } |
336 | if (!worker_placed) { |
337 | // Find the next smaller version of this worker |
338 | - Ware_Index nuwo = psite.tribe().get_nrworkers(); |
339 | + Ware_Index nuwo = psite.descr().tribe().get_nrworkers(); |
340 | Ware_Index current = Ware_Index(static_cast<size_t>(0)); |
341 | for (; current < nuwo; ++current) { |
342 | - Worker_Descr const * worker = psite.tribe().get_worker_descr(current); |
343 | + Worker_Descr const * worker = psite.descr().tribe().get_worker_descr(current); |
344 | if (worker->becomes() == idx) { |
345 | idx = current; |
346 | break; |
347 | @@ -720,7 +720,7 @@ |
348 | { |
349 | Ware_Index const ware_index = ware_type_with_count.first; |
350 | const WareDescr & ware_ware_descr = |
351 | - *tribe().get_ware_descr(ware_type_with_count.first); |
352 | + *descr().tribe().get_ware_descr(ware_type_with_count.first); |
353 | { |
354 | WareInstance & ware = |
355 | *new WareInstance(ware_index, &ware_ware_descr); |
356 | @@ -742,7 +742,7 @@ |
357 | *m_recruited_workers.rbegin(); |
358 | { |
359 | const Worker_Descr & worker_descr = |
360 | - *tribe().get_worker_descr(worker_type_with_count.first); |
361 | + *descr().tribe().get_worker_descr(worker_type_with_count.first); |
362 | { |
363 | Worker & recruit = |
364 | ref_cast<Worker, Bob>(worker_descr.create_object()); |
365 | @@ -765,7 +765,7 @@ |
366 | WaresQueue * queue = *iqueue; |
367 | if (queue->get_filled() > queue->get_max_fill()) { |
368 | queue->set_filled(queue->get_filled() - 1); |
369 | - const WareDescr & wd = *tribe().get_ware_descr(queue->get_ware()); |
370 | + const WareDescr & wd = *descr().tribe().get_ware_descr(queue->get_ware()); |
371 | WareInstance & ware = *new WareInstance(queue->get_ware(), &wd); |
372 | ware.init(game); |
373 | worker.start_task_dropoff(game, ware); |
374 | |
375 | === modified file 'src/logic/soldier.cc' |
376 | --- src/logic/soldier.cc 2014-07-05 12:48:58 +0000 |
377 | +++ src/logic/soldier.cc 2014-07-14 22:50:15 +0000 |
378 | @@ -975,7 +975,7 @@ |
379 | if (upcast(Warehouse, wh, enemy)) { |
380 | Requirements noreq; |
381 | defenders = wh->count_workers |
382 | - (game, wh->tribe().worker_index("soldier"), noreq); |
383 | + (game, wh->descr().tribe().worker_index("soldier"), noreq); |
384 | } |
385 | // Any enemy soldier at baseflag count as defender. |
386 | std::vector<Bob *> soldiers; |
387 | |
388 | === modified file 'src/logic/trainingsite.cc' |
389 | --- src/logic/trainingsite.cc 2014-07-03 19:26:30 +0000 |
390 | +++ src/logic/trainingsite.cc 2014-07-14 22:50:15 +0000 |
391 | @@ -289,7 +289,7 @@ |
392 | m_soldier_request = |
393 | new Request |
394 | (*this, |
395 | - tribe().safe_worker_index("soldier"), |
396 | + descr().tribe().safe_worker_index("soldier"), |
397 | TrainingSite::request_soldier_callback, |
398 | wwWORKER); |
399 | |
400 | |
401 | === modified file 'src/logic/warehouse.cc' |
402 | --- src/logic/warehouse.cc 2014-07-05 12:17:03 +0000 |
403 | +++ src/logic/warehouse.cc 2014-07-14 22:50:15 +0000 |
404 | @@ -302,7 +302,7 @@ |
405 | if (pw.index == INVALID_INDEX || !(pw.index < m_supply->get_workers().get_nrwareids())) |
406 | return false; |
407 | |
408 | - const Worker_Descr * w_desc = tribe().get_worker_descr(pw.index); |
409 | + const Worker_Descr * w_desc = descr().tribe().get_worker_descr(pw.index); |
410 | if (!w_desc || !w_desc->is_buildable()) |
411 | return false; |
412 | |
413 | @@ -315,10 +315,10 @@ |
414 | { |
415 | WareWorker type; |
416 | Ware_Index ware; |
417 | - ware = tribe().ware_index(cost_it->first); |
418 | + ware = descr().tribe().ware_index(cost_it->first); |
419 | if (ware != INVALID_INDEX) |
420 | type = wwWARE; |
421 | - else if ((ware = tribe().worker_index(cost_it->first)) != INVALID_INDEX) |
422 | + else if ((ware = descr().tribe().worker_index(cost_it->first)) != INVALID_INDEX) |
423 | type = wwWORKER; |
424 | else |
425 | return false; |
426 | @@ -368,7 +368,7 @@ |
427 | |
428 | uint32_t next_spawn = Never(); |
429 | const std::vector<Ware_Index> & worker_types_without_cost = |
430 | - tribe().worker_types_without_cost(); |
431 | + descr().tribe().worker_types_without_cost(); |
432 | for (uint8_t i = worker_types_without_cost.size(); i;) { |
433 | Ware_Index const worker_index = worker_types_without_cost.at(--i); |
434 | if |
435 | @@ -386,8 +386,8 @@ |
436 | "%s %u at (%i, %i) does not have a next_spawn time set for that " |
437 | "worker type; setting it to %u\n", |
438 | owner().player_number(), |
439 | - tribe().get_worker_descr(worker_index)->descname().c_str(), |
440 | - descname().c_str(), serial(), get_position().x, get_position().y, |
441 | + descr().tribe().get_worker_descr(worker_index)->descname().c_str(), |
442 | + descr().descname().c_str(), serial(), get_position().x, get_position().y, |
443 | next_spawn); |
444 | } |
445 | } |
446 | @@ -410,8 +410,8 @@ |
447 | { |
448 | Building::init(egbase); |
449 | |
450 | - Ware_Index const nr_wares = tribe().get_nrwares (); |
451 | - Ware_Index const nr_workers = tribe().get_nrworkers(); |
452 | + Ware_Index const nr_wares = descr().tribe().get_nrwares (); |
453 | + Ware_Index const nr_workers = descr().tribe().get_nrworkers(); |
454 | m_supply->set_nrwares (nr_wares); |
455 | m_supply->set_nrworkers(nr_workers); |
456 | |
457 | @@ -425,13 +425,13 @@ |
458 | if (upcast(Game, game, &egbase)) { |
459 | player.see_area |
460 | (Area<FCoords> |
461 | - (egbase.map().get_fcoords(get_position()), vision_range())); |
462 | + (egbase.map().get_fcoords(get_position()), descr().vision_range())); |
463 | |
464 | { |
465 | uint32_t const act_time = schedule_act |
466 | (*game, WORKER_WITHOUT_COST_SPAWN_INTERVAL); |
467 | const std::vector<Ware_Index> & worker_types_without_cost = |
468 | - tribe().worker_types_without_cost(); |
469 | + descr().tribe().worker_types_without_cost(); |
470 | |
471 | for (size_t i = 0; i < worker_types_without_cost.size(); ++i) { |
472 | if (owner().is_worker_type_allowed(worker_types_without_cost.at(i))) { |
473 | @@ -455,16 +455,16 @@ |
474 | snprintf |
475 | (message, sizeof(message), |
476 | _("A new %s was added to your economy."), |
477 | - descname().c_str()); |
478 | + descr().descname().c_str()); |
479 | send_message |
480 | (ref_cast<Game, Editor_Game_Base>(egbase), |
481 | "warehouse", |
482 | - descname(), |
483 | + descr().descname(), |
484 | message, |
485 | true); |
486 | } |
487 | |
488 | - if (uint32_t const conquer_radius = get_conquers()) |
489 | + if (uint32_t const conquer_radius = descr().get_conquers()) |
490 | egbase.conquer_area |
491 | (Player_Area<Area<FCoords> > |
492 | (player.player_number(), |
493 | @@ -537,7 +537,7 @@ |
494 | } |
495 | |
496 | Map& map = egbase.map(); |
497 | - if (const uint32_t conquer_radius = get_conquers()) |
498 | + if (const uint32_t conquer_radius = descr().get_conquers()) |
499 | egbase.unconquer_area |
500 | (Player_Area<Area<FCoords> > |
501 | (owner().player_number(), |
502 | @@ -547,7 +547,7 @@ |
503 | // Unsee the area that we started seeing in init() |
504 | Player & player = owner(); |
505 | player.unsee_area |
506 | - (Area<FCoords>(map.get_fcoords(get_position()), vision_range())); |
507 | + (Area<FCoords>(map.get_fcoords(get_position()), descr().vision_range())); |
508 | |
509 | Building::cleanup(egbase); |
510 | } |
511 | @@ -592,7 +592,7 @@ |
512 | |
513 | // Military stuff: Kill the soldiers that are dead. |
514 | if (m_next_military_act <= gametime) { |
515 | - Ware_Index const ware = tribe().safe_worker_index("soldier"); |
516 | + Ware_Index const ware = descr().tribe().safe_worker_index("soldier"); |
517 | |
518 | if (m_incorporated_workers.count(ware)) { |
519 | WorkerList & soldiers = m_incorporated_workers[ware]; |
520 | @@ -730,7 +730,7 @@ |
521 | /// Launch a carrier to fetch an ware from our flag. |
522 | bool Warehouse::fetch_from_flag(Game & game) |
523 | { |
524 | - Ware_Index const carrierid = tribe().safe_worker_index("carrier"); |
525 | + Ware_Index const carrierid = descr().tribe().safe_worker_index("carrier"); |
526 | |
527 | if (!m_supply->stock_workers(carrierid)) // XXX yep, let's cheat |
528 | insert_workers(carrierid, 1); |
529 | @@ -766,7 +766,7 @@ |
530 | } |
531 | } |
532 | |
533 | - ware = tribe().get_worker_descr(ware)->becomes(); |
534 | + ware = descr().tribe().get_worker_descr(ware)->becomes(); |
535 | } while (ware != INVALID_INDEX); |
536 | |
537 | return sum; |
538 | @@ -810,7 +810,7 @@ |
539 | // Create a new one |
540 | // NOTE: This code lies about the tAttributes of the new worker |
541 | m_supply->remove_workers(ware, 1); |
542 | - const Worker_Descr & workerdescr = *tribe().get_worker_descr(ware); |
543 | + const Worker_Descr & workerdescr = *descr().tribe().get_worker_descr(ware); |
544 | return workerdescr.create(game, owner(), this, m_position); |
545 | } |
546 | } |
547 | @@ -819,7 +819,7 @@ |
548 | // don't want to use an upgraded worker, so create new one. |
549 | create_worker(game, ware); |
550 | } else { |
551 | - ware = tribe().get_worker_descr(ware)->becomes(); |
552 | + ware = descr().tribe().get_worker_descr(ware)->becomes(); |
553 | } |
554 | } while (ware != INVALID_INDEX); |
555 | |
556 | @@ -836,7 +836,7 @@ |
557 | if (WareInstance* ware = w->fetch_carried_ware(egbase)) |
558 | incorporate_ware(egbase, ware); |
559 | |
560 | - Ware_Index worker_index = tribe().worker_index(w->name().c_str()); |
561 | + Ware_Index worker_index = descr().tribe().worker_index(w->name().c_str()); |
562 | m_supply->add_workers(worker_index, 1); |
563 | |
564 | // We remove carriers, but we keep other workers around. |
565 | @@ -870,7 +870,7 @@ |
566 | /// carried out of the warehouse. |
567 | WareInstance & Warehouse::launch_ware(Game & game, Ware_Index const ware_index) { |
568 | // Create the ware |
569 | - WareInstance & ware = *new WareInstance(ware_index, tribe().get_ware_descr(ware_index)); |
570 | + WareInstance & ware = *new WareInstance(ware_index, descr().tribe().get_ware_descr(ware_index)); |
571 | ware.init(game); |
572 | do_launch_ware(game, ware); |
573 | |
574 | @@ -884,8 +884,8 @@ |
575 | void Warehouse::do_launch_ware(Game & game, WareInstance & ware) |
576 | { |
577 | // Create a carrier |
578 | - Ware_Index const carrierid = tribe().worker_index("carrier"); |
579 | - const Worker_Descr & workerdescr = *tribe().get_worker_descr(carrierid); |
580 | + Ware_Index const carrierid = descr().tribe().worker_index("carrier"); |
581 | + const Worker_Descr & workerdescr = *descr().tribe().get_worker_descr(carrierid); |
582 | |
583 | Worker & worker = workerdescr.create(game, owner(), this, m_position); |
584 | |
585 | @@ -954,7 +954,7 @@ |
586 | ("worker type %d does not exists (max is %d)", |
587 | worker, m_supply->get_workers().get_nrwareids()); |
588 | |
589 | - const Worker_Descr & w_desc = *tribe().get_worker_descr(worker); |
590 | + const Worker_Descr & w_desc = *descr().tribe().get_worker_descr(worker); |
591 | assert(&w_desc); |
592 | if (not w_desc.is_buildable()) |
593 | return false; |
594 | @@ -963,11 +963,11 @@ |
595 | const Worker_Descr::Buildcost & buildcost = w_desc.buildcost(); |
596 | container_iterate_const(Worker_Descr::Buildcost, buildcost, it) { |
597 | const std::string & input_name = it.current->first; |
598 | - Ware_Index id_w = tribe().ware_index(input_name); |
599 | + Ware_Index id_w = descr().tribe().ware_index(input_name); |
600 | if (id_w != INVALID_INDEX) { |
601 | if (m_supply->stock_wares(id_w) < it.current->second) |
602 | return false; |
603 | - } else if ((id_w = tribe().worker_index(input_name)) != INVALID_INDEX) { |
604 | + } else if ((id_w = descr().tribe().worker_index(input_name)) != INVALID_INDEX) { |
605 | if (m_supply->stock_workers(id_w) < it.current->second) |
606 | return false; |
607 | } else |
608 | @@ -975,7 +975,7 @@ |
609 | ("worker type %s needs \"%s\" to be built but that is neither " |
610 | "a ware type nor a worker type defined in the tribe %s", |
611 | w_desc.descname().c_str(), input_name.c_str(), |
612 | - tribe().name().c_str()); |
613 | + descr().tribe().name().c_str()); |
614 | } |
615 | return true; |
616 | } |
617 | @@ -984,17 +984,17 @@ |
618 | void Warehouse::create_worker(Game & game, Ware_Index const worker) { |
619 | assert(can_create_worker (game, worker)); |
620 | |
621 | - const Worker_Descr & w_desc = *tribe().get_worker_descr(worker); |
622 | + const Worker_Descr & w_desc = *descr().tribe().get_worker_descr(worker); |
623 | const Worker_Descr::Buildcost & buildcost = w_desc.buildcost(); |
624 | container_iterate_const(Worker_Descr::Buildcost, buildcost, i) { |
625 | const std::string & input = i.current->first; |
626 | - Ware_Index const id_ware = tribe().ware_index(input); |
627 | + Ware_Index const id_ware = descr().tribe().ware_index(input); |
628 | if (id_ware != INVALID_INDEX) { |
629 | remove_wares (id_ware, i.current->second); |
630 | //update statistic accordingly |
631 | owner().ware_consumed(id_ware, i.current->second); |
632 | } else |
633 | - remove_workers(tribe().safe_worker_index(input), i.current->second); |
634 | + remove_workers(descr().tribe().safe_worker_index(input), i.current->second); |
635 | } |
636 | |
637 | incorporate_worker(game, &w_desc.create(game, owner(), this, m_position)); |
638 | @@ -1032,16 +1032,16 @@ |
639 | std::vector<uint32_t> Warehouse::calc_available_for_worker |
640 | (Game & /* game */, Ware_Index index) const |
641 | { |
642 | - const Worker_Descr & w_desc = *tribe().get_worker_descr(index); |
643 | + const Worker_Descr & w_desc = *descr().tribe().get_worker_descr(index); |
644 | const Worker_Descr::Buildcost & cost = w_desc.buildcost(); |
645 | std::vector<uint32_t> available; |
646 | |
647 | container_iterate_const(Worker_Descr::Buildcost, cost, bc) { |
648 | const std::string & input_name = bc.current->first; |
649 | - Ware_Index id_w = tribe().ware_index(input_name); |
650 | + Ware_Index id_w = descr().tribe().ware_index(input_name); |
651 | if (id_w != INVALID_INDEX) { |
652 | available.push_back(get_wares().stock(id_w)); |
653 | - } else if ((id_w = tribe().worker_index(input_name)) != INVALID_INDEX) { |
654 | + } else if ((id_w = descr().tribe().worker_index(input_name)) != INVALID_INDEX) { |
655 | available.push_back(get_workers().stock(id_w)); |
656 | } else |
657 | throw wexception |
658 | @@ -1086,17 +1086,17 @@ |
659 | pw->index = index; |
660 | pw->amount = 0; |
661 | |
662 | - const Worker_Descr & w_desc = *tribe().get_worker_descr(pw->index); |
663 | + const Worker_Descr & w_desc = *descr().tribe().get_worker_descr(pw->index); |
664 | const Worker_Descr::Buildcost & cost = w_desc.buildcost(); |
665 | container_iterate_const(Worker_Descr::Buildcost, cost, cost_it) { |
666 | const std::string & input_name = cost_it.current->first; |
667 | |
668 | - Ware_Index id_w = tribe().ware_index(input_name); |
669 | + Ware_Index id_w = descr().tribe().ware_index(input_name); |
670 | if (id_w != INVALID_INDEX) { |
671 | pw->requests.push_back |
672 | (new Request |
673 | (*this, id_w, &Warehouse::request_cb, wwWARE)); |
674 | - } else if ((id_w = tribe().worker_index(input_name)) != INVALID_INDEX) { |
675 | + } else if ((id_w = descr().tribe().worker_index(input_name)) != INVALID_INDEX) { |
676 | pw->requests.push_back |
677 | (new Request |
678 | (*this, id_w, &Warehouse::request_cb, wwWORKER)); |
679 | @@ -1117,7 +1117,7 @@ |
680 | void Warehouse::_update_planned_workers |
681 | (Game & game, Warehouse::PlannedWorkers & pw) |
682 | { |
683 | - const Worker_Descr & w_desc = *tribe().get_worker_descr(pw.index); |
684 | + const Worker_Descr & w_desc = *descr().tribe().get_worker_descr(pw.index); |
685 | const Worker_Descr::Buildcost & cost = w_desc.buildcost(); |
686 | |
687 | while (pw.amount && can_create_worker(game, pw.index)) |
688 | @@ -1128,10 +1128,10 @@ |
689 | const std::string & input_name = cost_it.current->first; |
690 | uint32_t supply; |
691 | |
692 | - Ware_Index id_w = tribe().ware_index(input_name); |
693 | + Ware_Index id_w = descr().tribe().ware_index(input_name); |
694 | if (id_w != INVALID_INDEX) { |
695 | supply = m_supply->stock_wares(id_w); |
696 | - } else if ((id_w = tribe().worker_index(input_name)) != INVALID_INDEX) { |
697 | + } else if ((id_w = descr().tribe().worker_index(input_name)) != INVALID_INDEX) { |
698 | supply = m_supply->stock_workers(id_w); |
699 | } else |
700 | throw wexception |
701 | @@ -1194,12 +1194,12 @@ |
702 | |
703 | bool Warehouse::canAttack() |
704 | { |
705 | - return get_conquers() > 0; |
706 | + return descr().get_conquers() > 0; |
707 | } |
708 | |
709 | void Warehouse::aggressor(Soldier & enemy) |
710 | { |
711 | - if (!get_conquers()) |
712 | + if (!descr().get_conquers()) |
713 | return; |
714 | |
715 | Game & game = ref_cast<Game, Editor_Game_Base>(owner().egbase()); |
716 | @@ -1207,7 +1207,7 @@ |
717 | if |
718 | (enemy.get_owner() == &owner() || |
719 | enemy.getBattle() || |
720 | - get_conquers() |
721 | + descr().get_conquers() |
722 | <= |
723 | map.calc_distance(enemy.get_position(), get_position())) |
724 | return; |
725 | @@ -1219,7 +1219,7 @@ |
726 | FindBobEnemySoldier(&owner()))) |
727 | return; |
728 | |
729 | - Ware_Index const soldier_index = tribe().worker_index("soldier"); |
730 | + Ware_Index const soldier_index = descr().tribe().worker_index("soldier"); |
731 | Requirements noreq; |
732 | |
733 | if (!count_workers(game, soldier_index, noreq)) |
734 | @@ -1233,7 +1233,7 @@ |
735 | bool Warehouse::attack(Soldier & enemy) |
736 | { |
737 | Game & game = ref_cast<Game, Editor_Game_Base>(owner().egbase()); |
738 | - Ware_Index const soldier_index = tribe().worker_index("soldier"); |
739 | + Ware_Index const soldier_index = descr().tribe().worker_index("soldier"); |
740 | Requirements noreq; |
741 | |
742 | if (count_workers(game, soldier_index, noreq)) { |
743 | @@ -1332,7 +1332,7 @@ |
744 | { |
745 | std::vector<Soldier *> rv; |
746 | |
747 | - Ware_Index const ware = tribe().safe_worker_index("soldier"); |
748 | + Ware_Index const ware = descr().tribe().safe_worker_index("soldier"); |
749 | IncorporatedWorkers::const_iterator sidx = m_incorporated_workers.find(ware); |
750 | |
751 | if (sidx != m_incorporated_workers.end()) { |
752 | @@ -1351,7 +1351,7 @@ |
753 | |
754 | int Warehouse::outcorporateSoldier(Editor_Game_Base & /* egbase */, Soldier & soldier) { |
755 | |
756 | - Ware_Index const ware = tribe().safe_worker_index("soldier"); |
757 | + Ware_Index const ware = descr().tribe().safe_worker_index("soldier"); |
758 | if (m_incorporated_workers.count(ware)) { |
759 | WorkerList & soldiers = m_incorporated_workers[ware]; |
760 | |
761 | |
762 | === modified file 'src/map_io/widelands_map_building_data_packet.cc' |
763 | --- src/map_io/widelands_map_building_data_packet.cc 2014-07-03 19:26:30 +0000 |
764 | +++ src/map_io/widelands_map_building_data_packet.cc 2014-07-14 22:50:15 +0000 |
765 | @@ -173,7 +173,7 @@ |
766 | std::map<int32_t, std::map<Ware_Index, int32_t> > type_to_priorities; |
767 | std::map<int32_t, std::map<Ware_Index, int32_t> >::iterator it; |
768 | |
769 | - const Tribe_Descr & tribe = building.tribe(); |
770 | + const Tribe_Descr & tribe = building.descr().tribe(); |
771 | building.collect_priorities(type_to_priorities); |
772 | for (it = type_to_priorities.begin(); it != type_to_priorities.end(); ++it) |
773 | { |
774 | @@ -213,7 +213,7 @@ |
775 | { |
776 | fr.Unsigned32(); // unused, was base_priority which is unused. Remove after b20. |
777 | |
778 | - const Tribe_Descr & tribe = building.tribe(); |
779 | + const Tribe_Descr & tribe = building.descr().tribe(); |
780 | int32_t ware_type = -1; |
781 | // read ware type |
782 | while (0xff != (ware_type = fr.Unsigned8())) { |
783 | |
784 | === modified file 'src/map_io/widelands_map_buildingdata_data_packet.cc' |
785 | --- src/map_io/widelands_map_buildingdata_data_packet.cc 2014-07-03 19:26:30 +0000 |
786 | +++ src/map_io/widelands_map_buildingdata_data_packet.cc 2014-07-14 22:50:15 +0000 |
787 | @@ -104,7 +104,7 @@ |
788 | ("WARNING: %s %s does not have animation \"%s\"; " |
789 | "using animation \"idle\" instead\n", |
790 | building.descr().tribe().name().c_str(), |
791 | - building.descname().c_str(), |
792 | + building.descr().descname().c_str(), |
793 | animation_name); |
794 | building.m_anim = building.descr().get_animation("idle"); |
795 | } |
796 | @@ -170,7 +170,7 @@ |
797 | ("WARNING: Found a stopped %s at (%i, %i) in the " |
798 | "savegame. Militarysites are not stoppable. " |
799 | "Ignoring.", |
800 | - building.descname().c_str(), |
801 | + building.descr().descname().c_str(), |
802 | building.get_position().x, |
803 | building.get_position().y); |
804 | } else { |
805 | @@ -181,7 +181,7 @@ |
806 | ("WARNING: Found a stopped %s at (%i, %i) in the " |
807 | "savegame. Only productionsites are stoppable. " |
808 | "Ignoring.", |
809 | - building.descname().c_str(), |
810 | + building.descr().descname().c_str(), |
811 | building.get_position().x, |
812 | building.get_position().y); |
813 | } |
814 | @@ -299,7 +299,7 @@ |
815 | try { |
816 | uint16_t const packet_version = fr.Unsigned16(); |
817 | if (packet_version == CURRENT_PARTIALLYFB_PACKET_VERSION) { |
818 | - const Tribe_Descr & tribe = pfb.tribe(); |
819 | + const Tribe_Descr & tribe = pfb.descr().tribe(); |
820 | pfb.m_building = |
821 | tribe.get_building_descr(tribe.safe_building_index(fr.CString())); |
822 | |
823 | @@ -365,7 +365,7 @@ |
824 | if (packet_version >= 2) { |
825 | read_partially_finished_building(constructionsite, fr, game, mol); |
826 | |
827 | - const Tribe_Descr & tribe = constructionsite.tribe(); |
828 | + const Tribe_Descr & tribe = constructionsite.descr().tribe(); |
829 | |
830 | container_iterate |
831 | (ConstructionSite::Wares, constructionsite.m_wares, cur) |
832 | @@ -394,7 +394,7 @@ |
833 | Game & game, |
834 | Map_Map_Object_Loader & mol) |
835 | { |
836 | - const Tribe_Descr & tribe = constructionsite.tribe(); |
837 | + const Tribe_Descr & tribe = constructionsite.descr().tribe(); |
838 | constructionsite.m_building = |
839 | tribe.get_building_descr(tribe.safe_building_index(fr.CString())); |
840 | if (fr.Unsigned8()) { |
841 | @@ -481,8 +481,8 @@ |
842 | (1 <= packet_version and |
843 | packet_version <= CURRENT_WAREHOUSE_PACKET_VERSION) |
844 | { |
845 | - Ware_Index const nr_wares = warehouse.tribe().get_nrwares (); |
846 | - Ware_Index const nr_tribe_workers = warehouse.tribe().get_nrworkers(); |
847 | + Ware_Index const nr_wares = warehouse.descr().tribe().get_nrwares(); |
848 | + Ware_Index const nr_tribe_workers = warehouse.descr().tribe().get_nrworkers(); |
849 | warehouse.m_supply->set_nrwares (nr_wares); |
850 | warehouse.m_supply->set_nrworkers(nr_tribe_workers); |
851 | warehouse.m_ware_policy.resize(nr_wares, Warehouse::SP_Normal); |
852 | @@ -490,7 +490,7 @@ |
853 | (nr_tribe_workers, Warehouse::SP_Normal); |
854 | //log("Reading warehouse stuff for %p\n", &warehouse); |
855 | // supply |
856 | - const Tribe_Descr & tribe = warehouse.tribe(); |
857 | + const Tribe_Descr & tribe = warehouse.descr().tribe(); |
858 | while (fr.Unsigned8()) { |
859 | Ware_Index const id = tribe.ware_index(fr.CString()); |
860 | if (packet_version >= 5) { |
861 | @@ -580,7 +580,7 @@ |
862 | log |
863 | ("WARNING: %s %u has a next_spawn time for nonexistent " |
864 | "worker type \"%s\" set to %u, ignoring\n", |
865 | - warehouse.descname().c_str(), warehouse.serial(), |
866 | + warehouse.descr().descname().c_str(), warehouse.serial(), |
867 | "carrier", next_spawn); |
868 | } else if |
869 | (tribe.get_worker_descr(worker_index)->buildcost().size()) |
870 | @@ -589,7 +589,7 @@ |
871 | ("WARNING: %s %u has a next_spawn time for worker type " |
872 | "\"%s\", that costs something to build, set to %u, " |
873 | "ignoring\n", |
874 | - warehouse.descname().c_str(), warehouse.serial(), |
875 | + warehouse.descr().descname().c_str(), warehouse.serial(), |
876 | "carrier", next_spawn); |
877 | } else |
878 | for (uint8_t i = 0;; ++i) { |
879 | @@ -626,7 +626,7 @@ |
880 | log |
881 | ("WARNING: %s %u has a next_spawn time for nonexistent " |
882 | "worker type \"%s\" set to %u, ignoring\n", |
883 | - warehouse.descname().c_str(), warehouse.serial(), |
884 | + warehouse.descr().descname().c_str(), warehouse.serial(), |
885 | worker_typename, next_spawn); |
886 | continue; |
887 | } |
888 | @@ -635,7 +635,7 @@ |
889 | ("WARNING: %s %u has a next_spawn time for worker type " |
890 | "\"%s\", that costs something to build, set to %u, " |
891 | "ignoring\n", |
892 | - warehouse.descname().c_str(), warehouse.serial(), |
893 | + warehouse.descr().descname().c_str(), warehouse.serial(), |
894 | worker_typename, next_spawn); |
895 | continue; |
896 | } |
897 | @@ -651,7 +651,7 @@ |
898 | "%s %u has a next_spawn time for worker type " |
899 | "\"%s\" set to %u, but it was previously set " |
900 | "to %u\n", |
901 | - warehouse.descname().c_str(), warehouse.serial(), |
902 | + warehouse.descr().descname().c_str(), warehouse.serial(), |
903 | worker_typename, next_spawn, |
904 | warehouse.m_next_worker_without_cost_spawn[i]); |
905 | warehouse.m_next_worker_without_cost_spawn[i] = |
906 | @@ -708,7 +708,7 @@ |
907 | } |
908 | } |
909 | |
910 | - if (uint32_t const conquer_radius = warehouse.get_conquers()) { |
911 | + if (uint32_t const conquer_radius = warehouse.descr().get_conquers()) { |
912 | // Add to map of military influence. |
913 | const Map & map = game.map(); |
914 | Area<FCoords> a |
915 | @@ -726,7 +726,7 @@ |
916 | warehouse.owner().see_area |
917 | (Area<FCoords> |
918 | (game.map().get_fcoords(warehouse.get_position()), |
919 | - warehouse.vision_range())); |
920 | + warehouse.descr().vision_range())); |
921 | warehouse.m_next_military_act = game.get_gametime(); |
922 | //log("Read warehouse stuff for %p\n", &warehouse); |
923 | } else |
924 | @@ -784,7 +784,7 @@ |
925 | const Map & map = game.map(); |
926 | Area<FCoords> a |
927 | (map.get_fcoords(militarysite.get_position()), |
928 | - militarysite.get_conquers()); |
929 | + militarysite.descr().get_conquers()); |
930 | const Field & first_map_field = map[0]; |
931 | Player::Field * const player_fields = |
932 | militarysite.owner().m_fields; |
933 | @@ -882,7 +882,7 @@ |
934 | throw game_data_error |
935 | ("site has request for %s, for which there is no working " |
936 | "position", |
937 | - productionsite.tribe() |
938 | + productionsite.descr().tribe() |
939 | .get_worker_descr(req.get_index())->name().c_str()); |
940 | uint32_t count = j->second; |
941 | assert(count); |
942 | @@ -894,7 +894,7 @@ |
943 | throw game_data_error |
944 | ("request for %s does not match any free working " |
945 | "position", |
946 | - productionsite.tribe() |
947 | + productionsite.descr().tribe() |
948 | .get_worker_descr(req.get_index())->name().c_str |
949 | ()); |
950 | break; |
951 | @@ -1056,7 +1056,7 @@ |
952 | } catch (const _wexception & e) { |
953 | throw game_data_error |
954 | ("productionsite (%s): %s", |
955 | - productionsite.descname().c_str(), e.what()); |
956 | + productionsite.descr().descname().c_str(), e.what()); |
957 | } |
958 | } |
959 | |
960 | @@ -1343,7 +1343,7 @@ |
961 | fw.Unsigned16(CURRENT_WAREHOUSE_PACKET_VERSION); |
962 | |
963 | // supply |
964 | - const Tribe_Descr & tribe = warehouse.tribe(); |
965 | + const Tribe_Descr & tribe = warehouse.descr().tribe(); |
966 | const WareList & wares = warehouse.m_supply->get_wares(); |
967 | for (Ware_Index i = 0; i < wares.get_nrwareids (); ++i) { |
968 | fw.Unsigned8(1); |
969 | |
970 | === modified file 'src/wui/actionconfirm.cc' |
971 | --- src/wui/actionconfirm.cc 2014-07-03 19:26:30 +0000 |
972 | +++ src/wui/actionconfirm.cc 2014-07-14 22:50:15 +0000 |
973 | @@ -148,7 +148,7 @@ |
974 | new UI::Multiline_Textarea |
975 | (this, |
976 | 0, 0, 200, 74, |
977 | - (format(message) % building.descname()).str(), |
978 | + (format(message) % building.descr().descname()).str(), |
979 | UI::Align_Center); |
980 | |
981 | UI::Button * okbtn = |
982 | |
983 | === modified file 'src/wui/buildingwindow.cc' |
984 | --- src/wui/buildingwindow.cc 2014-07-03 19:26:30 +0000 |
985 | +++ src/wui/buildingwindow.cc 2014-07-14 22:50:15 +0000 |
986 | @@ -55,7 +55,7 @@ |
987 | UI::Window |
988 | (&parent, "building_window", |
989 | 0, 0, Width, 0, |
990 | - b.descname()), |
991 | + b.descr().descname()), |
992 | m_registry(registry), |
993 | m_building (b), |
994 | m_workarea_job_id(0), |
995 | @@ -223,7 +223,7 @@ |
996 | |
997 | if (m_capscache & Widelands::Building::PCap_Enhancable) { |
998 | const std::set<Widelands::Building_Index> & enhancements = |
999 | - m_building.enhancements(); |
1000 | + m_building.descr().enhancements(); |
1001 | const Widelands::Tribe_Descr & tribe = owner.tribe(); |
1002 | container_iterate_const(std::set<Widelands::Building_Index>, enhancements, i) |
1003 | if (owner.is_building_type_allowed(*i.current)) { |
1004 | @@ -359,7 +359,7 @@ |
1005 | igbase().unique_windows().get_registry(m_building.name() + "_help"); |
1006 | registry.open_window = [this, ®istry] { |
1007 | new UI::LuaTextHelpWindow( |
1008 | - &igbase(), registry, m_building.descname(), m_building.descr().helptext_script()); |
1009 | + &igbase(), registry, m_building.descr().descname(), m_building.descr().helptext_script()); |
1010 | }; |
1011 | |
1012 | helpbtn->sigclicked.connect(boost::bind(&UI::UniqueWindow::Registry::toggle, boost::ref(registry))); |
1013 | |
1014 | === modified file 'src/wui/productionsitewindow.cc' |
1015 | --- src/wui/productionsitewindow.cc 2014-06-21 15:17:04 +0000 |
1016 | +++ src/wui/productionsitewindow.cc 2014-07-14 22:50:15 +0000 |
1017 | @@ -191,7 +191,7 @@ |
1018 | } |
1019 | } else if (request) { |
1020 | const Widelands::Worker_Descr * desc = |
1021 | - productionsite().tribe().get_worker_descr(request->get_index()); |
1022 | + productionsite().descr().tribe().get_worker_descr(request->get_index()); |
1023 | er.set_picture |
1024 | (0, desc->icon(), |
1025 | request->is_open() ? _("(vacant)") : _("(coming)")); |
1026 | |
1027 | === modified file 'src/wui/soldierlist.cc' |
1028 | --- src/wui/soldierlist.cc 2014-07-13 14:36:19 +0000 |
1029 | +++ src/wui/soldierlist.cc 2014-07-14 22:50:15 +0000 |
1030 | @@ -114,7 +114,7 @@ |
1031 | m_soldiers(*dynamic_cast<SoldierControl *>(&building)), |
1032 | m_last_animate_time(0) |
1033 | { |
1034 | - Soldier::calc_info_icon_size(building.tribe(), m_icon_width, m_icon_height); |
1035 | + Soldier::calc_info_icon_size(building.descr().tribe(), m_icon_width, m_icon_height); |
1036 | m_icon_width += 2 * IconBorder; |
1037 | m_icon_height += 2 * IconBorder; |
1038 |
Applied after fixing a small merge conflict due to recent merges.