This is a refactor to introduce an object encapsulating the unit map, the game map, and the list of teams. Introducing this object permits us to move a substantial amount of code out of the play_controller object, and also to give a home to some helper functions in unit.?pp that previously sat in the global namespace. It also allows us to simplify the construction of some of the clients of play_controller.
This refactor is ongoing WIP. The goals are
(1) better organize the architecture of the engine, to make saving and reloading easier.
(2) Facilitate the introduction of an improved pathfinding mechanism, which will need to sit between most of the other engine modules and the unit map / game map.
(3) Refactoring clarifies what the existing code is doing, therefore it may help us to find bugs in the current system, which may be fixed independently of the refactor in 1.12.
As the --timeout option for Wesnoth can stall the process, we replace it
by an encapsulation comparable to the Unix timeout function.
WindowsTimeout isn't limited to Wesnoth, it can in fact set a timeout for
any executable called through it.
An example on the use of these WinAPI functions can be found on
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682512.aspx
First, rerverted changes starting with commit
09b0aad1f8, the other commits were
just fixups to that. The, manually went through the resulting diff
and added/removed files which I know of or think they actually should
be added/removed. And, of course, compiled and linked.
The largest part of this consist of upgrading the boost and pango/cairo
libraries together with their dependencies, supporting files and
project settings. In addition, architecture, SDK and compiler options
are set to use the native versions of the given OS X version for debug
builds. The OS X deployment target is set to OS X 10.8, because of a
change in the default libraries used by OS X from 10.8 to 10.9.
For this to work, the resources in wesnoth_compile_mac_1.13.zip need
to be installed as well.
Some other settings, e.g. font defaults, still need to be adjusted.
This will be done in separate commits. Settings for release builds will
be changed later as well.
- Add the new files introduced by gfgtdf to the VC project.
- Fix the indentation of SConscript.
- Update the README files for Code Blocks and Visual Studio.