[Commits] [wesnoth/wesnoth] 8bfbc7: Have scons and cmake link against same static libr...

GitHub noreply at github.com
Thu Nov 30 09:31:33 UTC 2017


  Branch: refs/heads/test-master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 8bfbc7979ee61807c553afe1d50a6306a8ef1034
      https://github.com/wesnoth/wesnoth/commit/8bfbc7979ee61807c553afe1d50a6306a8ef1034
  Author: pentarctagon <pentarctagon at tutamail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M CMakeLists.txt
    M SConstruct
    M src/CMakeLists.txt
    M src/SConscript

  Log Message:
  -----------
  Have scons and cmake link against same static libraries.


  Commit: 46e3e154a5f3e4a2a05a14db9a2f7f8e832d588e
      https://github.com/wesnoth/wesnoth/commit/46e3e154a5f3e4a2a05a14db9a2f7f8e832d588e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/actions/advancement.cpp
    M src/addon/client.cpp
    M src/addon/manager_ui.cpp
    M src/editor/action/mouse/mouse_action_map_label.cpp
    M src/editor/controller/editor_controller.cpp
    M src/editor/map/context_manager.cpp
    M src/editor/palette/location_palette.cpp
    M src/formula/debugger.cpp
    M src/game_config_manager.cpp
    M src/game_events/action_wml.cpp
    M src/game_initialization/create_engine.cpp
    M src/game_initialization/depcheck.cpp
    M src/game_initialization/multiplayer.cpp
    M src/game_initialization/multiplayer.hpp
    M src/game_initialization/playcampaign.cpp
    M src/game_initialization/singleplayer.cpp
    M src/game_initialization/singleplayer.hpp
    M src/game_launcher.cpp
    M src/generators/default_map_generator.cpp
    M src/gui/core/window_builder.cpp
    M src/gui/core/window_builder.hpp
    M src/gui/dialogs/addon/manager.cpp
    M src/gui/dialogs/advanced_graphics_options.hpp
    M src/gui/dialogs/attack_predictions.hpp
    M src/gui/dialogs/edit_label.hpp
    M src/gui/dialogs/edit_text.hpp
    M src/gui/dialogs/editor/custom_tod.cpp
    M src/gui/dialogs/editor/custom_tod.hpp
    M src/gui/dialogs/editor/edit_label.hpp
    M src/gui/dialogs/editor/edit_scenario.hpp
    M src/gui/dialogs/editor/edit_side.hpp
    M src/gui/dialogs/editor/generator_settings.hpp
    M src/gui/dialogs/editor/new_map.hpp
    M src/gui/dialogs/editor/resize_map.hpp
    M src/gui/dialogs/end_credits.hpp
    M src/gui/dialogs/file_dialog.cpp
    M src/gui/dialogs/folder_create.hpp
    M src/gui/dialogs/game_cache_options.cpp
    M src/gui/dialogs/game_cache_options.hpp
    M src/gui/dialogs/game_delete.hpp
    M src/gui/dialogs/game_load.cpp
    M src/gui/dialogs/game_load.hpp
    M src/gui/dialogs/game_save.hpp
    M src/gui/dialogs/game_stats.hpp
    M src/gui/dialogs/game_version.hpp
    M src/gui/dialogs/gamestate_inspector.cpp
    M src/gui/dialogs/help_browser.hpp
    M src/gui/dialogs/label_settings.cpp
    M src/gui/dialogs/label_settings.hpp
    M src/gui/dialogs/loading_screen.cpp
    M src/gui/dialogs/log_settings.hpp
    M src/gui/dialogs/lua_interpreter.cpp
    M src/gui/dialogs/lua_interpreter.hpp
    M src/gui/dialogs/message.cpp
    M src/gui/dialogs/message.hpp
    M src/gui/dialogs/modal_dialog.cpp
    M src/gui/dialogs/modal_dialog.hpp
    M src/gui/dialogs/modeless_dialog.cpp
    M src/gui/dialogs/modeless_dialog.hpp
    M src/gui/dialogs/multiplayer/lobby.cpp
    M src/gui/dialogs/multiplayer/mp_alerts_options.hpp
    M src/gui/dialogs/multiplayer/mp_connect.cpp
    M src/gui/dialogs/multiplayer/mp_connect.hpp
    M src/gui/dialogs/multiplayer/mp_create_game.cpp
    M src/gui/dialogs/multiplayer/mp_host_game_prompt.hpp
    M src/gui/dialogs/multiplayer/mp_join_game.cpp
    M src/gui/dialogs/multiplayer/mp_join_game.hpp
    M src/gui/dialogs/multiplayer/mp_join_game_password_prompt.hpp
    M src/gui/dialogs/multiplayer/mp_staging.cpp
    M src/gui/dialogs/multiplayer/mp_staging.hpp
    M src/gui/dialogs/outro.hpp
    M src/gui/dialogs/preferences_dialog.cpp
    M src/gui/dialogs/preferences_dialog.hpp
    M src/gui/dialogs/screenshot_notification.hpp
    M src/gui/dialogs/select_orb_colors.hpp
    M src/gui/dialogs/sp_options_configure.hpp
    M src/gui/dialogs/statistics_dialog.hpp
    M src/gui/dialogs/story_viewer.hpp
    M src/gui/dialogs/terrain_layers.hpp
    M src/gui/dialogs/title_screen.cpp
    M src/gui/dialogs/title_screen.hpp
    M src/gui/dialogs/tooltip.cpp
    M src/gui/dialogs/tooltip.hpp
    M src/gui/dialogs/transient_message.cpp
    M src/gui/dialogs/transient_message.hpp
    M src/gui/dialogs/unit_attack.cpp
    M src/gui/dialogs/unit_list.cpp
    M src/gui/dialogs/unit_list.hpp
    M src/gui/dialogs/unit_recall.cpp
    M src/gui/dialogs/wml_error.hpp
    M src/gui/dialogs/wml_message.cpp
    M src/gui/dialogs/wml_message.hpp
    M src/gui/widgets/label.cpp
    M src/gui/widgets/menu_button.cpp
    M src/gui/widgets/multimenu_button.cpp
    M src/gui/widgets/window.cpp
    M src/gui/widgets/window.hpp
    M src/help/help.cpp
    M src/help/help_browser.cpp
    M src/hotkey/command_executor.cpp
    M src/hotkey/hotkey_handler_sp.cpp
    M src/menu_events.cpp
    M src/mouse_events.cpp
    M src/play_controller.cpp
    M src/playsingle_controller.cpp
    M src/playturn.cpp
    M src/preferences/display.cpp
    M src/preferences/display.hpp
    M src/quit_confirmation.cpp
    M src/savegame.cpp
    M src/scripting/game_lua_kernel.cpp
    M src/scripting/lua_gui2.cpp
    M src/scripting/lua_gui2.hpp
    M src/scripting/lua_kernel_base.cpp
    M src/scripting/lua_kernel_base.hpp
    M src/synced_user_choice.cpp
    M src/tests/gui/test_gui2.cpp
    M src/wesnoth.cpp
    M src/whiteboard/manager.cpp
    M src/wml_exception.cpp
    M src/wml_exception.hpp

  Log Message:
  -----------
  Massive cleanup of GUI2 display/show and execute functions implementations and related CVideo arguments

This a two part commit. First:
----------------------------------------------------------------------------------------------------
Added and deployed two new helper macros for the standard implementations of the static execute
and display functions. I also made use of a variadic template in order greatly simplify code
maintenance. Now, even if the dialog's ctor parameters change, no one has to worry about updating
the associated execute/display functions (though of course, this only applies if the helper macros
are used). \o/

I did not deploy the macro in cases where there were multiple overloads or the functions did more
than just show their dialogs. I might add an additional __VA_ARGS_ parameter to the macros later.
Do note for the end_credits dialog I moved the default empty-string parameter from the display
function to the ctor.

