Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1191556-cancel-expedition into lp:widelands

2016-03-12 Thread Klaus Halfmann
Review: Approve

Played this with a lot of Ports and about > 6 Expeditions for some 3 hours.
I found a Problem with the network lobby (crash if Computer went offline
during the game) but that cannot be related to this code. 

Compiled it again, but found it is alreday in trunk.

I will stick to reviews and testing as long as there are so many branches
to check and I do not have that much time.




-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1191556-cancel-expedition/+merge/288375
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1191556-cancel-expedition.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/ai_roads_rework into lp:widelands

2016-03-12 Thread GunChleoc
Or maybe base the value on the actual map dimensions? map.get_width() * 
map.get_height()
-- 
https://code.launchpad.net/~widelands-dev/widelands/ai_roads_rework/+merge/288567
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/ai_roads_rework.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/ai_roads_rework into lp:widelands

2016-03-12 Thread GunChleoc
Review: Approve

LGTM - just 1 more comment in the diff.

Diff comments:

> === modified file 'src/ai/ai_help_structs.cc'
> --- src/ai/ai_help_structs.cc 2016-02-18 17:58:54 +
> +++ src/ai/ai_help_structs.cc 2016-03-12 21:29:28 +
> @@ -300,6 +314,156 @@
>   return (blocked_fields_.count(coords.hash()) != 0);
>  }
>  
> +
> +FlagsForRoads::Candidate::Candidate(uint32_t coords, int32_t distance, bool 
> economy):
> + coords_hash(coords), air_distance(distance), different_economy(economy) 
> {
> + new_road_possible = false;
> + accessed_via_roads = false;
> + new_road_length = 1000; // Values are sufficient for map 512x512

How about using the map dimensions constant from map.h? If that list would ever 
change, whoever changes it will have to know about the AI code. Something like:

new_road_length = 2 * kMapDimensions.at(kMapDimensions.size() - 1)

> + current_roads_distance = 1000; // must be big enough
> + reduction_score = -air_distance; // allows reasonable ordering 
> from the start
> +}
> +
> +bool FlagsForRoads::Candidate::operator<(const Candidate& other) const {
> + if (reduction_score == other.reduction_score) {
> + return coords_hash < other.coords_hash;
> + } else {
> + return reduction_score > other.reduction_score;
> + }
> +}
> +
> +bool FlagsForRoads::Candidate::operator==(const Candidate& other) const {
> + return coords_hash == other.coords_hash;
> +}
> +
> +void FlagsForRoads::Candidate::calculate_score() {
> + if (!new_road_possible) {
> + reduction_score = kRoadNotFound - air_distance; // to have at 
> least some ordering preserved
> + } else if (different_economy) {
> + reduction_score = kRoadToDifferentEconomy - air_distance - 2 * 
> new_road_length;
> + } else if (!accessed_via_roads) {
> + if (air_distance + 6 > new_road_length) {
> + reduction_score = kShortcutWithinSameEconomy - 
> air_distance - 2 * new_road_length;
> + } else {
> + reduction_score = kRoadNotFound;
> + }
> + } else {
> + reduction_score = current_roads_distance - 2 * new_road_length;
> + }
> +}
> +
> +void FlagsForRoads::print() { // this is for debugging and development 
> purposes
> + for (auto& candidate_flag : queue) {
> + log("   %starget: %3dx%3d, saving: %5d (%3d), air distance: 
> %3d, new road: %6d, score: %5d %s\n",
> + (candidate_flag.reduction_score>=min_reduction && 
> candidate_flag.new_road_possible)?"+":" ",
> + Coords::unhash(candidate_flag.coords_hash).x,
> + Coords::unhash(candidate_flag.coords_hash).y,
> + candidate_flag.current_roads_distance - 
> candidate_flag.new_road_length,
> + min_reduction,
> + candidate_flag.air_distance,
> + candidate_flag.new_road_length,
> + candidate_flag.reduction_score,
> + (candidate_flag.new_road_possible)? ", new road possible" : " 
> ");
> + }
> +}
> +
> +// Queue is ordered but some target flags are only estimations so we take 
> such a candidate_flag first
> +bool FlagsForRoads::get_best_uncalculated(uint32_t* winner) {
> + for (auto& candidate_flag : queue) {
> + if (!candidate_flag.new_road_possible) {
> + *winner = candidate_flag.coords_hash;
> + return true;
> + }
> + }
> + return false;
> +}
> +
> +// Road from starting flag to this flag can be built
> +void FlagsForRoads::road_possible(Widelands::Coords coords, uint32_t 
> distance) {
> + // std::set does not allow updating
> + Candidate new_candidate_flag = Candidate(0, 0, false);
> + for (auto candidate_flag : queue) {
> + if (candidate_flag.coords_hash == coords.hash()) {
> + new_candidate_flag = candidate_flag;
> + assert(new_candidate_flag.coords_hash == 
> candidate_flag.coords_hash);
> + queue.erase(candidate_flag);
> + break;
> + }
> + }
> +
> + new_candidate_flag.new_road_length = distance;
> + new_candidate_flag.new_road_possible = true;
> + new_candidate_flag.calculate_score();
> + queue.insert(new_candidate_flag);
> +}
> +
> +// Remove the flag from candidates as interconnecting road is not possible
> +void FlagsForRoads::road_impossible(Widelands::Coords coords) {
> + const uint32_t hash = coords.hash();
> + for (auto candidate_flag : queue) {
> + if (candidate_flag.coords_hash == hash) {
> + queue.erase(candidate_flag);
> + return;
> + }
> + }
> +}
> +
> +// Updating walking distance over existing roads
> +// Queue does not allow modifying its members so we erase and then 
> eventually insert modified member
> +void FlagsForRoads::set_ro

Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/ai_roads_rework into lp:widelands

2016-03-12 Thread TiborB
OK, I implemented the rest
-- 
https://code.launchpad.net/~widelands-dev/widelands/ai_roads_rework/+merge/288567
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/ai_roads_rework into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1395278-map_io into lp:widelands

2016-03-12 Thread GunChleoc
GunChleoc has proposed merging lp:~widelands-dev/widelands/bug-1395278-map_io 
into lp:widelands.

Commit message:
Refactored member variable names in src/map_io.

Requested reviews:
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1395278 in widelands: "Consolidate naming of member variables"
  https://bugs.launchpad.net/widelands/+bug/1395278

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1395278-map_io/+merge/288859

The neverending story...
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug-1395278-map_io into lp:widelands.
=== modified file 'src/logic/map_revision.cc'
--- src/logic/map_revision.cc	2016-02-22 07:25:15 +
+++ src/logic/map_revision.cc	2016-03-12 16:30:56 +
@@ -25,11 +25,11 @@
 
 
 MapVersion::MapVersion() :
-map_version_major_(0),
-map_version_minor_(0)
+map_version_major(0),
+map_version_minor(0)
 {
-	map_creator_version_ = build_id();
-	map_version_timestamp_ = static_cast(time(nullptr));
+	map_creator_version = build_id();
+	map_version_timestamp = static_cast(time(nullptr));
 }
 
 }

