1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00

Minor changes/cleanups. Adventure map is shown :)

This commit is contained in:
Michał W. Urbańczyk 2008-07-26 06:39:44 +00:00
parent 0c139e72f5
commit b72d065265
7 changed files with 59 additions and 163 deletions

View File

@ -15,11 +15,11 @@ CClient::CClient(void)
CClient::CClient(CConnection *con, StartInfo *si)
:serv(con)
{
timeHandler tmh, pomtime;
timeHandler tmh;
CConnection &c(*con);
////////////////////////////////////////////////////
ui8 pom8;
c << ui8(2) << ui8(1);
c << ui8(2) << ui8(1); //new game; one client
c << *si;
c >> pom8;
if(pom8) throw "Server cannot open the map!";

View File

@ -18,38 +18,6 @@ using namespace boost::asio::ip;
#define LIL_ENDIAN
#endif
//CConnection & operator<<(CConnection &c, const std::string &data)
//{
// boost::uint32_t length = data.size();
// c << length;
// c.write(data.c_str(),length);
// return c;
//}
//CConnection & operator>>(CConnection &c, std::string &data)
//{
// boost::uint32_t length;
// c >> length;
// data.resize(length);
// c.read((void*)data.c_str(),length);
// return c;
//}
//CConnection & operator<<(CConnection &c, const char * &data)
//{
// boost::uint32_t length = strlen(data);
// c << length;
// c.write(data,length);
// return c;
//}
//CConnection & operator>>(CConnection &c, char * &data)
//{
// boost::uint32_t length;
// c >> length;
// std::cout <<"Alokujemy " <<length << " bajtow."<<std::endl;
// data = new char[length];
// c.read(data,length);
// return c;
//}
void CConnection::init()
{
#ifdef LIL_ENDIAN

View File

@ -4,25 +4,13 @@
#include <vector>
#include <set>
#include <boost/type_traits/is_pointer.hpp>
#include <boost/type_traits/is_fundamental.hpp>
#include <boost/type_traits/is_enum.hpp>
#include <boost/type_traits/is_volatile.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/remove_all_extents.hpp>
#include <boost/serialization/is_abstract.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/greater_equal.hpp>
#include <boost/mpl/equal_to.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/empty.hpp>
#include <boost/mpl/not.hpp>
const int version = 63;
class CConnection;
@ -243,16 +231,27 @@ public:
for(ui32 i=0;i<length;i++)
*this >> data[i];
}
//template <typename T>
//void saveSerializable(T &data)
//{
// data.serialize(*static_cast<COSer*>(this),version);
//}
//template <typename T>
//void loadSerializable(T &data)
//{
// data.serialize(*static_cast<CISer*>(this),version);
//}
template <typename T>
void saveSerializable(const std::set<T> &data)
{
boost::uint32_t length = data.size();
*this << length;
for(std::set<T>::iterator i=data.begin();i!=data.end();i++)
*this << *i;
}
template <typename T>
void loadSerializable(std::set<T> &data)
{
boost::uint32_t length;
*this >> length;
data.resize(length);
T ins;
for(ui32 i=0;i<length;i++)
{
*this >> ins;
data.insert(ins);
}
}
template <typename T>
void save(const T &data)
@ -270,6 +269,7 @@ public:
>::type typex;
typex::invoke(*this, data);
}
template <typename T>
void load(T &data)
{
@ -308,107 +308,4 @@ public:
int read(void * data, unsigned size);
int readLine(void * data, unsigned maxSize);
~CConnection(void);
};
//DLL_EXPORT CConnection & operator<<(CConnection &c, const std::string &data);
//DLL_EXPORT CConnection & operator>>(CConnection &c, std::string &data);
//DLL_EXPORT CConnection & operator<<(CConnection &c, const char * &data);
//DLL_EXPORT CConnection & operator>>(CConnection &c, char * &data);
//
//template <typename T> CConnection & operator<<(CConnection &c, std::vector<T> &data)
//{
// boost::uint32_t length = data.size();
// c << length;
// for(ui32 i=0;i<length;i++)
// c << data[i];
// return c;
//}
//template <typename T> CConnection & operator>>(CConnection &c, std::vector<T> &data)
//{
// boost::uint32_t length;
// c >> length;
// data.resize(length);
// for(ui32 i=0;i<length;i++)
// c >> data[i];
// return c;
//}
//template <typename T> CConnection & operator<<(CConnection &c, std::set<T> &data)
//{
// boost::uint32_t length = data.size();
// c << length;
// for(std::set<T>::iterator i=data.begin();i!=data.end();i++)
// c << *i;
// return c;
//}
//template <typename T> CConnection & operator>>(CConnection &c, std::set<T> &data)
//{
// boost::uint32_t length;
// c >> length;
// data.resize(length);
// T pom;
// for(int i=0;i<length;i++)
// {
// c >> pom;
// data.insert(pom);
// }
// return c;
//}
//template <typename T> CConnection & operator<<(CConnection &c, const T &data)
//{
// c.write(&data,sizeof(data));
// return c;
//}
//template <typename T> CConnection & operator>>(CConnection &c, T &data)
//{
// c.read(&data,sizeof(data));
// return c;
//}
//template <typename T> CConnection & operator<(CConnection &c, std::vector<T> &data)
//{
// boost::uint32_t length = data.size();
// c << length;
// for(ui32 i=0;i<length;i++)
// data[i].serialize(c.send,version);
// return c;
//}
//template <typename T> CConnection & operator>(CConnection &c, std::vector<T> &data)
//{
// boost::uint32_t length;
// c >> length;
// data.resize(length);
// for(ui32 i=0;i<length;i++)
// data[i].serialize(c.rec,version);
// return c;
//}
//template <typename T> CConnection & operator<(CConnection &c, std::set<T> &data)
//{
// boost::uint32_t length = data.size();
// c << length;
// for(std::set<T>::iterator i=data.begin();i!=data.end();i++)
// i->serialize(c.send,version);
// return c;
//}
//template <typename T> CConnection & operator>(CConnection &c, std::set<T> &data)
//{
// boost::uint32_t length;
// c >> length;
// data.resize(length);
// T pom;
// for(int i=0;i<length;i++)
// {
// pom.serialize(c.rec,version);
// data.insert(pom);
// }
// return c;
//}
//template <typename T> CConnection & operator<(CConnection &c, T &data)
//{
// data.serialize(c.send,version);
// return c;
//}
//template <typename T> CConnection & operator>(CConnection &c, T &data)
//{
// data.serialize(c.rec,version);
// return c;
//}
};