Second:
----------------------------------------------------------------------------------------------------
Another change is that modal_dialog::show and modeless_dialog::show no longer take CVideo arguments.
Since the video argument couldn't be included in the parameter pack (maintaining the argument would
have meant making it the first one, which would be just as much work), and using CVideo::get_singleton
in the macros would require adding video.hpp includes in a whole bunch of files, I simply removed the
argument. I had been intending to do this for a while anyway.

This therefor also removes the CVideo argument from:
* All dialog display/execute functions.
* modal_dialog::show
* modal_dialog::build_window
* modeless_dialog::show
* modeless_dialog::build_window
* wml_exception::show
* gui2::show_message
* gui2::show_error_message
* gui2::show_transient_message
* gui2::show_transient_error_message
* gui2::show_wml_message
* gui2::build
* gui2::window::window
* gui2::dialogs::tip::show
* Various GUI2-related Lua functions. The video_dispatch helper was also removed.
* Any functions that took a CVideo argument for the sole purpose of passing it to one of the above.

Ya know, all these damn CVideo arguments didn't actually do anything, besides an occasional check to
CVideo::faked. At the end of the pipeline, they just got assigned to the video_ member of gui2::window.
Huge code bloat for nothing.


  Commit: 9b8e32208e51e915d326a9f08e3827e77f8932c2
      https://github.com/wesnoth/wesnoth/commit/9b8e32208e51e915d326a9f08e3827e77f8932c2
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/tests/gui/test_gui2.cpp

  Log Message:
  -----------
  Update tests for 335ffa1b8100


  Commit: 4e6f50f87cf09fce1ea996c3145739c3e9156490
      https://github.com/wesnoth/wesnoth/commit/4e6f50f87cf09fce1ea996c3145739c3e9156490
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_initialization/playcampaign.cpp
    M src/game_launcher.cpp
    M src/gui/dialogs/title_screen.cpp
    M src/menu_events.cpp
    M src/play_controller.cpp
    M src/playmp_controller.cpp
    M src/playsingle_controller.cpp
    M src/savegame.cpp
    M src/savegame.hpp

  Log Message:
  -----------
  Fix Travis GCC warnings for f2b31ba082e1

This also removes a bunch of unnecessary CVideo arguments from various savegame functions that
emerged as I cleaned up the unused parameters. savegame::save_game did take a CVideo pointer
that did look like it was intended to be a sort of do-show-dialog flag, but since that parameter
was never passed as null, I removed it.


  Commit: c67cb9c41e5f1e5cdd4362f63c75edce14b871e5
      https://github.com/wesnoth/wesnoth/commit/c67cb9c41e5f1e5cdd4362f63c75edce14b871e5
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/chat_command_handler.cpp
    M src/editor/controller/editor_controller.cpp
    M src/game_config_manager.cpp
    M src/game_initialization/multiplayer.cpp
    M src/game_launcher.cpp
    M src/gui/dialogs/loading_screen.cpp
    M src/gui/dialogs/loading_screen.hpp
    M src/gui/dialogs/preferences_dialog.cpp
    M src/gui/dialogs/preferences_dialog.hpp
    M src/menu_events.cpp
    M src/play_controller.cpp
    M src/wesnoth.cpp
    M src/wesnothd_connection.cpp

  Log Message:
  -----------
  Dropped CVideo parameter from loading screen and prefs display functions (missed in f2b31ba)

I had left the former alone in the above commit since I thought it might be worth keeping for the
faked() call, but that's not really a great reason.

As for the latter, I didn't realize the CVideo argument wasn't really even needed. I didn't even
need to replace it with a get_singleton() call since the resolution list is updated by set_resolution_list
before it's used.


  Commit: c0749a934f0f656fe5dbe0d5c23ee6dfcff64523
      https://github.com/wesnoth/wesnoth/commit/c0749a934f0f656fe5dbe0d5c23ee6dfcff64523
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/display.cpp
    M src/display.hpp
    M src/editor/controller/editor_controller.cpp
    M src/editor/controller/editor_controller.hpp
    M src/editor/editor_display.cpp
    M src/editor/editor_display.hpp
    M src/editor/editor_main.cpp
    M src/editor/editor_main.hpp
    M src/game_display.cpp
    M src/game_display.hpp
    M src/game_initialization/multiplayer.cpp
    M src/game_initialization/multiplayer.hpp
    M src/game_initialization/playcampaign.cpp
    M src/game_initialization/playcampaign.hpp
    M src/game_launcher.cpp
    M src/play_controller.cpp
    M src/play_controller.hpp
    M src/playmp_controller.cpp
    M src/playmp_controller.hpp
    M src/playsingle_controller.cpp
    M src/playsingle_controller.hpp
    M src/tooltips.cpp
    M src/tooltips.hpp

  Log Message:
  -----------
  Cleaned up the mess of CVideo references passed around the game initialization process

Essentially, we had CVideo arguments being passed down this chain:
- game_launcher
- free-standing MP initialization functions
- campaign_controller
- playsingle_controller/playmp_controller
- play_controller
- game_display
- display

And likewise down through
- game_launcher
- editor_controller
- editor_display
- display

With only a minimal number of actual calls along the way. :| There were maybe... two remaining?