=== modified file 'src/logic/map_revision.h'
--- src/logic/map_revision.h	2016-02-22 07:25:15 +
+++ src/logic/map_revision.h	2016-03-12 16:30:56 +
@@ -34,12 +34,12 @@
 
 struct MapVersion {
 
-	std::string map_source_url_;
-	std::string map_source_release_;
-	std::string map_creator_version_;
-	int32_t map_version_major_;
-	int32_t map_version_minor_;
-	uint32_tmap_version_timestamp_;
+	std::string map_source_url;
+	std::string map_source_release;
+	std::string map_creator_version;
+	int32_t map_version_major;
+	int32_t map_version_minor;
+	uint32_tmap_version_timestamp;
 
 	MapVersion();
 

=== modified file 'src/map_io/map_elemental_packet.h'
--- src/map_io/map_elemental_packet.h	2014-09-19 12:54:54 +
+++ src/map_io/map_elemental_packet.h	2016-03-12 16:30:56 +
@@ -42,7 +42,7 @@
 	/// properly configured EditorGameBase object.
 	void pre_read(FileSystem &, Map *);
 
-	uint32_t get_version() {return m_version;}
+	uint32_t get_version() {return version_;}
 
 	/// If this map was created before the one_world merge was done, this returns
 	/// the old world name, otherwise "".
@@ -52,7 +52,7 @@
 
 private:
 	std::string old_world_name_;
-	uint32_t m_version;
+	uint32_t version_;
 };
 
 }

