widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #16546
[Merge] lp:~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr into lp:widelands
GunChleoc has proposed merging lp:~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr into lp:widelands.
Commit message:
Some small refactorings to the logic code structure
- Pull out some libraries from liblogic
- Remove EditorGameBase from MapObjectDescr constructors
- Delete the unused struct SoldierStrength in widelands.h
Requested reviews:
Widelands Developers (widelands-dev)
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr/+merge/366332
Some code cleanup to make the circular dependencies more visible for future refactoring. There will be 1 more branch in the series after this one.
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr into lp:widelands.
=== modified file 'src/CMakeLists.txt'
--- src/CMakeLists.txt 2018-09-06 09:06:55 +0000
+++ src/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -115,6 +115,7 @@
logic_filesystem_constants
logic_game_controller
logic_game_settings
+ logic_map
logic_single_player_game_settings
map_io_map_loader
network
=== modified file 'src/ai/CMakeLists.txt'
--- src/ai/CMakeLists.txt 2017-02-28 12:59:39 +0000
+++ src/ai/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -19,5 +19,8 @@
economy
logic
logic_constants
+ logic_commands
+ logic_map
+ logic_map_objects
scripting_lua_table
)
=== modified file 'src/ai/ai_help_structs.h'
--- src/ai/ai_help_structs.h 2019-02-23 11:00:49 +0000
+++ src/ai/ai_help_structs.h 2019-04-20 05:49:35 +0000
@@ -28,7 +28,7 @@
#include "economy/flag.h"
#include "economy/road.h"
#include "logic/ai_dna_handler.h"
-#include "logic/findnode.h"
+#include "logic/map_objects/findnode.h"
#include "logic/game.h"
#include "logic/map.h"
#include "logic/map_objects/checkstep.h"
=== modified file 'src/ai/defaultai.cc'
--- src/ai/defaultai.cc 2019-04-10 16:39:31 +0000
+++ src/ai/defaultai.cc 2019-04-20 05:49:35 +0000
@@ -35,10 +35,10 @@
#include "economy/flag.h"
#include "economy/portdock.h"
#include "economy/road.h"
-#include "logic/findbob.h"
-#include "logic/findimmovable.h"
-#include "logic/findnode.h"
#include "logic/map.h"
+#include "logic/map_objects/findbob.h"
+#include "logic/map_objects/findimmovable.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/tribes/constructionsite.h"
#include "logic/map_objects/tribes/militarysite.h"
#include "logic/map_objects/tribes/productionsite.h"
=== modified file 'src/economy/CMakeLists.txt'
--- src/economy/CMakeLists.txt 2017-11-20 13:50:51 +0000
+++ src/economy/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -52,9 +52,13 @@
base_macros
io_fileread
logic
+ logic_commands
logic_constants
logic_exceptions
+ logic_map
+ logic_map_objects
logic_widelands_geometry
+ logic_widelands_geometry_io
map_io
notifications
)
=== modified file 'src/economy/input_queue.h'
--- src/economy/input_queue.h 2019-02-23 11:00:49 +0000
+++ src/economy/input_queue.h 2019-04-20 05:49:35 +0000
@@ -24,7 +24,6 @@
#include "logic/map_objects/immovable.h"
#include "logic/map_objects/tribes/wareworker.h"
-#include "logic/widelands.h"
namespace Widelands {
=== modified file 'src/economy/test/CMakeLists.txt'
--- src/economy/test/CMakeLists.txt 2018-09-06 09:06:55 +0000
+++ src/economy/test/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -9,5 +9,6 @@
economy
io_filesystem
logic
+ logic_map_objects
logic_widelands_geometry
)
=== modified file 'src/economy/ware_instance.h'
--- src/economy/ware_instance.h 2019-02-23 11:00:49 +0000
+++ src/economy/ware_instance.h 2019-04-20 05:49:35 +0000
@@ -23,7 +23,6 @@
#include "economy/transfer.h"
#include "logic/map_objects/map_object.h"
#include "logic/map_objects/tribes/ware_descr.h"
-#include "logic/widelands.h"
#include "map_io/tribes_legacy_lookup_table.h"
namespace Widelands {
=== modified file 'src/economy/wares_queue.h'
--- src/economy/wares_queue.h 2019-02-23 11:00:49 +0000
+++ src/economy/wares_queue.h 2019-04-20 05:49:35 +0000
@@ -22,7 +22,6 @@
#include "economy/input_queue.h"
#include "logic/map_objects/immovable.h"
-#include "logic/widelands.h"
namespace Widelands {
=== modified file 'src/economy/workers_queue.h'
--- src/economy/workers_queue.h 2019-02-23 11:00:49 +0000
+++ src/economy/workers_queue.h 2019-04-20 05:49:35 +0000
@@ -22,7 +22,6 @@
#include "economy/input_queue.h"
#include "logic/map_objects/immovable.h"
-#include "logic/widelands.h"
namespace Widelands {
=== modified file 'src/editor/CMakeLists.txt'
--- src/editor/CMakeLists.txt 2018-11-04 17:56:37 +0000
+++ src/editor/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -100,6 +100,9 @@
logic_constants
logic_filesystem_constants
logic_generic_save_handler
+ logic_map
+ logic_map_objects
+ logic_map_objects_description_maintainer
logic_tribe_basic_info
logic_widelands_geometry
map_io
=== modified file 'src/editor/map_generator.cc'
--- src/editor/map_generator.cc 2019-02-23 11:00:49 +0000
+++ src/editor/map_generator.cc 2019-04-20 05:49:35 +0000
@@ -26,8 +26,8 @@
#include "base/wexception.h"
#include "editor/tools/increase_resources_tool.h"
#include "logic/editor_game_base.h"
-#include "logic/findnode.h"
#include "logic/map.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/tribes/tribe_basic_info.h"
#include "logic/map_objects/world/map_gen.h"
#include "logic/map_objects/world/world.h"
=== modified file 'src/editor/tools/set_origin_tool.h'
--- src/editor/tools/set_origin_tool.h 2019-02-23 11:00:49 +0000
+++ src/editor/tools/set_origin_tool.h 2019-04-20 05:49:35 +0000
@@ -21,7 +21,6 @@
#define WL_EDITOR_TOOLS_SET_ORIGIN_TOOL_H
#include "editor/tools/tool.h"
-#include "logic/widelands.h"
/// Sets the starting position of players.
struct EditorSetOriginTool : public EditorTool {
=== modified file 'src/editor/tools/set_port_space_tool.h'
--- src/editor/tools/set_port_space_tool.h 2019-02-23 11:00:49 +0000
+++ src/editor/tools/set_port_space_tool.h 2019-04-20 05:49:35 +0000
@@ -21,7 +21,6 @@
#define WL_EDITOR_TOOLS_SET_PORT_SPACE_TOOL_H
#include "editor/tools/tool.h"
-#include "logic/widelands.h"
#define FSEL_ESPS_FILENAME "images/wui/editor/fsel_editor_set_port_space.png"
#define FSEL_EUPS_FILENAME "images/wui/editor/fsel_editor_unset_port_space.png"
=== modified file 'src/editor/tools/set_resources_tool.h'
--- src/editor/tools/set_resources_tool.h 2019-02-23 11:00:49 +0000
+++ src/editor/tools/set_resources_tool.h 2019-04-20 05:49:35 +0000
@@ -22,7 +22,6 @@
#include "editor/tools/tool.h"
#include "logic/mapregion.h"
-#include "logic/widelands.h"
Widelands::NodeCaps resource_tools_nodecaps(const Widelands::FCoords& fcoords,
const Widelands::EditorGameBase& egbase,
=== modified file 'src/editor/tools/set_starting_pos_tool.h'
--- src/editor/tools/set_starting_pos_tool.h 2019-02-23 11:00:49 +0000
+++ src/editor/tools/set_starting_pos_tool.h 2019-04-20 05:49:35 +0000
@@ -24,7 +24,6 @@
#include "editor/tools/tool.h"
#include "graphic/playercolor.h"
-#include "logic/widelands.h"
// How much place should be left around a player position
// where no other player can start
=== modified file 'src/editor/ui_menus/categorized_item_selection_menu.h'
--- src/editor/ui_menus/categorized_item_selection_menu.h 2019-02-23 11:00:49 +0000
+++ src/editor/ui_menus/categorized_item_selection_menu.h 2019-04-20 05:49:35 +0000
@@ -28,7 +28,7 @@
#include "base/i18n.h"
#include "graphic/image.h"
-#include "logic/description_maintainer.h"
+#include "logic/map_objects/description_maintainer.h"
#include "logic/map_objects/world/editor_category.h"
#include "ui_basic/box.h"
#include "ui_basic/checkbox.h"
@@ -47,8 +47,8 @@
// not take ownership.
CategorizedItemSelectionMenu(
UI::Panel* parent,
- const DescriptionMaintainer<Widelands::EditorCategory>& categories,
- const DescriptionMaintainer<DescriptionType>& descriptions,
+ const Widelands::DescriptionMaintainer<Widelands::EditorCategory>& categories,
+ const Widelands::DescriptionMaintainer<DescriptionType>& descriptions,
std::function<UI::Checkbox*(UI::Panel* parent, const DescriptionType& descr)> create_checkbox,
const std::function<void()> select_correct_tool,
ToolType* const tool);
@@ -60,7 +60,7 @@
// Update the label with the currently selected object names.
void update_label();
- const DescriptionMaintainer<DescriptionType>& descriptions_;
+ const Widelands::DescriptionMaintainer<DescriptionType>& descriptions_;
std::function<void()> select_correct_tool_;
bool protect_against_recursive_select_;
UI::TabPanel tab_panel_;
@@ -72,8 +72,8 @@
template <typename DescriptionType, typename ToolType>
CategorizedItemSelectionMenu<DescriptionType, ToolType>::CategorizedItemSelectionMenu(
UI::Panel* parent,
- const DescriptionMaintainer<Widelands::EditorCategory>& categories,
- const DescriptionMaintainer<DescriptionType>& descriptions,
+ const Widelands::DescriptionMaintainer<Widelands::EditorCategory>& categories,
+ const Widelands::DescriptionMaintainer<DescriptionType>& descriptions,
const std::function<UI::Checkbox*(UI::Panel* parent, const DescriptionType& descr)>
create_checkbox,
const std::function<void()> select_correct_tool,
=== modified file 'src/editor/ui_menus/main_menu_new_map.cc'
--- src/editor/ui_menus/main_menu_new_map.cc 2019-02-23 11:00:49 +0000
+++ src/editor/ui_menus/main_menu_new_map.cc 2019-04-20 05:49:35 +0000
@@ -167,7 +167,7 @@
*/
void MainMenuNewMap::fill_list() {
list_.clear();
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains =
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains =
eia().egbase().world().terrains();
for (Widelands::DescriptionIndex index = 0; index < terrains.size(); ++index) {
=== modified file 'src/editor/ui_menus/main_menu_new_map.h'
--- src/editor/ui_menus/main_menu_new_map.h 2019-02-23 11:00:49 +0000
+++ src/editor/ui_menus/main_menu_new_map.h 2019-04-20 05:49:35 +0000
@@ -20,7 +20,7 @@
#ifndef WL_EDITOR_UI_MENUS_MAIN_MENU_NEW_MAP_H
#define WL_EDITOR_UI_MENUS_MAIN_MENU_NEW_MAP_H
-#include "logic/description_maintainer.h"
+#include "logic/widelands.h"
#include "ui_basic/box.h"
#include "ui_basic/button.h"
#include "ui_basic/listselect.h"
=== modified file 'src/editor/ui_menus/tool_change_resources_options_menu.cc'
--- src/editor/ui_menus/tool_change_resources_options_menu.cc 2019-02-23 11:00:49 +0000
+++ src/editor/ui_menus/tool_change_resources_options_menu.cc 2019-04-20 05:49:35 +0000
@@ -33,7 +33,6 @@
#include "logic/map.h"
#include "logic/map_objects/world/resource_description.h"
#include "logic/map_objects/world/world.h"
-#include "logic/widelands.h"
#include "logic/widelands_geometry.h"
constexpr int kMaxValue = 63;
=== modified file 'src/game_io/CMakeLists.txt'
--- src/game_io/CMakeLists.txt 2018-02-13 10:14:35 +0000
+++ src/game_io/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -34,8 +34,12 @@
io_fileread
io_filesystem
logic
+ logic_commands
logic_exceptions
logic_game_controller
+ logic_map
+ logic_map_objects
+ logic_widelands_geometry_io
map_io
map_io_map_loader
profile
=== modified file 'src/graphic/CMakeLists.txt'
--- src/graphic/CMakeLists.txt 2018-07-19 16:43:14 +0000
+++ src/graphic/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -176,7 +176,8 @@
graphic_draw_programs
graphic_fields_to_draw
graphic_terrain_programs
- logic
+ logic_map_objects
+ logic_map_objects_description_maintainer
)
wl_library(graphic_game_renderer
@@ -192,6 +193,7 @@
graphic_render_queue
graphic_surface
logic
+ logic_map_objects
wui
wui_mapview_pixelfunctions
)
@@ -206,6 +208,8 @@
economy
graphic_surface
logic
+ logic_map
+ logic_map_objects
wui_mapview_pixelfunctions
)
@@ -219,6 +223,7 @@
graphic_gl_utils
logic
logic_constants
+ logic_map_objects
logic_widelands_geometry
wui_mapview_pixelfunctions
)
@@ -242,6 +247,9 @@
graphic_surface
io_filesystem
logic
+ logic_constants
+ logic_map_objects
+ logic_map_objects_description_maintainer
)
=== modified file 'src/graphic/gl/dither_program.cc'
--- src/graphic/gl/dither_program.cc 2019-02-23 11:00:49 +0000
+++ src/graphic/gl/dither_program.cc 2019-04-20 05:49:35 +0000
@@ -86,7 +86,7 @@
void DitherProgram::maybe_add_dithering_triangle(
const uint32_t gametime,
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
const FieldsToDraw& fields_to_draw,
const int idx1,
const int idx2,
@@ -140,7 +140,7 @@
}
void DitherProgram::draw(const uint32_t gametime,
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
const FieldsToDraw& fields_to_draw,
const float z_value) {
// This method expects that all terrains have the same dimensions and that
=== modified file 'src/graphic/gl/dither_program.h'
--- src/graphic/gl/dither_program.h 2019-02-23 11:00:49 +0000
+++ src/graphic/gl/dither_program.h 2019-04-20 05:49:35 +0000
@@ -25,7 +25,7 @@
#include "base/vector.h"
#include "graphic/gl/fields_to_draw.h"
#include "graphic/gl/utils.h"
-#include "logic/description_maintainer.h"
+#include "logic/map_objects/description_maintainer.h"
#include "logic/map_objects/world/terrain_description.h"
class Texture;
@@ -37,7 +37,7 @@
// Draws the terrain.
void draw(uint32_t gametime,
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
const FieldsToDraw& fields_to_draw,
float z_value);
@@ -53,7 +53,7 @@
// agree.
void maybe_add_dithering_triangle(
uint32_t gametime,
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
const FieldsToDraw& fields_to_draw,
int idx1,
int idx2,
=== modified file 'src/graphic/gl/fields_to_draw.h'
--- src/graphic/gl/fields_to_draw.h 2019-02-23 11:00:49 +0000
+++ src/graphic/gl/fields_to_draw.h 2019-04-20 05:49:35 +0000
@@ -30,7 +30,6 @@
#include "base/vector.h"
#include "graphic/rendertarget.h"
#include "logic/editor_game_base.h"
-#include "logic/widelands.h"
#include "logic/widelands_geometry.h"
// Helper struct that contains the data needed for drawing all fields.
@@ -61,7 +60,7 @@
Widelands::Vision vision;
Widelands::Player* owner; // can be nullptr.
- // Index of neighbors in this 'FieldsToDraw'. kInvalidIndex if this
+ // Index of neighbors in this 'FieldsToDraw'. INVALID_INDEX if this
// neighbor is not contained.
int ln_index;
int rn_index;
@@ -99,7 +98,7 @@
private:
// Calculates the index of the given field with ('fx', 'fy') being geometric
- // coordinates in the map. Returns kInvalidIndex if this field is not in the
+ // coordinates in the map. Returns INVALID_INDEX if this field is not in the
// fields_to_draw.
inline int calculate_index(int fx, int fy) const {
uint16_t xidx = fx - min_fx_;
=== modified file 'src/graphic/gl/terrain_program.cc'
--- src/graphic/gl/terrain_program.cc 2019-02-23 11:00:49 +0000
+++ src/graphic/gl/terrain_program.cc 2019-04-20 05:49:35 +0000
@@ -84,7 +84,7 @@
}
void TerrainProgram::draw(uint32_t gametime,
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
const FieldsToDraw& fields_to_draw,
float z_value) {
// This method expects that all terrains have the same dimensions and that
=== modified file 'src/graphic/gl/terrain_program.h'
--- src/graphic/gl/terrain_program.h 2019-02-23 11:00:49 +0000
+++ src/graphic/gl/terrain_program.h 2019-04-20 05:49:35 +0000
@@ -25,7 +25,7 @@
#include "base/vector.h"
#include "graphic/gl/fields_to_draw.h"
#include "graphic/gl/utils.h"
-#include "logic/description_maintainer.h"
+#include "logic/map_objects/description_maintainer.h"
#include "logic/map_objects/world/terrain_description.h"
class TerrainProgram {
@@ -35,7 +35,7 @@
// Draws the terrain.
void draw(uint32_t gametime,
- const DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>& terrains,
const FieldsToDraw& fields_to_draw,
float z_value);
=== modified file 'src/graphic/render_queue.h'
--- src/graphic/render_queue.h 2019-02-23 11:00:49 +0000
+++ src/graphic/render_queue.h 2019-04-20 05:49:35 +0000
@@ -32,7 +32,7 @@
#include "graphic/color.h"
#include "graphic/gl/draw_line_program.h"
#include "graphic/gl/fields_to_draw.h"
-#include "logic/description_maintainer.h"
+#include "logic/map_objects/description_maintainer.h"
#include "logic/map_objects/world/terrain_description.h"
class DitherProgram;
@@ -117,7 +117,7 @@
int gametime = 0;
int renderbuffer_width = 0;
int renderbuffer_height = 0;
- const DescriptionMaintainer<Widelands::TerrainDescription>* terrains = nullptr;
+ const Widelands::DescriptionMaintainer<Widelands::TerrainDescription>* terrains = nullptr;
const FieldsToDraw* fields_to_draw = nullptr;
float scale = 1.f;
Rectf destination_rect = Rectf(0.f, 0.f, 0.f, 0.f);
=== modified file 'src/logic/CMakeLists.txt'
--- src/logic/CMakeLists.txt 2019-02-27 17:19:00 +0000
+++ src/logic/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -13,6 +13,17 @@
widelands_geometry.h
)
+wl_library(logic_widelands_geometry_io
+ SRCS
+ widelands_geometry_io.cc
+ widelands_geometry_io.h
+ DEPENDS
+ io_fileread
+ io_stream
+ logic_constants
+ logic_widelands_geometry
+)
+
wl_library(logic_game_settings
SRCS
game_settings.cc
@@ -22,6 +33,7 @@
io_filesystem
logic_constants
logic_tribe_basic_info
+ logic_map_objects
notifications
scripting_lua_interface
scripting_lua_table
@@ -36,6 +48,7 @@
base_exceptions
base_i18n
logic_game_settings
+ logic_map_objects
logic_tribe_basic_info
)
@@ -49,6 +62,7 @@
DEPENDS
ai
logic
+ logic_commands
logic_constants
logic_game_settings
profile
@@ -69,6 +83,7 @@
wl_library(logic_constants
SRCS
+ roadtype.h
widelands.cc
widelands.h
DEPENDS
@@ -81,18 +96,6 @@
filesystem_constants.cc
)
-wl_library(logic_tribe_basic_info
- SRCS
- map_objects/tribes/tribe_basic_info.cc
- map_objects/tribes/tribe_basic_info.h
- DEPENDS
- base_i18n
- logic_exceptions
- scripting_lua_table
- scripting_lua_interface
-
-)
-
wl_library(logic_generic_save_handler
SRCS
generic_save_handler.h
@@ -105,38 +108,11 @@
logic_filesystem_constants
)
-wl_library(logic
+wl_library(logic_map
SRCS
- ai_dna_handler.cc
- ai_dna_handler.h
- backtrace.cc
- backtrace.h
- cmd_calculate_statistics.cc
- cmd_calculate_statistics.h
- cmd_delete_message.cc
- cmd_delete_message.h
- cmd_incorporate.cc
- cmd_incorporate.h
- cmd_luacoroutine.cc
- cmd_luacoroutine.h
- cmd_luascript.cc
- cmd_luascript.h
- cmd_queue.cc
- cmd_queue.h
cookie_priority_queue.h
- description_maintainer.h
- editor_game_base.cc
- editor_game_base.h
field.cc
field.h
- findbob.cc
- findbob.h
- findimmovable.cc
- findimmovable.h
- findnode.cc
- findnode.h
- game.cc
- game.h
map.cc
map.h
map_revision.cc
@@ -152,130 +128,105 @@
mapregion.h
maptriangleregion.cc
maptriangleregion.h
- message.h
- message_id.h
- message_queue.h
nodecaps.h
- objective.h
path.cc
path.h
pathfield.cc
pathfield.h
+ DEPENDS
+ base_exceptions
+ base_i18n
+ base_log
+ base_macros
+ build_info
+ economy
+ editor # TODO(GunChleoc): Circular dependency
+ graphic_playercolor
+ io_fileread
+ io_filesystem
+ logic # TODO(GunChleoc): Circular
+ logic_constants
+ logic_filesystem_constants
+ logic_map_objects
+ logic_widelands_geometry
+ logic_widelands_geometry_io
+ map_io_map_loader
+ notifications
+ random
+ wui_mapview_pixelfunctions # TODO(GunChleoc): Circular dependency
+)
+
+wl_library(logic_commands
+ SRCS
+ cmd_calculate_statistics.cc
+ cmd_calculate_statistics.h
+ cmd_delete_message.cc
+ cmd_delete_message.h
+ cmd_incorporate.cc
+ cmd_incorporate.h
+ cmd_luacoroutine.cc
+ cmd_luacoroutine.h
+ cmd_luascript.cc
+ cmd_luascript.h
+ cmd_queue.cc
+ cmd_queue.h
+ queue_cmd_factory.cc
+ queue_cmd_factory.h
+ queue_cmd_ids.h
+ playercommand.cc
+ playercommand.h
+ DEPENDS
+ base_exceptions
+ base_i18n
+ base_log
+ base_macros
+ economy # TODO(GunChleoc): Circular dependency
+ io_fileread
+ io_stream
+ logic # TODO(GunChleoc): Circular dependency
+ logic_game_controller
+ logic_map
+ logic_map_objects
+ logic_widelands_geometry_io
+ map_io
+ scripting_coroutine
+ scripting_logic # TODO(GunChleoc): Circular dependency
+ scripting_lua_table
+)
+
+wl_library(logic
+ SRCS
+ ai_dna_handler.cc
+ ai_dna_handler.h
+ editor_game_base.cc
+ editor_game_base.h
+ game.cc
+ game.h
+ message.h
+ message_id.h
+ message_queue.h
+ objective.h
player.cc
player.h
player_area.h
- playercommand.cc
- playercommand.h
playersmanager.cc
playersmanager.h
- queue_cmd_factory.cc
- queue_cmd_factory.h
- queue_cmd_ids.h
replay.cc
replay.h
- roadtype.h
save_handler.cc
save_handler.h
see_unsee_node.h
trade_agreement.h
- widelands_geometry_io.cc
- widelands_geometry_io.h
- map_objects/bob.cc
- map_objects/bob.h
- map_objects/buildcost.cc
- map_objects/buildcost.h
- map_objects/checkstep.cc
- map_objects/checkstep.h
- map_objects/draw_text.h
- map_objects/immovable.cc
- map_objects/immovable.h
- map_objects/immovable_program.h
- map_objects/map_object.cc
- map_objects/map_object.h
- map_objects/terrain_affinity.cc
- map_objects/terrain_affinity.h
- map_objects/tribes/attack_target.h
- map_objects/tribes/battle.cc
- map_objects/tribes/battle.h
- map_objects/tribes/bill_of_materials.h
- map_objects/tribes/building.cc
- map_objects/tribes/building.h
- map_objects/tribes/carrier.cc
- map_objects/tribes/carrier.h
- map_objects/tribes/constructionsite.cc
- map_objects/tribes/constructionsite.h
- map_objects/tribes/dismantlesite.cc
- map_objects/tribes/dismantlesite.h
- map_objects/tribes/market.cc
- map_objects/tribes/market.h
- map_objects/tribes/militarysite.cc
- map_objects/tribes/militarysite.h
- map_objects/tribes/partially_finished_building.cc
- map_objects/tribes/partially_finished_building.h
- map_objects/tribes/production_program.cc
- map_objects/tribes/production_program.h
- map_objects/tribes/productionsite.cc
- map_objects/tribes/productionsite.h
- map_objects/tribes/program_result.h
- map_objects/tribes/requirements.cc
- map_objects/tribes/requirements.h
- map_objects/tribes/road_textures.cc
- map_objects/tribes/road_textures.h
- map_objects/tribes/ship.cc
- map_objects/tribes/ship.h
- map_objects/tribes/soldier.cc
- map_objects/tribes/soldier.h
- map_objects/tribes/soldiercontrol.h
- map_objects/tribes/training_attribute.h
- map_objects/tribes/trainingsite.cc
- map_objects/tribes/trainingsite.h
- map_objects/tribes/tribe_descr.cc
- map_objects/tribes/tribe_descr.h
- map_objects/tribes/tribes.cc
- map_objects/tribes/tribes.h
- map_objects/tribes/ware_descr.cc
- map_objects/tribes/ware_descr.h
- map_objects/tribes/warehouse.cc
- map_objects/tribes/warehouse.h
- map_objects/tribes/warelist.cc
- map_objects/tribes/warelist.h
- map_objects/tribes/wareworker.h
- map_objects/tribes/workarea_info.h
- map_objects/tribes/worker.cc
- map_objects/tribes/worker.h
- map_objects/tribes/worker_descr.cc
- map_objects/tribes/worker_descr.h
- map_objects/tribes/worker_program.cc
- map_objects/tribes/worker_program.h
- map_objects/walkingdir.cc
- map_objects/walkingdir.h
- map_objects/world/critter.cc
- map_objects/world/critter.h
- map_objects/world/critter_program.h
- map_objects/world/editor_category.cc
- map_objects/world/editor_category.h
- map_objects/world/map_gen.cc
- map_objects/world/map_gen.h
- map_objects/world/resource_description.cc
- map_objects/world/resource_description.h
- map_objects/world/terrain_description.cc
- map_objects/world/terrain_description.h
- map_objects/world/world.cc
- map_objects/world/world.h
# TODO(sirver): Uses SDL2 only on WIN32 for a dirty hack.
USES_SDL2
DEPENDS
- ai
base_exceptions
- base_geometry
base_i18n
base_log
base_macros
- base_math
base_md5
base_scoped_timer
base_time_string
- build_info
economy
game_io
graphic
@@ -283,34 +234,31 @@
graphic_fonthandler
graphic_image_io
graphic_playercolor
- graphic_surface
- graphic_text_constants
- graphic_text_layout
- helper
io_fileread
io_filesystem
io_stream
+ logic_commands
logic_constants
logic_exceptions
logic_filesystem_constants
logic_game_controller
logic_game_settings
logic_generic_save_handler
+ logic_map
+ logic_map_objects
logic_tribe_basic_info
logic_widelands_geometry
- map_io
map_io_map_loader
- network
+ network # TODO(GunChleoc): Circular dependency
note_sound
notifications
profile
random
- scripting_coroutine
- scripting_logic
+ scripting_logic # TODO(GunChleoc): Circular dependency
scripting_lua_interface
scripting_lua_table
- sound
ui_basic
- wui
- wui_mapview_pixelfunctions
+ wui # TODO(GunChleoc): Circular dependency
)
+
+add_subdirectory(map_objects)
=== modified file 'src/logic/editor_game_base.cc'
--- src/logic/editor_game_base.cc 2019-03-19 21:33:01 +0000
+++ src/logic/editor_game_base.cc 2019-04-20 05:49:35 +0000
@@ -32,9 +32,9 @@
#include "economy/road.h"
#include "graphic/color.h"
#include "logic/filesystem_constants.h"
-#include "logic/findimmovable.h"
#include "logic/game.h"
#include "logic/game_data_error.h"
+#include "logic/map_objects/findimmovable.h"
#include "logic/map_objects/map_object.h"
#include "logic/map_objects/tribes/battle.h"
#include "logic/map_objects/tribes/building.h"
=== modified file 'src/logic/game_controller.h'
--- src/logic/game_controller.h 2019-02-23 11:00:49 +0000
+++ src/logic/game_controller.h 2019-04-20 05:49:35 +0000
@@ -23,7 +23,6 @@
#include <string>
#include "logic/player_end_result.h"
-#include "logic/widelands.h"
namespace Widelands {
class Game;
=== modified file 'src/logic/map.cc'
--- src/logic/map.cc 2019-03-24 13:16:11 +0000
+++ src/logic/map.cc 2019-04-20 05:49:35 +0000
@@ -36,9 +36,9 @@
#include "io/filesystem/filesystem_exceptions.h"
#include "io/filesystem/layered_filesystem.h"
#include "logic/filesystem_constants.h"
-#include "logic/findimmovable.h"
-#include "logic/findnode.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findimmovable.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/tribes/soldier.h"
#include "logic/map_objects/tribes/tribe_basic_info.h"
#include "logic/map_objects/world/terrain_description.h"
=== modified file 'src/logic/map.h'
--- src/logic/map.h 2019-03-24 13:16:11 +0000
+++ src/logic/map.h 2019-04-20 05:49:35 +0000
@@ -29,9 +29,8 @@
#include "base/i18n.h"
#include "economy/itransport_cost_calculator.h"
-#include "logic/description_maintainer.h"
#include "logic/field.h"
-#include "logic/findimmovable.h"
+#include "logic/map_objects/findimmovable.h"
#include "logic/map_objects/walkingdir.h"
#include "logic/map_revision.h"
#include "logic/objective.h"
=== added file 'src/logic/map_objects/CMakeLists.txt'
--- src/logic/map_objects/CMakeLists.txt 1970-01-01 00:00:00 +0000
+++ src/logic/map_objects/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -0,0 +1,148 @@
+wl_library(logic_map_objects_description_maintainer
+ SRCS
+ description_maintainer.cc
+ description_maintainer.h
+ DEPENDS
+ base_exceptions
+ logic_constants
+)
+
+wl_library(logic_tribe_basic_info
+ SRCS
+ tribes/tribe_basic_info.cc
+ tribes/tribe_basic_info.h
+ DEPENDS
+ base_i18n
+ logic_exceptions
+ scripting_lua_table
+ scripting_lua_interface
+
+)
+
+wl_library(logic_map_objects
+ SRCS
+ backtrace.cc
+ backtrace.h
+ bob.cc
+ bob.h
+ buildcost.cc
+ buildcost.h
+ checkstep.cc
+ checkstep.h
+ findbob.cc
+ findbob.h
+ findimmovable.cc
+ findimmovable.h
+ findnode.cc
+ findnode.h
+ immovable.cc
+ immovable.h
+ immovable_program.h
+ map_object.cc
+ map_object.h
+ terrain_affinity.cc
+ terrain_affinity.h
+ tribes/attack_target.h
+ tribes/battle.cc
+ tribes/battle.h
+ tribes/bill_of_materials.h
+ tribes/building.cc
+ tribes/building.h
+ tribes/carrier.cc
+ tribes/carrier.h
+ tribes/constructionsite.cc
+ tribes/constructionsite.h
+ tribes/dismantlesite.cc
+ tribes/dismantlesite.h
+ tribes/market.cc
+ tribes/market.h
+ tribes/militarysite.cc
+ tribes/militarysite.h
+ tribes/partially_finished_building.cc
+ tribes/partially_finished_building.h
+ tribes/production_program.cc
+ tribes/production_program.h
+ tribes/productionsite.cc
+ tribes/productionsite.h
+ tribes/program_result.h
+ tribes/requirements.cc
+ tribes/requirements.h
+ tribes/road_textures.cc
+ tribes/road_textures.h
+ tribes/ship.cc
+ tribes/ship.h
+ tribes/soldier.cc
+ tribes/soldier.h
+ tribes/soldiercontrol.h
+ tribes/training_attribute.h
+ tribes/trainingsite.cc
+ tribes/trainingsite.h
+ tribes/tribe_descr.cc
+ tribes/tribe_descr.h
+ tribes/tribes.cc
+ tribes/tribes.h
+ tribes/ware_descr.cc
+ tribes/ware_descr.h
+ tribes/warehouse.cc
+ tribes/warehouse.h
+ tribes/warelist.cc
+ tribes/warelist.h
+ tribes/wareworker.h
+ tribes/workarea_info.h
+ tribes/worker.cc
+ tribes/worker.h
+ tribes/worker_descr.cc
+ tribes/worker_descr.h
+ tribes/worker_program.cc
+ tribes/worker_program.h
+ walkingdir.cc
+ walkingdir.h
+ world/critter.cc
+ world/critter.h
+ world/critter_program.h
+ world/editor_category.cc
+ world/editor_category.h
+ world/map_gen.cc
+ world/map_gen.h
+ world/resource_description.cc
+ world/resource_description.h
+ world/terrain_description.cc
+ world/terrain_description.h
+ world/world.cc
+ world/world.h
+ DEPENDS
+ ai
+ base_exceptions
+ base_geometry
+ base_i18n
+ base_log
+ base_macros
+ base_math
+ economy
+ graphic
+ graphic_color
+ graphic_fonthandler
+ graphic_image_io
+ graphic_surface
+ graphic_text_constants
+ graphic_text_layout
+ helper
+ io_fileread
+ io_filesystem
+ logic # TODO(GunChleoc): Circular dependency
+ logic_commands # TODO(GunChleoc): Circular dependency
+ logic_constants
+ logic_game_controller
+ logic_map # TODO(GunChleoc): Circular dependency
+ logic_map_objects_description_maintainer
+ logic_widelands_geometry
+ logic_widelands_geometry_io
+ map_io
+ note_sound
+ notifications
+ scripting_lua_interface
+ scripting_lua_table
+ sound
+ ui_basic
+ wui_mapview_pixelfunctions
+)
=== renamed file 'src/logic/backtrace.cc' => 'src/logic/map_objects/backtrace.cc'
--- src/logic/backtrace.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/backtrace.cc 2019-04-20 05:49:35 +0000
@@ -17,7 +17,7 @@
*
*/
-#include "logic/backtrace.h"
+#include "logic/map_objects/backtrace.h"
#ifndef _WIN32
#ifndef __APPLE__
=== renamed file 'src/logic/backtrace.h' => 'src/logic/map_objects/backtrace.h'
--- src/logic/backtrace.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/backtrace.h 2019-04-20 05:49:35 +0000
@@ -17,11 +17,11 @@
*
*/
-#ifndef WL_LOGIC_BACKTRACE_H
-#define WL_LOGIC_BACKTRACE_H
+#ifndef WL_LOGIC_MAP_OBJECTS_BACKTRACE_H
+#define WL_LOGIC_MAP_OBJECTS_BACKTRACE_H
#include <string>
std::string get_backtrace();
-#endif // end of include guard: WL_LOGIC_BACKTRACE_H
+#endif // end of include guard: WL_LOGIC_MAP_OBJECTS_BACKTRACE_H
=== modified file 'src/logic/map_objects/bob.cc'
--- src/logic/map_objects/bob.cc 2019-04-09 16:43:49 +0000
+++ src/logic/map_objects/bob.cc 2019-04-20 05:49:35 +0000
@@ -32,11 +32,11 @@
#include "graphic/rendertarget.h"
#include "io/fileread.h"
#include "io/filewrite.h"
-#include "logic/backtrace.h"
-#include "logic/findbob.h"
#include "logic/game.h"
#include "logic/game_data_error.h"
+#include "logic/map_objects/backtrace.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findbob.h"
#include "logic/map_objects/tribes/ship.h"
#include "logic/map_objects/tribes/soldier.h"
#include "logic/map_objects/tribes/tribe_descr.h"
=== added file 'src/logic/map_objects/description_maintainer.cc'
--- src/logic/map_objects/description_maintainer.cc 1970-01-01 00:00:00 +0000
+++ src/logic/map_objects/description_maintainer.cc 2019-04-20 05:49:35 +0000
@@ -0,0 +1,1 @@
+// Dummy to make CMake happy
=== renamed file 'src/logic/description_maintainer.h' => 'src/logic/map_objects/description_maintainer.h'
--- src/logic/description_maintainer.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/description_maintainer.h 2019-04-20 05:49:35 +0000
@@ -17,8 +17,8 @@
*
*/
-#ifndef WL_LOGIC_DESCRIPTION_MAINTAINER_H
-#define WL_LOGIC_DESCRIPTION_MAINTAINER_H
+#ifndef WL_LOGIC_MAP_OBJECTS_DESCRIPTION_MAINTAINER_H
+#define WL_LOGIC_MAP_OBJECTS_DESCRIPTION_MAINTAINER_H
#include <cassert>
#include <map>
@@ -29,7 +29,9 @@
#include "base/wexception.h"
#include "logic/widelands.h"
-// Used to have a typesafe maintainer for description classes.
+namespace Widelands {
+
+// Used for having a typesafe maintainer for description classes.
template <typename T> struct DescriptionMaintainer {
// Adds the 'entry', will assert() if it is already registered. Returns the
// index of the entry. Ownership is taken.
@@ -77,7 +79,7 @@
throw wexception("Tried to add %s twice.", item->name().c_str());
}
int32_t index = items_.size();
- assert(index < (Widelands::INVALID_INDEX - 2)); // allowing for kInvalidIndex
+ assert(index < (Widelands::INVALID_INDEX - 2)); // allowing for INVALID_INDEX
items_.emplace_back(item);
name_to_index_[item->name()] = index;
return index;
@@ -90,4 +92,6 @@
return items_[index].get();
}
-#endif // end of include guard: WL_LOGIC_DESCRIPTION_MAINTAINER_H
+} // namespace Widelands
+
+#endif // end of include guard: WL_LOGIC_MAP_OBJECTS_DESCRIPTION_MAINTAINER_H
=== renamed file 'src/logic/findbob.cc' => 'src/logic/map_objects/findbob.cc'
--- src/logic/findbob.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/findbob.cc 2019-04-20 05:49:35 +0000
@@ -17,7 +17,7 @@
*
*/
-#include "logic/findbob.h"
+#include "logic/map_objects/findbob.h"
#include "base/macros.h"
#include "logic/map_objects/tribes/soldier.h"
=== renamed file 'src/logic/findbob.h' => 'src/logic/map_objects/findbob.h'
--- src/logic/findbob.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/findbob.h 2019-04-20 05:49:35 +0000
@@ -17,8 +17,8 @@
*
*/
-#ifndef WL_LOGIC_FINDBOB_H
-#define WL_LOGIC_FINDBOB_H
+#ifndef WL_LOGIC_MAP_OBJECTS_FINDBOB_H
+#define WL_LOGIC_MAP_OBJECTS_FINDBOB_H
#include "logic/map.h"
@@ -60,4 +60,4 @@
} // namespace Widelands
-#endif // end of include guard: WL_LOGIC_FINDBOB_H
+#endif // end of include guard: WL_LOGIC_MAP_OBJECTS_FINDBOB_H
=== renamed file 'src/logic/findimmovable.cc' => 'src/logic/map_objects/findimmovable.cc'
--- src/logic/findimmovable.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/findimmovable.cc 2019-04-20 05:49:35 +0000
@@ -17,7 +17,7 @@
*
*/
-#include "logic/findimmovable.h"
+#include "logic/map_objects/findimmovable.h"
#include "base/macros.h"
#include "economy/flag.h"
=== renamed file 'src/logic/findimmovable.h' => 'src/logic/map_objects/findimmovable.h'
--- src/logic/findimmovable.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/findimmovable.h 2019-04-20 05:49:35 +0000
@@ -17,8 +17,8 @@
*
*/
-#ifndef WL_LOGIC_FINDIMMOVABLE_H
-#define WL_LOGIC_FINDIMMOVABLE_H
+#ifndef WL_LOGIC_MAP_OBJECTS_FINDIMMOVABLE_H
+#define WL_LOGIC_MAP_OBJECTS_FINDIMMOVABLE_H
#include <stdint.h>
@@ -164,4 +164,4 @@
} // namespace Widelands
-#endif // end of include guard: WL_LOGIC_FINDIMMOVABLE_H
+#endif // end of include guard: WL_LOGIC_MAP_OBJECTS_FINDIMMOVABLE_H
=== renamed file 'src/logic/findnode.cc' => 'src/logic/map_objects/findnode.cc'
--- src/logic/findnode.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/findnode.cc 2019-04-20 05:49:35 +0000
@@ -17,7 +17,7 @@
*
*/
-#include "logic/findnode.h"
+#include "logic/map_objects/findnode.h"
#include "base/wexception.h"
#include "logic/field.h"
=== renamed file 'src/logic/findnode.h' => 'src/logic/map_objects/findnode.h'
--- src/logic/findnode.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/findnode.h 2019-04-20 05:49:35 +0000
@@ -17,8 +17,8 @@
*
*/
-#ifndef WL_LOGIC_FINDNODE_H
-#define WL_LOGIC_FINDNODE_H
+#ifndef WL_LOGIC_MAP_OBJECTS_FINDNODE_H
+#define WL_LOGIC_MAP_OBJECTS_FINDNODE_H
#include <vector>
=== modified file 'src/logic/map_objects/terrain_affinity.cc'
--- src/logic/map_objects/terrain_affinity.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/terrain_affinity.cc 2019-04-20 05:49:35 +0000
@@ -21,10 +21,10 @@
#include <vector>
-#include "logic/description_maintainer.h"
#include "logic/field.h"
#include "logic/game_data_error.h"
#include "logic/map.h"
+#include "logic/map_objects/description_maintainer.h"
#include "logic/map_objects/world/terrain_description.h"
#include "logic/widelands_geometry.h"
#include "scripting/lua_table.h"
=== modified file 'src/logic/map_objects/terrain_affinity.h'
--- src/logic/map_objects/terrain_affinity.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/terrain_affinity.h 2019-04-20 05:49:35 +0000
@@ -23,7 +23,7 @@
#include <string>
#include "base/macros.h"
-#include "logic/description_maintainer.h"
+#include "logic/map_objects/description_maintainer.h"
class LuaTable;
=== modified file 'src/logic/map_objects/tribes/building.cc'
--- src/logic/map_objects/tribes/building.cc 2019-04-09 16:43:49 +0000
+++ src/logic/map_objects/tribes/building.cc 2019-04-20 05:49:35 +0000
@@ -56,9 +56,9 @@
BuildingDescr::BuildingDescr(const std::string& init_descname,
const MapObjectType init_type,
const LuaTable& table,
- const EditorGameBase& egbase)
+ const Tribes& tribes)
: MapObjectDescr(init_type, table.get_string("name"), init_descname, table),
- egbase_(egbase),
+ tribes_(tribes),
buildable_(table.has_key("buildcost")),
can_be_dismantled_(table.has_key("return_on_dismantle") ||
table.has_key("return_on_dismantle_on_enhanced")),
@@ -115,13 +115,13 @@
if (enh == name()) {
throw wexception("enhancement to same type");
}
- DescriptionIndex const en_i = egbase_.tribes().building_index(enh);
- if (egbase_.tribes().building_exists(en_i)) {
+ DescriptionIndex const en_i = tribes_.building_index(enh);
+ if (tribes_.building_exists(en_i)) {
enhancement_ = en_i;
// Merge the enhancements workarea info into this building's
// workarea info.
- const BuildingDescr* tmp_enhancement = egbase_.tribes().get_building_descr(en_i);
+ const BuildingDescr* tmp_enhancement = tribes_.get_building_descr(en_i);
for (auto area : tmp_enhancement->workarea_info_) {
std::set<std::string>& strs = workarea_info_[area.first];
for (std::string str : area.second)
@@ -139,14 +139,14 @@
// However, we support "return_on_dismantle" without "buildable", because this is used by custom
// scenario buildings.
if (table.has_key("return_on_dismantle")) {
- return_dismantle_ = Buildcost(table.get_table("return_on_dismantle"), egbase_.tribes());
+ return_dismantle_ = Buildcost(table.get_table("return_on_dismantle"), tribes_);
}
if (table.has_key("buildcost")) {
if (!table.has_key("return_on_dismantle")) {
throw wexception(
"The building '%s' has a \"buildcost\" but no \"return_on_dismantle\"", name().c_str());
}
- buildcost_ = Buildcost(table.get_table("buildcost"), egbase_.tribes());
+ buildcost_ = Buildcost(table.get_table("buildcost"), tribes_);
}
if (table.has_key("enhancement_cost")) {
@@ -156,9 +156,9 @@
"\"return_on_dismantle_on_enhanced\"",
name().c_str());
}
- enhance_cost_ = Buildcost(table.get_table("enhancement_cost"), egbase_.tribes());
+ enhance_cost_ = Buildcost(table.get_table("enhancement_cost"), tribes_);
return_enhanced_ =
- Buildcost(table.get_table("return_on_dismantle_on_enhanced"), egbase_.tribes());
+ Buildcost(table.get_table("return_on_dismantle_on_enhanced"), tribes_);
}
needs_seafaring_ = table.has_key("needs_seafaring") ? table.get_bool("needs_seafaring") : false;
@@ -229,7 +229,7 @@
*/
Building& BuildingDescr::create_constructionsite() const {
BuildingDescr const* const descr =
- egbase_.tribes().get_building_descr(egbase_.tribes().safe_building_index("constructionsite"));
+ tribes_.get_building_descr(tribes_.safe_building_index("constructionsite"));
ConstructionSite& csite = dynamic_cast<ConstructionSite&>(descr->create_object());
csite.set_building(*this);
=== modified file 'src/logic/map_objects/tribes/building.h'
--- src/logic/map_objects/tribes/building.h 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/building.h 2019-04-20 05:49:35 +0000
@@ -36,7 +36,6 @@
#include "logic/map_objects/tribes/wareworker.h"
#include "logic/map_objects/tribes/workarea_info.h"
#include "logic/message.h"
-#include "logic/widelands.h"
#include "notifications/notifications.h"
#include "scripting/lua_table.h"
@@ -66,7 +65,7 @@
BuildingDescr(const std::string& init_descname,
MapObjectType type,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes);
~BuildingDescr() override {
}
@@ -172,9 +171,9 @@
protected:
virtual Building& create_object() const = 0;
Building& create_constructionsite() const;
- const EditorGameBase& egbase_;
private:
+ const Tribes& tribes_;
const bool buildable_; // the player can build this himself
const bool can_be_dismantled_; // the player can dismantle this building
const bool destructible_; // the player can destruct this himself
=== modified file 'src/logic/map_objects/tribes/carrier.cc'
--- src/logic/map_objects/tribes/carrier.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/carrier.cc 2019-04-20 05:49:35 +0000
@@ -569,8 +569,8 @@
CarrierDescr::CarrierDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : WorkerDescr(init_descname, MapObjectType::CARRIER, table, egbase) {
+ const Tribes& tribes)
+ : WorkerDescr(init_descname, MapObjectType::CARRIER, table, tribes) {
}
/**
=== modified file 'src/logic/map_objects/tribes/carrier.h'
--- src/logic/map_objects/tribes/carrier.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/carrier.h 2019-04-20 05:49:35 +0000
@@ -29,7 +29,7 @@
public:
CarrierDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase);
+ const Tribes& tribes);
~CarrierDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/constructionsite.cc'
--- src/logic/map_objects/tribes/constructionsite.cc 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/constructionsite.cc 2019-04-20 05:49:35 +0000
@@ -77,8 +77,8 @@
*/
ConstructionSiteDescr::ConstructionSiteDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : BuildingDescr(init_descname, MapObjectType::CONSTRUCTIONSITE, table, egbase) {
+ const Tribes& tribes)
+ : BuildingDescr(init_descname, MapObjectType::CONSTRUCTIONSITE, table, tribes) {
add_attribute(MapObject::CONSTRUCTIONSITE);
}
=== modified file 'src/logic/map_objects/tribes/constructionsite.h'
--- src/logic/map_objects/tribes/constructionsite.h 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/constructionsite.h 2019-04-20 05:49:35 +0000
@@ -72,7 +72,7 @@
public:
ConstructionSiteDescr(const std::string& init_descname,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes);
~ConstructionSiteDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/dismantlesite.cc'
--- src/logic/map_objects/tribes/dismantlesite.cc 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/dismantlesite.cc 2019-04-20 05:49:35 +0000
@@ -44,8 +44,8 @@
DismantleSiteDescr::DismantleSiteDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : BuildingDescr(init_descname, MapObjectType::DISMANTLESITE, table, egbase) {
+ const Tribes& tribes)
+ : BuildingDescr(init_descname, MapObjectType::DISMANTLESITE, table, tribes) {
add_attribute(MapObject::Attribute::CONSTRUCTIONSITE); // Yep, this is correct.
}
=== modified file 'src/logic/map_objects/tribes/dismantlesite.h'
--- src/logic/map_objects/tribes/dismantlesite.h 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/dismantlesite.h 2019-04-20 05:49:35 +0000
@@ -47,7 +47,7 @@
public:
DismantleSiteDescr(const std::string& init_descname,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes);
~DismantleSiteDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/market.cc'
--- src/logic/map_objects/tribes/market.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/market.cc 2019-04-20 05:49:35 +0000
@@ -29,12 +29,12 @@
MarketDescr::MarketDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : BuildingDescr(init_descname, MapObjectType::MARKET, table, egbase) {
+ const Tribes& tribes)
+ : BuildingDescr(init_descname, MapObjectType::MARKET, table, tribes) {
i18n::Textdomain td("tribes");
- DescriptionIndex const woi = egbase.tribes().worker_index(table.get_string("carrier"));
- if (!egbase.tribes().worker_exists(woi)) {
+ DescriptionIndex const woi = tribes.worker_index(table.get_string("carrier"));
+ if (!tribes.worker_exists(woi)) {
throw wexception("The tribe does not define the worker in 'carrier'.");
}
carrier_ = woi;
=== modified file 'src/logic/map_objects/tribes/market.h'
--- src/logic/map_objects/tribes/market.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/market.h 2019-04-20 05:49:35 +0000
@@ -30,7 +30,7 @@
class MarketDescr : public BuildingDescr {
public:
- MarketDescr(const std::string& init_descname, const LuaTable& t, const EditorGameBase& egbase);
+ MarketDescr(const std::string& init_descname, const LuaTable& t, const Tribes& tribes);
~MarketDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/militarysite.cc'
--- src/logic/map_objects/tribes/militarysite.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/militarysite.cc 2019-04-20 05:49:35 +0000
@@ -32,8 +32,8 @@
#include "economy/request.h"
#include "graphic/text_constants.h"
#include "logic/editor_game_base.h"
-#include "logic/findbob.h"
#include "logic/game.h"
+#include "logic/map_objects/findbob.h"
#include "logic/map_objects/tribes/battle.h"
#include "logic/map_objects/tribes/soldier.h"
#include "logic/map_objects/tribes/tribe_descr.h"
@@ -295,8 +295,8 @@
*/
MilitarySiteDescr::MilitarySiteDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : BuildingDescr(init_descname, MapObjectType::MILITARYSITE, table, egbase),
+ const Tribes& tribes)
+ : BuildingDescr(init_descname, MapObjectType::MILITARYSITE, table, tribes),
conquer_radius_(0),
num_soldiers_(0),
heal_per_second_(0) {
=== modified file 'src/logic/map_objects/tribes/militarysite.h'
--- src/logic/map_objects/tribes/militarysite.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/militarysite.h 2019-04-20 05:49:35 +0000
@@ -44,7 +44,7 @@
public:
MilitarySiteDescr(const std::string& init_descname,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes);
~MilitarySiteDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/production_program.cc'
--- src/logic/map_objects/tribes/production_program.cc 2019-04-11 05:45:55 +0000
+++ src/logic/map_objects/tribes/production_program.cc 2019-04-20 05:49:35 +0000
@@ -34,11 +34,11 @@
#include "economy/input_queue.h"
#include "helper.h"
#include "io/filesystem/layered_filesystem.h"
-#include "logic/findimmovable.h"
-#include "logic/findnode.h"
#include "logic/game.h"
#include "logic/game_data_error.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findimmovable.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/tribes/productionsite.h"
#include "logic/map_objects/tribes/soldier.h"
#include "logic/map_objects/tribes/soldiercontrol.h"
@@ -1616,7 +1616,7 @@
ProductionProgram::ProductionProgram(const std::string& init_name,
const std::string& init_descname,
std::unique_ptr<LuaTable> actions_table,
- const EditorGameBase& egbase,
+ const Tribes& tribes, const World& world,
ProductionSiteDescr* building)
: name_(init_name), descname_(init_descname) {
@@ -1633,7 +1633,7 @@
if (boost::iequals(parts[0], "return")) {
actions_.push_back(std::unique_ptr<ProductionProgram::Action>(
- new ActReturn(arguments.get(), *building, egbase.tribes())));
+ new ActReturn(arguments.get(), *building, tribes)));
} else if (boost::iequals(parts[0], "call")) {
actions_.push_back(
std::unique_ptr<ProductionProgram::Action>(new ActCall(arguments.get(), *building)));
@@ -1645,19 +1645,19 @@
std::unique_ptr<ProductionProgram::Action>(new ActAnimate(arguments.get(), building)));
} else if (boost::iequals(parts[0], "consume")) {
actions_.push_back(std::unique_ptr<ProductionProgram::Action>(
- new ActConsume(arguments.get(), *building, egbase.tribes())));
+ new ActConsume(arguments.get(), *building, tribes)));
} else if (boost::iequals(parts[0], "produce")) {
actions_.push_back(std::unique_ptr<ProductionProgram::Action>(
- new ActProduce(arguments.get(), *building, egbase.tribes())));
+ new ActProduce(arguments.get(), *building, tribes)));
} else if (boost::iequals(parts[0], "recruit")) {
actions_.push_back(std::unique_ptr<ProductionProgram::Action>(
- new ActRecruit(arguments.get(), *building, egbase.tribes())));
+ new ActRecruit(arguments.get(), *building, tribes)));
} else if (boost::iequals(parts[0], "callworker")) {
actions_.push_back(std::unique_ptr<ProductionProgram::Action>(
- new ActCallWorker(arguments.get(), name(), building, egbase.tribes())));
+ new ActCallWorker(arguments.get(), name(), building, tribes)));
} else if (boost::iequals(parts[0], "mine")) {
actions_.push_back(std::unique_ptr<ProductionProgram::Action>(
- new ActMine(arguments.get(), egbase.world(), name(), building)));
+ new ActMine(arguments.get(), world, name(), building)));
} else if (boost::iequals(parts[0], "checksoldier")) {
actions_.push_back(
std::unique_ptr<ProductionProgram::Action>(new ActCheckSoldier(arguments.get())));
=== modified file 'src/logic/map_objects/tribes/production_program.h'
--- src/logic/map_objects/tribes/production_program.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/production_program.h 2019-04-20 05:49:35 +0000
@@ -31,11 +31,11 @@
#include "base/log.h"
#include "base/macros.h"
-#include "logic/editor_game_base.h"
#include "logic/map_objects/tribes/bill_of_materials.h"
+#include "logic/map_objects/buildcost.h"
#include "logic/map_objects/tribes/program_result.h"
#include "logic/map_objects/tribes/training_attribute.h"
-#include "logic/widelands.h"
+#include "logic/map_objects/tribes/wareworker.h"
#include "scripting/lua_table.h"
namespace Widelands {
@@ -45,6 +45,7 @@
class ProductionSiteDescr;
class ProductionSite;
class TribeDescr;
+class Tribes;
class Worker;
class World;
@@ -538,7 +539,7 @@
ProductionProgram(const std::string& init_name,
const std::string& init_descname,
std::unique_ptr<LuaTable> actions_table,
- const EditorGameBase& egbase,
+ const Tribes& tribes, const World& world,
ProductionSiteDescr* building);
const std::string& name() const;
=== modified file 'src/logic/map_objects/tribes/productionsite.cc'
--- src/logic/map_objects/tribes/productionsite.cc 2019-04-09 17:16:11 +0000
+++ src/logic/map_objects/tribes/productionsite.cc 2019-04-20 05:49:35 +0000
@@ -53,7 +53,7 @@
// Parses the descriptions of the working positions from 'items_table' and
// fills in 'working_positions'. Throws an error if the table contains invalid
// values.
-void parse_working_positions(const EditorGameBase& egbase,
+void parse_working_positions(const Tribes& tribes,
LuaTable* items_table,
BillOfMaterials* working_positions) {
for (const std::string& worker_name : items_table->keys<std::string>()) {
@@ -62,8 +62,8 @@
if (amount < 1 || 255 < amount) {
throw wexception("count is out of range 1 .. 255");
}
- DescriptionIndex const woi = egbase.tribes().worker_index(worker_name);
- if (!egbase.tribes().worker_exists(woi)) {
+ DescriptionIndex const woi = tribes.worker_index(worker_name);
+ if (!tribes.worker_exists(woi)) {
throw wexception("invalid");
}
working_positions->push_back(std::pair<DescriptionIndex, uint32_t>(woi, amount));
@@ -91,8 +91,9 @@
const std::string& msgctxt,
MapObjectType init_type,
const LuaTable& table,
- const EditorGameBase& egbase)
- : BuildingDescr(init_descname, init_type, table, egbase),
+ const Tribes& tribes,
+ const World& world)
+ : BuildingDescr(init_descname, init_type, table, tribes),
out_of_resource_productivity_threshold_(100) {
if (msgctxt.empty()) {
throw Widelands::GameDataError(
@@ -121,15 +122,15 @@
if (table.has_key("outputs")) {
for (const std::string& output : table.get_table("outputs")->array_entries<std::string>()) {
try {
- DescriptionIndex idx = egbase.tribes().ware_index(output);
- if (egbase.tribes().ware_exists(idx)) {
+ DescriptionIndex idx = tribes.ware_index(output);
+ if (tribes.ware_exists(idx)) {
if (output_ware_types_.count(idx)) {
throw wexception("this ware type has already been declared as an output");
}
output_ware_types_.insert(idx);
} else {
- idx = egbase.tribes().worker_index(output);
- if (egbase.tribes().worker_exists(idx)) {
+ idx = tribes.worker_index(output);
+ if (tribes.worker_exists(idx)) {
if (output_worker_types_.count(idx)) {
throw wexception("this worker type has already been declared as an output");
}
@@ -154,8 +155,8 @@
if (amount < 1 || 255 < amount) {
throw wexception("amount is out of range 1 .. 255");
}
- DescriptionIndex idx = egbase.tribes().ware_index(ware_name);
- if (egbase.tribes().ware_exists(idx)) {
+ DescriptionIndex idx = tribes.ware_index(ware_name);
+ if (tribes.ware_exists(idx)) {
for (const auto& temp_inputs : input_wares()) {
if (temp_inputs.first == idx) {
throw wexception("duplicated");
@@ -163,8 +164,8 @@
}
input_wares_.push_back(WareAmount(idx, amount));
} else {
- idx = egbase.tribes().worker_index(ware_name);
- if (egbase.tribes().worker_exists(idx)) {
+ idx = tribes.worker_index(ware_name);
+ if (tribes.worker_exists(idx)) {
for (const auto& temp_inputs : input_workers()) {
if (temp_inputs.first == idx) {
throw wexception("duplicated");
@@ -181,7 +182,7 @@
}
}
- parse_working_positions(egbase, table.get_table("working_positions").get(), &working_positions_);
+ parse_working_positions(tribes, table.get_table("working_positions").get(), &working_positions_);
// Get programs
items_table = table.get_table("programs");
@@ -201,7 +202,7 @@
program_descname = pgettext_expr(msgctxt_char, program_descname_unlocalized.c_str());
}
programs_[program_name] = std::unique_ptr<ProductionProgram>(new ProductionProgram(
- program_name, program_descname, program_table->get_table("actions"), egbase, this));
+ program_name, program_descname, program_table->get_table("actions"), tribes, world, this));
} catch (const std::exception& e) {
throw wexception("program %s: %s", program_name.c_str(), e.what());
}
@@ -209,12 +210,12 @@
// Verify that any map resource collected is valid
if (!hints().collects_ware_from_map().empty()) {
- if (!(egbase_.tribes().ware_exists(hints().collects_ware_from_map()))) {
+ if (!(tribes.ware_exists(hints().collects_ware_from_map()))) {
throw GameDataError("ai_hints for building %s collects nonexistent ware %s from map",
name().c_str(), hints().collects_ware_from_map().c_str());
}
const DescriptionIndex collects_index =
- egbase_.tribes().safe_ware_index(hints().collects_ware_from_map());
+ tribes.safe_ware_index(hints().collects_ware_from_map());
if (!is_output_ware_type(collects_index)) {
throw GameDataError("ai_hints for building %s collects ware %s from map, but it's not "
"listed in the building's output",
@@ -226,8 +227,8 @@
ProductionSiteDescr::ProductionSiteDescr(const std::string& init_descname,
const std::string& msgctxt,
const LuaTable& table,
- const EditorGameBase& egbase)
- : ProductionSiteDescr(init_descname, msgctxt, MapObjectType::PRODUCTIONSITE, table, egbase) {
+ const Tribes& tribes, const World& world)
+ : ProductionSiteDescr(init_descname, msgctxt, MapObjectType::PRODUCTIONSITE, table, tribes, world) {
}
/**
=== modified file 'src/logic/map_objects/tribes/productionsite.h'
--- src/logic/map_objects/tribes/productionsite.h 2019-04-11 05:45:55 +0000
+++ src/logic/map_objects/tribes/productionsite.h 2019-04-20 05:49:35 +0000
@@ -63,11 +63,12 @@
const std::string& msgctxt,
MapObjectType type,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes, const World& world);
ProductionSiteDescr(const std::string& init_descname,
const std::string& msgctxt,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes,
+ const World& world);
Building& create_object() const override;
=== modified file 'src/logic/map_objects/tribes/ship.cc'
--- src/logic/map_objects/tribes/ship.cc 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/ship.cc 2019-04-20 05:49:35 +0000
@@ -34,10 +34,10 @@
#include "graphic/text_constants.h"
#include "io/fileread.h"
#include "io/filewrite.h"
-#include "logic/findbob.h"
#include "logic/game.h"
#include "logic/game_data_error.h"
#include "logic/map.h"
+#include "logic/map_objects/findbob.h"
#include "logic/map_objects/tribes/constructionsite.h"
#include "logic/map_objects/tribes/tribe_descr.h"
#include "logic/map_objects/tribes/warehouse.h"
=== modified file 'src/logic/map_objects/tribes/soldier.cc'
--- src/logic/map_objects/tribes/soldier.cc 2019-02-28 12:22:36 +0000
+++ src/logic/map_objects/tribes/soldier.cc 2019-04-20 05:49:35 +0000
@@ -36,13 +36,13 @@
#include "io/fileread.h"
#include "io/filewrite.h"
#include "logic/editor_game_base.h"
-#include "logic/findbob.h"
-#include "logic/findimmovable.h"
-#include "logic/findnode.h"
#include "logic/game.h"
#include "logic/game_controller.h"
#include "logic/game_data_error.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findbob.h"
+#include "logic/map_objects/findimmovable.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/tribes/battle.h"
#include "logic/map_objects/tribes/building.h"
#include "logic/map_objects/tribes/militarysite.h"
@@ -63,8 +63,8 @@
SoldierDescr::SoldierDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : WorkerDescr(init_descname, MapObjectType::SOLDIER, table, egbase),
+ const Tribes& tribes)
+ : WorkerDescr(init_descname, MapObjectType::SOLDIER, table, tribes),
health_(table.get_table("health")),
attack_(table.get_table("attack")),
defense_(table.get_table("defense")),
=== modified file 'src/logic/map_objects/tribes/soldier.h'
--- src/logic/map_objects/tribes/soldier.h 2019-02-27 17:19:00 +0000
+++ src/logic/map_objects/tribes/soldier.h 2019-04-20 05:49:35 +0000
@@ -41,7 +41,7 @@
public:
friend class Economy;
- SoldierDescr(const std::string& init_descname, const LuaTable& t, const EditorGameBase& egbase);
+ SoldierDescr(const std::string& init_descname, const LuaTable& t, const Tribes& tribes);
~SoldierDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/trainingsite.cc'
--- src/logic/map_objects/tribes/trainingsite.cc 2019-04-08 06:17:54 +0000
+++ src/logic/map_objects/tribes/trainingsite.cc 2019-04-20 05:49:35 +0000
@@ -48,8 +48,8 @@
TrainingSiteDescr::TrainingSiteDescr(const std::string& init_descname,
const std::string& msgctxt,
const LuaTable& table,
- const EditorGameBase& egbase)
- : ProductionSiteDescr(init_descname, msgctxt, MapObjectType::TRAININGSITE, table, egbase),
+ const Tribes& tribes, const World& world)
+ : ProductionSiteDescr(init_descname, msgctxt, MapObjectType::TRAININGSITE, table, tribes, world),
num_soldiers_(table.get_int("soldier_capacity")),
max_stall_(table.get_int("trainer_patience")),
=== modified file 'src/logic/map_objects/tribes/trainingsite.h'
--- src/logic/map_objects/tribes/trainingsite.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/trainingsite.h 2019-04-20 05:49:35 +0000
@@ -36,7 +36,7 @@
TrainingSiteDescr(const std::string& init_descname,
const std::string& msgctxt,
const LuaTable& table,
- const EditorGameBase& egbase);
+ const Tribes& tribes, const World& world);
~TrainingSiteDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/tribe_descr.cc'
--- src/logic/map_objects/tribes/tribe_descr.cc 2019-04-09 16:43:49 +0000
+++ src/logic/map_objects/tribes/tribe_descr.cc 2019-04-20 05:49:35 +0000
@@ -31,7 +31,6 @@
#include "base/wexception.h"
#include "graphic/graphic.h"
#include "io/filesystem/layered_filesystem.h"
-#include "logic/editor_game_base.h"
#include "logic/game.h"
#include "logic/game_data_error.h"
#include "logic/map_objects/immovable.h"
=== modified file 'src/logic/map_objects/tribes/tribe_descr.h'
--- src/logic/map_objects/tribes/tribe_descr.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/tribe_descr.h 2019-04-20 05:49:35 +0000
@@ -26,8 +26,6 @@
#include "base/macros.h"
#include "graphic/animation.h"
-#include "logic/description_maintainer.h"
-#include "logic/editor_game_base.h"
#include "logic/map_objects/immovable.h"
#include "logic/map_objects/tribes/building.h"
#include "logic/map_objects/tribes/road_textures.h"
@@ -36,10 +34,10 @@
#include "logic/map_objects/tribes/tribes.h"
#include "logic/map_objects/tribes/ware_descr.h"
#include "logic/map_objects/tribes/worker.h"
+#include "logic/widelands.h"
namespace Widelands {
-class EditorGameBase;
class ResourceDescription;
class WareDescr;
class Warehouse;
=== modified file 'src/logic/map_objects/tribes/tribes.cc'
--- src/logic/map_objects/tribes/tribes.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/tribes.cc 2019-04-20 05:49:35 +0000
@@ -37,55 +37,55 @@
tribes_(new DescriptionMaintainer<TribeDescr>()) {
}
-void Tribes::add_constructionsite_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_constructionsite_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
buildings_->add(new ConstructionSiteDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_dismantlesite_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_dismantlesite_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
buildings_->add(new DismantleSiteDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_militarysite_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_militarysite_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
buildings_->add(new MilitarySiteDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_productionsite_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_productionsite_type(const LuaTable& table, const World& world) {
i18n::Textdomain td("tribes");
const std::string msgctxt = table.get_string("msgctxt");
buildings_->add(
new ProductionSiteDescr(pgettext_expr(msgctxt.c_str(), table.get_string("descname").c_str()),
- msgctxt, table, egbase));
+ msgctxt, table, *this, world));
}
-void Tribes::add_trainingsite_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_trainingsite_type(const LuaTable& table, const World& world) {
i18n::Textdomain td("tribes");
const std::string msgctxt = table.get_string("msgctxt");
buildings_->add(
new TrainingSiteDescr(pgettext_expr(msgctxt.c_str(), table.get_string("descname").c_str()),
- msgctxt, table, egbase));
+ msgctxt, table, *this, world));
}
-void Tribes::add_warehouse_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_warehouse_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
buildings_->add(new WarehouseDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_market_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_market_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
buildings_->add(new MarketDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
void Tribes::add_immovable_type(const LuaTable& table) {
@@ -107,31 +107,31 @@
table));
}
-void Tribes::add_carrier_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_carrier_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
workers_->add(new CarrierDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_soldier_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_soldier_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
workers_->add(new SoldierDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_worker_type(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_worker_type(const LuaTable& table) {
i18n::Textdomain td("tribes");
workers_->add(new WorkerDescr(
pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),
- table, egbase));
+ table, *this));
}
-void Tribes::add_tribe(const LuaTable& table, const EditorGameBase& egbase) {
+void Tribes::add_tribe(const LuaTable& table) {
const std::string name = table.get_string("name");
if (Widelands::tribe_exists(name)) {
- tribes_->add(new TribeDescr(table, Widelands::get_tribeinfo(name), egbase.tribes()));
+ tribes_->add(new TribeDescr(table, Widelands::get_tribeinfo(name), *this));
} else {
throw GameDataError("The tribe '%s'' has no preload file.", name.c_str());
}
=== modified file 'src/logic/map_objects/tribes/tribes.h'
--- src/logic/map_objects/tribes/tribes.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/tribes.h 2019-04-20 05:49:35 +0000
@@ -24,7 +24,7 @@
#include "base/macros.h"
#include "graphic/texture.h"
-#include "logic/description_maintainer.h"
+#include "logic/map_objects/description_maintainer.h"
#include "logic/map_objects/immovable.h"
#include "logic/map_objects/tribes/carrier.h"
#include "logic/map_objects/tribes/constructionsite.h"
@@ -53,25 +53,25 @@
}
/// Adds this building type to the tribe description.
- void add_constructionsite_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this building type to the tribe description.
- void add_dismantlesite_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this building type to the tribe description.
- void add_militarysite_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this building type to the tribe description.
- void add_productionsite_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this building type to the tribe description.
- void add_trainingsite_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this building type to the tribe description.
- void add_warehouse_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this building type to the tribe description.
- void add_market_type(const LuaTable& table, const EditorGameBase& egbase);
+ void add_constructionsite_type(const LuaTable& table);
+
+ /// Adds this building type to the tribe description.
+ void add_dismantlesite_type(const LuaTable& table);
+
+ /// Adds this building type to the tribe description.
+ void add_militarysite_type(const LuaTable& table);
+
+ /// Adds this building type to the tribe description.
+ void add_productionsite_type(const LuaTable& table, const World& world);
+
+ /// Adds this building type to the tribe description.
+ void add_trainingsite_type(const LuaTable& table, const World& world);
+
+ /// Adds this building type to the tribe description.
+ void add_warehouse_type(const LuaTable& table);
+
+ /// Adds this building type to the tribe description.
+ void add_market_type(const LuaTable& table);
/// Adds this immovable type to the tribe description.
void add_immovable_type(const LuaTable& table);
@@ -83,16 +83,16 @@
void add_ware_type(const LuaTable& table);
/// Adds this worker type to the tribe description.
- void add_carrier_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this worker type to the tribe description.
- void add_soldier_type(const LuaTable& table, const EditorGameBase& egbase);
-
- /// Adds this worker type to the tribe description.
- void add_worker_type(const LuaTable& table, const EditorGameBase& egbase);
+ void add_carrier_type(const LuaTable& table);
+
+ /// Adds this worker type to the tribe description.
+ void add_soldier_type(const LuaTable& table);
+
+ /// Adds this worker type to the tribe description.
+ void add_worker_type(const LuaTable& table);
/// Adds a specific tribe's configuration.
- void add_tribe(const LuaTable& table, const EditorGameBase& egbase);
+ void add_tribe(const LuaTable& table);
void add_custom_building(const LuaTable& table);
=== modified file 'src/logic/map_objects/tribes/warehouse.cc'
--- src/logic/map_objects/tribes/warehouse.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/warehouse.cc 2019-04-20 05:49:35 +0000
@@ -37,9 +37,9 @@
#include "economy/warehousesupply.h"
#include "economy/wares_queue.h"
#include "logic/editor_game_base.h"
-#include "logic/findbob.h"
-#include "logic/findnode.h"
#include "logic/game.h"
+#include "logic/map_objects/findbob.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/tribes/battle.h"
#include "logic/map_objects/tribes/carrier.h"
#include "logic/map_objects/tribes/requirements.h"
@@ -292,8 +292,8 @@
*/
WarehouseDescr::WarehouseDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : BuildingDescr(init_descname, MapObjectType::WAREHOUSE, table, egbase),
+ const Tribes& tribes)
+ : BuildingDescr(init_descname, MapObjectType::WAREHOUSE, table, tribes),
conquers_(0),
heal_per_second_(0) {
heal_per_second_ = table.get_int("heal_per_second");
=== modified file 'src/logic/map_objects/tribes/warehouse.h'
--- src/logic/map_objects/tribes/warehouse.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/warehouse.h 2019-04-20 05:49:35 +0000
@@ -50,7 +50,7 @@
public:
WarehouseDescr(const std::string& init_descname,
const LuaTable& t,
- const EditorGameBase& egbase);
+ const Tribes& tribes);
~WarehouseDescr() override {
}
=== modified file 'src/logic/map_objects/tribes/worker.cc'
--- src/logic/map_objects/tribes/worker.cc 2019-04-09 16:43:49 +0000
+++ src/logic/map_objects/tribes/worker.cc 2019-04-20 05:49:35 +0000
@@ -39,13 +39,13 @@
#include "io/fileread.h"
#include "io/filewrite.h"
#include "logic/cmd_incorporate.h"
-#include "logic/findbob.h"
-#include "logic/findimmovable.h"
-#include "logic/findnode.h"
#include "logic/game.h"
#include "logic/game_controller.h"
#include "logic/game_data_error.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findbob.h"
+#include "logic/map_objects/findimmovable.h"
+#include "logic/map_objects/findnode.h"
#include "logic/map_objects/terrain_affinity.h"
#include "logic/map_objects/tribes/carrier.h"
#include "logic/map_objects/tribes/dismantlesite.h"
=== modified file 'src/logic/map_objects/tribes/worker_descr.cc'
--- src/logic/map_objects/tribes/worker_descr.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/worker_descr.cc 2019-04-20 05:49:35 +0000
@@ -37,7 +37,7 @@
WorkerDescr::WorkerDescr(const std::string& init_descname,
MapObjectType init_type,
const LuaTable& table,
- const EditorGameBase& egbase)
+ const Tribes& tribes)
: BobDescr(init_descname, init_type, MapObjectDescr::OwnerType::kTribe, table),
ware_hotspot_(table.has_key("ware_hotspot") ?
table.get_vector<std::string, int>("ware_hotspot") :
@@ -50,10 +50,10 @@
// other key must be there too. So, we cross the checks to trigger an exception if this is
// violated.
becomes_(table.has_key("experience") ?
- egbase.tribes().safe_worker_index(table.get_string("becomes")) :
+ tribes.safe_worker_index(table.get_string("becomes")) :
INVALID_INDEX),
needed_experience_(table.has_key("becomes") ? table.get_int("experience") : INVALID_INDEX),
- egbase_(egbase) {
+ tribes_(tribes) {
if (helptext_script().empty()) {
throw GameDataError("Worker %s has no helptext script", name().c_str());
}
@@ -64,7 +64,6 @@
std::unique_ptr<LuaTable> items_table;
if (table.has_key("buildcost")) {
- const Tribes& tribes = egbase_.tribes();
items_table = table.get_table("buildcost");
for (const std::string& key : items_table->keys<std::string>()) {
try {
@@ -113,7 +112,7 @@
throw wexception("this program has already been declared");
programs_[program_name] = std::unique_ptr<WorkerProgram>(
- new WorkerProgram(program_name, *this, egbase_.tribes()));
+ new WorkerProgram(program_name, *this, tribes_));
programs_[program_name]->parse(*programs_table->get_table(program_name));
} catch (const std::exception& e) {
throw wexception("program %s: %s", program_name.c_str(), e.what());
@@ -124,8 +123,8 @@
WorkerDescr::WorkerDescr(const std::string& init_descname,
const LuaTable& table,
- const EditorGameBase& egbase)
- : WorkerDescr(init_descname, MapObjectType::WORKER, table, egbase) {
+ const Tribes& tribes)
+ : WorkerDescr(init_descname, MapObjectType::WORKER, table, tribes) {
}
WorkerDescr::~WorkerDescr() {
@@ -173,19 +172,19 @@
* check if worker can be substitute for a requested worker type
*/
bool WorkerDescr::can_act_as(DescriptionIndex const index) const {
- assert(egbase_.tribes().worker_exists(index));
+ assert(tribes_.worker_exists(index));
if (index == worker_index()) {
return true;
}
// if requested worker type can be promoted, compare with that type
- const WorkerDescr& descr = *egbase_.tribes().get_worker_descr(index);
+ const WorkerDescr& descr = *tribes_.get_worker_descr(index);
DescriptionIndex const becomes_index = descr.becomes();
return becomes_index != INVALID_INDEX ? can_act_as(becomes_index) : false;
}
DescriptionIndex WorkerDescr::worker_index() const {
- return egbase_.tribes().worker_index(name());
+ return tribes_.worker_index(name());
}
void WorkerDescr::add_employer(const DescriptionIndex& building_index) {
=== modified file 'src/logic/map_objects/tribes/worker_descr.h'
--- src/logic/map_objects/tribes/worker_descr.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/worker_descr.h 2019-04-20 05:49:35 +0000
@@ -48,8 +48,8 @@
WorkerDescr(const std::string& init_descname,
MapObjectType type,
const LuaTable& table,
- const EditorGameBase& egbase);
- WorkerDescr(const std::string& init_descname, const LuaTable& t, const EditorGameBase& egbase);
+ const Tribes& tribes);
+ WorkerDescr(const std::string& init_descname, const LuaTable& t, const Tribes& tribes);
~WorkerDescr() override;
Bob& create_object() const override;
@@ -144,8 +144,8 @@
/// Buildings where this worker can work
std::set<DescriptionIndex> employers_;
- const EditorGameBase& egbase_;
-
+private:
+ const Tribes& tribes_;
DISALLOW_COPY_AND_ASSIGN(WorkerDescr);
};
} // namespace Widelands
=== modified file 'src/logic/map_objects/tribes/worker_program.cc'
--- src/logic/map_objects/tribes/worker_program.cc 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/tribes/worker_program.cc 2019-04-20 05:49:35 +0000
@@ -24,8 +24,8 @@
#include "base/log.h"
#include "helper.h"
-#include "logic/findnode.h"
#include "logic/game_data_error.h"
+#include "logic/map_objects/findnode.h"
#include "sound/sound_handler.h"
namespace Widelands {
=== modified file 'src/logic/map_objects/world/world.h'
--- src/logic/map_objects/world/world.h 2019-02-23 11:00:49 +0000
+++ src/logic/map_objects/world/world.h 2019-04-20 05:49:35 +0000
@@ -23,8 +23,7 @@
#include <memory>
#include "base/macros.h"
-#include "logic/description_maintainer.h"
-#include "logic/widelands.h"
+#include "logic/map_objects/description_maintainer.h"
class LuaInterface;
class LuaTable;
@@ -33,7 +32,6 @@
struct CritterDescr;
class EditorCategory;
-class EditorGameBase;
class ImmovableDescr;
class ResourceDescription;
class TerrainDescription;
=== modified file 'src/logic/player.cc'
--- src/logic/player.cc 2019-04-09 16:43:49 +0000
+++ src/logic/player.cc 2019-04-20 05:49:35 +0000
@@ -39,10 +39,10 @@
#include "io/filewrite.h"
#include "logic/cmd_delete_message.h"
#include "logic/cmd_luacoroutine.h"
-#include "logic/findimmovable.h"
#include "logic/game.h"
#include "logic/game_data_error.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findimmovable.h"
#include "logic/map_objects/tribes/building.h"
#include "logic/map_objects/tribes/constructionsite.h"
#include "logic/map_objects/tribes/militarysite.h"
=== modified file 'src/logic/player_area.h'
--- src/logic/player_area.h 2019-02-23 11:00:49 +0000
+++ src/logic/player_area.h 2019-04-20 05:49:35 +0000
@@ -20,7 +20,6 @@
#ifndef WL_LOGIC_PLAYER_AREA_H
#define WL_LOGIC_PLAYER_AREA_H
-#include "logic/widelands.h"
#include "logic/widelands_geometry.h"
namespace Widelands {
=== modified file 'src/logic/widelands.h'
--- src/logic/widelands.h 2019-02-23 11:00:49 +0000
+++ src/logic/widelands.h 2019-04-20 05:49:35 +0000
@@ -63,7 +63,7 @@
*/
using DescriptionIndex = uint8_t;
-constexpr uint8_t INVALID_INDEX = std::numeric_limits<uint8_t>::max();
+constexpr DescriptionIndex INVALID_INDEX = std::numeric_limits<uint8_t>::max();
constexpr DescriptionIndex kInvalidWare = INVALID_INDEX - 1;
constexpr DescriptionIndex kNoResource = INVALID_INDEX - 1;
=== modified file 'src/map_io/CMakeLists.txt'
--- src/map_io/CMakeLists.txt 2019-03-09 10:01:09 +0000
+++ src/map_io/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -14,7 +14,10 @@
io_fileread
io_filesystem
logic
+ logic_constants
logic_filesystem_constants
+ logic_map
+ logic_map_objects
map_io
scripting_lua_interface
)
@@ -107,7 +110,10 @@
logic
logic_constants
logic_exceptions
+ logic_map
+ logic_map_objects
logic_widelands_geometry
+ logic_widelands_geometry_io
profile
scripting_logic
)
=== modified file 'src/map_io/map_elemental_packet.cc'
--- src/map_io/map_elemental_packet.cc 2019-02-23 11:00:49 +0000
+++ src/map_io/map_elemental_packet.cc 2019-04-20 05:49:35 +0000
@@ -25,7 +25,6 @@
#include "logic/editor_game_base.h"
#include "logic/game_data_error.h"
#include "logic/map.h"
-#include "logic/widelands.h"
#include "profile/profile.h"
namespace Widelands {
=== modified file 'src/map_io/map_object_loader.h'
--- src/map_io/map_object_loader.h 2019-02-23 11:00:49 +0000
+++ src/map_io/map_object_loader.h 2019-04-20 05:49:35 +0000
@@ -28,7 +28,6 @@
#include "base/macros.h"
#include "logic/game_data_error.h"
#include "logic/map_objects/map_object.h"
-#include "logic/widelands.h"
namespace Widelands {
class Bob;
=== modified file 'src/network/CMakeLists.txt'
--- src/network/CMakeLists.txt 2017-12-18 10:42:40 +0000
+++ src/network/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -49,10 +49,11 @@
io_filesystem
io_stream
logic
- logic_constants
+ logic_commands
logic_filesystem_constants
logic_game_controller
logic_game_settings
+ logic_map_objects
logic_tribe_basic_info
map_io_map_loader
profile
=== modified file 'src/network/gamehost.h'
--- src/network/gamehost.h 2019-02-23 11:00:49 +0000
+++ src/network/gamehost.h 2019-04-20 05:49:35 +0000
@@ -23,7 +23,6 @@
#include "logic/game_controller.h"
#include "logic/game_settings.h"
#include "logic/player_end_result.h"
-#include "logic/widelands.h"
#include "network/nethost_interface.h"
#include "network/network.h"
#include "ui_basic/unique_window.h"
=== modified file 'src/network/network_player_settings_backend.h'
--- src/network/network_player_settings_backend.h 2019-02-23 11:00:49 +0000
+++ src/network/network_player_settings_backend.h 2019-04-20 05:49:35 +0000
@@ -21,7 +21,6 @@
#define WL_NETWORK_NETWORK_PLAYER_SETTINGS_BACKEND_H
#include "logic/game_settings.h"
-#include "logic/widelands.h"
struct NetworkPlayerSettingsBackend {
=== modified file 'src/scripting/CMakeLists.txt'
--- src/scripting/CMakeLists.txt 2018-09-14 08:44:42 +0000
+++ src/scripting/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -110,10 +110,13 @@
io_filesystem
logic
logic_campaign_visibility
+ logic_commands
logic_constants
logic_filesystem_constants
logic_game_controller
logic_game_settings
+ logic_map
+ logic_map_objects
logic_tribe_basic_info
logic_widelands_geometry
map_io
=== modified file 'src/scripting/lua_map.cc'
--- src/scripting/lua_map.cc 2019-04-09 16:43:49 +0000
+++ src/scripting/lua_map.cc 2019-04-20 05:49:35 +0000
@@ -27,8 +27,8 @@
#include "base/macros.h"
#include "base/wexception.h"
#include "economy/input_queue.h"
-#include "logic/findimmovable.h"
#include "logic/map_objects/checkstep.h"
+#include "logic/map_objects/findimmovable.h"
#include "logic/map_objects/immovable.h"
#include "logic/map_objects/terrain_affinity.h"
#include "logic/map_objects/tribes/carrier.h"
=== modified file 'src/scripting/lua_root.cc'
--- src/scripting/lua_root.cc 2019-02-23 11:00:49 +0000
+++ src/scripting/lua_root.cc 2019-04-20 05:49:35 +0000
@@ -24,9 +24,9 @@
#include <boost/format.hpp>
#include "logic/cmd_luacoroutine.h"
-#include "logic/findimmovable.h"
#include "logic/game.h"
#include "logic/game_controller.h"
+#include "logic/map_objects/findimmovable.h"
#include "logic/map_objects/immovable.h"
#include "logic/map_objects/tribes/tribe_descr.h"
#include "logic/map_objects/tribes/tribes.h"
@@ -586,8 +586,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_constructionsite_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_constructionsite_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -610,8 +609,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_dismantlesite_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_dismantlesite_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -634,8 +632,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_militarysite_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_militarysite_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -659,7 +656,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_productionsite_type(table, egbase);
+ egbase.mutable_tribes()->add_productionsite_type(table, egbase.world());
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -683,7 +680,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_trainingsite_type(table, egbase);
+ egbase.mutable_tribes()->add_trainingsite_type(table, egbase.world());
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -706,8 +703,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_warehouse_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_warehouse_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -731,8 +727,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_market_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_market_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -823,8 +818,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_carrier_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_carrier_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -846,8 +840,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_soldier_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_soldier_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -869,8 +862,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_worker_type(table, egbase);
+ get_egbase(L).mutable_tribes()->add_worker_type(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
@@ -893,8 +885,7 @@
try {
LuaTable table(L); // Will pop the table eventually.
- EditorGameBase& egbase = get_egbase(L);
- egbase.mutable_tribes()->add_tribe(table, egbase);
+ get_egbase(L).mutable_tribes()->add_tribe(table);
} catch (std::exception& e) {
report_error(L, "%s", e.what());
}
=== modified file 'src/ui_fsmenu/CMakeLists.txt'
--- src/ui_fsmenu/CMakeLists.txt 2018-02-13 16:52:12 +0000
+++ src/ui_fsmenu/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -162,6 +162,16 @@
base_macros
graphic
graphic_text_constants
+ helper
+ io_filesystem
+ logic
+ logic_campaign_visibility
+ logic_filesystem_constants
+ logic_game_controller
+ logic_game_settings
+ logic_map
+ logic_map_objects
+ map_io_map_loader
network
profile
random
=== modified file 'src/website/CMakeLists.txt'
--- src/website/CMakeLists.txt 2018-09-02 15:09:05 +0000
+++ src/website/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -27,6 +27,7 @@
io_filesystem
json
logic
+ logic_map
map_io_map_loader
website_common
)
@@ -43,6 +44,8 @@
io_filesystem
json
logic
+ logic_map_objects
logic_tribe_basic_info
+ sound
website_common
)
=== modified file 'src/wui/CMakeLists.txt'
--- src/wui/CMakeLists.txt 2018-11-13 12:18:10 +0000
+++ src/wui/CMakeLists.txt 2019-04-20 05:49:35 +0000
@@ -32,6 +32,8 @@
economy
graphic
logic
+ logic_commands
+ logic_map_objects
notifications
ui_basic
wui_waresdisplay
@@ -45,7 +47,7 @@
mapviewpixelfunctions.h
DEPENDS
base_geometry
- logic
+ logic_map
logic_widelands_geometry
)
@@ -105,8 +107,10 @@
io_filesystem
logic
logic_constants
+ logic_filesystem_constants
logic_game_controller
logic_game_settings
+ logic_map
map_io_map_loader
ui_basic
wui_common_suggested_teams
@@ -132,7 +136,7 @@
graphic
graphic_fields_to_draw
graphic_game_renderer
- logic
+ logic_map
logic_widelands_geometry
profile
ui_basic
@@ -151,6 +155,7 @@
graphic_fonthandler
graphic_text_layout
logic
+ logic_map_objects
ui_basic
)
@@ -281,10 +286,13 @@
io_filesystem
logic
logic_constants
+ logic_commands
logic_filesystem_constants
logic_game_controller
logic_game_settings
logic_generic_save_handler
+ logic_map
+ logic_map_objects
logic_tribe_basic_info
logic_widelands_geometry
network
=== modified file 'src/wui/building_statistics_menu.h'
--- src/wui/building_statistics_menu.h 2019-02-23 11:00:49 +0000
+++ src/wui/building_statistics_menu.h 2019-04-20 05:49:35 +0000
@@ -24,7 +24,6 @@
#include "graphic/color.h"
#include "logic/map_objects/tribes/building.h"
-#include "logic/widelands.h"
#include "ui_basic/box.h"
#include "ui_basic/button.h"
#include "ui_basic/editbox.h"
=== modified file 'src/wui/debugconsole.cc'
--- src/wui/debugconsole.cc 2019-02-23 11:00:49 +0000
+++ src/wui/debugconsole.cc 2019-04-20 05:49:35 +0000
@@ -25,7 +25,6 @@
#include "base/log.h"
#include "chat/chat.h"
-#include "logic/widelands.h"
namespace DebugConsole {
=== modified file 'src/wui/gamedetails.h'
--- src/wui/gamedetails.h 2019-02-23 11:00:49 +0000
+++ src/wui/gamedetails.h 2019-04-20 05:49:35 +0000
@@ -24,6 +24,7 @@
#include "graphic/image.h"
#include "logic/game_controller.h"
+#include "logic/widelands.h"
#include "ui_basic/box.h"
#include "ui_basic/icon.h"
#include "ui_basic/multilinetextarea.h"
=== modified file 'src/wui/interactive_gamebase.cc'
--- src/wui/interactive_gamebase.cc 2019-03-01 16:24:48 +0000
+++ src/wui/interactive_gamebase.cc 2019-04-20 05:49:35 +0000
@@ -28,10 +28,10 @@
#include "graphic/rendertarget.h"
#include "graphic/text_constants.h"
#include "graphic/text_layout.h"
-#include "logic/findbob.h"
#include "logic/game.h"
#include "logic/game_controller.h"
#include "logic/map.h"
+#include "logic/map_objects/findbob.h"
#include "logic/map_objects/tribes/ship.h"
#include "logic/player.h"
#include "network/gamehost.h"
=== modified file 'src/wui/multiplayersetupgroup.cc'
--- src/wui/multiplayersetupgroup.cc 2019-02-23 11:00:49 +0000
+++ src/wui/multiplayersetupgroup.cc 2019-04-20 05:49:35 +0000
@@ -37,7 +37,6 @@
#include "logic/game_settings.h"
#include "logic/map_objects/tribes/tribe_basic_info.h"
#include "logic/player.h"
-#include "logic/widelands.h"
#include "ui_basic/button.h"
#include "ui_basic/dropdown.h"
#include "ui_basic/mouse_constants.h"
Follow ups