This removes the CVideo arguments and class members from both chains (except of course, game_launcher.
That's where the "real" CVideo object lives).

The display class now initializes its CVideo reference from the singleton, which is also used in the
very few other places it's needed. I also replaced a check for a null video ptr in show_tooltip()
with a faked() check (see src/tooltips.cpp). That seems to make more sense, since CVideo is never
null now.


  Commit: d23f15f79c85b176ebc80b17e02849fa338f83e6
      https://github.com/wesnoth/wesnoth/commit/d23f15f79c85b176ebc80b17e02849fa338f83e6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/addon/client.cpp
    M src/addon/client.hpp
    M src/addon/manager_ui.cpp
    M src/addon/manager_ui.hpp
    M src/controller_base.hpp
    M src/editor/editor_main.hpp
    M src/game_config_manager.cpp
    M src/game_config_manager.hpp
    M src/game_initialization/create_engine.cpp
    M src/game_initialization/create_engine.hpp
    M src/game_initialization/depcheck.cpp
    M src/game_initialization/depcheck.hpp
    M src/game_initialization/multiplayer.hpp
    M src/game_initialization/playcampaign.hpp
    M src/game_launcher.cpp
    M src/generators/map_create.hpp
    M src/generators/map_generator.hpp
    M src/gui/core/window_builder.hpp
    M src/gui/dialogs/attack_predictions.hpp
    M src/gui/dialogs/help_browser.hpp
    M src/gui/dialogs/loading_screen.hpp
    M src/gui/dialogs/lua_interpreter.cpp
    M src/gui/dialogs/modal_dialog.hpp
    M src/gui/dialogs/modeless_dialog.hpp
    M src/gui/dialogs/multiplayer/lobby.cpp
    M src/gui/dialogs/multiplayer/mp_create_game.cpp
    M src/gui/dialogs/outro.hpp
    M src/gui/dialogs/statistics_dialog.hpp
    M src/gui/dialogs/terrain_layers.hpp
    M src/gui/dialogs/title_screen.cpp
    M src/gui/dialogs/tooltip.hpp
    M src/hotkey/hotkey_item.hpp
    M src/play_controller.cpp
    M src/preferences/display.hpp
    M src/savegame.cpp
    M src/savegame.hpp
    M src/scripting/application_lua_kernel.cpp
    M src/scripting/application_lua_kernel.hpp
    M src/scripting/game_lua_kernel.hpp
    M src/scripting/lua_gui2.cpp
    M src/scripting/lua_gui2.hpp
    M src/scripting/lua_kernel_base.hpp
    M src/wesnoth.cpp
    M src/wml_exception.hpp

  Log Message:
  -----------
  Cleaned up more unnecessary CVideo function arguments and class members

* Dropped unused CVideo class member references.
* Replaced the lone usecase of the CVideo member in loadgame with the singleton and removed said member.
* Removed CVideo references from a bunch of addon management functions.
* Cleaned up a *lot* of now-unnecessary forward CVideo declarations.


  Commit: 9326d02c0e57f0c9c71f4e34953c43160c5606ef
      https://github.com/wesnoth/wesnoth/commit/9326d02c0e57f0c9c71f4e34953c43160c5606ef
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/dialogs/multiplayer/lobby.cpp

  Log Message:
  -----------
  Fixup b46a64b8ad7a (forgot to commit this bit)


  Commit: 80711feb4430511c2318814541740b3c78839ce2
      https://github.com/wesnoth/wesnoth/commit/80711feb4430511c2318814541740b3c78839ce2
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/actions/advancement.cpp
    M src/game_events/pump.cpp
    M src/replay.cpp

  Log Message:
  -----------
  Use CVideo::get_singleton() over resources::screen->video()

They point to the same thing, but it's more consistent to use the former.


  Commit: 889a912ff0ccedec2a8d475874a80f5e04cfec51
      https://github.com/wesnoth/wesnoth/commit/889a912ff0ccedec2a8d475874a80f5e04cfec51
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/tests/gui/test_gui2.cpp
    M src/tests/test_mp_connect.cpp
    M src/tests/utils/fake_display.cpp

  Log Message:
  -----------
  Still _more_ CVideo fixes


  Commit: ae58887d15f6a75285e1994b9fa08193513817b2
      https://github.com/wesnoth/wesnoth/commit/ae58887d15f6a75285e1994b9fa08193513817b2
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/core/window_builder.hpp
    M src/gui/dialogs/modal_dialog.hpp
    M src/gui/dialogs/transient_message.hpp
    M src/gui/dialogs/wml_message.hpp
    M src/wml_exception.hpp

  Log Message:
  -----------
  Autodoc cleanup for CVideo mess


  Commit: ee6f7d2bf92623e47b4cf98ec5843849b90ada74
      https://github.com/wesnoth/wesnoth/commit/ee6f7d2bf92623e47b4cf98ec5843849b90ada74
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/video.cpp
    M src/video.hpp

  Log Message:
  -----------
  CVideo: formatting and doc update

Also renamed a few functions to use snake case or be a little more descriptive.


  Commit: b71714bf100b82a5b19e77756ffb306fd9db8bbe
      https://github.com/wesnoth/wesnoth/commit/b71714bf100b82a5b19e77756ffb306fd9db8bbe
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/controller_base.cpp
    M src/desktop/notifications.cpp
    M src/desktop/windows_tray_notification.cpp
    M src/display.hpp
    M src/sdl/rect.cpp
    M src/sdl/window.cpp
    M src/sdl/window.hpp
    M src/video.cpp
    M src/video.hpp

  Log Message:
  -----------
  CVideo/Display: cleaned up/slightly refactored a few things

* display::w() and display::h() now simply forward to CVideo::getx() and gety() instead of querying
  the underlying window object. This is a slight semantic change, since now these functions return
  screen coordinates instead of pixels, but that's probably what we want in the long term anyway.
* sdl::window::get_flags() now returns the proper uint32_t instead of int
* Added a dedicated CVideo::window_has_flags function since testing window flags was the most common
  use of the underlying sdl window outside the class.
* Made CVideo::set_window_mode private. This is an implementation detail and shouldn't be public.
* Removed BPP argument from CVideo::make_test_fake. It's never passed anything other than 32, and
  we're long past the time when we care about window BPP.
* Removed sdl/window.hpp include from video.hpp. This was mostly only there to allow other area of
  the code to call get_window()->get_flags() (and for display.hpp). There's no real reason for it to
  be there anymore and was just making any modification to the sdl window header take ages.


  Commit: 805dd4365bd3010f2dadf6605b9d4b6a8863eb2a
      https://github.com/wesnoth/wesnoth/commit/805dd4365bd3010f2dadf6605b9d4b6a8863eb2a
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_display.cpp
    M src/game_display.hpp

  Log Message:
  -----------
  Game Display: removed unused create_dummy_display function

This was probably used before we had the fake_display_manager class.


  Commit: 81d8a8a0440646fbb6b369397bb0d0dc4bf9bfb0
      https://github.com/wesnoth/wesnoth/commit/81d8a8a0440646fbb6b369397bb0d0dc4bf9bfb0
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/font/pango/hyperlink.hpp
    M src/font/text.cpp
    M src/font/text.hpp

  Log Message:
  -----------
  Rewrite the link detection code

The previous code sometimes produced invalid Pango markup.

Instead of attempting to parse Pango markup, simply scan for links in the
raw text and replace them in Pango markup. This way there is no way to
accidentally break the markup.


  Commit: da10a1130bc5902c20a4f2f53270e02d1d2e0d8a
      https://github.com/wesnoth/wesnoth/commit/da10a1130bc5902c20a4f2f53270e02d1d2e0d8a
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/serialization/string_view.hpp

  Log Message:
  -----------
  Attempt to fix build with GCC 4.8


  Commit: 7b3975150ec885bc55921c9ab2a456f73c4671ef
      https://github.com/wesnoth/wesnoth/commit/7b3975150ec885bc55921c9ab2a456f73c4671ef
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/core/images/terrain/off-map/alpha.png
    M data/core/images/terrain/off-map/border.png

  Log Message:
  -----------
  Fixed graphical artifacts appearing in Fake Map Border/Off Map terrains with SDL 2.0.6+ (fixes #2061)

[ci skip]

Something was screwy about these image's alpha. Normally when I remove an alpha channel in GIMP,
it shows up white. With these images, it showed up black. Maybe they had an embedded palette or
something, I don't know, but the problem is fixed.

Something must have changed in SDL 2.0.6 that caused this issue to appear. Not sure if anything
needs to be patched in our source code, though (but not likely)


  Commit: 72614ebde88532fb51a88fc2ab4278fb6644a5f3
      https://github.com/wesnoth/wesnoth/commit/72614ebde88532fb51a88fc2ab4278fb6644a5f3
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/font/text.cpp
    M src/sdl/utils.cpp
    M src/video.cpp

  Log Message:
  -----------
  Made use of SDL_CreateRGBSurfaceWithFormat* on SDL 2.0.6+

These functions were introduced in 2.0.5, but a packaging error meant they weren't properly
included in the VS libs for that release. So I set the minimum to 2.0.6. Not sure if we want
to leave the fallbacks for the other versions or bump the minimum to 2.0.6.


  Commit: 298c211f6ca7e3fbff6316bac471911ff48b54e8
      https://github.com/wesnoth/wesnoth/commit/298c211f6ca7e3fbff6316bac471911ff48b54e8
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/chat_command_handler.cpp
    M src/game_initialization/create_engine.cpp
    M src/game_initialization/multiplayer.cpp
    M src/generators/default_map_generator.cpp
    M src/gui/dialogs/campaign_selection.cpp
    M src/gui/dialogs/game_cache_options.cpp
    M src/gui/dialogs/multiplayer/mp_connect.cpp
    M src/gui/dialogs/multiplayer/mp_join_game.cpp
    M src/gui/dialogs/network_transmission.cpp
    M src/scripting/lua_kernel_base.cpp
    M src/sdl/utils.cpp
    M src/wesnothd_connection.cpp

  Log Message:
  -----------
  Cleaned up unnecessary video.hpp includes


  Commit: 0e76977bd1a178b1bf8812ba11b53b7cf7096d17
      https://github.com/wesnoth/wesnoth/commit/0e76977bd1a178b1bf8812ba11b53b7cf7096d17
  Author: Alexander van Gessel <ai0867 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/pathfind/pathfind.cpp

  Log Message:
  -----------
  Remove negative index use-case


  Commit: bc584a1b1f7c3f31267990012dabecaa7cbc8539
      https://github.com/wesnoth/wesnoth/commit/bc584a1b1f7c3f31267990012dabecaa7cbc8539
  Author: Alexander van Gessel <ai0867 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/pathfind/pathfind.cpp

  Log Message:
  -----------
  Assert that indexes are on board


  Commit: 1c95bdf94bd6a7903ef8cd788cfa5f69b0f03e75
      https://github.com/wesnoth/wesnoth/commit/1c95bdf94bd6a7903ef8cd788cfa5f69b0f03e75
  Author: Alexander van Gessel <ai0867 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/pathfind/pathfind.cpp

  Log Message:
  -----------
  Make check earlier


  Commit: dc8f95b13a74cda555e6fb69894cb5bbe54f42ea
      https://github.com/wesnoth/wesnoth/commit/dc8f95b13a74cda555e6fb69894cb5bbe54f42ea
  Author: Alexander van Gessel <ai0867 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/pathfind/pathfind.cpp

  Log Message:
  -----------
  Convert indexes to unsigned

This should assure coverity that no negative indexes will be used.


  Commit: e34e0a5ba53e3f9f08bf0c678f1014739073f1b1
      https://github.com/wesnoth/wesnoth/commit/e34e0a5ba53e3f9f08bf0c678f1014739073f1b1
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/widgets/grid.hpp
    M src/hotkey/hotkey_command.cpp
    M src/hotkey/hotkey_command.hpp

  Log Message:
  -----------
  Hotkeys: cleanup and simplification of hotkey_command list

* Used an std::array instead of C array for hotkey_list_.
* Used an std::vector instead of boost::ptr_array for known_hotkeys.
* Made hotkey_command non-copyable and movable in order to avoid hundreds of copies.
* Added a hotkey_command ctor that takes a hotkey_command_temp reference.
* Hopefully prevent some reallocations by reserving an appropriate amount of memory for known_hotkeys
  before filling it up.
* Search from the end of know_hotkeys when calling remove_wml_hotkey(). This avoids traversing the almost
  200 vector members that likely will not match.
* Deployed auto/range-for.
* For some reason I needed to add a <cassert> include to gui2/widgets/grid.hpp.


  Commit: 016bcf595227ee83e1f3ff21947e56dbf5822131
      https://github.com/wesnoth/wesnoth/commit/016bcf595227ee83e1f3ff21947e56dbf5822131
  Author: pentarctagon <pentarctagon at tutamail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Remove -rdynamic from the linker.


  Commit: 9f007d09785efed6006afaae7158f96d9d24a8d8
      https://github.com/wesnoth/wesnoth/commit/9f007d09785efed6006afaae7158f96d9d24a8d8
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/hotkey/hotkey_command.hpp

  Log Message:
  -----------
  Make hotkeys copyable again

There is barely any point in moving hotkeys because the command is the only
member variable that's both 1) movable and 2) faster to move than copy. In
2cc3f99651c9de13eb36ab0c490996a8dd47e50e, @Vultraz talked about "avoiding hundreds of copies", but
moving isn't necessarily any faster than copying. Seriously, making hotkeys
noncopyable was just a premature and obviously unprofiled optimization.

Besides, this also fixes build on Visual Studio 2013.


  Commit: dfa8c88e1770f346a781a7c60b247b50cab07dfd
      https://github.com/wesnoth/wesnoth/commit/dfa8c88e1770f346a781a7c60b247b50cab07dfd
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/wesnothd_connection.cpp
    M src/wesnothd_connection.hpp

  Log Message:
  -----------
  Wesnothd Connection: formatting cleanup


  Commit: 77a590f202f369c2d3b388fa8775272921ef5d65
      https://github.com/wesnoth/wesnoth/commit/77a590f202f369c2d3b388fa8775272921ef5d65
  Author: Alexander van Gessel <ai0867 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/serialization/string_view.hpp

  Log Message:
  -----------
  Bump minimum boost version for external string_view


  Commit: 681d9768da53f83e79e2036b7e17ce7dd6f8e09b
      https://github.com/wesnoth/wesnoth/commit/681d9768da53f83e79e2036b7e17ce7dd6f8e09b
  Author: Alexander van Gessel <ai0867 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/serialization/string_view.hpp

  Log Message:
  -----------
  >= 1.64, not > 1.64


  Commit: 8b526687ee94b6cb274164b815def29f42b8b7cc
      https://github.com/wesnoth/wesnoth/commit/8b526687ee94b6cb274164b815def29f42b8b7cc
  Author: sigurdfdragon <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Secrets_of_the_Ancients/utils/sota-utils.cfg

  Log Message:
  -----------
  SotA: Fix and improve freeze/thaw unit implementation

Bug was that when a unit was thawed, mouse over in unit sidebar would show
incorrect movement costs (all 1's).

New implementation properly uses {UNREACHABLE} and makes use of the now
available [remove_object] tag.


  Commit: d6d15e481738d3533c7daab6576dc13edbf67a3e
      https://github.com/wesnoth/wesnoth/commit/d6d15e481738d3533c7daab6576dc13edbf67a3e
  Author: sigurdfdragon <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/lua/wml/objectives.lua

  Log Message:
  -----------
  WML: Add [show_if] usage in [objectives] subtag [gold_carryover]


  Commit: 44a7f7319c63c3fcfb2b6828b11c70ffa570aece
      https://github.com/wesnoth/wesnoth/commit/44a7f7319c63c3fcfb2b6828b11c70ffa570aece
  Author: sigurdfdragon <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M changelog

  Log Message:
  -----------
  update changelog


  Commit: 9d624cfc67b927be760e5e5f377fec6a068fde3e
      https://github.com/wesnoth/wesnoth/commit/9d624cfc67b927be760e5e5f377fec6a068fde3e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/actions/shroud_clearing_action.hpp
    M src/filesystem_boost.cpp
    M src/game_events/menu_item.hpp
    M src/game_events/pump.cpp
    M src/game_initialization/playcampaign.cpp
    M src/gettext_boost.cpp
    M src/gui/dialogs/game_load.cpp
    M src/gui/dialogs/lua_interpreter.cpp
    M src/playmp_controller.cpp
    M src/playsingle_controller.cpp
    M src/playturn.cpp
    M src/replay.cpp
    M src/replay.hpp
    M src/scripting/game_lua_kernel.cpp
    M src/server/game.cpp
    M src/synced_checkup.hpp
    M src/synced_commands.cpp
    M src/synced_context.cpp
    M src/synced_context.hpp
    M src/synced_user_choice.cpp
    M src/synced_user_choice.hpp
    M src/syncmp_handler.cpp
    M src/utils/make_enum.hpp

  Log Message:
  -----------
  Fixed a bunch of log output and code comment typos

[ci skip]


  Commit: 9fd4b6ee7a8395eaf8b94b5061695ae4f327d868
      https://github.com/wesnoth/wesnoth/commit/9fd4b6ee7a8395eaf8b94b5061695ae4f327d868
  Author: kallaballa <amir at viel-zu.org>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/play_controller.hpp
    M src/playmp_controller.cpp
    M src/playmp_controller.hpp
    M src/playsingle_controller.cpp

  Log Message:
  -----------
  replaced recieve with receive


  Commit: 2337ef90c95b0047f6a28acb73cf7b378ed327c7
      https://github.com/wesnoth/wesnoth/commit/2337ef90c95b0047f6a28acb73cf7b378ed327c7
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/scripting/lua_kernel_base.cpp

  Log Message:
  -----------
  Fix wesnoth.print

Pass each parameter through Lua tostring() to convert to strings. This also allows meta-method tostring on userdata.

This aligns the operation of wesnoth print() to be closer to what a Lua programmer would expect from the normal Lua print() which is not available.

Closes Issue #2236


  Commit: d867a16b6371724676456baa9abc31fc4c8f35e6
      https://github.com/wesnoth/wesnoth/commit/d867a16b6371724676456baa9abc31fc4c8f35e6
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Fix typos in ad01dbd404e092e258fece5d1ad473fea1717d12


  Commit: 9f78f61d00add15fdf1d0e33808f2de053b03906
      https://github.com/wesnoth/wesnoth/commit/9f78f61d00add15fdf1d0e33808f2de053b03906
  Author: Nils Kneuper <crazy-ivanovic at gmx.net>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M utils/pofix.py

  Log Message:
  -----------
  fixed syntax error in pofix and "problem"

note: please do only enter "Part of the string", not the full strings.
The text in the po files is broken into parts and full strings, with
missing newlines, will not cause matches for the string.


  Commit: 106b80a3d2f7249fd4d27c01ea8866cb641e1cd6
      https://github.com/wesnoth/wesnoth/commit/106b80a3d2f7249fd4d27c01ea8866cb641e1cd6
  Author: Nils Kneuper <crazy-ivanovic at gmx.net>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M changelog
    M players_changelog
    M po/wesnoth-ai/es.po
    M po/wesnoth-aoi/es.po
    M po/wesnoth-dm/es.po
    M po/wesnoth-dw/es.po
    M po/wesnoth-httt/es.po
    M po/wesnoth-lib/es.po
    M po/wesnoth-manpages/es.po
    M po/wesnoth-sof/es.po
    M po/wesnoth-sota/es.po
    M po/wesnoth-tb/es.po
    M po/wesnoth-trow/es.po
    M po/wesnoth-tsg/es.po
    M po/wesnoth-tutorial/es.po
    M po/wesnoth-units/es.po
    M po/wesnoth-utbs/es.po
    M po/wesnoth/es.po

  Log Message:
  -----------
  updated Spanish translation


  Commit: 7c0de7612d3bf3a273ecb2bd4d3b95189c9b15bc
      https://github.com/wesnoth/wesnoth/commit/7c0de7612d3bf3a273ecb2bd4d3b95189c9b15bc
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_initialization/mp_game_utils.cpp

  Log Message:
  -----------
  MP Game Utils: formatting and minor code cleanup


  Commit: 16f947dd70de4de4fc21e6820335f5ad10a9fd4b
      https://github.com/wesnoth/wesnoth/commit/16f947dd70de4de4fc21e6820335f5ad10a9fd4b
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_initialization/create_engine.cpp
    M src/game_initialization/mp_game_utils.cpp
    M src/game_initialization/singleplayer.cpp
    M src/game_launcher.cpp
    M src/mp_game_settings.cpp
    M src/mp_game_settings.hpp
    M src/savegame.cpp

  Log Message:
  -----------
  MP Game Settings: removed show_connect member

Early in the 1.13 development cycle there used to be an option to show the mp_connect screen
(now mp_staging) before starting an SP campaign. That was scrapped and the only code that used
it (in the SP initialization process) commented it out. Since we're not going to restore it,
might as well remove this flag.

Also removes the one instance remaining of a "show_configure" flag. Pretty sure this might have
also been a relic from the same time as show_connect, but it looks like it was since removed.
SP now has a dedicated screen for configuring active modifications in SP, which was the only
reason to show the configure dialog anyway (plus the mp create and configure screens were combined
later in 1.13 anyway).


  Commit: 9ce2d886f185a83c56feefaaa099d759afcf9f1d
      https://github.com/wesnoth/wesnoth/commit/9ce2d886f185a83c56feefaaa099d759afcf9f1d
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_initialization/singleplayer.cpp
    M src/game_initialization/singleplayer.hpp
    M src/game_launcher.cpp

  Log Message:
  -----------
  Cleaned up SP initialization function parameters

As of f4584b6b722a9 the game_config isn't needed in SP initialization anymore, and
enter_connect_mode can be made to return void.


  Commit: bf3712c61d0665bdb28d8379249d7ae887b6c491
      https://github.com/wesnoth/wesnoth/commit/bf3712c61d0665bdb28d8379249d7ae887b6c491
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_initialization/create_engine.cpp
    M src/game_initialization/create_engine.hpp

  Log Message:
  -----------
  Create Engine: keep a member reference to the game config

Shortens the code slightly by avoiding continuously fetching it from the gc manager.


  Commit: 3a819a1dca5df53383a3c840cf8ec7450727b2b7
      https://github.com/wesnoth/wesnoth/commit/3a819a1dca5df53383a3c840cf8ec7450727b2b7
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/core/event/dispatcher.cpp
    M src/gui/core/event/dispatcher.hpp
    M src/gui/core/event/handler.cpp
    M src/gui/dialogs/multiplayer/lobby.cpp
    M src/gui/dialogs/title_screen.cpp
    M src/gui/widgets/window.cpp

  Log Message:
  -----------
  GUI2: changed hotkey callback return value to void

The bool retval was presumably meant to allow stopping execution of the main hotkey callbacks
if a local one was meant to take precedence. However, that wasn't used anywhere (all callbacks
were returning true) and the return value just meant we had to create lambdas or wrapper functions
everywhere. If necessary, we can re-add halt functionality later.

I did leave sdl_event_handler::hotkey_pressed returning a bool value, though, except now it signals
whether there was a valid dispatcher with which to execute the hotkey callback. This seemed reasonable
since we probably wouldn't want to continue if there were no dispatcher anyway, though this only has
any effect in the key_down handler.


  Commit: daab63e4b694adc85888bd0cd609ecef57f346f9
      https://github.com/wesnoth/wesnoth/commit/daab63e4b694adc85888bd0cd609ecef57f346f9
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/dialogs/title_screen.cpp
    M src/gui/dialogs/title_screen.hpp

  Log Message:
  -----------
  Title Screen: minor refactoring to button callback registering

* Removed window reference from callback function signature. Instead, bind (or capture)
  window reference when register_button is called.
* Moved long callbacks to their own functions.


  Commit: fbb4625faf5e73f3d4b209961a8672b2e8f66440
      https://github.com/wesnoth/wesnoth/commit/fbb4625faf5e73f3d4b209961a8672b2e8f66440
  Author: loonycyborg <loonycyborg at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/network_asio.cpp
    M src/network_asio.hpp

  Log Message:
  -----------
  Move asio streambufs in network_asio::connection into unique_ptrs

This is needed to properly reinitialize streambuf objects after cancel.
This prevents crash from issue #2203 but download after cancel still doesn't
work properly. More investigation needed.


  Commit: 9fcac991ef03ee69c3af1f4a6281287184afa1cc
      https://github.com/wesnoth/wesnoth/commit/9fcac991ef03ee69c3af1f4a6281287184afa1cc
  Author: mattsc <mattsc000 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Update Xcode project


  Commit: 4c9d5a66978f0ea7794f91a213c39563368ce025
      https://github.com/wesnoth/wesnoth/commit/4c9d5a66978f0ea7794f91a213c39563368ce025
  Author: pentarctagon <pentarctagon at tutamail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M .travis.yml
    M CMakeLists.txt
    M SConstruct
    M src/CMakeLists.txt
    M src/SConscript

  Log Message:
  -----------
  Make strict builds consistent between scons and cmake


  Commit: 3fce40c55d93bc31b29cc78e85e3c5379dd24f10
      https://github.com/wesnoth/wesnoth/commit/3fce40c55d93bc31b29cc78e85e3c5379dd24f10
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/dialogs/title_screen.cpp

  Log Message:
  -----------
  Fix compile errors

Not sure where these came from. I'm assuming the changes to have CMake and SCons be equally strict.

If so, I'm amazed this was all which popped up!


  Commit: 755caba9d3af4bd0be1b4d7176bf8d80e5c4a790
      https://github.com/wesnoth/wesnoth/commit/755caba9d3af4bd0be1b4d7176bf8d80e5c4a790
  Author: pentarctagon <pentarctagon at tutamail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M CMakeLists.txt
    M src/CMakeLists.txt

  Log Message:
  -----------
  Remove MSVC support from cmake.


  Commit: 3a99275611e882d4366f344470b0380dcce867c9
      https://github.com/wesnoth/wesnoth/commit/3a99275611e882d4366f344470b0380dcce867c9
  Author: pentarctagon <pentarctagon at tutamail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Remove ENABLE_TOOLS and ENABLE_SDL2_TOOLS from cmake.


  Commit: 869da27da2acd102b5c1f7b624721e0241f5053a
      https://github.com/wesnoth/wesnoth/commit/869da27da2acd102b5c1f7b624721e0241f5053a
  Author: doofus-01 <doofus-01 at users.noreply.github.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Under_the_Burning_Suns/images/units/monsters/demon-attack-1.png
    M data/campaigns/Under_the_Burning_Suns/images/units/monsters/demon-attack-2.png
    M data/campaigns/Under_the_Burning_Suns/images/units/monsters/demon-attack-3.png
    M data/campaigns/Under_the_Burning_Suns/images/units/monsters/demon-defend.png
    A data/campaigns/Under_the_Burning_Suns/images/units/monsters/demon-defend2.png
    M data/campaigns/Under_the_Burning_Suns/images/units/monsters/demon.png
    M data/campaigns/Under_the_Burning_Suns/units/monsters/Ixthala_Demon.cfg

  Log Message:
  -----------
  updating Ixthala Demon unit (#2240)


  Commit: 42d358c73d75428261e57571be305ece1b339a69
      https://github.com/wesnoth/wesnoth/commit/42d358c73d75428261e57571be305ece1b339a69
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/playmp_controller.cpp

  Log Message:
  -----------
  Stop explicitly redrawing in playmp_controller::play_human_turn()

Play_controller::play_slice() that the aforementioned function calls
redraws the game anyway. Calling redraw code from two places makes
profiling data harder to investigate.


  Commit: fecdeb140e1baf05aae7f0e4ad01298ff61936f2
      https://github.com/wesnoth/wesnoth/commit/fecdeb140e1baf05aae7f0e4ad01298ff61936f2
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M changelog
    M players_changelog
    M src/display.cpp
    M src/display.hpp
    M src/sdl/surface.hpp

  Log Message:
  -----------
  Miscellaneous optimizations in display::get_terrain_images()

* The vector of surfaces is now a class member variable instead of a local
variable. This saves a memory allocation every time the function is called
- which is worth it in this case, as the function is a major performance
bottleneck.

* The surfaces are now being moved instead of copied where possible. Turns
out that freeing a SDL surface is fairly expensive in performance-critical
code.

* Pointers to ToDs are now cached, reducing the number of calls to
get_time_of_day() from 37 to 7.

In a stress-test in Aetheryn's Mod at 50 % zoom, the FPS I was getting on
my PC (Intel Core i5-4430) increased from 16 to 23.


  Commit: bbdf9a99bfecae499fcea2722b4786356992a4fc
      https://github.com/wesnoth/wesnoth/commit/bbdf9a99bfecae499fcea2722b4786356992a4fc
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/core/event/dispatcher.cpp
    M src/gui/core/event/dispatcher.hpp
    M src/gui/core/event/handler.cpp

  Log Message:
  -----------
  Fixed regression in 8bf95ce69a9bd59 (fixes #2245)

I thought changing what the return value of sdl_event_handler::hotkey_pressed meant wouldn't
cause any regressions, but apparently I was wrong. This made it so certain key-down events
were never fired at all, meaning the associated keys could never be entered in a textbox.
Pretty serious!

I've restored the bool retval to dispatcher::execute_hotkey. It will return false if there's
no associated hotkey function (like before), and true otherwise. sdl_event_handler::hotkey_pressed
has also been reverted to return the value of that function.


  Commit: a8d9a9707c5aea711a019519530b4b72b73c9f33
      https://github.com/wesnoth/wesnoth/commit/a8d9a9707c5aea711a019519530b4b72b73c9f33
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_launcher.cpp
    M src/gui/dialogs/multiplayer/lobby.cpp
    M src/gui/dialogs/preferences_dialog.cpp
    M src/gui/dialogs/preferences_dialog.hpp
    M src/gui/dialogs/title_screen.cpp
    M src/hotkey/command_executor.cpp
    M src/preferences/general.cpp
    M src/preferences/general.hpp
    M src/sdl/point.hpp
    M src/video.cpp
    M src/video.hpp

  Log Message:
  -----------
  Cleaned up various areas of code related to setting window resolution

* Added a point ctor that takes an SDL_Point.
* Added a toggle_fullscreen function to CVideo.
* Change all management of resolution data to use point instead of std::pair<int, int>. This
  shortens the code considerably.
* Cleaned up preferences_dialog::set_resolution_list
* Made CVideo::set_resolution return a bool indicating whether resolution was changed.
* Swapped which of the two set_resolution overloads contains the main implementation.
* Moved the events::raise_resize_event() call when setting resolution to the CVideo function
  where it should have always been (instead of the prefs dialog callback). This is a pretty
  essential component and having it localized in one place meant any other area of the code
  that might have called set_resolution wouldn't have it.


  Commit: 28b880afe9e6bcac39bce962f644119bc80d73c5
      https://github.com/wesnoth/wesnoth/commit/28b880afe9e6bcac39bce962f644119bc80d73c5
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/core/event/dispatcher.cpp

  Log Message:
  -----------
  An year has less than 27 months


  Commit: 15a583819df1a64d870a397464f4c292044ce92e
      https://github.com/wesnoth/wesnoth/commit/15a583819df1a64d870a397464f4c292044ce92e
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/dialogs/preferences_dialog.cpp

  Log Message:
  -----------
  Fix a copy-paste mistake


  Commit: ad763997b76d3ecd1ecc9cbc041586353f37cdcf
      https://github.com/wesnoth/wesnoth/commit/ad763997b76d3ecd1ecc9cbc041586353f37cdcf
  Author: lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M projectfiles/VC12/wesnothd.vcxproj

  Log Message:
  -----------
  Update VC12 project for wesnothd

Drop the additional requirements for SDL2 libraries. Wesnothd no longer requires SDL2.


  Commit: 3b9d512e1986f1548a4467d2f49391537813816e
      https://github.com/wesnoth/wesnoth/commit/3b9d512e1986f1548a4467d2f49391537813816e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M source_lists/boost_unit_tests
    M src/tests/gui/test_save_dialog.cpp
    M src/tests/test_formula_ai.cpp
    R src/tests/utils/fake_event_source.cpp
    R src/tests/utils/fake_event_source.hpp
    R src/tests/utils/play_scenario.cpp
    R src/tests/utils/play_scenario.hpp

  Log Message:
  -----------
  Tests: removed empty files

These were emptied out when SDL 1.2 was removed (358bd1235f07d8d577). I seem to recall
someone saying it might be worth keeping them around in case something needed to be put
back, but it's been a year and a half. Not much worth in keeping empty files.


  Commit: 349e44affcafd01e38bbc066b0fd81301c445061
      https://github.com/wesnoth/wesnoth/commit/349e44affcafd01e38bbc066b0fd81301c445061
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M source_lists/boost_unit_tests
    R src/tests/gui/test_save_dialog.cpp

  Log Message:
  -----------
  Tests: removed another empty file I missed in c93aebb1debc

Its contents were also removed when SDL 1.2 was dropped.


  Commit: 2ada43c151e96e9f0ce855ca02de6286cb9505fe
      https://github.com/wesnoth/wesnoth/commit/2ada43c151e96e9f0ce855ca02de6286cb9505fe
  Author: Severin Glöckner <severin.gloeckner at stud.htwk-leipzig.de>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M CMakeLists.txt
    M SConstruct
    M changelog
    R icons/wesnoth-icon.png
    R icons/wesnoth.desktop
    A packaging/icons/hicolor/128x128/apps/wesnoth-icon.png
    A packaging/icons/hicolor/16x16/apps/wesnoth-icon.png
    A packaging/icons/hicolor/256x256/apps/wesnoth-icon.png
    A packaging/icons/hicolor/32x32/apps/wesnoth-icon.png
    A packaging/icons/hicolor/512x512/apps/wesnoth-icon.png
    A packaging/icons/hicolor/64x64/apps/wesnoth-icon.png
    A packaging/wesnoth.desktop

  Log Message:
  -----------
  desktop_entry: include high resolution icons

wesnoth-optipng has been applied to the new images


  Commit: 49b9961a6cec336439012eaa418e11c3f67fc79d
      https://github.com/wesnoth/wesnoth/commit/49b9961a6cec336439012eaa418e11c3f67fc79d
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/hotkey/command_executor.cpp
    M src/hotkey/command_executor.hpp

  Log Message:
  -----------
  Hotkey/Command Executor: removed get_video() member in favor of singleton

Also removed CVideo reference passed to make_screenshot() and its argument function, since the
reference is only used in the one specific screenshot() function anyway.


  Commit: 06a2a9b0013ce6a7e0131f1a5fd5fd6cfc61e15c
      https://github.com/wesnoth/wesnoth/commit/06a2a9b0013ce6a7e0131f1a5fd5fd6cfc61e15c
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/display.cpp
    M src/display.hpp

  Log Message:
  -----------
  Display: one (hopefully) significant optimization and one minor one

Copying the blit_helper objects when adding them to the drawing buffer was expensive since
blit_helper contains a vector of surfaces. We definitely want to copy that as little as
possible.

Also used std::move when fetching fog/shroud images. This function apparently has little
overhead, but still nice to not make copies here.

Also made get_terrain_images return void (this is just minor cleanup, not an optimization).
No need for it to return a reference to a class member.


  Commit: 73a684bf83434421bbeaff4f324b4feabda0f2a8
      https://github.com/wesnoth/wesnoth/commit/73a684bf83434421bbeaff4f324b4feabda0f2a8
  Author: Jeffrey 'Sigurd' Westcoat <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/core/macros/items.cfg

  Log Message:
  -----------
  Macros: Tweak sceptre damage for story reasons (#2220)

Sceptre (15x4) is now stronger than the uncut ruby of fire (14x4) for
regular mainline users Thursagan and Konard II. Level 3 Konrad & Li'sar
in HttT are still exceptional users of the sceptre (18x4 & 16x4).

>From discussions with zookeeper in irc.


  Commit: 2bc7c12cddea25270358f6a89f47b63e379eea12
      https://github.com/wesnoth/wesnoth/commit/2bc7c12cddea25270358f6a89f47b63e379eea12
  Author: mattsc <mattsc000 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/ai/micro_ais/engines/priority_target_engine.lua

  Log Message:
  -----------
  Protect Unit Micro AI: fix typo/bug in AI aspect change


  Commit: 6afee1f058b33ce608265ec43cb9485aec214fb6
      https://github.com/wesnoth/wesnoth/commit/6afee1f058b33ce608265ec43cb9485aec214fb6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/actions/advancement.cpp
    M src/actions/attack.cpp
    M src/actions/move.cpp
    M src/actions/undo.cpp
    M src/actions/unit_creator.cpp
    M src/editor/controller/editor_controller.cpp
    M src/editor/map/context_manager.cpp
    M src/game_display.cpp
    M src/menu_events.cpp
    M src/mouse_events.cpp
    M src/mouse_handler_base.cpp
    M src/play_controller.cpp
    M src/playmp_controller.cpp
    M src/playsingle_controller.cpp
    M src/replay_controller.cpp
    M src/units/udisplay.cpp

  Log Message:
  -----------
  Cleaned up unnecessary drawing calls

After testing, it seems these calls to raise_draw_event and display/game_display::draw()
were unnecessary - or at least, became unnecessary at some point. One or two are definitely
still needed, but removing these doesn't seem to cause anything to to glitch out. Likely
explanation is anything that needs updating just gets updated either immediately or on the
next play_slice loop.


  Commit: 44d13abb70669c14a5d63e3829a2b487da42a8e4
      https://github.com/wesnoth/wesnoth/commit/44d13abb70669c14a5d63e3829a2b487da42a8e4
  Author: lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M packaging/windows/wesnoth.rc
    M packaging/windows/wesnothd.rc

  Log Message:
  -----------
  Fix copyright defect and add missing icon


  Commit: 040764a98e4f0ac16f4c21c71f78feb58eada1a9
      https://github.com/wesnoth/wesnoth/commit/040764a98e4f0ac16f4c21c71f78feb58eada1a9
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/gui/widgets/window.cpp

  Log Message:
  -----------
  GUI2/Window: don't constantly send useless DRAW events to the queue

This is a small subset of a change made on accelerated_rendering. Essentially, since drawing
doesn't happen until events::pump is called, and that function also drops all but one DRAW
event from the queue, sending a DRAW event every 20 ms is just useless noise and excessive
CPU use.

There should be no change in the actual rate GUI2 dialogs are redrawn with this change.


  Commit: 282bcb479b48e55ffb6492274659a1b3d7c2e144
      https://github.com/wesnoth/wesnoth/commit/282bcb479b48e55ffb6492274659a1b3d7c2e144
  Author: sigurdfdragon <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Delfadors_Memoirs/scenarios/19_Showdown_in_the_Northern_Swamp.cfg

  Log Message:
  -----------
  DM S19: Rebalance scenario for a more exciting battle

1. Increases difficulty
2. Allows player and enemy to field more units


  Commit: 876b6f0819a3d7c4ae992429ffed455111ae170c
      https://github.com/wesnoth/wesnoth/commit/876b6f0819a3d7c4ae992429ffed455111ae170c
  Author: sigurdfdragon <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Delfadors_Memoirs/scenarios/19_Showdown_in_the_Northern_Swamp.cfg

  Log Message:
  -----------
  DM S19: Fix carryover report


  Commit: faefab50095c118bf1953696659e7e64806a3291
      https://github.com/wesnoth/wesnoth/commit/faefab50095c118bf1953696659e7e64806a3291
  Author: sigurdfdragon <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M changelog
    M players_changelog

  Log Message:
  -----------
  Update changelogs


  Commit: bd14e5fd18f8c7482825da6be735d7ef4a0f61d6
      https://github.com/wesnoth/wesnoth/commit/bd14e5fd18f8c7482825da6be735d7ef4a0f61d6
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/attack_prediction.cpp

  Log Message:
  -----------
  Fix #2251: possible crash when AI invokes attack prediction


  Commit: 15d3b4a714cb53d0a6bcc8b9777c35486400cffb
      https://github.com/wesnoth/wesnoth/commit/15d3b4a714cb53d0a6bcc8b9777c35486400cffb
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_events/handlers.cpp
    M src/game_events/handlers.hpp
    M src/game_events/manager.cpp
    M src/game_events/manager.hpp
    M src/game_events/manager_impl.cpp
    M src/game_events/manager_impl.hpp
    M src/game_events/pump.cpp
    R src/utils/smart_list.hpp

  Log Message:
  -----------
  Game Events: refactored event handler storage

This throws out the custom smart_list class in favor of a plain std::list. It also greatly simplifies
a few things. First, event handlers no longer remove themselves from the main list in event_handlers.
Now they just flag themselves as disabled (which means they will never execute once marked) and cleaned
up later in a newly added cleanup stage. This means a handler no longer needs to keep its index in the
active handler vector.

This removal of reliance on indices also means I could add the aforementioned cleanup stage. With the
smart_list code, event handlers were never actually removed from the active vector, nor any weak_ptrs
pointing to them removed either. This wasn't exactly a problem, since the handlers were stored via
shared_ptrs which would then simply be null after one deleted itself. Still, it's cleaner to drop any
invalid ones (and unlockable weak_ptrs) from any relevant containers. I've opted to do this in
manager::execute_on_events. Seems a good enough place as any.

The net result of this is the code is much cleaner. We're able to get rid of a bunch of unnecessary
feelers into various classes. This also makes the manager::iteration dereference code a lot easier
to understand. There certainly could be further refactoring, but I think this is a good start.


  Commit: 855a23a30c8913a83417ef0ef0e49a0b906c272d
      https://github.com/wesnoth/wesnoth/commit/855a23a30c8913a83417ef0ef0e49a0b906c272d
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_events/handlers.cpp

  Log Message:
  -----------
  Minor cleanup to 2045b6739e0f4e544

[ci skip]


  Commit: 0d7a7615c7f55dc419c8d5f5c500e1ab020e369b
      https://github.com/wesnoth/wesnoth/commit/0d7a7615c7f55dc419c8d5f5c500e1ab020e369b
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/font/text.cpp
    M src/serialization/string_view.hpp

  Log Message:
  -----------
  Eliminate use of string_view::at

We only use it in once place. At that point we can guarantee we stay in-bounds. So there is no need to use at() to check we remain in-bounds.

This eliminates a warning when building Debug for Windows (quieting Appveyor).

AI0886 had a similar issue building using GCC 6.3 on Boost 1.62

Reverting ca03818fa897a558d9ad5d9c3729404f5959029f and 0cbab6eeedff676a57191440c0b2b89b923bfaad since this changeset should correct both issues.


  Commit: c3e787bcfacda28b8ffb9bf9606f9be1f5368c6e
      https://github.com/wesnoth/wesnoth/commit/c3e787bcfacda28b8ffb9bf9606f9be1f5368c6e
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M join.lua

  Log Message:
  -----------
  Fix mp_tests

Don't know why it's not working but I can get it working by not performing the chat message.


  Commit: 72fba3f433506ba77ca2271d13f421184b7dc777
      https://github.com/wesnoth/wesnoth/commit/72fba3f433506ba77ca2271d13f421184b7dc777
  Author: Jyrki Vesterinen <sandgtx at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M utils/travis/mp_test_executor.sh

  Log Message:
  -----------
  Revert ignoring MP test failures due to video init failure (2e5c5da0036be2e68b42e70f3153b799236b5b69)

This code ended up ignoring *all* MP test failures, in particular the one
fixed in commit 11d7b9f0cfe29ab6d6b5829c8e337b7cb67eeb18.

I'd test the code and fix it if I could, but unfortunately I can no longer
develop on GNU/Linux because of PC issues (which I mentioned in Discord).
Therefore I'm just reverting the entire change.


  Commit: 99067b2ce91ba7f36c3cdf84efe12896fcbf6dd5
      https://github.com/wesnoth/wesnoth/commit/99067b2ce91ba7f36c3cdf84efe12896fcbf6dd5
  Author: Jeffrey 'Sigurd' Westcoat <jjwcoat at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Heir_To_The_Throne/scenarios/17_Scepter_of_Fire.cfg

  Log Message:
  -----------
  HttT S17: Fix lava issues (#2249)

1. Undo now works again in the scenario.
2. Lava now works again.
3. Triggering on a moveto event was not good, as several shorter moves
   would make rate of lava grow much faster than fewer longer moves.


  Commit: c338f4e2c447b6e1360e9c5c741444282f8cf53f
      https://github.com/wesnoth/wesnoth/commit/c338f4e2c447b6e1360e9c5c741444282f8cf53f
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Descent_Into_Darkness/scenarios/01_Saving_Parthyn.cfg

  Log Message:
  -----------
  DiD S01 Fix bug: Allow undo

Be consistent and allow undo on both sign posts.


  Commit: d1e60205d2385f63f409b944340e06174c0e13b0
      https://github.com/wesnoth/wesnoth/commit/d1e60205d2385f63f409b944340e06174c0e13b0
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Descent_Into_Darkness/scenarios/02_Peaceful_Valley.cfg

  Log Message:
  -----------
  DiD S02 Cannot undo

The first moveto to 15,11 also causes a capture, which sets some variables and creates some units. So allow_undo has no effect.


  Commit: 7128d033439cb28a2571b304c1d68337a34b4504
      https://github.com/wesnoth/wesnoth/commit/7128d033439cb28a2571b304c1d68337a34b4504
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Descent_Into_Darkness/scenarios/02_Peaceful_Valley.cfg

  Log Message:
  -----------
  DiD Remove variable artifacts


  Commit: 5efc55a314157e940633b06e25846f834e1a50b5
      https://github.com/wesnoth/wesnoth/commit/5efc55a314157e940633b06e25846f834e1a50b5
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Descent_Into_Darkness/scenarios/02_Peaceful_Valley.cfg

  Log Message:
  -----------
  DiD S02 Fix bug: Swamp only

Use a terrain filter to avoid triggering the Ghouls when ending in forest instead of swamp.


  Commit: 64d998e5ae37c202b1f02727fedbe4b901e676f6
      https://github.com/wesnoth/wesnoth/commit/64d998e5ae37c202b1f02727fedbe4b901e676f6
  Author: Gregory A Lundberg <gregory_lundberg at gmx.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M data/campaigns/Descent_Into_Darkness/scenarios/04_Beginning_of_the_Revenge.cfg

  Log Message:
  -----------
  DiD S04 Todo: Add snow

Lifted code from HttT to add snow coverage.


  Commit: c29ef75d531eb3f7e40c59554c1a4867bd456e90
      https://github.com/wesnoth/wesnoth/commit/c29ef75d531eb3f7e40c59554c1a4867bd456e90
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_events/handlers.cpp
    M src/game_events/manager_impl.cpp

  Log Message:
  -----------
  Game Events: fixed a few oversights in 056d7ac8f88c

* Fixed assertion failure when removing single-use custom events. Not actually something
  broken, I just forgot to add a "not already disabled" check when doing so since I added
  that assertion in event_handler::disable.
* Added a message to the aforementioned assertion.
* Ensure handler cleanup actually happens when removing custom events.
* Account for events with multiple names in cleanup.


  Commit: f6786aebef17667c577562f9b23480f167161471
      https://github.com/wesnoth/wesnoth/commit/f6786aebef17667c577562f9b23480f167161471
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_events/manager_impl.cpp

  Log Message:
  -----------
  Game Events: made use of some emplace_back when constructing handlers

And added a clarifying comment about types.


  Commit: bacf4f3860b2897a10508247bd4821af02010313
      https://github.com/wesnoth/wesnoth/commit/bacf4f3860b2897a10508247bd4821af02010313
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M src/game_events/handlers.cpp
    M src/game_events/handlers.hpp
    M src/game_events/manager_impl.cpp

  Log Message:
  -----------
  Game Events: ensure event names are properly standardized in the config

This ensures all names are always valid to use in by-name lookup and are stored consistently.

Also fixes a potential issue in 2c12d1328ba6. I should have called standardize_name on each
name entry in the cleanup phase like when done in the registration phase, but this commit
ensures that's not needed anymore.


  Commit: defb2dcecca9fa57b79d55bcd549672d7b9ef0cf
      https://github.com/wesnoth/wesnoth/commit/defb2dcecca9fa57b79d55bcd549672d7b9ef0cf
  Author: Wedge009 <wedge009 at wedge009.net>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M projectfiles/VC12/wesnoth.vcxproj
    M projectfiles/VC12/wesnoth.vcxproj.filters

  Log Message:
  -----------
  Remove header from VC project (deleted in 056d7ac8).

[ci skip]


Compare: https://github.com/wesnoth/wesnoth/compare/87939501afee...defb2dcecca9


More information about the Commits mailing list