← Back to team overview

widelands-dev team mailing list archive

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

 

I have added comments.

If you run ./wl_map_info without parameters, it will give you command line help. It results in a JSON file for the website.

Diff comments:

> 
> === modified file 'src/logic/map.cc'
> --- src/logic/map.cc	2019-05-16 09:15:03 +0000
> +++ src/logic/map.cc	2019-06-22 11:22:28 +0000
> @@ -714,6 +714,22 @@
>  	pathfieldmgr_->set_size(field_size);
>  }
>  
> +int Map::needs_widelands_version_after() const {
> +	return map_version_.needs_widelands_version_after;
> +}
> +
> +void Map::calculate_needs_widelands_version_after(bool is_post_one_world) {

Done

> +	if (map_version_.needs_widelands_version_after == 0) {
> +		if (nrplayers_ > 8) {
> +			// We introduced support for 16 players after Build 19
> +			map_version_.needs_widelands_version_after = 19;
> +		} else if (is_post_one_world) {
> +			// We merged the worlds in the engine after Build 18
> +			map_version_.needs_widelands_version_after = 18;
> +		}
> +	}
> +}
> +
>  /*
>   * The scenario get/set functions
>   */
> 
> === modified file 'src/map_io/map_version_packet.cc'
> --- src/map_io/map_version_packet.cc	2019-02-23 11:00:49 +0000
> +++ src/map_io/map_version_packet.cc	2019-06-22 11:22:28 +0000
> @@ -30,11 +30,17 @@
>  namespace Widelands {
>  
>  constexpr uint16_t kCurrentPacketVersion = 1;
> +// Map compatibility information for the website
> +constexpr int kCurrentNeedsWidelandsVersionAfter = 20;

Whenever we do a change that means that older versions of Widelands cannot load newer maps any more, whatever that might be.

Since ferries and waterways can't be added in the editor, they won't affect this.

>  
>  void MapVersionPacket::read(FileSystem& fs,
>                              EditorGameBase& egbase,
> -                            bool const skip,
> -                            MapObjectLoader&) {
> +                            bool const skip, bool is_post_one_world) {
> +
> +	pre_read(fs, egbase.mutable_map(), skip, is_post_one_world);
> +}
> +
> +void MapVersionPacket::pre_read(FileSystem& fs, Map* map, bool skip, bool is_post_one_world) {
>  	if (skip)
>  		return;
>  
> 
> === modified file 'src/map_io/widelands_map_loader.cc'
> --- src/map_io/widelands_map_loader.cc	2019-05-26 03:14:41 +0000
> +++ src/map_io/widelands_map_loader.cc	2019-06-22 11:22:28 +0000
> @@ -198,7 +202,7 @@
>  		log("Reading Map Version Data ... ");
>  		{
>  			MapVersionPacket p;
> -			p.read(*fs_, egbase, is_game, *mol_);
> +			p.read(*fs_, egbase, is_game, old_world_name_.empty());

This is already documented in map_io/map_elemental_packet.h

>  		}
>  		log("took %ums\n ", timer.ms_since_last_query());
>  


-- 
https://code.launchpad.net/~widelands-dev/widelands/elk_moose/+merge/369201
Your team Widelands Developers is subscribed to branch lp:~widelands-dev/widelands/elk_moose.


References