Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cleanup-soundhandler into lp:widelands
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
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
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
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
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
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
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
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
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
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
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