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.

_______________________________________________
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

Reply via email to