Merge branch 'master' of github.com:wesnoth/wesnoth

This commit is contained in:
Alexander van Gessel 2014-04-09 17:06:42 +02:00
commit 364a756b93
57 changed files with 681 additions and 452 deletions

View file

@ -1,11 +1,19 @@
Version 1.13.0-dev:
* AI:
* Messenger Escort Micro AI: new optional parameters [filter],
[filter_second] and invert_order=
* Messenger Escort Micro AI: bug fix for escort units blocking messenger's
progress
* Several Micro AIs: fix a variety of rarely occurring but serious bugs, such
as invalid savegames or disabling the AI from working for the rest of the
turn or after changing the Micro AI settings.
* Bug fix for requiring unnecessary keys for removal of several Micro AIs
* Fixed a bug that made it impossible to change or delete Micro AIs after a
game had been reloaded (bug #21750). This was a general bug in the RCA AI
mechanism and applied to other CAs as well, but it was most visible in the
Micro AIs.
* Messenger Micro AI: fix rare bug in attacks by messenger
* Patrol Micro AI: fixed bug in the attack part of this MAI
* Some internal reorganization of Micro AI code to facilitate customizing
MAIs for UMC and adding functionality from other versions of Wesnoth
* Campaigns:
* The Hammer of Thursagan:
* Fixed missing objective in 'The Court of Karrag'.
@ -54,7 +62,7 @@ Version 1.13.0-dev:
* Fix bug #21257: Lagging animations with skip AI animations and fog/shroud.
* Improved unicode handling on windows for characters outside the Basic
Multilingual Plane.
* Fix bug #3856: The turn dialog used in hotseat MP play now applies
* Fix bug #3856: The turn dialog used in hotseat MP play now applies
a blindfold for the duration of the dialog.
* Petrified units are no longer displayed in the "Damage versus" tooltip.
* Fix bug #21759: "timer refreshed too often when time runs out"
@ -63,12 +71,19 @@ Version 1.13.0-dev:
Fixes bug #21888.
* MP server now commits controller changes to the replay rather than updating
as we go along. Among other things these means that players that join an
scenario with ai sides which has already started won't have corrupted
controller types which would prevent them from successfully saving and
reloading in the future.
We have also moved all "controller tweaks" associated to the start of MP
scenario with ai sides which has already started won't have corrupted
controller types which would prevent them from successfully saving and
reloading in the future.
We have also moved all "controller tweaks" associated to the start of MP
games to server-side rather than having a mix of client and server code.
* Fixup user-displayed strings associated to replay options, idle state
* OS X: mark Wesnoth as not high-resolution capable. This greatly improves
performance on retina devices.
* Upgrade Xcode project to enable both i386 and x86_64 builds
* Fixed problems with idle controller type in networked mp.
* Fix bug 21459 by making dropped sides default to idle.
* Fix bug 21882 by introducing "fight_on_without_leader" boolean attribute
of [side] tags and refactoring check_victory to use this.
Version 1.11.11:
* Add-ons server:

View file

@ -1,7 +1,7 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local LS = wesnoth.require "lua/location_set.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local ca_big_animals = {}

View file

@ -2,7 +2,7 @@ local H = wesnoth.require "lua/helper.lua"
local LS = wesnoth.require "lua/location_set.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local BC = wesnoth.require "ai/lua/battle_calcs.lua"
local MAISD = wesnoth.dofile "ai/micro_ais/micro_ai_self_data.lua"
local MAISD = wesnoth.require "ai/micro_ais/micro_ai_self_data.lua"
local ca_bottleneck_move = {}

View file

@ -2,8 +2,8 @@ local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local BC = wesnoth.require "ai/lua/battle_calcs.lua"
local LS = wesnoth.require "lua/location_set.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAISD = wesnoth.dofile "ai/micro_ais/micro_ai_self_data.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local MAISD = wesnoth.require "ai/micro_ais/micro_ai_self_data.lua"
local ca_goto = {}

View file

@ -1,8 +1,8 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local LS = wesnoth.require "lua/location_set.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAISD = wesnoth.dofile "ai/micro_ais/micro_ai_self_data.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local MAISD = wesnoth.require "ai/micro_ais/micro_ai_self_data.lua"
local ca_hang_out = {}

View file

@ -1,10 +1,10 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local ca_herding_herd_sheep = {}
local herding_area = wesnoth.require "ai/micro_ais/cas/ca_herding_f_herding_area.lua"
local ca_herding_herd_sheep = {}
function ca_herding_herd_sheep:evaluation(ai, cfg)
-- If dogs have moves left, and there is a sheep with moves left outside the
-- herding area, chase it back

View file

@ -2,10 +2,10 @@ local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local LS = wesnoth.require "lua/location_set.lua"
local ca_herding_sheep_move = {}
local herding_area = wesnoth.require "ai/micro_ais/cas/ca_herding_f_herding_area.lua"
local ca_herding_sheep_move = {}
function ca_herding_sheep_move:evaluation(ai, cfg)
-- If nothing else is to be done, the sheep do a random move
local sheep = wesnoth.get_units { side = wesnoth.current.side, {"and", cfg.filter_second}, formula = '$this_unit.moves > 0' }

View file

@ -1,7 +1,7 @@
local H = wesnoth.require "lua/helper.lua"
local W = H.set_wml_action_metatable {}
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local ca_hunter = {}

View file

@ -1,10 +1,10 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local ca_messenger_attack = {}
local messenger_next_waypoint = wesnoth.require "ai/micro_ais/cas/ca_messenger_f_next_waypoint.lua"
local ca_messenger_attack = {}
local function messenger_find_enemies_in_way(unit, goal_x, goal_y)
-- Returns the first unit on or next to the path of the messenger
-- unit: proxy table for the messenger unit

View file

@ -1,12 +1,12 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local LS = wesnoth.require "lua/location_set.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local ca_messenger_escort_move = {}
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local messenger_next_waypoint = wesnoth.require "ai/micro_ais/cas/ca_messenger_f_next_waypoint.lua"
local ca_messenger_escort_move = {}
function ca_messenger_escort_move:evaluation(ai, cfg)
-- Move escort units close to messengers, and in between messengers and enemies
-- The messengers have moved at this time, so we don't need to exclude them,

View file

@ -1,6 +1,6 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
return function(cfg)
-- Calculate next waypoint and rating for all messengers

View file

@ -1,10 +1,10 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local ca_messenger_move = {}
local messenger_next_waypoint = wesnoth.require "ai/micro_ais/cas/ca_messenger_f_next_waypoint.lua"
local ca_messenger_move = {}
function ca_messenger_move:evaluation(ai, cfg)
-- Move the messenger toward goal, attack adjacent unit if possible
-- without retaliation or little expected damage with high chance of killing the enemy

View file

@ -1,6 +1,6 @@
local H = wesnoth.require "lua/helper.lua"
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local ca_patrol = {}

View file

@ -1,7 +1,7 @@
local H = wesnoth.require "lua/helper.lua"
local W = H.set_wml_action_metatable {}
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local LS = wesnoth.require "lua/location_set.lua"
local WMPF = wesnoth.require "ai/micro_ais/cas/ca_wolves_multipacks_functions.lua"

View file

@ -1,6 +1,6 @@
local H = wesnoth.require "lua/helper.lua"
local W = H.set_wml_action_metatable {}
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local wolves_multipacks_functions = {}

View file

@ -1,7 +1,7 @@
local H = wesnoth.require "lua/helper.lua"
local W = H.set_wml_action_metatable {}
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local LS = wesnoth.require "lua/location_set.lua"
local WMPF = wesnoth.require "ai/micro_ais/cas/ca_wolves_multipacks_functions.lua"

View file

@ -1,7 +1,7 @@
local H = wesnoth.require "lua/helper.lua"
local W = H.set_wml_action_metatable {}
local AH = wesnoth.require("ai/lua/ai_helper.lua")
local MAIUV = wesnoth.dofile "ai/micro_ais/micro_ai_unit_variables.lua"
local MAIUV = wesnoth.require "ai/micro_ais/micro_ai_unit_variables.lua"
local micro_ai_helper = {}

View file

@ -22,10 +22,12 @@ Version 1.13.0-dev:
* Fixed halos glitching through locations that become shrouded after the
halo is rendered for the first time.
* OS X user data directory is now ~/Library/Application Support/Wesnoth_1.13
* Fix bug #3856: The turn dialog used in hotseat MP play now applies
* Fix bug #3856: The turn dialog used in hotseat MP play now applies
a blindfold for the duration of the dialog.
* Use a dropdown menu for both "skip replay" and "enter blindfold".
* Use a dropdown menu for both "skip replay" and "enter blindfold".
This fixes the mp lobby in width <= 800 resolutions. (Fix #21888.)
* OS X: mark Wesnoth as not high-resolution capable. This greatly improves
performance on retina devices.
Version 1.11.11:
* Campaigns:

View file

@ -64,8 +64,8 @@ Compiling Wesnoth on Windows using CodeBlocks
time, making the overall build process very slow even with fast hardware.
If you have a multi-core processor, you may make better use of its power by
increasing the value of the option "Number of processes for parallel
builds" in the Build options tab. It is recommended to set this to at least
the number of CPU cores your system has.
builds" in the Build options tab. It is recommended to set this to the
number of CPU cores your system has.
10. Close the settings dialog.

View file

@ -208,6 +208,8 @@
<Unit filename="..\..\src\commandline_options.hpp" />
<Unit filename="..\..\src\config.cpp" />
<Unit filename="..\..\src\config.hpp" />
<Unit filename="..\..\src\config_assign.cpp" />
<Unit filename="..\..\src\config_assign.hpp" />
<Unit filename="..\..\src\config_cache.cpp" />
<Unit filename="..\..\src\config_cache.hpp" />
<Unit filename="..\..\src\construct_dialog.cpp" />
@ -862,15 +864,22 @@
<Unit filename="..\..\src\race.hpp" />
<Unit filename="..\..\src\random.cpp" />
<Unit filename="..\..\src\random.hpp" />
<Unit filename="..\..\src\random_new.cpp" />
<Unit filename="..\..\src\random_new.hpp" />
<Unit filename="..\..\src\random_new_deterministic.cpp" />
<Unit filename="..\..\src\random_new_deterministic.hpp" />
<Unit filename="..\..\src\random_new_synced.cpp" />
<Unit filename="..\..\src\random_new_synced.hpp" />
<Unit filename="..\..\src\replay.cpp" />
<Unit filename="..\..\src\replay.hpp" />
<Unit filename="..\..\src\replay_helper.cpp" />
<Unit filename="..\..\src\replay_helper.hpp" />
<Unit filename="..\..\src\replay_controller.cpp" />
<Unit filename="..\..\src\replay_controller.hpp" />
<Unit filename="..\..\src\reports.cpp" />
<Unit filename="..\..\src\reports.hpp" />
<Unit filename="..\..\src\resources.cpp" />
<Unit filename="..\..\src\resources.hpp" />
<Unit filename="..\..\src\rng.hpp" />
<Unit filename="..\..\src\save_blocker.cpp" />
<Unit filename="..\..\src\save_blocker.hpp" />
<Unit filename="..\..\src\savegame.cpp" />
@ -888,6 +897,8 @@
<Unit filename="..\..\src\sdl\alpha.cpp" />
<Unit filename="..\..\src\sdl\alpha.hpp" />
<Unit filename="..\..\src\sdl\compat.hpp" />
<Unit filename="..\..\src\sdl\exception.cpp" />
<Unit filename="..\..\src\sdl\exception.hpp" />
<Unit filename="..\..\src\sdl_utils.cpp" />
<Unit filename="..\..\src\sdl_utils.hpp" />
<Unit filename="..\..\src\serialization\binary_or_text.cpp" />
@ -916,6 +927,7 @@
<Unit filename="..\..\src\side_filter.cpp" />
<Unit filename="..\..\src\side_filter.hpp" />
<Unit filename="..\..\src\simple_rng.hpp" />
<Unit filename="..\..\src\simple_rng.cpp" />
<Unit filename="..\..\src\sound.cpp" />
<Unit filename="..\..\src\sound.hpp" />
<Unit filename="..\..\src\sound_music_track.cpp" />
@ -936,6 +948,12 @@
<Unit filename="..\..\src\storyscreen\render.hpp" />
<Unit filename="..\..\src\strftime.cpp" />
<Unit filename="..\..\src\strftime.hpp" />
<Unit filename="..\..\src\synced_checkup.cpp" />
<Unit filename="..\..\src\synced_checkup.hpp" />
<Unit filename="..\..\src\synced_commands.cpp" />
<Unit filename="..\..\src\synced_commands.hpp" />
<Unit filename="..\..\src\synced_context.cpp" />
<Unit filename="..\..\src\synced_context.hpp" />
<Unit filename="..\..\src\team.cpp" />
<Unit filename="..\..\src\team.hpp" />
<Unit filename="..\..\src\terrain.cpp" />

View file

@ -1,16 +1,13 @@
README.txt
==========
NEW WAY (updating the VC9 project file):
Please refer to the guide on wiki.wesnoth.org
http://wiki.wesnoth.org/CompilingWesnothOnWindows#Visual_Studio_2010_and_later
update 19.06.2013
Newer package versions for using a standalone project file can be downloaded from
http://sourceforge.net/projects/wesnoth/files/unofficial/Windows%20Compile%20Stuff/
They contain the usual needed headers/libs/dlls combination; the exact directory
names may be different, so you need to adapt your settings in MSVC which
reference them. Since dependencies may be added to wesnoth, older packages
may no longer work after some spot.
==========
NEW WAY (using cmake):
OLD WAY (using cmake):
Wesnoth 1.9 (since r41888) and branches/1.8 (since r42011)
can be compiled using cmake+msvc9
@ -31,279 +28,3 @@ can be compiled using cmake+msvc9
7. open generated project file in msvc9 and compile. the project should
pick up changes in cmake files automatically. Also, you can re-run the
.bat file to regenerate it.
==========
OLD WAY (using a standalone project file):
This is a HowTo guide to help setting up MSVC 2008 (aka VC9) to
compile Wesnoth.
The guide was written before the transition from svn to git.
1. If you haven't already, install MSVC 2008
2. Download and install TortoiseSVN if you intend on building from
the WesnothSVN:
http://tortoisesvn.net/downloads
Otherwise skip this step.
3. To download the trunk or a branch from the WesnothSVN follow the
instructions here:
http://www.wesnoth.org/wiki/SVN_on_Windows
Alternatively get the source code from here:
http://www.wesnoth.org/wiki/Download
For convenience we'll assume that the target folder is:
C:\projects\wesnoth\trunk
4. In order to prevent extensive manual modifications to the
wesnoth.vcproj and wesnothd.vcproj files, we'll set up two
'General Folders' for libraries and includes to store most of
the prerequisites. (Otherwise each configuration setting for
each project would need to have each and every 'lib' and
'include' folder added.)
C:\projects\_include
C:\projects\_lib
5. We'll now start downloading and compiling/copying the
prerequisites into the necessary folders:
5a. >=zlib-1.2.3 ( http://www.zlib.net/ )
Download the zlib source code
zlib123.zip
and unpack it into the projects folder to get:
C:\projects\zlib123\
Open the file zlib.dsw in the folder
C:\projects\zlib123\projects\visualc6\
with MSVC and select 'Yes To All' to convert it into a VC9 project.
Open the properties of the 'zlib' solution and in the
'Configuration Properties' select the 'DLL Release'
'Configuration'. Select 'OK' and then right-click the 'zlib'
project and select 'Build'. After a successful Build, close that
instance of MSVC.
5b. >=libsdl-1.2.7 ( http://www.libsdl.org )
Download the development library file for Win32 as well as the
source code
SDL-1.2.13.zip
SDL-devel-1.2.13-VC8.zip
and unpack them into the projects folder to get:
C:\projects\SDL-1.2.13\
Copy the 'SDL.dll' and the 'SDL.lib' from the 'lib' folder
and the contents of 'include' folder into the corresponding
'General Folder' ( ...\_include\ resp. ...\_lib\ ).
Unpack the 'VisualC.zip' and open the 'SDL.sln' file with MSVC.
Follow the instructions to convert the project to VC9.
Right-click the 'SDLmain' project and select 'Build'. After a
successful Build, close that instance of MSVC.
Copy 'SDLmain.lib' from
C:\projects\SDL-1.2.13\VisualC\SDLmain\Debug
into the 'lib' 'General Folder'.
5c. >=libboost-1.33.0 ( http://www.boost.org/ )
Download Boost and unpack it into the folder
C:\projects\
This should give you a folder structure like
C:\projects\boost_1_38_0\
Download the pre-built bjam executable
boost-jam-3.1.17-1-ntx86.zip
from the bjam download page on sourceforge
http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941
and unpack and move the bjam executable it into the base folder
of boost
C:\projects\boost_1_38_0\
Now start the command prompt (CMD.exe) and invoke the following
commands:
C:\> set ZLIB_SOURCE=C:\projects\zlib123\
C:\> set ZLIB_LIBPATH=C:\projects\zlib123\projects\visualc6\Win32_DLL_Release
C:\> set ZLIB_BINARY=zlib1.dll
C:\> cd C:\projects\boost_1_38_0
C:\projects\boost_1_38_0> bjam ^
More? --toolset=msvc ^
More? --build-type=complete ^
More? --prefix="C:\projects\Boost\" install
If the upper last command doesn't work, replace the last line with:
--prefix="C:\projects\Boost" install
Now bjam will compile all variants of the boost library binaries
for MSVC 2008 and copies them into the folder
C:\projects\Boost\lib\
while all required headers are copied into
C:\projects\Boost\include\boost-1_38\boost
Use the time bjam is busy compiling (possibly several hours) as
you wish. (It is possible to continue downloading and copying
the include and lib files since all required compiling is done.)
Once bjam has finished building/copying, you then can delete
the folder
C:\projects\boost_1_38_0\
to free up space.
5d. >=sdl-image-1.2 (with PNG support)
( http://www.libsdl.org/projects/SDL_image )
Download the binary file for Win32
SDL_image-devel-1.2.7-VC9.zip
and unpack it into the projects folder to get:
C:\projects\SDL_image-1.2.7\
Copy the contents of each the 'lib' and the 'include' folder
into the corresponding 'General Folder'.
5e. >=sdl-mixer-1.2 (with Vorbis support)
( http://www.libsdl.org/projects/SDL_mixer )
Download the binary file for Win32
SDL_mixer-devel-1.2.8-VC8.zip
and unpack it into the projects folder to get:
C:\projects\SDL_mixer-1.2.8\
Copy the contents of each the 'lib' and the 'include' folder
into the corresponding 'General Folder'.
5f. >=sdl-net-1.2 ( http://www.libsdl.org/projects/SDL_net )
Download the binary file for Win32
SDL_net-devel-1.2.7-VC8.zip
and unpack it into the projects folder to get:
C:\projects\SDL_net-1.2.7\
Copy the contents of each the 'lib' and the 'include' folder
into the corresponding 'General Folder'.
5g. >=sdl-ttf-2.0.8 ( http://www.libsdl.org/projects/SDL_ttf )
Download the binary file for Win32
SDL_ttf-devel-2.0.9-VC8.zip
and unpack it into the projects folder to get:
C:\projects\SDL_ttf-2.0.9\
Copy the contents of each the 'lib' and the 'include' folder
into the corresponding 'General Folder'.
5h. >=libintl-0.14.4
( http://gnuwin32.sourceforge.net/packages/gettext.htm )
Download the 'Binaries', 'Dependencies' and the
'Developer files'
gettext-0.14.4-bin.zip
gettext-0.14.4-dep.zip
gettext-0.14.4-lib.zip
and unpack them all into the projects folder to get:
C:\projects\gettext-0.14.4\
Copy the contents of each the 'lib' and the 'include' folder
into the corresponding 'General Folder'.
Copy all dll's from the 'bin' folder into the '_lib'
'General Folder'.
5i. >=libfontconfig-2.4.1
( http://www.gtk.org/download-windows.html )
Download the 'Fontconfig' package 'Binaries' from the
'Third Party Dependencies'
fontconfig-2.4.2-tml-20071015.zip
and unpack it into the projects folder to get:
C:\projects\fontconfig-2.4.2\
Copy the 'libfontconfig-1.dll' from the 'bin' folder into the
'lib' 'General Folder'.
5j. >=lua-5.1.4 ( http://luabinaries.luaforge.net/download.html )
Download the 'Windows x86 DLL and Includes (Visual C++ 2005
Compatible)'
lua5_1_4_Win32_dll8_lib.zip
and unpack it into the projects folder to get:
C:\projects\lua-5.1.4\
Copy the dll's and the lib's into the 'lib' 'General Folder' and
the content of the 'include' folder into the corresponding '
General Folder'.
5k. >=pangocairo-1.24.4 ( http://www.gtk.org/download-windows.html )
Download the following 'Binaryies' and 'Dev' packages from the
'GTK+ individual packages'
cairo_1.8.6-1_win32.zip
cairo-dev_1.8.6-1_win32.zip
glib_2.20.0-1_win32.zip
glib-dev_2.20.0-1_win32.zip
pango_1.24.0-1_win32.zip
pango-dev_1.24.0-1_win32.zip
and unpack them into the projects folder to get:
C:\projects\pangocairo\
Copy all dll's from the 'bin' folder into the '_lib'
'General Folder'.
Copy the contents (but not the subfolders) of the 'lib' folder
into the corresponding 'General Folder'.
Copy the 'glibconfig.h' file from
C:\projects\pangocairo\lib\glib-2.0\include into the '_include'
'General Folder'.
Copy the contens (including subfolders) of the following folders
into the '_include' 'General Folder':
C:\projects\pangocairo\include\cairo
C:\projects\pangocairo\include\glib-2.0
C:\projects\pangocairo\include\pango-1.0
6. MSVC needs to find all needed includes and libraries, so open
Tools --> Options --> Projects and Solutions
--> VC++ Directories
In the 'Include file' directories add:
C:\projects\_include
C:\projects\Boost\include\boost-1_38\
In the 'Library files' directories add:
C:\projects\_lib
C:\projects\Boost\lib\
And to be able to launch wesnoth.exe and wesnothd.exe from
within MSVC, we'll need to add the 'C:\projects\_lib' folder
to windows PATH environment variable:
Start the CMD.exe and type in the following command (adjusted
to your own folder-structure!) and press enter.
C:\> path = %PATH%;C:\projects\_lib
Note that it is recommended to restart windows now in order to
prevent issues with the compiled executables not finding
required dll's.
7. Open the 'wesnoth.sln' file in the
C:\projects\wesnoth\trunk\projectfiles\VC9
folder with MSVC.
You are now ready to build wesnoth and wesnothd with MSVC.

View file

@ -20182,6 +20182,30 @@
RelativePath="..\..\src\random.hpp"
>
</File>
<File
RelativePath="..\..\src\random_new.cpp"
>
</File>
<File
RelativePath="..\..\src\random_new.hpp"
>
</File>
<File
RelativePath="..\..\src\random_new_deterministic.cpp"
>
</File>
<File
RelativePath="..\..\src\random_new_deterministic.hpp"
>
</File>
<File
RelativePath="..\..\src\random_new_synced.cpp"
>
</File>
<File
RelativePath="..\..\src\random_new_synced.hpp"
>
</File>
<File
RelativePath="..\..\src\replay.cpp"
>
@ -20190,6 +20214,14 @@
RelativePath="..\..\src\replay.hpp"
>
</File>
<File
RelativePath="..\..\src\replay_helper.cpp"
>
</File>
<File
RelativePath="..\..\src\replay_helper.hpp"
>
</File>
<File
RelativePath="..\..\src\replay_controller.cpp"
>
@ -20286,10 +20318,6 @@
RelativePath="..\..\src\side_filter.hpp"
>
</File>
<File
RelativePath="..\..\src\simple_rng.hpp"
>
</File>
<File
RelativePath="..\..\src\sound.cpp"
>
@ -20338,6 +20366,30 @@
RelativePath="..\..\src\strftime.hpp"
>
</File>
<File
RelativePath="..\..\src\synced_checkup.hpp"
>
</File>
<File
RelativePath="..\..\src\synced_checkup.cpp"
>
</File>
<File
RelativePath="..\..\src\synced_context.hpp"
>
</File>
<File
RelativePath="..\..\src\synced_context.cpp"
>
</File>
<File
RelativePath="..\..\src\synced_commands.hpp"
>
</File>
<File
RelativePath="..\..\src\synced_commands.cpp"
>
</File>
<File
RelativePath="..\..\src\team.cpp"
>

View file

@ -381,6 +381,14 @@
RelativePath="..\..\src\config.hpp"
>
</File>
<File
RelativePath="..\..\src\config_assign.cpp"
>
</File>
<File
RelativePath="..\..\src\config_assign.hpp"
>
</File>
<File
RelativePath="..\..\src\filesystem.cpp"
>
@ -441,6 +449,14 @@
RelativePath="..\..\src\network_worker.hpp"
>
</File>
<File
RelativePath="..\..\src\simple_rng.cpp"
>
</File>
<File
RelativePath="..\..\src\simple_rng.hpp"
>
</File>
<File
RelativePath="..\..\src\scoped_resource.hpp"
>

View file

@ -58,11 +58,18 @@ static char **gArgv;
/* This makes SDL give events to Cocoa, so it can handle things like command+h to hide, etc. */
setenv ("SDL_ENABLEAPPEVENTS", "1", 1);
setenv ("SDL_VIDEO_ALLOW_SCREENSAVER", "1", 1);
/* Set config files for pango and fontconfig, so the data they need can be found */
setenv ("PANGO_RC_FILE", "./pangorc", 1);
setenv ("PANGO_SYSCONFDIR", ".", 1);
setenv ("PANGO_LIBDIR", ".", 1);
setenv ("FONTCONFIG_PATH", ".", 1);
setenv ("FONTCONFIG_FILE", "fonts.conf", 1);
int status;
/* Set the working directory to the .app's Resources directory */
chdir([[[NSBundle mainBundle] resourcePath] fileSystemRepresentation]);
//setenv("PYTHONHOME", ".", 1); //not needed because we don't use Python anymore
/* Hand off to main application code */
@ -82,7 +89,7 @@ int main (int argc, char **argv)
{
/* Copy the arguments into a global variable */
int i;
/* This is passed if we are launched by double-clicking */
if (argc >= 2 && strncmp (argv[1], "-psn", 4) == 0)
{

View file

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4514" systemVersion="13C64" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5053" systemVersion="13C64" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment version="1050" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4514"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5053"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication"/>
@ -143,7 +143,7 @@
<autoresizingMask key="autoresizingMask"/>
<clipView key="contentView" id="e1k-1y-EyP">
<rect key="frame" x="1" y="1" width="418" height="378"/>
<autoresizingMask key="autoresizingMask"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textView editable="NO" importsGraphics="NO" findStyle="panel" continuousSpellChecking="YES" usesRuler="YES" usesFontPanel="YES" verticallyResizable="YES" spellingCorrection="YES" smartInsertDelete="YES" id="492">
<rect key="frame" x="0.0" y="0.0" width="418" height="4248"/>
@ -4542,4 +4542,4 @@ Cg
</view>
</window>
</objects>
</document>
</document>

View file

@ -0,0 +1,155 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<!--
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
LOCAL CHANGES BELONG IN 'local.conf'.
The intent of this standard configuration file is to be adequate for
most environments. If you have a reasonably normal environment and
have found problems with this configuration, they are probably
things that others will also want fixed. Please submit any
problems to the fontconfig bugzilla system located at fontconfig.org
Note that the normal 'make install' procedure for fontconfig is to
replace any existing fonts.conf file with the new version. Place
any local customizations in local.conf which this file references.
Keith Packard
-->
<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/X11/lib/X11/fonts</dir> <dir>/opt/local/share/fonts</dir> <dir>/Library/Fonts</dir> <dir>/Network/Library/Fonts</dir> <dir>/System/Library/Fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
<!--
Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>monospace</string>
</edit>
</match>
<!--
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<!--
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<!--
Load local system customization file
-->
<include ignore_missing="yes">conf.d</include>
<!-- Font cache directory list -->
<cachedir>/opt/local/var/cache/fontconfig</cachedir>
<cachedir prefix="xdg">fontconfig</cachedir>
<!-- the following element will be removed in the future -->
<cachedir>~/.fontconfig</cachedir>
<config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
<blank>
<int>0x0020</int> <!-- SPACE -->
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
<int>0x00AD</int> <!-- SOFT HYPHEN -->
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
<int>0x2000</int> <!-- EN QUAD -->
<int>0x2001</int> <!-- EM QUAD -->
<int>0x2002</int> <!-- EN SPACE -->
<int>0x2003</int> <!-- EM SPACE -->
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
<int>0x2007</int> <!-- FIGURE SPACE -->
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
<int>0x2009</int> <!-- THIN SPACE -->
<int>0x200A</int> <!-- HAIR SPACE -->
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
<int>0x2028</int> <!-- LINE SEPARATOR -->
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
<int>0x2060</int> <!-- WORD JOINER -->
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
<int>0x2062</int> <!-- INVISIBLE TIMES -->
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
<int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
<int>0x3164</int> <!-- HANGUL FILLER -->
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig>

View file

@ -1,7 +0,0 @@
"DejaVu Sans" = "Arial Unicode MS,DejaVu Sans"
"WenQuanYi Zen Hei" = "arial unicode ms,WenQuanYi Zen Hei"
# sans = "lucida sans unicode,microsoft sans serif,mingliu,simhei,gulimche,ms gothic,latha,mangal,code2000"
sans = "dejavu sans,arial,mingliu,simhei,gulimche,ms gothic,latha,mangal,code2000"
serif = "times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,latha,mangal,code2000"
monospace = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,latha,mangal,code2000"

View file

@ -1,25 +1,17 @@
# Pango Modules file
# Automatically generated file, do not edit
#
# ModulesPath = ./pango/1.6.0/modules
#
./pango/1.6.0/modules/pango-arabic-fc.so ArabicScriptEngineFc PangoEngineShape PangoRenderFc arabic:* nko:*
./pango/1.6.0/modules/pango-arabic-lang.so ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
./pango/1.6.0/modules/pango-basic-atsui.so BasicScriptEngineATSUI PangoEngineShape PangoRenderATSUI common:
./pango/1.6.0/modules/pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc latin:* cyrillic:* greek:* armenian:* georgian:* runic:* ogham:* bopomofo:* cherokee:* coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* old-italic:* canadian-aboriginal:* yi:* braille:* cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* phoenician:* common:
./pango/1.6.0/modules/pango-hangul-fc.so HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:*
./pango/1.6.0/modules/pango-hebrew-fc.so HebrewScriptEngineFc PangoEngineShape PangoRenderFc hebrew:*
./pango/1.6.0/modules/pango-indic-lang.so devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
./pango/1.6.0/modules/pango-indic-lang.so bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
./pango/1.6.0/modules/pango-indic-lang.so guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
./pango/1.6.0/modules/pango-indic-lang.so gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:*
./pango/1.6.0/modules/pango-indic-lang.so oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:*
./pango/1.6.0/modules/pango-indic-lang.so tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:*
./pango/1.6.0/modules/pango-indic-lang.so teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:*
./pango/1.6.0/modules/pango-indic-lang.so kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
./pango/1.6.0/modules/pango-indic-lang.so mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
./pango/1.6.0/modules/pango-indic-lang.so sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*
./pango/1.6.0/modules/pango-khmer-fc.so KhmerScriptEngineFc PangoEngineShape PangoRenderFc khmer:*
./pango/1.6.0/modules/pango-syriac-fc.so SyriacScriptEngineFc PangoEngineShape PangoRenderFc syriac:*
./pango/1.6.0/modules/pango-thai-fc.so ThaiScriptEngineFc PangoEngineShape PangoRenderFc thai:* lao:*
./pango/1.6.0/modules/pango-tibetan-fc.so TibetanScriptEngineFc PangoEngineShape PangoRenderFc tibetan:*
pango-arabic-lang.so ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
pango-basic-coretext.so BasicScriptEngineCoreText PangoEngineShape PangoRenderCoreText common:
pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc common:
pango-indic-lang.so devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
pango-indic-lang.so bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
pango-indic-lang.so guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
pango-indic-lang.so gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:*
pango-indic-lang.so oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:*
pango-indic-lang.so tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:*
pango-indic-lang.so teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:*
pango-indic-lang.so kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
pango-indic-lang.so mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
pango-indic-lang.so sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*

View file

@ -0,0 +1,8 @@
#
# pangorc file for uninstalled operation.
# We set the path as ../modules, such that it works from any of
# top level build subdirs.
#
[Pango]
ModuleFiles = ./pango.modules

View file

@ -112,13 +112,10 @@
B508D20E100155F300B12852 /* vertical_scrollbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B508D1F9100155F300B12852 /* vertical_scrollbar.cpp */; };
B508D2161001560100B12852 /* stacked_widget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B508D2141001560100B12852 /* stacked_widget.cpp */; };
B508D2171001560100B12852 /* stacked_widget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B508D2141001560100B12852 /* stacked_widget.cpp */; };
B513B1E40ED345EB0006E551 /* pango.aliases in Resources */ = {isa = PBXBuildFile; fileRef = B513B1C50ED345EA0006E551 /* pango.aliases */; };
B513B1E70ED345EB0006E551 /* pango.modules in Resources */ = {isa = PBXBuildFile; fileRef = B513B1C80ED345EA0006E551 /* pango.modules */; };
B513B21E0ED346090006E551 /* pango in Resources */ = {isa = PBXBuildFile; fileRef = B513B2000ED346090006E551 /* pango */; };
B513B2290ED36BFB0006E551 /* libcairo.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B513B2270ED36BFB0006E551 /* libcairo.2.dylib */; };
B513B22A0ED36BFB0006E551 /* libpixman-1.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B513B2280ED36BFB0006E551 /* libpixman-1.0.dylib */; };
B513B22C0ED36D300006E551 /* libcairo.2.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = B513B2270ED36BFB0006E551 /* libcairo.2.dylib */; };
B513B22D0ED36D300006E551 /* libpixman-1.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = B513B2280ED36BFB0006E551 /* libpixman-1.0.dylib */; };
B513B2790ED372210006E551 /* SDL_ttf.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599E9B0EC68BF2008DD061 /* SDL_ttf.framework */; };
B514C70B0F5450CC00E273F0 /* addon_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B514C7090F5450CC00E273F0 /* addon_list.cpp */; };
B52EE8841213585300CFBDAB /* tod_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B52EE8821213585300CFBDAB /* tod_manager.cpp */; };
@ -392,26 +389,16 @@
B5599B8C0EC62181008DD061 /* builder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599AC70EC62181008DD061 /* builder.cpp */; };
B5599B8E0EC62181008DD061 /* attack_prediction_display.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599ACA0EC62181008DD061 /* attack_prediction_display.cpp */; };
B5599B910EC62181008DD061 /* attack_prediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599AD00EC62181008DD061 /* attack_prediction.cpp */; };
B5599E370EC64BC4008DD061 /* libintl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599E340EC64BC4008DD061 /* libintl.framework */; };
B5599E380EC64BC4008DD061 /* libglib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599E350EC64BC4008DD061 /* libglib.framework */; };
B5599E390EC64BC4008DD061 /* libgobject.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599E360EC64BC4008DD061 /* libgobject.framework */; };
B5599E880EC64CF2008DD061 /* libintl.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599E340EC64BC4008DD061 /* libintl.framework */; };
B5599E890EC64CF2008DD061 /* libglib.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599E350EC64BC4008DD061 /* libglib.framework */; };
B5599E8A0EC64CF2008DD061 /* libgobject.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599E360EC64BC4008DD061 /* libgobject.framework */; };
B5599E8B0EC64CF2008DD061 /* SDL.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B55998F70EC61EA5008DD061 /* SDL.framework */; };
B5599E8C0EC64CF2008DD061 /* SDL_image.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B55999220EC61F59008DD061 /* SDL_image.framework */; };
B5599E8D0EC64CF2008DD061 /* SDL_net.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B55999230EC61F59008DD061 /* SDL_net.framework */; };
B5599E8E0EC64CF2008DD061 /* SDL_mixer.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B55999240EC61F59008DD061 /* SDL_mixer.framework */; };
B5599E9C0EC68BF2008DD061 /* SDL_ttf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599E9B0EC68BF2008DD061 /* SDL_ttf.framework */; };
B5599ECC0EC74DDD008DD061 /* libpango-1.0.0.2101.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599ECA0EC74DDD008DD061 /* libpango-1.0.0.2101.2.dylib */; };
B5599FBF0EC8F748008DD061 /* libpangocairo-1.0.0.2101.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599FBA0EC8F748008DD061 /* libpangocairo-1.0.0.2101.2.dylib */; };
B5599FCB0EC8FBCB008DD061 /* libfreetype.6.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599FC90EC8FBCB008DD061 /* libfreetype.6.dylib */; };
B559A0130EC8FE2E008DD061 /* editor_controller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599FFD0EC8FE2E008DD061 /* editor_controller.cpp */; };
B559A0140EC8FE2E008DD061 /* editor_display.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599FFF0EC8FE2E008DD061 /* editor_display.cpp */; };
B559A0160EC8FE2E008DD061 /* editor_main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B559A0030EC8FE2E008DD061 /* editor_main.cpp */; };
B559A0200EC8FEA3008DD061 /* libfreetype.6.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599FC90EC8FBCB008DD061 /* libfreetype.6.dylib */; };
B559A0220EC8FEA3008DD061 /* libpangocairo-1.0.0.2101.2.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599FBA0EC8F748008DD061 /* libpangocairo-1.0.0.2101.2.dylib */; };
B559A0260EC8FEA3008DD061 /* libpango-1.0.0.2101.2.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = B5599ECA0EC74DDD008DD061 /* libpango-1.0.0.2101.2.dylib */; };
B55A80540EDF3DFB00C9D97A /* wml_message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B55A80520EDF3DFB00C9D97A /* wml_message.cpp */; };
B55BE03211234AAB00154E6C /* astarsearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B55BE02D11234AAB00154E6C /* astarsearch.cpp */; };
B55BE03311234AAB00154E6C /* pathfind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B55BE02E11234AAB00154E6C /* pathfind.cpp */; };
@ -443,8 +430,6 @@
B561F392104B11F7001369F5 /* editor_preferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B561F38F104B11F7001369F5 /* editor_preferences.cpp */; };
B566BB36123D5C80005979F7 /* multiplayer_lobby.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B566BB34123D5C80005979F7 /* multiplayer_lobby.cpp */; };
B566BB37123D5C80005979F7 /* multiplayer_lobby.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B566BB34123D5C80005979F7 /* multiplayer_lobby.cpp */; };
B578E1A50ED5BEF600DE80D6 /* libgmodule.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B578E1A40ED5BEF600DE80D6 /* libgmodule.framework */; };
B578E1AE0ED5BF0800DE80D6 /* libgmodule.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B578E1A40ED5BEF600DE80D6 /* libgmodule.framework */; };
B5795A680F05858100EB190E /* horizontal_scrollbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5795A610F05858100EB190E /* horizontal_scrollbar.cpp */; };
B5795A690F05858100EB190E /* scrollbar_container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5795A640F05858100EB190E /* scrollbar_container.cpp */; };
B5795A6A0F05858100EB190E /* generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5795A670F05858100EB190E /* generator.cpp */; };
@ -764,7 +749,6 @@
B5BB6C670F8940FF00444FBF /* thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B559998B0EC62181008DD061 /* thread.cpp */; };
B5BB6C6F0F8941CD00444FBF /* game_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599A800EC62181008DD061 /* game_config.cpp */; };
B5BB6C710F8941F000444FBF /* tstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B55999810EC62181008DD061 /* tstring.cpp */; };
B5BB6C740F89420600444FBF /* libintl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5599E340EC64BC4008DD061 /* libintl.framework */; };
B5BB6C790F89426400444FBF /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B55999670EC62181008DD061 /* version.cpp */; };
B5BB6C7B0F89427C00444FBF /* gettext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599A710EC62181008DD061 /* gettext.cpp */; };
B5BB6C800F89435300444FBF /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599A020EC62181008DD061 /* log.cpp */; };
@ -837,6 +821,10 @@
B5FCE9391104C2A50081F1DF /* vertical_scrollbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5FCE90D1104C2A50081F1DF /* vertical_scrollbar.cpp */; };
B5FCE93A1104C2A50081F1DF /* window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5FCE90F1104C2A50081F1DF /* window.cpp */; };
EC19E6F018B7F24B003B4B81 /* screenshot_notification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC19E6EE18B7F24B003B4B81 /* screenshot_notification.cpp */; };
EC1D88DB18EF413100E66AC1 /* libpixman-1.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B513B2280ED36BFB0006E551 /* libpixman-1.0.dylib */; };
EC1D88DD18EF414400E66AC1 /* libpixman-1.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC1D88DC18EF414400E66AC1 /* libpixman-1.0.dylib */; };
EC1D88DF18EF448400E66AC1 /* fonts.conf in Resources */ = {isa = PBXBuildFile; fileRef = EC1D88DE18EF448400E66AC1 /* fonts.conf */; };
EC225C9718EF0ABC00025EC4 /* libintl.8.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242D18EF07B4001FA499 /* libintl.8.dylib */; };
EC3381C718B520120020DD6F /* theme_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC3381C518B520120020DD6F /* theme_list.cpp */; };
EC44E382181DDAF90037A62F /* menu_item.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC44E37E181DDAF90037A62F /* menu_item.cpp */; };
EC44E383181DDAF90037A62F /* wmi_container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC44E380181DDAF90037A62F /* wmi_container.cpp */; };
@ -847,6 +835,51 @@
EC48D75B17F318DA00DE80BF /* multiplayer_connect_engine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC48D75417F318DA00DE80BF /* multiplayer_connect_engine.cpp */; };
EC48D75C17F318DA00DE80BF /* multiplayer_create_engine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC48D75617F318DA00DE80BF /* multiplayer_create_engine.cpp */; };
EC4D40AF17FCCF14002E7C81 /* strftime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC4D40AD17FCCF14002E7C81 /* strftime.cpp */; };
EC5C243B18EF07B4001FA499 /* libbz2.1.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242218EF07B4001FA499 /* libbz2.1.0.dylib */; };
EC5C243C18EF07B4001FA499 /* libexpat.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242318EF07B4001FA499 /* libexpat.1.dylib */; };
EC5C243D18EF07B4001FA499 /* libffi.6.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242418EF07B4001FA499 /* libffi.6.dylib */; };
EC5C243E18EF07B4001FA499 /* libfontconfig.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242518EF07B4001FA499 /* libfontconfig.1.dylib */; };
EC5C243F18EF07B4001FA499 /* libglib-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242618EF07B4001FA499 /* libglib-2.0.0.dylib */; };
EC5C244018EF07B4001FA499 /* libgmodule-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242718EF07B4001FA499 /* libgmodule-2.0.0.dylib */; };
EC5C244118EF07B4001FA499 /* libgobject-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242818EF07B4001FA499 /* libgobject-2.0.0.dylib */; };
EC5C244218EF07B4001FA499 /* libgraphite2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242918EF07B4001FA499 /* libgraphite2.3.dylib */; };
EC5C244318EF07B4001FA499 /* libgthread-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242A18EF07B4001FA499 /* libgthread-2.0.0.dylib */; };
EC5C244418EF07B4001FA499 /* libharfbuzz.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242B18EF07B4001FA499 /* libharfbuzz.0.dylib */; };
EC5C244518EF07B4001FA499 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242C18EF07B4001FA499 /* libiconv.2.dylib */; };
EC5C244618EF07B4001FA499 /* libintl.8.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242D18EF07B4001FA499 /* libintl.8.dylib */; };
EC5C244718EF07B4001FA499 /* libpango-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242E18EF07B4001FA499 /* libpango-1.0.0.dylib */; };
EC5C244818EF07B4001FA499 /* libpangocairo-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C242F18EF07B4001FA499 /* libpangocairo-1.0.0.dylib */; };
EC5C244918EF07B4001FA499 /* libpangoft2-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C243018EF07B4001FA499 /* libpangoft2-1.0.0.dylib */; };
EC5C244A18EF07B4001FA499 /* libpng16.16.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C243118EF07B4001FA499 /* libpng16.16.dylib */; };
EC5C245318EF07B4001FA499 /* libz.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C243A18EF07B4001FA499 /* libz.1.dylib */; };
EC5C246F18EF07F4001FA499 /* libbz2.1.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245418EF07EA001FA499 /* libbz2.1.0.dylib */; };
EC5C247018EF07F4001FA499 /* libexpat.1.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245618EF07EB001FA499 /* libexpat.1.dylib */; };
EC5C247118EF07F4001FA499 /* libffi.6.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245718EF07EB001FA499 /* libffi.6.dylib */; };
EC5C247218EF07F4001FA499 /* libfontconfig.1.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245818EF07EB001FA499 /* libfontconfig.1.dylib */; };
EC5C247318EF07F4001FA499 /* libglib-2.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245A18EF07EC001FA499 /* libglib-2.0.0.dylib */; };
EC5C247418EF07F4001FA499 /* libgmodule-2.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245B18EF07EC001FA499 /* libgmodule-2.0.0.dylib */; };
EC5C247518EF07F4001FA499 /* libgobject-2.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245C18EF07ED001FA499 /* libgobject-2.0.0.dylib */; };
EC5C247618EF07F4001FA499 /* libgraphite2.3.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245D18EF07ED001FA499 /* libgraphite2.3.dylib */; };
EC5C247718EF07F4001FA499 /* libgthread-2.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245E18EF07ED001FA499 /* libgthread-2.0.0.dylib */; };
EC5C247818EF07F4001FA499 /* libharfbuzz.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C245F18EF07EE001FA499 /* libharfbuzz.0.dylib */; };
EC5C247918EF07F4001FA499 /* libiconv.2.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246018EF07EE001FA499 /* libiconv.2.dylib */; };
EC5C247A18EF07F4001FA499 /* libintl.8.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246118EF07EF001FA499 /* libintl.8.dylib */; };
EC5C247B18EF07F4001FA499 /* libpango-1.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246218EF07EF001FA499 /* libpango-1.0.0.dylib */; };
EC5C247C18EF07F4001FA499 /* libpangocairo-1.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246318EF07EF001FA499 /* libpangocairo-1.0.0.dylib */; };
EC5C247D18EF07F4001FA499 /* libpangoft2-1.0.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246418EF07F0001FA499 /* libpangoft2-1.0.0.dylib */; };
EC5C247E18EF07F4001FA499 /* libpng16.16.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246518EF07F0001FA499 /* libpng16.16.dylib */; };
EC5C248718EF07F4001FA499 /* libz.1.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = EC5C246E18EF07F3001FA499 /* libz.1.dylib */; };
EC6069E318EF662300CD8408 /* pangorc in Resources */ = {isa = PBXBuildFile; fileRef = EC6069E218EF662300CD8408 /* pangorc */; };
EC84246618F30D9100FC1EEF /* config_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84245518F30D9000FC1EEF /* config_assign.cpp */; };
EC84246718F30D9100FC1EEF /* random_new_deterministic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84245718F30D9000FC1EEF /* random_new_deterministic.cpp */; };
EC84246818F30D9100FC1EEF /* random_new_synced.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84245918F30D9000FC1EEF /* random_new_synced.cpp */; };
EC84246918F30D9100FC1EEF /* random_new.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84245B18F30D9100FC1EEF /* random_new.cpp */; };
EC84246A18F30D9100FC1EEF /* replay_helper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84245D18F30D9100FC1EEF /* replay_helper.cpp */; };
EC84246B18F30D9100FC1EEF /* simple_rng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84245F18F30D9100FC1EEF /* simple_rng.cpp */; };
EC84246C18F30D9100FC1EEF /* synced_checkup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84246018F30D9100FC1EEF /* synced_checkup.cpp */; };
EC84246D18F30D9100FC1EEF /* synced_commands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84246218F30D9100FC1EEF /* synced_commands.cpp */; };
EC84246E18F30D9100FC1EEF /* synced_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84246418F30D9100FC1EEF /* synced_context.cpp */; };
EC84247118F30DB700FC1EEF /* exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC84246F18F30DB700FC1EEF /* exception.cpp */; };
EC89A1291879D17D00A3B0B1 /* lapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC89A1061879D17D00A3B0B1 /* lapi.cpp */; };
EC89A12A1879D17D00A3B0B1 /* lauxlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC89A1071879D17D00A3B0B1 /* lauxlib.cpp */; };
EC89A12B1879D17D00A3B0B1 /* lbaselib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC89A1081879D17D00A3B0B1 /* lbaselib.cpp */; };
@ -895,11 +928,9 @@
F419A1F414E21246002F9ADC /* game_end_exceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F419A1F314E21246002F9ADC /* game_end_exceptions.cpp */; };
F419A2C314F5BCFE002F9ADC /* info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F419A2C114F5BCFE002F9ADC /* info.cpp */; };
F419A31214F8868A002F9ADC /* manager_ui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F419A31014F8868A002F9ADC /* manager_ui.cpp */; };
F4448F3C13C547FF003B6442 /* libpng12.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4448F3B13C547FF003B6442 /* libpng12.0.dylib */; };
F444914013C5483F003B6442 /* joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F444907513C5483E003B6442 /* joystick.cpp */; };
F444916613C5483F003B6442 /* network_asio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F44490B413C5483F003B6442 /* network_asio.cpp */; };
F444917713C5562C003B6442 /* folder_create.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F444917513C5562C003B6442 /* folder_create.cpp */; };
F444918813C55729003B6442 /* libpng12.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = F4448F3B13C547FF003B6442 /* libpng12.0.dylib */; };
F449349C13FF652800DF01D5 /* validator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F449349913FF652800DF01D5 /* validator.cpp */; };
F468E6AD16DF872200A31A5A /* movetype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F468E6AC16DF872200A31A5A /* movetype.cpp */; };
F46C5DCC13A5074C00DD0816 /* game_controller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F46C5DC513A5074C00DD0816 /* game_controller.cpp */; };
@ -964,22 +995,32 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
F444918813C55729003B6442 /* libpng12.0.dylib in CopyFiles */,
EC1D88DD18EF414400E66AC1 /* libpixman-1.0.dylib in CopyFiles */,
EC5C246F18EF07F4001FA499 /* libbz2.1.0.dylib in CopyFiles */,
B513B22C0ED36D300006E551 /* libcairo.2.dylib in CopyFiles */,
EC5C247018EF07F4001FA499 /* libexpat.1.dylib in CopyFiles */,
EC5C247118EF07F4001FA499 /* libffi.6.dylib in CopyFiles */,
EC5C247218EF07F4001FA499 /* libfontconfig.1.dylib in CopyFiles */,
B559A0200EC8FEA3008DD061 /* libfreetype.6.dylib in CopyFiles */,
EC5C247318EF07F4001FA499 /* libglib-2.0.0.dylib in CopyFiles */,
EC5C247418EF07F4001FA499 /* libgmodule-2.0.0.dylib in CopyFiles */,
EC5C247518EF07F4001FA499 /* libgobject-2.0.0.dylib in CopyFiles */,
EC5C247618EF07F4001FA499 /* libgraphite2.3.dylib in CopyFiles */,
EC5C247718EF07F4001FA499 /* libgthread-2.0.0.dylib in CopyFiles */,
EC5C247818EF07F4001FA499 /* libharfbuzz.0.dylib in CopyFiles */,
EC5C247918EF07F4001FA499 /* libiconv.2.dylib in CopyFiles */,
EC5C247A18EF07F4001FA499 /* libintl.8.dylib in CopyFiles */,
EC5C247B18EF07F4001FA499 /* libpango-1.0.0.dylib in CopyFiles */,
EC5C247C18EF07F4001FA499 /* libpangocairo-1.0.0.dylib in CopyFiles */,
EC5C247D18EF07F4001FA499 /* libpangoft2-1.0.0.dylib in CopyFiles */,
EC5C247E18EF07F4001FA499 /* libpng16.16.dylib in CopyFiles */,
EC5C248718EF07F4001FA499 /* libz.1.dylib in CopyFiles */,
F4EF0D8B13AD5635003C701D /* libboost_program_optionsw.dylib in CopyFiles */,
F4EF0D8C13AD5635003C701D /* libboost_threadw.dylib in CopyFiles */,
F4EF0D8D13AD5635003C701D /* libboost_regexw.dylib in CopyFiles */,
F4EF0D8E13AD5635003C701D /* libboost_systemw.dylib in CopyFiles */,
F4EF0D7B13AD5376003C701D /* libboost_iostreamsw.dylib in CopyFiles */,
B508D15F10013F8100B12852 /* Growl.framework in CopyFiles */,
B578E1AE0ED5BF0800DE80D6 /* libgmodule.framework in CopyFiles */,
B513B22C0ED36D300006E551 /* libcairo.2.dylib in CopyFiles */,
B513B22D0ED36D300006E551 /* libpixman-1.0.dylib in CopyFiles */,
B559A0200EC8FEA3008DD061 /* libfreetype.6.dylib in CopyFiles */,
B559A0220EC8FEA3008DD061 /* libpangocairo-1.0.0.2101.2.dylib in CopyFiles */,
B559A0260EC8FEA3008DD061 /* libpango-1.0.0.2101.2.dylib in CopyFiles */,
B5599E880EC64CF2008DD061 /* libintl.framework in CopyFiles */,
B5599E890EC64CF2008DD061 /* libglib.framework in CopyFiles */,
B5599E8A0EC64CF2008DD061 /* libgobject.framework in CopyFiles */,
B5599E8B0EC64CF2008DD061 /* SDL.framework in CopyFiles */,
B5599E8C0EC64CF2008DD061 /* SDL_image.framework in CopyFiles */,
B5599E8D0EC64CF2008DD061 /* SDL_net.framework in CopyFiles */,
@ -1686,7 +1727,6 @@
B5951A831013BB0800C10B66 /* multiplayer_error_codes.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = multiplayer_error_codes.hpp; path = ../src/multiplayer_error_codes.hpp; sourceTree = "<group>"; };
B5951A841013BB0800C10B66 /* resources.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = resources.cpp; path = ../src/resources.cpp; sourceTree = "<group>"; };
B5951A851013BB0800C10B66 /* resources.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = resources.hpp; path = ../src/resources.hpp; sourceTree = "<group>"; };
B5951A861013BB0800C10B66 /* rng.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = rng.hpp; path = ../src/rng.hpp; sourceTree = "<group>"; };
B5951A871013BB0800C10B66 /* savegame_config.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = savegame_config.hpp; path = ../src/savegame_config.hpp; sourceTree = "<group>"; };
B5951A881013BB0800C10B66 /* shared_object.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = shared_object.hpp; path = ../src/shared_object.hpp; sourceTree = "<group>"; };
B5951A8A1013BB0800C10B66 /* simple_rng.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = simple_rng.hpp; path = ../src/simple_rng.hpp; sourceTree = "<group>"; };
@ -1961,6 +2001,8 @@
B5FCE9101104C2A50081F1DF /* window.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = window.hpp; sourceTree = "<group>"; };
EC19E6EE18B7F24B003B4B81 /* screenshot_notification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = screenshot_notification.cpp; path = dialogs/screenshot_notification.cpp; sourceTree = "<group>"; };
EC19E6EF18B7F24B003B4B81 /* screenshot_notification.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = screenshot_notification.hpp; path = dialogs/screenshot_notification.hpp; sourceTree = "<group>"; };
EC1D88DC18EF414400E66AC1 /* libpixman-1.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpixman-1.0.dylib"; path = "lib/libpixman-1.0.dylib"; sourceTree = "<group>"; };
EC1D88DE18EF448400E66AC1 /* fonts.conf */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = fonts.conf; path = Resources/fonts.conf; sourceTree = "<group>"; };
EC3381C518B520120020DD6F /* theme_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = theme_list.cpp; path = ../gui/dialogs/theme_list.cpp; sourceTree = "<group>"; };
EC3381C618B520120020DD6F /* theme_list.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = theme_list.hpp; path = ../gui/dialogs/theme_list.hpp; sourceTree = "<group>"; };
EC44E37E181DDAF90037A62F /* menu_item.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = menu_item.cpp; path = game_events/menu_item.cpp; sourceTree = "<group>"; };
@ -1981,6 +2023,70 @@
EC48D75717F318DA00DE80BF /* multiplayer_create_engine.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = multiplayer_create_engine.hpp; sourceTree = "<group>"; };
EC4D40AD17FCCF14002E7C81 /* strftime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strftime.cpp; sourceTree = "<group>"; };
EC4D40AE17FCCF14002E7C81 /* strftime.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = strftime.hpp; sourceTree = "<group>"; };
EC5C242218EF07B4001FA499 /* libbz2.1.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.1.0.dylib; path = lib/libbz2.1.0.dylib; sourceTree = "<group>"; };
EC5C242318EF07B4001FA499 /* libexpat.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libexpat.1.dylib; path = lib/libexpat.1.dylib; sourceTree = "<group>"; };
EC5C242418EF07B4001FA499 /* libffi.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libffi.6.dylib; path = lib/libffi.6.dylib; sourceTree = "<group>"; };
EC5C242518EF07B4001FA499 /* libfontconfig.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfontconfig.1.dylib; path = lib/libfontconfig.1.dylib; sourceTree = "<group>"; };
EC5C242618EF07B4001FA499 /* libglib-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libglib-2.0.0.dylib"; path = "lib/libglib-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C242718EF07B4001FA499 /* libgmodule-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgmodule-2.0.0.dylib"; path = "lib/libgmodule-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C242818EF07B4001FA499 /* libgobject-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgobject-2.0.0.dylib"; path = "lib/libgobject-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C242918EF07B4001FA499 /* libgraphite2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libgraphite2.3.dylib; path = lib/libgraphite2.3.dylib; sourceTree = "<group>"; };
EC5C242A18EF07B4001FA499 /* libgthread-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgthread-2.0.0.dylib"; path = "lib/libgthread-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C242B18EF07B4001FA499 /* libharfbuzz.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libharfbuzz.0.dylib; path = lib/libharfbuzz.0.dylib; sourceTree = "<group>"; };
EC5C242C18EF07B4001FA499 /* libiconv.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.2.dylib; path = lib/libiconv.2.dylib; sourceTree = "<group>"; };
EC5C242D18EF07B4001FA499 /* libintl.8.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libintl.8.dylib; path = lib/libintl.8.dylib; sourceTree = "<group>"; };
EC5C242E18EF07B4001FA499 /* libpango-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpango-1.0.0.dylib"; path = "lib/libpango-1.0.0.dylib"; sourceTree = "<group>"; };
EC5C242F18EF07B4001FA499 /* libpangocairo-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpangocairo-1.0.0.dylib"; path = "lib/libpangocairo-1.0.0.dylib"; sourceTree = "<group>"; };
EC5C243018EF07B4001FA499 /* libpangoft2-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpangoft2-1.0.0.dylib"; path = "lib/libpangoft2-1.0.0.dylib"; sourceTree = "<group>"; };
EC5C243118EF07B4001FA499 /* libpng16.16.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpng16.16.dylib; path = lib/libpng16.16.dylib; sourceTree = "<group>"; };
EC5C243218EF07B4001FA499 /* libX11-xcb.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libX11-xcb.1.dylib"; path = "lib/libX11-xcb.1.dylib"; sourceTree = "<group>"; };
EC5C243318EF07B4001FA499 /* libX11.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libX11.6.dylib; path = lib/libX11.6.dylib; sourceTree = "<group>"; };
EC5C243418EF07B4001FA499 /* libXau.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXau.6.dylib; path = lib/libXau.6.dylib; sourceTree = "<group>"; };
EC5C243518EF07B4001FA499 /* libxcb-render.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libxcb-render.0.dylib"; path = "lib/libxcb-render.0.dylib"; sourceTree = "<group>"; };
EC5C243618EF07B4001FA499 /* libxcb.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxcb.1.dylib; path = lib/libxcb.1.dylib; sourceTree = "<group>"; };
EC5C243718EF07B4001FA499 /* libXdmcp.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXdmcp.6.dylib; path = lib/libXdmcp.6.dylib; sourceTree = "<group>"; };
EC5C243818EF07B4001FA499 /* libXext.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXext.6.dylib; path = lib/libXext.6.dylib; sourceTree = "<group>"; };
EC5C243918EF07B4001FA499 /* libXrender.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXrender.1.dylib; path = lib/libXrender.1.dylib; sourceTree = "<group>"; };
EC5C243A18EF07B4001FA499 /* libz.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.dylib; path = lib/libz.1.dylib; sourceTree = "<group>"; };
EC5C245418EF07EA001FA499 /* libbz2.1.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.1.0.dylib; path = lib/libbz2.1.0.dylib; sourceTree = "<group>"; };
EC5C245518EF07EA001FA499 /* libcairo.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcairo.2.dylib; path = lib/libcairo.2.dylib; sourceTree = "<group>"; };
EC5C245618EF07EB001FA499 /* libexpat.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libexpat.1.dylib; path = lib/libexpat.1.dylib; sourceTree = "<group>"; };
EC5C245718EF07EB001FA499 /* libffi.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libffi.6.dylib; path = lib/libffi.6.dylib; sourceTree = "<group>"; };
EC5C245818EF07EB001FA499 /* libfontconfig.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfontconfig.1.dylib; path = lib/libfontconfig.1.dylib; sourceTree = "<group>"; };
EC5C245918EF07EC001FA499 /* libfreetype.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfreetype.6.dylib; path = lib/libfreetype.6.dylib; sourceTree = "<group>"; };
EC5C245A18EF07EC001FA499 /* libglib-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libglib-2.0.0.dylib"; path = "lib/libglib-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C245B18EF07EC001FA499 /* libgmodule-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgmodule-2.0.0.dylib"; path = "lib/libgmodule-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C245C18EF07ED001FA499 /* libgobject-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgobject-2.0.0.dylib"; path = "lib/libgobject-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C245D18EF07ED001FA499 /* libgraphite2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libgraphite2.3.dylib; path = lib/libgraphite2.3.dylib; sourceTree = "<group>"; };
EC5C245E18EF07ED001FA499 /* libgthread-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgthread-2.0.0.dylib"; path = "lib/libgthread-2.0.0.dylib"; sourceTree = "<group>"; };
EC5C245F18EF07EE001FA499 /* libharfbuzz.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libharfbuzz.0.dylib; path = lib/libharfbuzz.0.dylib; sourceTree = "<group>"; };
EC5C246018EF07EE001FA499 /* libiconv.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.2.dylib; path = lib/libiconv.2.dylib; sourceTree = "<group>"; };
EC5C246118EF07EF001FA499 /* libintl.8.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libintl.8.dylib; path = lib/libintl.8.dylib; sourceTree = "<group>"; };
EC5C246218EF07EF001FA499 /* libpango-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpango-1.0.0.dylib"; path = "lib/libpango-1.0.0.dylib"; sourceTree = "<group>"; };
EC5C246318EF07EF001FA499 /* libpangocairo-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpangocairo-1.0.0.dylib"; path = "lib/libpangocairo-1.0.0.dylib"; sourceTree = "<group>"; };
EC5C246418EF07F0001FA499 /* libpangoft2-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpangoft2-1.0.0.dylib"; path = "lib/libpangoft2-1.0.0.dylib"; sourceTree = "<group>"; };
EC5C246518EF07F0001FA499 /* libpng16.16.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpng16.16.dylib; path = lib/libpng16.16.dylib; sourceTree = "<group>"; };
EC5C246E18EF07F3001FA499 /* libz.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.dylib; path = lib/libz.1.dylib; sourceTree = "<group>"; };
EC6069E218EF662300CD8408 /* pangorc */ = {isa = PBXFileReference; lastKnownFileType = text; name = pangorc; path = Resources/pangorc; sourceTree = "<group>"; };
EC84245518F30D9000FC1EEF /* config_assign.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = config_assign.cpp; sourceTree = "<group>"; };
EC84245618F30D9000FC1EEF /* config_assign.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = config_assign.hpp; sourceTree = "<group>"; };
EC84245718F30D9000FC1EEF /* random_new_deterministic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = random_new_deterministic.cpp; sourceTree = "<group>"; };
EC84245818F30D9000FC1EEF /* random_new_deterministic.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = random_new_deterministic.hpp; sourceTree = "<group>"; };
EC84245918F30D9000FC1EEF /* random_new_synced.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = random_new_synced.cpp; sourceTree = "<group>"; };
EC84245A18F30D9000FC1EEF /* random_new_synced.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = random_new_synced.hpp; sourceTree = "<group>"; };
EC84245B18F30D9100FC1EEF /* random_new.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = random_new.cpp; sourceTree = "<group>"; };
EC84245C18F30D9100FC1EEF /* random_new.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = random_new.hpp; sourceTree = "<group>"; };
EC84245D18F30D9100FC1EEF /* replay_helper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replay_helper.cpp; sourceTree = "<group>"; };
EC84245E18F30D9100FC1EEF /* replay_helper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = replay_helper.hpp; sourceTree = "<group>"; };
EC84245F18F30D9100FC1EEF /* simple_rng.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simple_rng.cpp; sourceTree = "<group>"; };
EC84246018F30D9100FC1EEF /* synced_checkup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = synced_checkup.cpp; sourceTree = "<group>"; };
EC84246118F30D9100FC1EEF /* synced_checkup.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = synced_checkup.hpp; sourceTree = "<group>"; };
EC84246218F30D9100FC1EEF /* synced_commands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = synced_commands.cpp; sourceTree = "<group>"; };
EC84246318F30D9100FC1EEF /* synced_commands.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = synced_commands.hpp; sourceTree = "<group>"; };
EC84246418F30D9100FC1EEF /* synced_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = synced_context.cpp; sourceTree = "<group>"; };
EC84246518F30D9100FC1EEF /* synced_context.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = synced_context.hpp; sourceTree = "<group>"; };
EC84246F18F30DB700FC1EEF /* exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception.cpp; path = sdl/exception.cpp; sourceTree = "<group>"; };
EC84247018F30DB700FC1EEF /* exception.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = exception.hpp; path = sdl/exception.hpp; sourceTree = "<group>"; };
EC89A1061879D17D00A3B0B1 /* lapi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lapi.cpp; sourceTree = "<group>"; };
EC89A1071879D17D00A3B0B1 /* lauxlib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lauxlib.cpp; sourceTree = "<group>"; };
EC89A1081879D17D00A3B0B1 /* lbaselib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lbaselib.cpp; sourceTree = "<group>"; };
@ -2136,28 +2242,38 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EC1D88DB18EF413100E66AC1 /* libpixman-1.0.dylib in Frameworks */,
EC5C243B18EF07B4001FA499 /* libbz2.1.0.dylib in Frameworks */,
EC5C243C18EF07B4001FA499 /* libexpat.1.dylib in Frameworks */,
EC5C243D18EF07B4001FA499 /* libffi.6.dylib in Frameworks */,
EC5C243E18EF07B4001FA499 /* libfontconfig.1.dylib in Frameworks */,
EC5C243F18EF07B4001FA499 /* libglib-2.0.0.dylib in Frameworks */,
EC5C244018EF07B4001FA499 /* libgmodule-2.0.0.dylib in Frameworks */,
EC5C244118EF07B4001FA499 /* libgobject-2.0.0.dylib in Frameworks */,
EC5C244218EF07B4001FA499 /* libgraphite2.3.dylib in Frameworks */,
EC5C244318EF07B4001FA499 /* libgthread-2.0.0.dylib in Frameworks */,
EC5C244418EF07B4001FA499 /* libharfbuzz.0.dylib in Frameworks */,
EC5C244518EF07B4001FA499 /* libiconv.2.dylib in Frameworks */,
EC5C244618EF07B4001FA499 /* libintl.8.dylib in Frameworks */,
EC5C244718EF07B4001FA499 /* libpango-1.0.0.dylib in Frameworks */,
EC5C244818EF07B4001FA499 /* libpangocairo-1.0.0.dylib in Frameworks */,
EC5C244918EF07B4001FA499 /* libpangoft2-1.0.0.dylib in Frameworks */,
EC5C244A18EF07B4001FA499 /* libpng16.16.dylib in Frameworks */,
EC5C245318EF07B4001FA499 /* libz.1.dylib in Frameworks */,
B513B2290ED36BFB0006E551 /* libcairo.2.dylib in Frameworks */,
B5599FCB0EC8FBCB008DD061 /* libfreetype.6.dylib in Frameworks */,
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
B55998F80EC61EA5008DD061 /* SDL.framework in Frameworks */,
B55999250EC61F59008DD061 /* SDL_image.framework in Frameworks */,
B55999260EC61F59008DD061 /* SDL_net.framework in Frameworks */,
B55999270EC61F59008DD061 /* SDL_mixer.framework in Frameworks */,
B5599E370EC64BC4008DD061 /* libintl.framework in Frameworks */,
B5599E380EC64BC4008DD061 /* libglib.framework in Frameworks */,
B5599E390EC64BC4008DD061 /* libgobject.framework in Frameworks */,
B5599E9C0EC68BF2008DD061 /* SDL_ttf.framework in Frameworks */,
B5599ECC0EC74DDD008DD061 /* libpango-1.0.0.2101.2.dylib in Frameworks */,
B5599FBF0EC8F748008DD061 /* libpangocairo-1.0.0.2101.2.dylib in Frameworks */,
B5599FCB0EC8FBCB008DD061 /* libfreetype.6.dylib in Frameworks */,
B513B2290ED36BFB0006E551 /* libcairo.2.dylib in Frameworks */,
B513B22A0ED36BFB0006E551 /* libpixman-1.0.dylib in Frameworks */,
B578E1A50ED5BEF600DE80D6 /* libgmodule.framework in Frameworks */,
B508D13F10013BF900B12852 /* Growl.framework in Frameworks */,
F4EF0D4C13AD4D53003C701D /* libboost_iostreamsw.dylib in Frameworks */,
F4755E2C1458C192009F13BD /* libboost_program_optionsw.dylib in Frameworks */,
F4EF0D5613AD4E35003C701D /* libboost_regexw.dylib in Frameworks */,
F4EF0D5713AD4E35003C701D /* libboost_systemw.dylib in Frameworks */,
F4EF0D5C13AD4E6D003C701D /* libboost_threadw.dylib in Frameworks */,
F4448F3C13C547FF003B6442 /* libpng12.0.dylib in Frameworks */,
F4D2A99614DAED0E00CAFF31 /* CoreFoundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -2188,10 +2304,10 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EC225C9718EF0ABC00025EC4 /* libintl.8.dylib in Frameworks */,
F4D2A9D514DAED4200CAFF31 /* CoreFoundation.framework in Frameworks */,
B5BB6BC80F89407D00444FBF /* SDL.framework in Frameworks */,
B5BB6BCB0F89408500444FBF /* SDL_net.framework in Frameworks */,
B5BB6C740F89420600444FBF /* libintl.framework in Frameworks */,
F4EF0D4D13AD4D53003C701D /* libboost_iostreamsw.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -2260,6 +2376,28 @@
29B97314FDCFA39411CA2CEA /* Wesnoth */ = {
isa = PBXGroup;
children = (
EC6069E218EF662300CD8408 /* pangorc */,
EC1D88DE18EF448400E66AC1 /* fonts.conf */,
EC1D88DC18EF414400E66AC1 /* libpixman-1.0.dylib */,
EC5C245418EF07EA001FA499 /* libbz2.1.0.dylib */,
EC5C245518EF07EA001FA499 /* libcairo.2.dylib */,
EC5C245618EF07EB001FA499 /* libexpat.1.dylib */,
EC5C245718EF07EB001FA499 /* libffi.6.dylib */,
EC5C245818EF07EB001FA499 /* libfontconfig.1.dylib */,
EC5C245918EF07EC001FA499 /* libfreetype.6.dylib */,
EC5C245A18EF07EC001FA499 /* libglib-2.0.0.dylib */,
EC5C245B18EF07EC001FA499 /* libgmodule-2.0.0.dylib */,
EC5C245C18EF07ED001FA499 /* libgobject-2.0.0.dylib */,
EC5C245D18EF07ED001FA499 /* libgraphite2.3.dylib */,
EC5C245E18EF07ED001FA499 /* libgthread-2.0.0.dylib */,
EC5C245F18EF07EE001FA499 /* libharfbuzz.0.dylib */,
EC5C246018EF07EE001FA499 /* libiconv.2.dylib */,
EC5C246118EF07EF001FA499 /* libintl.8.dylib */,
EC5C246218EF07EF001FA499 /* libpango-1.0.0.dylib */,
EC5C246318EF07EF001FA499 /* libpangocairo-1.0.0.dylib */,
EC5C246418EF07F0001FA499 /* libpangoft2-1.0.0.dylib */,
EC5C246518EF07F0001FA499 /* libpng16.16.dylib */,
EC5C246E18EF07F3001FA499 /* libz.1.dylib */,
B597C49D0FACD3F900CE81F5 /* tests */,
B5BB6B560F893DE000444FBF /* server */,
080E96DDFE201D6D7F000001 /* Mac-specific */,
@ -2274,6 +2412,25 @@
29B97315FDCFA39411CA2CEA /* src */ = {
isa = PBXGroup;
children = (
EC84246F18F30DB700FC1EEF /* exception.cpp */,
EC84247018F30DB700FC1EEF /* exception.hpp */,
EC84245518F30D9000FC1EEF /* config_assign.cpp */,
EC84245618F30D9000FC1EEF /* config_assign.hpp */,
EC84245718F30D9000FC1EEF /* random_new_deterministic.cpp */,
EC84245818F30D9000FC1EEF /* random_new_deterministic.hpp */,
EC84245918F30D9000FC1EEF /* random_new_synced.cpp */,
EC84245A18F30D9000FC1EEF /* random_new_synced.hpp */,
EC84245B18F30D9100FC1EEF /* random_new.cpp */,
EC84245C18F30D9100FC1EEF /* random_new.hpp */,
EC84245D18F30D9100FC1EEF /* replay_helper.cpp */,
EC84245E18F30D9100FC1EEF /* replay_helper.hpp */,
EC84245F18F30D9100FC1EEF /* simple_rng.cpp */,
EC84246018F30D9100FC1EEF /* synced_checkup.cpp */,
EC84246118F30D9100FC1EEF /* synced_checkup.hpp */,
EC84246218F30D9100FC1EEF /* synced_commands.cpp */,
EC84246318F30D9100FC1EEF /* synced_commands.hpp */,
EC84246418F30D9100FC1EEF /* synced_context.cpp */,
EC84246518F30D9100FC1EEF /* synced_context.hpp */,
ECF3A0B118AD3E8700DD643A /* wml_error.cpp */,
ECF3A0B218AD3E8800DD643A /* wml_error.hpp */,
EC4D40AD17FCCF14002E7C81 /* strftime.cpp */,
@ -2390,7 +2547,6 @@
B5951A831013BB0800C10B66 /* multiplayer_error_codes.hpp */,
B5951A841013BB0800C10B66 /* resources.cpp */,
B5951A851013BB0800C10B66 /* resources.hpp */,
B5951A861013BB0800C10B66 /* rng.hpp */,
B5951A871013BB0800C10B66 /* savegame_config.hpp */,
B5951A881013BB0800C10B66 /* shared_object.hpp */,
B5951A8A1013BB0800C10B66 /* simple_rng.hpp */,
@ -2643,6 +2799,31 @@
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
EC5C242218EF07B4001FA499 /* libbz2.1.0.dylib */,
EC5C242318EF07B4001FA499 /* libexpat.1.dylib */,
EC5C242418EF07B4001FA499 /* libffi.6.dylib */,
EC5C242518EF07B4001FA499 /* libfontconfig.1.dylib */,
EC5C242618EF07B4001FA499 /* libglib-2.0.0.dylib */,
EC5C242718EF07B4001FA499 /* libgmodule-2.0.0.dylib */,
EC5C242818EF07B4001FA499 /* libgobject-2.0.0.dylib */,
EC5C242918EF07B4001FA499 /* libgraphite2.3.dylib */,
EC5C242A18EF07B4001FA499 /* libgthread-2.0.0.dylib */,
EC5C242B18EF07B4001FA499 /* libharfbuzz.0.dylib */,
EC5C242C18EF07B4001FA499 /* libiconv.2.dylib */,
EC5C242D18EF07B4001FA499 /* libintl.8.dylib */,
EC5C242E18EF07B4001FA499 /* libpango-1.0.0.dylib */,
EC5C242F18EF07B4001FA499 /* libpangocairo-1.0.0.dylib */,
EC5C243018EF07B4001FA499 /* libpangoft2-1.0.0.dylib */,
EC5C243118EF07B4001FA499 /* libpng16.16.dylib */,
EC5C243218EF07B4001FA499 /* libX11-xcb.1.dylib */,
EC5C243318EF07B4001FA499 /* libX11.6.dylib */,
EC5C243418EF07B4001FA499 /* libXau.6.dylib */,
EC5C243518EF07B4001FA499 /* libxcb-render.0.dylib */,
EC5C243618EF07B4001FA499 /* libxcb.1.dylib */,
EC5C243718EF07B4001FA499 /* libXdmcp.6.dylib */,
EC5C243818EF07B4001FA499 /* libXext.6.dylib */,
EC5C243918EF07B4001FA499 /* libXrender.1.dylib */,
EC5C243A18EF07B4001FA499 /* libz.1.dylib */,
1058C7A0FEA54F0111CA2CBB /* Linked System Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Included Frameworks */,
);
@ -3902,12 +4083,13 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EC6069E318EF662300CD8408 /* pangorc in Resources */,
EC1D88DF18EF448400E66AC1 /* fonts.conf in Resources */,
B5A9B2290ECA4074002BE442 /* fonts in Resources */,
B5A9B22A0ECA4074002BE442 /* data in Resources */,
B5A9B22B0ECA4074002BE442 /* images in Resources */,
B5A9B22C0ECA4074002BE442 /* sounds in Resources */,
B5A9BE2A0ECE927C002BE442 /* icon.icns in Resources */,
B513B1E40ED345EB0006E551 /* pango.aliases in Resources */,
B513B1E70ED345EB0006E551 /* pango.modules in Resources */,
B513B21E0ED346090006E551 /* pango in Resources */,
B5BB6EFE0F93B83500444FBF /* SDLMain.nib in Resources */,
@ -3956,6 +4138,7 @@
B5599AEE0EC62181008DD061 /* unit_animation.cpp in Sources */,
B5599AEF0EC62181008DD061 /* unit_abilities.cpp in Sources */,
B5599AF00EC62181008DD061 /* unit.cpp in Sources */,
EC84246B18F30D9100FC1EEF /* simple_rng.cpp in Sources */,
B5599AF10EC62181008DD061 /* tstring.cpp in Sources */,
B5599AF20EC62181008DD061 /* tooltips.cpp in Sources */,
B5599AF40EC62181008DD061 /* time_of_day.cpp in Sources */,
@ -4004,6 +4187,7 @@
B5599B240EC62181008DD061 /* mouse_events.cpp in Sources */,
B5599B250EC62181008DD061 /* minimap.cpp in Sources */,
B5599B260EC62181008DD061 /* menu_events.cpp in Sources */,
EC84246C18F30D9100FC1EEF /* synced_checkup.cpp in Sources */,
B5599B270EC62181008DD061 /* md5.cpp in Sources */,
B5599B280EC62181008DD061 /* marked-up_text.cpp in Sources */,
B5599B2B0EC62181008DD061 /* map_location.cpp in Sources */,
@ -4038,10 +4222,12 @@
B5599B750EC62181008DD061 /* events.cpp in Sources */,
B5599B760EC62181008DD061 /* display.cpp in Sources */,
B5599B770EC62181008DD061 /* dialogs.cpp in Sources */,
EC84246818F30D9100FC1EEF /* random_new_synced.cpp in Sources */,
B5599B780EC62181008DD061 /* cursor.cpp in Sources */,
B5599B790EC62181008DD061 /* controller_base.cpp in Sources */,
B5599B7A0EC62181008DD061 /* construct_dialog.cpp in Sources */,
B5599B7B0EC62181008DD061 /* config_cache.cpp in Sources */,
EC84246A18F30D9100FC1EEF /* replay_helper.cpp in Sources */,
B5599B7D0EC62181008DD061 /* config.cpp in Sources */,
B5599B7E0EC62181008DD061 /* color_range.cpp in Sources */,
B5599B7F0EC62181008DD061 /* clipboard.cpp in Sources */,
@ -4086,10 +4272,12 @@
B5A9BD6C0ECA805A002BE442 /* slider.cpp in Sources */,
ECFA82E5184E59F3006782FB /* hotkey_item.cpp in Sources */,
B5A9BD6D0ECA805A002BE442 /* spacer.cpp in Sources */,
EC84246D18F30D9100FC1EEF /* synced_commands.cpp in Sources */,
B5A9BD6E0ECA805A002BE442 /* text.cpp in Sources */,
EC48D75817F318DA00DE80BF /* flg_manager.cpp in Sources */,
B5A9BD6F0ECA805A002BE442 /* text_box.cpp in Sources */,
B5A9BD700ECA805A002BE442 /* toggle_button.cpp in Sources */,
EC84246E18F30D9100FC1EEF /* synced_context.cpp in Sources */,
B5A9BD710ECA805A002BE442 /* toggle_panel.cpp in Sources */,
EC89A12C1879D17D00A3B0B1 /* lbitlib.cpp in Sources */,
B5A9BD730ECA805A002BE442 /* vertical_scrollbar.cpp in Sources */,
@ -4143,6 +4331,7 @@
B54AC6EE0FEA9F7A006F6FBD /* control.cpp in Sources */,
B54AC6F50FEA9F92006F6FBD /* lobby_main.cpp in Sources */,
B54AC6F60FEA9F92006F6FBD /* transient_message.cpp in Sources */,
EC84246718F30D9100FC1EEF /* random_new_deterministic.cpp in Sources */,
B54AC7000FEA9FA5006F6FBD /* multi_page.cpp in Sources */,
B54AC7010FEA9FA5006F6FBD /* scrollbar_panel.cpp in Sources */,
B54AC7540FEC3CF9006F6FBD /* button.cpp in Sources */,
@ -4185,11 +4374,13 @@
B561F374104B11D4001369F5 /* horizontal_listbox.cpp in Sources */,
B561F391104B11F7001369F5 /* editor_preferences.cpp in Sources */,
B5B469241071185800327599 /* mp_game_settings.cpp in Sources */,
EC84247118F30DB700FC1EEF /* exception.cpp in Sources */,
B5B4692C1071189700327599 /* gamestate_inspector.cpp in Sources */,
B5B46930107118B200327599 /* widget_definition.cpp in Sources */,
EC89A1291879D17D00A3B0B1 /* lapi.cpp in Sources */,
B5B46938107118C400327599 /* dispatcher.cpp in Sources */,
B5B46939107118C400327599 /* handler.cpp in Sources */,
EC84246618F30D9100FC1EEF /* config_assign.cpp in Sources */,
B552D92410869477002D8F86 /* distributor.cpp in Sources */,
B552D92D108694BB002D8F86 /* ca_testing_move_to_targets.cpp in Sources */,
B5CF7BBC10D55F5A00A8BEB5 /* timer.cpp in Sources */,
@ -4209,6 +4400,7 @@
B5FCE91B1104C2A50081F1DF /* scroll_label.cpp in Sources */,
B5FCE91C1104C2A50081F1DF /* scrollbar_panel.cpp in Sources */,
B5FCE91D1104C2A50081F1DF /* slider.cpp in Sources */,
EC84246918F30D9100FC1EEF /* random_new.cpp in Sources */,
ECFA82E3184E59F3006782FB /* command_executor.cpp in Sources */,
B5FCE91E1104C2A50081F1DF /* spacer.cpp in Sources */,
B5FCE91F1104C2A50081F1DF /* stacked_widget.cpp in Sources */,
@ -4876,8 +5068,7 @@
B5BB6B4D0F890FBC00444FBF /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
@ -4888,12 +5079,14 @@
"FIFODIR=\\\"/var/run/wesnothd\\\"",
);
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_VERSION = "";
INSTALL_PATH = /usr/local/bin;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/lib\"",
"$(PROJECT_DIR)/lib",
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-isystem",
@ -4918,6 +5111,7 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/lib\"",
"$(PROJECT_DIR)/lib",
);
PREBINDING = NO;
PRODUCT_NAME = wesnothd;
@ -4928,8 +5122,7 @@
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -4942,7 +5135,7 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
GCC_VERSION = "";
HEADER_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Info.plist;
@ -4950,14 +5143,16 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/lib\"",
"$(PROJECT_DIR)/lib",
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-isystem",
./Headers,
);
PRODUCT_NAME = Wesnoth;
SDKROOT = macosx;
SDKROOT = "";
WRAPPER_EXTENSION = app;
};
name = Debug;
@ -4981,6 +5176,7 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/lib\"",
"$(PROJECT_DIR)/lib",
);
"OTHER_CPLUSPLUSFLAGS[arch=*]" = (
"$(OTHER_CFLAGS)",
@ -4995,12 +5191,12 @@
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
FRAMEWORK_SEARCH_PATHS = ./lib;
GCC_DYNAMIC_NO_PIC = YES;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_INPUT_FILETYPE = automatic;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = "LOCALEDIR=\\\"translations\\\"";
GCC_PREPROCESSOR_DEFINITIONS = (
"LOCALEDIR=\\\"translations\\\"",
"LUA_USE_MACOSX=1",
@ -5031,6 +5227,7 @@
./lib/SDL_mixer.framework/Headers,
./lib/SDL_net.framework/Headers,
);
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
LIBRARY_SEARCH_PATHS = ./lib;
OTHER_LDFLAGS = (
"-lz",
@ -5044,10 +5241,7 @@
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
i386,
ppc,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
FRAMEWORK_SEARCH_PATHS = ./lib;
GCC_DYNAMIC_NO_PIC = YES;
GCC_MODEL_TUNING = G5;
@ -5055,7 +5249,7 @@
"LOCALEDIR=\\\"translations\\\"",
"LUA_USE_MACOSX=1",
);
GCC_VERSION = 4.0;
GCC_VERSION = "";
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../..,
@ -5070,6 +5264,7 @@
./lib/SDL_mixer.framework/Headers,
./lib/SDL_net.framework/Headers,
);
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
LIBRARY_SEARCH_PATHS = ./lib;
OTHER_LDFLAGS = (
"-lz",

View file

@ -73,7 +73,7 @@ libwesnoth_sources = Split("""
pathfind/astarsearch.cpp
builder.cpp
clipboard.cpp
config_assign.cpp
config_assign.cpp
construct_dialog.cpp
cursor.cpp
display.cpp
@ -110,7 +110,7 @@ libwesnoth_sources = Split("""
reports.cpp
show_dialog.cpp
simple_rng.cpp
sound.cpp
sound.cpp
soundsource.cpp
sound_music_track.cpp
terrain.cpp
@ -479,11 +479,11 @@ wesnoth_sources = Split("""
playsingle_controller.cpp
playturn.cpp
portrait.cpp
random_new.cpp
random_new_deterministic.cpp
random_new_synced.cpp
replay.cpp
replay_helper.cpp
random_new.cpp
random_new_deterministic.cpp
random_new_synced.cpp
replay.cpp
replay_helper.cpp
replay_controller.cpp
resources.cpp
save_blocker.cpp
@ -501,10 +501,10 @@ wesnoth_sources = Split("""
storyscreen/interface.cpp
storyscreen/part.cpp
storyscreen/render.cpp
strftime.cpp
synced_checkup.cpp
synced_context.cpp
synced_commands.cpp
strftime.cpp
synced_checkup.cpp
synced_context.cpp
synced_commands.cpp
team.cpp
terrain_filter.cpp
tod_manager.cpp

View file

@ -76,10 +76,10 @@ void ai_testing::log_draw()
recorder.add_log_data("ai_log","result","draw");
}
void ai_testing::log_victory(std::vector<unsigned int> winners)
void ai_testing::log_victory(std::set<unsigned int> winners)
{
recorder.add_log_data("ai_log","result","victory");
for(std::vector<unsigned int>::const_iterator w = winners.begin(); w != winners.end(); ++w) {
for(std::set<unsigned int>::const_iterator w = winners.begin(); w != winners.end(); ++w) {
LOG_AI_TESTING << "WINNER: "<< *w <<std::endl;
recorder.add_log_data("ai_log","winner",str_cast(*w));
}

View file

@ -47,7 +47,7 @@ public:
* Log in case of victory
* teams vector of winner teams
*/
static void log_victory( std::vector<unsigned int> teams );
static void log_victory( std::set<unsigned int> teams );
/*

View file

@ -504,11 +504,11 @@ static int do_gameloop(int argc, char** argv)
statistics::fresh_stats();
if (!game->is_loading()) {
if (!game->is_loading()) {
const config &cfg =
config_manager.game_config().child("titlescreen_music");
if (cfg) {
sound::play_music_repeatedly(game_config::title_music);
sound::play_music_repeatedly(game_config::title_music);
BOOST_FOREACH(const config &i, cfg.child_range("music")) {
sound::play_music_config(i);
}
@ -517,7 +517,7 @@ static int do_gameloop(int argc, char** argv)
sound::empty_playlist();
sound::stop_music();
}
}
}
loadscreen_manager.reset();

View file

@ -1378,13 +1378,16 @@ void play_controller::check_victory()
{
check_end_level();
std::vector<unsigned> seen_leaders;
std::set<unsigned> not_defeated;
for (unit_map::const_iterator i = units_.begin(),
i_end = units_.end(); i != i_end; ++i)
{
if (i->can_recruit()) {
DBG_NG << "seen leader for side " << i->side() << "\n";
seen_leaders.push_back(i->side());
not_defeated.insert(i->side());
} else if (teams_[i->side()-1].fight_on_without_leader()) {
DBG_NG << "side doesn't require leader " << i->side() << "\n";
not_defeated.insert(i->side());
}
}
@ -1393,13 +1396,13 @@ void play_controller::check_victory()
for (std::vector<team>::iterator tm_beg = teams_.begin(), tm = tm_beg,
tm_end = teams_.end(); tm != tm_end; ++tm)
{
if (std::find(seen_leaders.begin(), seen_leaders.end(), tm - tm_beg + 1) == seen_leaders.end()) {
if (not_defeated.find(tm - tm_beg + 1) == not_defeated.end()) {
tm->clear_villages();
// invalidate_all() is overkill and expensive but this code is
// run rarely so do it the expensive way.
gui_->invalidate_all();
if (!tm->no_leader() && remove_from_carryover_on_leaders_loss_) {
if (!tm->fight_on_without_leader() && remove_from_carryover_on_leaders_loss_) {
tm->set_lost();
}
}
@ -1407,11 +1410,12 @@ void play_controller::check_victory()
bool found_player = false;
for (size_t n = 0; n != seen_leaders.size(); ++n) {
size_t side = seen_leaders[n] - 1;
for (std::set<unsigned>::iterator n = not_defeated.begin(); n != not_defeated.end(); ++n) {
size_t side = *n - 1;
for (size_t m = n +1 ; m != seen_leaders.size(); ++m) {
if (teams_[side].is_enemy(seen_leaders[m])) {
std::set<unsigned>::iterator m(n);
for (++m; m != not_defeated.end(); ++m) {
if (teams_[side].is_enemy(*m)) {
return;
}
}
@ -1426,6 +1430,10 @@ void play_controller::check_victory()
check_end_level();
}
DBG_NG << "victory_when_enemies_defeated: " << victory_when_enemies_defeated_ << std::endl;
DBG_NG << "found_player: " << found_player << std::endl;
DBG_NG << "is_observer: " << is_observer() << std::endl;
if (!victory_when_enemies_defeated_ && (found_player || is_observer())) {
// This level has asked not to be ended by this condition.
return;
@ -1433,13 +1441,13 @@ void play_controller::check_victory()
if (non_interactive()) {
std::cout << "winner: ";
BOOST_FOREACH(unsigned l, seen_leaders) {
BOOST_FOREACH(unsigned l, not_defeated) {
std::string ai = ai::manager::get_active_ai_identifier_for_side(l);
if (ai.empty()) ai = "default ai";
std::cout << l << " (using " << ai << ") ";
}
std::cout << '\n';
ai_testing::log_victory(seen_leaders);
ai_testing::log_victory(not_defeated);
}
DBG_NG << "throwing end level exception...\n";

View file

@ -262,6 +262,45 @@ void playmp_controller::play_human_turn(){
}
}
void playmp_controller::play_idle_loop()
{
LOG_NG << "playmp::play_human_turn...\n";
remove_blindfold();
command_disabled_resetter reset_commands;
while (!end_turn_)
{
try {
config cfg;
const network::connection res = network::receive_data(cfg);
std::deque<config> backlog;
if(res != network::null_connection) {
if (turn_data_->process_network_data(cfg, res, backlog, skip_replay_) == turn_info::PROCESS_RESTART_TURN)
{
throw end_turn_exception(gui_->playing_side());
}
}
play_slice();
check_end_level();
} catch(const end_level_exception&) {
turn_data_->send_data();
throw;
}
if (!linger_) {
SDL_Delay(1);
}
gui_->draw();
turn_data_->send_data();
}
}
void playmp_controller::set_end_scenario_button()
{
// Modify the end-turn button

View file

@ -59,6 +59,7 @@ protected:
virtual void finish_side_turn();
virtual void play_network_turn();
virtual void do_idle_notification();
virtual void play_idle_loop();
void init_turn_data();
turn_info* turn_data_;

View file

@ -662,9 +662,11 @@ void playsingle_controller::play_turn(bool save)
void playsingle_controller::play_idle_loop()
{
play_slice();
gui_->draw();
SDL_Delay(10);
while(!end_turn_) {
play_slice();
gui_->draw();
SDL_Delay(10);
}
}
void playsingle_controller::play_side(const unsigned int side_number, bool save)
@ -724,9 +726,8 @@ void playsingle_controller::play_side(const unsigned int side_number, bool save)
end_turn_enable(false);
do_idle_notification();
before_human_turn(save);
while(1) {
play_idle_loop();
}
play_idle_loop();
} catch(end_turn_exception& end_turn) {
LOG_NG << "Escaped from idle state with exception!" << std::endl;
if (end_turn.redo == side_number) {

View file

@ -83,7 +83,7 @@ protected:
void end_turn_enable(bool enable);
virtual hotkey::ACTION_STATE get_action_state(hotkey::HOTKEY_COMMAND command, int index) const;
void play_ai_turn();
void play_idle_loop();
virtual void play_idle_loop();
virtual void do_idle_notification();
virtual void play_network_turn();
virtual void init_gui();

View file

@ -335,9 +335,9 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg
{
// Server thinks this side is ours now so in case of error transferring side we have to make local state to same as what server thinks it is.
tm.make_human();
tm.set_current_player("human"+side_drop);
if (have_leader) leader->rename("human"+side_drop);
tm.make_idle();
tm.set_current_player("idle"+side_drop);
if (have_leader) leader->rename("idle"+side_drop);
}
const size_t index = static_cast<size_t>(action - first_observer_option_idx);

View file

@ -48,7 +48,8 @@ const int team::default_team_gold_ = 100;
// Update this list of attributes if you change what is used to define a side
// (excluding those attributes used to define the side's leader).
const char * const team::attributes[] = {
"ai_config", "color", "controller", "current_player", "flag",
"ai_config", "color", "controller", "current_player",
"fight_on_without_leader", "flag",
"flag_icon", "fog", "fog_data", "gold", "hidden", "income",
"no_leader", "objectives", "objectives_changed", "persistent", "lost",
"recall_cost", "recruit", "save_id", "scroll_to_leader",
@ -101,6 +102,7 @@ team::team_info::team_info() :
allow_player(false),
chose_random(false),
no_leader(true),
fight_on_without_leader(false),
hidden(true),
no_turn_confirmation(false),
color(),
@ -131,6 +133,7 @@ void team::team_info::read(const config &cfg)
allow_player = cfg["allow_player"].to_bool(true);
chose_random = cfg["chose_random"].to_bool(false);
no_leader = cfg["no_leader"].to_bool();
fight_on_without_leader = cfg["fight_on_without_leader"].to_bool(false);
hidden = cfg["hidden"].to_bool();
no_turn_confirmation = cfg["suppress_end_turn_confirmation"].to_bool();
side = cfg["side"].to_int(1);
@ -257,6 +260,7 @@ void team::team_info::write(config& cfg) const
cfg["allow_player"] = allow_player;
cfg["chose_random"] = chose_random;
cfg["no_leader"] = no_leader;
cfg["fight_on_without_leader"] = fight_on_without_leader;
cfg["hidden"] = hidden;
cfg["suppress_end_turn_confirmation"] = no_turn_confirmation;
cfg["scroll_to_leader"] = scroll_to_leader;

View file

@ -104,6 +104,7 @@ private:
bool allow_player;
bool chose_random;
bool no_leader;
bool fight_on_without_leader;
bool hidden;
bool no_turn_confirmation; // Can suppress confirmations when ending a turn.
@ -264,6 +265,7 @@ public:
void set_auto_shroud_updates(bool value) { auto_shroud_updates_ = value; }
bool get_disallow_observers() const {return info_.disallow_observers; }
bool no_leader() const { return info_.no_leader; }
bool fight_on_without_leader() const { return info_.fight_on_without_leader; }
void have_leader(bool value=true) { info_.no_leader = !value; }
bool hidden() const { return info_.hidden; }
void set_hidden(bool value) { info_.hidden=value; }