=== modified file 'src/map_io/map_loader.h'
--- src/map_io/map_loader.h	2016-01-29 13:43:56 +
+++ src/map_io/map_loader.h	2016-03-12 16:30:56 +
@@ -43,13 +43,13 @@
 	};
 
 	MapLoader(const std::string& filename, Map & M)
-		: m_map(M), m_s(STATE_INIT) {m_map.set_filename(filename);}
+		: map_(M), state_(STATE_INIT) {map_.set_filename(filename);}
 	virtual ~MapLoader() {}
 
 	virtual int32_t preload_map(bool as_scenario) = 0;
 	virtual int32_t load_map_complete(EditorGameBase &, MapLoader::LoadType) = 0;
 
-	Map & map() {return m_map;}
+	Map & map() {return map_;}
 
 protected:
 	enum State {
@@ -57,12 +57,12 @@
 		STATE_PRELOADED,
 		STATE_LOADED
 	};
-	void set_state(State const s) {m_s = s;}
-	State get_state() const {return m_s;}
-	Map & m_map;
+	void set_state(State const s) {state_ = s;}
+	State get_state() const {return state_;}
+	Map & map_;
 
 private:
-	State m_s;
+	State state_;
 };
 
 }

=== modified file 'src/map_io/map_object_loader.cc'
--- src/map_io/map_object_loader.cc	2015-11-29 09:43:15 +
+++ src/map_io/map_object_loader.cc	2016-03-12 16:30:56 +
@@ -29,7 +29,7 @@
  * Returns true if this object has already been inserted
  */
 bool MapObjectLoader::is_object_known(Serial const n) {
-	return m_objects.find(n) != m_objects.end();
+	return objects_.find(n) != objects_.end();
 }
 
 
@@ -38,7 +38,7 @@
  */
 void MapObjectLoader::mark_object_as_loaded(MapObject & obj)
 {
-	m_loaded_obj[&obj] = true;
+	loaded_objects_[&obj] = true;
 }
 
 /*
@@ -48,9 +48,9 @@
 {
 	int32_t result = 0;
 	std::map::const_iterator const loaded_obj_end =
-		m_loaded_obj.end();
+		loaded_objects_.end();
 	for
-		(std::map::const_iterator it = m_loaded_obj.begin();
+		(std::map::const_iterator it = loaded_objects_.begin();
 		 it != loaded_obj_end;
 		 ++it)
 		if (!it->second)
@@ -65,7 +65,7 @@
  */
 void MapObjectLoader::schedule_destroy(MapObject & obj)
 {
-	m_schedule_destroy.push_back(&obj);
+	schedule_destroy_.push_back(&obj);
 }
 
 /**
@@ -76,7 +76,7 @@
  */
 void MapObjectLoader::schedule_act(Bob & bob)
 {
-	m_schedule_act.push_back(&bob);
+	schedule_act_.push_back(&bob);
 }
 
 /**
@@ -86,14 +86,14 @@
  */
 void MapObjectLoader::load_finish_game(Game & g)
 {
-	while (!m_schedule_destroy.empty()) {
-		m_schedule_destroy.back()->schedule_destroy(g);
-		m_schedule_destroy.pop_back();
+	while (!schedule_destroy_.empty()) {
+		schedule_destroy_.back()->schedule_destroy(g);
+		schedule_destroy_.pop_back();
 	}
 
-	while (!m_schedule_act.empty()) {
-		m_schedule_act.back()->schedule_act(g, 1);
-		m_schedule_act.pop_back();
+	while (!schedule_act_.empty()) {
+		schedule_

Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1191556-cancel-expedition into lp:widelands

2016-03-12 Thread GunChleoc
Thanks for testing :)

If you have any ideas concerning refactoring - I am all ears! We could open 
bugs for those.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1191556-cancel-expedition/+merge/288375
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1191556-cancel-expedition.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1191556-cancel-expedition into lp:widelands

2016-03-12 Thread noreply
The proposal to merge lp:~widelands-dev/widelands/bug-1191556-cancel-expedition 
into lp:widelands has been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1191556-cancel-expedition/+merge/288375
-- 
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1191556-cancel-expedition.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1191556-cancel-expedition into lp:widelands

2016-03-12 Thread Klaus Halfmann
Review: Approve

Code looks good, still want to play a bit with the Ports on
my https://wl.widelands.org/maps/fjord-ilands2/ map.

And some refactoring toward clean code is always good :-)
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1191556-cancel-expedition/+merge/288375
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1191556-cancel-expedition.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp