1 --- vcmi-0.99/lib/serializer/Connection.h.orig 2019-05-09 18:28:47.786130450 +0200
2 +++ vcmi-0.99/lib/serializer/Connection.h 2019-05-09 20:37:32.790815761 +0200
4 #include "BinaryDeserializer.h"
5 #include "BinarySerializer.h"
7 +#include <boost/asio/basic_stream_socket.hpp>
8 +#include <boost/asio/basic_socket_acceptor.hpp>
9 +#include <boost/asio/io_service.hpp>
10 +#include <boost/asio/ip/tcp.hpp>
23 -#if BOOST_VERSION >= 106600 // Boost version >= 1.66
25 - typedef io_context io_service;
30 - template <typename Protocol> class stream_socket_service;
31 - template <typename Protocol,typename StreamSocketService>
32 - class basic_stream_socket;
34 - template <typename Protocol> class socket_acceptor_service;
35 - template <typename Protocol,typename SocketAcceptorService>
36 - class basic_socket_acceptor;
41 -typedef boost::asio::basic_stream_socket < boost::asio::ip::tcp , boost::asio::stream_socket_service<boost::asio::ip::tcp> > TSocket;
42 -typedef boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > TAcceptor;
43 +typedef boost::asio::basic_stream_socket<boost::asio::ip::tcp> TSocket;
44 +typedef boost::asio::basic_socket_acceptor<boost::asio::ip::tcp> TAcceptor;
46 /// Main class for network communication
47 /// Allows establishing connection and bidirectional read-write
48 --- vcmi-0.99/lib/serializer/Connection.cpp.orig 2016-11-01 19:26:09.000000000 +0100
49 +++ vcmi-0.99/lib/serializer/Connection.cpp 2019-05-10 15:40:32.325291811 +0200
51 #include "../mapping/CMap.h"
52 #include "../CGameState.h"
54 -#if BOOST_VERSION >= 106600
55 -#define BOOST_ASIO_ENABLE_OLD_SERVICES
57 #include <boost/asio.hpp>
61 throw std::runtime_error("Can't establish connection :(");
63 CConnection::CConnection(TSocket * Socket, std::string Name )
64 - :iser(this), oser(this), socket(Socket),io_service(&Socket->get_io_service()), name(Name)//, send(this), rec(this)
65 + :iser(this), oser(this), socket(Socket),io_service(&Socket->get_executor().context()), name(Name)//, send(this), rec(this)
69 --- vcmi-0.99/lib/CBattleCallback.cpp.orig 2016-11-01 19:26:09.000000000 +0100
70 +++ vcmi-0.99/lib/CBattleCallback.cpp 2019-05-10 16:07:53.901237054 +0200
72 else if(defender->owner != battleGetOwner(defender))
\r
73 return true;//mind controlled unit is attackable for both sides
\r
75 - return (battleGetOwner(attacker) == battleGetOwner(defender)) == positivness;
\r
76 + return (battleGetOwner(attacker) == battleGetOwner(defender)) == bool(positivness);
\r
79 si8 CBattleInfoCallback::battleHasWallPenalty( const CStack * stack, BattleHex destHex ) const
\r
82 std::vector<DistStack> stackPairs;
\r
84 - std::vector<const CStack *> possibleStacks = battleGetStacksIf([=](const CStack * s)
\r
85 + std::vector<const CStack *> possibleStacks = battleGetStacksIf([=](const CStack * s) -> bool
\r
87 - return s->isValidTarget(false) && s != closest && (boost::logic::indeterminate(attackerOwned) || s->attackerOwned == attackerOwned);
\r
88 + return s->isValidTarget(false) && s != closest && (boost::logic::indeterminate(attackerOwned) || s->attackerOwned == bool(attackerOwned));
\r
91 for(const CStack * st : possibleStacks)
\r
92 --- vcmi-0.99/client/windows/CAdvmapInterface.cpp.orig 2016-11-01 19:26:09.000000000 +0100
93 +++ vcmi-0.99/client/windows/CAdvmapInterface.cpp 2019-05-10 16:27:02.158039352 +0200
95 if(boost::logic::indeterminate(hasPath))
\r
96 hasPath = LOCPLINT->paths[h].nodes.size() ? true : false;
\r
98 - moveHero->block(!hasPath || (h->movement == 0));
\r
99 + moveHero->block(!bool(hasPath) || (h->movement == 0));
\r
102 void CAdvMapInt::updateSpellbook(const CGHeroInstance *h)
\r
103 --- vcmi-0.99/server/CVCMIServer.h.orig 2019-05-09 18:28:47.786130450 +0200
104 +++ vcmi-0.99/server/CVCMIServer.h 2019-05-10 17:00:46.894142311 +0200
109 +#include <boost/asio/basic_stream_socket.hpp>
\r
110 +#include <boost/asio/basic_socket_acceptor.hpp>
\r
111 +#include <boost/asio/io_service.hpp>
\r
112 +#include <boost/asio/ip/tcp.hpp>
\r
117 struct CPackForSelectionScreen;
\r
118 class CGameHandler;
\r
129 -#if BOOST_VERSION >= 106600 // Boost version >= 1.66
131 - typedef io_context io_service;
136 - template <typename Protocol> class stream_socket_service;
\r
137 - template <typename Protocol,typename StreamSocketService>
\r
138 - class basic_stream_socket;
\r
140 - template <typename Protocol> class socket_acceptor_service;
\r
141 - template <typename Protocol,typename SocketAcceptorService>
\r
142 - class basic_socket_acceptor;
\r
146 -typedef boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > TAcceptor;
\r
147 -typedef boost::asio::basic_stream_socket < boost::asio::ip::tcp , boost::asio::stream_socket_service<boost::asio::ip::tcp> > TSocket;
\r
148 +typedef boost::asio::basic_socket_acceptor<boost::asio::ip::tcp> TAcceptor;
\r
149 +typedef boost::asio::basic_stream_socket<boost::asio::ip::tcp> TSocket;
\r
153 --- vcmi-0.99/server/CVCMIServer.cpp.orig 2019-05-10 18:15:18.709042066 +0200
154 +++ vcmi-0.99/server/CVCMIServer.cpp 2019-05-10 18:17:35.062864054 +0200
156 #include "StdInc.h"
\r
158 -#if BOOST_VERSION >= 106600
159 -#define BOOST_ASIO_ENABLE_OLD_SERVICES
161 #include <boost/asio.hpp>
\r
163 #include "../lib/filesystem/Filesystem.h"
\r
168 - acceptor->get_io_service().reset();
\r
169 - acceptor->get_io_service().poll();
\r
170 + static_cast<boost::asio::io_context&>(acceptor->get_executor().context()).reset();
\r
171 + static_cast<boost::asio::io_context&>(acceptor->get_executor().context()).poll();
\r
176 assert(!upcomingConnection);
\r
179 - upcomingConnection = new TSocket(acceptor->get_io_service());
\r
180 + upcomingConnection = new TSocket(acceptor->get_executor());
\r
181 acceptor->async_accept(*upcomingConnection, std::bind(&CPregameServer::connectionAccepted, this, _1));
\r
186 boost::system::error_code error;
\r
187 logNetwork->info("Listening for connections at port %d", acceptor->local_endpoint().port());
\r
188 - auto s = new boost::asio::ip::tcp::socket(acceptor->get_io_service());
\r
189 + auto s = new boost::asio::ip::tcp::socket(acceptor->get_executor());
\r
190 boost::thread acc(std::bind(vaccept,acceptor,s,&error));
\r
191 #ifndef VCMI_ANDROID
\r
192 sr->setToTrueAndNotify();
\r
197 - auto s = new boost::asio::ip::tcp::socket(acceptor->get_io_service());
\r
198 + auto s = new boost::asio::ip::tcp::socket(acceptor->get_executor());
\r
199 acceptor->accept(*s,error);
\r
202 --- vcmi-0.99/AI/VCAI/AIUtility.h.orig 2016-11-01 19:26:09.000000000 +0100
203 +++ vcmi-0.99/AI/VCAI/AIUtility.h 2019-05-10 17:37:38.490708060 +0200
206 CDistanceSorter(const CGHeroInstance * hero): hero(hero) {}
\r
208 - bool operator ()(const CGObjectInstance *lhs, const CGObjectInstance *rhs);
\r
209 + bool operator ()(const CGObjectInstance *lhs, const CGObjectInstance *rhs) const;
\r
211 --- vcmi-0.99/AI/VCAI/AIUtility.cpp.orig 2016-11-01 19:26:09.000000000 +0100
212 +++ vcmi-0.99/AI/VCAI/AIUtility.cpp 2019-05-10 17:39:23.702884397 +0200
217 -bool CDistanceSorter::operator ()(const CGObjectInstance *lhs, const CGObjectInstance *rhs)
\r
218 +bool CDistanceSorter::operator ()(const CGObjectInstance *lhs, const CGObjectInstance *rhs) const
\r
220 const CGPathNode *ln = ai->myCb->getPathsInfo(hero)->getPathInfo(lhs->visitablePos()),
\r
221 *rn = ai->myCb->getPathsInfo(hero)->getPathInfo(rhs->visitablePos());
\r