Latest Posts

Topic: new tribe: amazons

GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3237
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2020-08-29, 02:53

I had to rename the world resources to make the names globally unique. So, the resource is now called resource_fish and the ware is still fish. Looks like I missed some savegame compatibility code for productionsite programs here. Do you still have the savegame?

deadtree7 should be loaded automatically from the transformation program. If it isn't, that's another bug with the new engine code.

The other tribes should be able to use the Amazon trees if they have the same attributes as world trees. If the attributes are correct and it's not working, it's another bug.


Busy indexing nil values

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 999
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-08-29, 18:10

I seem to be unable to build a treetop sentry in the current amazons version. Can someone else confirm this?


Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3237
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2020-08-29, 18:20

I just built one on an oak and one on a rubber tree. Widelands Version 1.0~git20747[17b9811@amazons] (Release).


Busy indexing nil values

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 999
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-08-29, 18:27

Strange, just tried again with the same version but I cannot build one on old larchs and spruces:

(map is Snowstorm, available on the maps download page)

Edited: 2020-08-29, 18:27

Attachment: shot0000.png (883.0 KB)

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3237
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2020-08-29, 18:42

I can reproduce the problem on Last Bastion, but not on The Far North. Only world trees are affected.

I am planning to merge the world and tribe immovables in the engine, maybe wait for that before we investigate further?

We probably are having a load order problem here.

Edited: 2020-08-29, 18:42

Busy indexing nil values

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 999
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-08-29, 18:53

After trying a few more times I once could build one (also on Snowstorm), but when I then saved the game it crashed:

 Writing Buildingdata Data ... AddressSanitizer:DEADLYSIGNAL
=================================================================
==38616==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000030 (pc 0x7fefa47a7044 bp 0x7fff608704c0 sp 0x7fff60870498 T0)
==38616==The signal is caused by a READ memory access.
==38616==Hint: address points to the zero page.
    #0 0x7fefa47a7044 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const (/lib/x86_64-linux-gnu/libstdc++.so.6+0x143044)
    #1 0x563d5841f0b9 in StreamWrite::string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../src/io/streamwrite.h:90
    #2 0x563d58e6c521 in Widelands::MapBuildingdataPacket::write(FileSystem&, Widelands::EditorGameBase&, Widelands::MapObjectSaver&) ../src/map_io/map_buildingdata_packet.cc:967
    #3 0x563d58ecd3e2 in Widelands::MapSaver::save() ../src/map_io/map_saver.cc:296
    #4 0x563d590a7376 in Widelands::GameMapPacket::write(FileSystem&, Widelands::Game&, Widelands::MapObjectSaver*) ../src/game_io/game_map_packet.cc:66
    #5 0x563d590b2d0e in Widelands::GameSaver::save() ../src/game_io/game_saver.cc:82
    #6 0x563d58ad0264 in operator() ../src/wui/game_main_menu_save_game.cc:252
    #7 0x563d58ad48f4 in __invoke_impl<void, GameMainMenuSaveGame::save_game(std::string, bool)::<lambda(FileSystem&)>&, FileSystem&> /usr/include/c++/10/bits/invoke.h:60
    #8 0x563d58ad3d9c in __invoke_r<void, GameMainMenuSaveGame::save_game(std::string, bool)::<lambda(FileSystem&)>&, FileSystem&> /usr/include/c++/10/bits/invoke.h:153
    #9 0x563d58ad275a in _M_invoke /usr/include/c++/10/bits/std_function.h:291
    #10 0x563d58b95dd0 in std::function<void (FileSystem&)>::operator()(FileSystem&) const /usr/include/c++/10/bits/std_function.h:622
    #11 0x563d58b90168 in GenericSaveHandler::save_file() ../src/logic/generic_save_handler.cc:108
    #12 0x563d58b91003 in GenericSaveHandler::save() ../src/logic/generic_save_handler.cc:166
    #13 0x563d58ad0eb2 in GameMainMenuSaveGame::save_game(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) ../src/wui/game_main_menu_save_game.cc:255
    #14 0x563d58acfb3e in GameMainMenuSaveGame::ok() ../src/wui/game_main_menu_save_game.cc:172
    #15 0x563d58acc351 in operator() ../src/wui/game_main_menu_save_game.cc:103
...

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 999
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-08-29, 18:55

After trying a few more times I once could build one (also on Snowstorm), but when I then saved the game it crashed with a segfault in MapBuildingdataPacket. Backtrace was eaten by the website's spam-filter again…

Edited: 2020-08-29, 18:59

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3237
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2020-08-30, 05:11

Here's the crashing line with some context, in src/map_io/map_buildingdata_packet.cc:967:

{
  const TribeDescr& td = building->owner().tribe();
  for (const auto& pair : building->old_buildings_) {
    const BuildingDescr* b_descr = td.get_building_descr(pair.first);
    fw.unsigned_8(1);
    fw.string(b_descr->name()); -- CRASH here
    fw.string(pair.second);
  }
  fw.unsigned_8(0);
}

Busy indexing nil values

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 999
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-08-30, 10:18

const BuildingDescr* b_descr = td.get_building_descr(pair.first);

That's the one. Depending on the value of pair.second it might be an ImmovableDescr which may need to be fetched from either Tribes or World. Will push a fix to the branch.


Top Quote