32
lib/NetPacks.h Normal file
View File

@ -0,0 +1,32 @@
#include "../global.h"
struct NewTurn
{
struct Hero
{
ui32 id, move, mana; //id is a general serial id
template <typename Handler> void serialize(Handler &h, const int version)
{
h -= id -= move -= mana;
}
};
struct Resources
{
ui8 player;
si32 resources[RESOURCE_QUANTITY];
template <typename Handler> void serialize(Handler &h, const int version)
{
h -= resources;
}
};
std::set<Hero> heroes;
std::set<Resources> res;
template <typename Handler> void serialize(Handler &h, const int version)
{
h += heroes += res;
}
};

View File

@ -50,7 +50,6 @@ CGameHandler::~CGameHandler(void)
}
void CGameHandler::init(StartInfo *si, int Seed)
{
Mapa *map = new Mapa(si->mapname);
gs = new CGameState();
gs->init(si,map,Seed);
@ -115,7 +114,7 @@ void CGameHandler::run()
{//init conn.
ui8 quantity, pom;
//ui32 seed;
(*cc) << gs->scenarioOps->mapname;// << gs->map->checksum << seed;
(*cc) << gs->scenarioOps->mapname << gs->map->checksum << gs->seed;
(*cc) >> quantity;
for(int i=0;i<quantity;i++)
{

View File

@ -176,7 +176,7 @@
>
</File>
<File
RelativePath=".\server_main.cpp"
RelativePath=".\CVCMIServer.cpp"
>
</File>
</Filter>