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

2019-04-19 Thread GunChleoc
Thanks a lot for the review!

SDL_Mixer already uses threading for playing the sounds.

The only other spot where we could use some threading would be when registering 
sounds, but then the threads would fight over hard disk access and probably 
make things slower rather than faster. I already have another branch in the 
works that will speed up finding the files for animations and sounds by not 
using regular expressions, which will greatly speed up loading the tribes and 
world.

Diff comments:

> 
> === modified file 'src/economy/road.h'
> --- src/economy/road.h2019-02-27 17:19:00 +
> +++ src/economy/road.h2019-04-09 04:52:18 +
> @@ -131,8 +131,7 @@
>   void cleanup(EditorGameBase&) override;
>  
>   void draw(uint32_t gametime,
> -   TextToDraw draw_text,
> -   const Vector2f& point_on_dst,
> +   TextToDraw draw_text, const Vector2f&, const Coords&,

Road::draw doesn't do anything. The variables have names on those map objects 
that do draw themselves.

> float scale,
> RenderTarget* dst) override;
>  
> 
> === modified file 'src/editor/editorinteractive.cc'
> --- src/editor/editorinteractive.cc   2019-02-27 17:19:00 +
> +++ src/editor/editorinteractive.cc   2019-04-09 04:52:18 +
> @@ -405,6 +405,10 @@
>   is_painting_ = false;
>  }
>  
> +bool EditorInteractive::player_hears_field(const Widelands::Coords&) const {

Will add one in interactive_base.h

> + return true;
> +}
> +
>  void EditorInteractive::on_buildhelp_changed(const bool value) {
>   toggle_buildhelp_->set_perm_pressed(value);
>  }
> 
> === modified file 'src/sound/sound_handler.cc'
> --- src/sound/sound_handler.cc2019-02-23 11:00:49 +
> +++ src/sound/sound_handler.cc2019-04-09 04:52:18 +
> @@ -199,476 +176,461 @@
>   fx_lock_ = nullptr;
>   }
>  
> - songs_.clear();
> - fxs_.clear();
> -
>   Mix_Quit();
>   SDL_QuitSubSystem(SDL_INIT_AUDIO);
>  }
>  
> -/** Read the main config file, load background music and systemwide sound fx
> - *
> +/// Prints an error and disables and shuts down the sound system.
> +void SoundHandler::initialization_error(const char* const msg, bool 
> quit_sdl) {
> + log("WARNING: Failed to initialize sound system: %s\n", msg);
> + SoundHandler::disable_backend();
> + if (quit_sdl) {
> + SDL_QuitSubSystem(SDL_INIT_AUDIO);
> + }
> + return;
> +}
> +
> +/**
> + * Load the sound options from g_options. If an option is not available, use 
> the defaults set by the constructor.
>   */
>  void SoundHandler::read_config() {
> - Section& s = g_options.pull_section("global");
> -
> - if (nosound_) {
> - set_disable_music(true);
> - set_disable_fx(true);
> - } else {
> - set_disable_music(s.get_bool("disable_music", false));
> - set_disable_fx(s.get_bool("disable_fx", false));
> - music_volume_ = s.get_int("music_volume", kDefaultMusicVolume);
> - fx_volume_ = s.get_int("fx_volume", kDefaultFxVolume);
> - }
> -
> - random_order_ = s.get_bool("sound_random_order", true);
> -
> - register_song("music", "intro");
> - register_song("music", "menu");
> - register_song("music", "ingame");
> -}
> -
> -/** Load systemwide sound fx into memory.
> - * \note This loads only systemwide fx. Worker/building fx will be loaded by
> - * their respective conf-file parsers
> - */
> -void SoundHandler::load_system_sounds() {
> - load_fx_if_needed("sound", "click", "click");
> - load_fx_if_needed("sound", "create_construction_site", 
> "create_construction_site");
> - load_fx_if_needed("sound", "message", "message");
> - load_fx_if_needed("sound/military", "under_attack", 
> "military/under_attack");
> - load_fx_if_needed("sound/military", "site_occupied", 
> "military/site_occupied");
> - load_fx_if_needed("sound", "lobby_chat", "lobby_chat");
> - load_fx_if_needed("sound", "lobby_freshmen", "lobby_freshmen");
> -}
> -
> -/**
> - * Returns 'true' if the playing of sounds is disabled due to sound driver 
> problems.
> - */
> -bool SoundHandler::is_backend_disabled() const {
> - return is_backend_disabled_;
> -}
> -
> -/** Load a sound effect. One sound effect can consist of several audio files
> + // TODO(GunChleoc): Compatibility code to avoid getting bug reports 
> about unread sections. Remove after Build 21.
> + if (g_options.get_section("sound") == nullptr) {
> + Section& global = g_options.pull_section("global");
> +
> + for (auto& option : sound_options_) {
> + switch (option.first) {
> + case SoundType::kMusic:
> + option.second.volume = 
> global.get_int("music_volume", option.second.volume);
> + option.second.enabled = 
> !global.get_bool("disable_music", !option.second.e

[Widelands-dev] [Merge] lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands

2019-04-19 Thread GunChleoc
The proposal to merge 
lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands 
has been updated.

Commit message changed to:

Downgrade Boost on AppVeyor, because CMake can't find version 1.70 yet. Upgrade 
InnoSetup to ICU version 64.

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/fix-wl_include_system_directories/+merge/366266
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands.

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


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

2019-04-19 Thread GunChleoc
Appveyor is going green now.

@bunnybot merge
-- 
https://code.launchpad.net/~widelands-dev/widelands/fix-wl_include_system_directories/+merge/366266
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands.

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


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1764318-barbarian-lore into lp:widelands

2019-04-19 Thread GunChleoc
Is the economist called "Khantarakh" rather than "Khantrukh" on purpose?
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1764318-barbarian-lore/+merge/365637
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug-1764318-barbarian-lore into lp:widelands.

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


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands

2019-04-19 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4735. State: passed. Details: 
https://travis-ci.org/widelands/widelands/builds/522061797.
Appveyor build 4520. State: success. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_fix_wl_include_system_directories-4520.
-- 
https://code.launchpad.net/~widelands-dev/widelands/fix-wl_include_system_directories/+merge/366266
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands.

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


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands

2019-04-19 Thread noreply
The proposal to merge 
lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands 
has been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/fix-wl_include_system_directories/+merge/366266
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/fix-wl_include_system_directories into lp:widelands.

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


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/cleanup-soundhandler into lp:widelands

2019-04-19 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4736. State: errored. Details: 
https://travis-ci.org/widelands/widelands/builds/522063139.
Appveyor build 4521. State: failed. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_cleanup_soundhandler-4521.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cleanup-soundhandler/+merge/365001
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cleanup-rendertarget.

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


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1764318-barbarian-lore into lp:widelands

2019-04-19 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4737. State: passed. Details: 
https://travis-ci.org/widelands/widelands/builds/522081447.
Appveyor build 4522. State: failed. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_bug_1764318_barbarian_lore-4522.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1764318-barbarian-lore/+merge/365637
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug-1764318-barbarian-lore into lp:widelands.

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


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

2019-04-19 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4742. State: failed. Details: 
https://travis-ci.org/widelands/widelands/builds/522276339.
Appveyor build 4527. State: success. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_ferry-4527.
-- 
https://code.launchpad.net/~widelands-dev/widelands/ferry/+merge/351880
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/ferry.

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


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

2019-04-19 Thread GunChleoc
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 +
+++ src/CMakeLists.txt	2019-04-20 05:49:35 +
@@ -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 +
+++ src/ai/CMakeLists.txt	2019-04-20 05:49:35 +
@@ -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 +
+++ src/ai/ai_help_structs.h	2019-04-20 05:49:35 +
@@ -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 +
+++ src/ai/defaultai.cc	2019-04-20 05:49:35 +
@@ -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 +
+++ src/economy/CMakeLists.txt	2019-04-20 05:49:35 +
@@ -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 +
+++ src/economy/input_queue.h	2019-04-20 05:49:35 +
@@ -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 +
+++ src/economy/test/CMakeLists.txt	2019-04-20 05:49:35 +
@@ -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 +
+++ src/economy/ware_instance.h	2019-04-20 05:49:35 +
@@ -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 +
+++ src/economy/wares_queue.h	2019-04-20 05:49:35 +
@@ -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 +
+++ src/economy/workers_queue.h	2019-04-20 05:49:35 +
@@ -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 +
+++ src/editor/CMakeLists.txt	2019-04-20 05:49:35 +
@@ -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
 

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

2019-04-19 Thread GunChleoc
The proposal to merge 
lp:~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr into 
lp:widelands has been updated.

Commit message changed to:

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
- Put DescriptionMaintainer in Widelands namespace

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr/+merge/366332
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/split_up_liblogic_2_mapobjectdescr into 
lp:widelands.

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