mirror of
https://github.com/vcmi/vcmi.git
synced 2025-09-16 09:26:28 +02:00
* partially fixed problems with boats
* minor changes
This commit is contained in:
@@ -410,7 +410,7 @@ void Graphics::loadHeroFlags(std::pair<std::vector<CDefEssential *> Graphics::*,
|
|||||||
std::vector<Cimage> &curImgs = (this->*pr.first)[q]->ourImages;
|
std::vector<Cimage> &curImgs = (this->*pr.first)[q]->ourImages;
|
||||||
for(size_t o=0; o<curImgs.size(); ++o)
|
for(size_t o=0; o<curImgs.size(); ++o)
|
||||||
{
|
{
|
||||||
for(size_t p=0;p<rotations.size();p++)
|
for(size_t p=0; p<rotations.size(); p++)
|
||||||
{
|
{
|
||||||
if(curImgs[o].groupNumber==rotations[p].first)
|
if(curImgs[o].groupNumber==rotations[p].first)
|
||||||
{
|
{
|
||||||
@@ -430,37 +430,13 @@ void Graphics::loadHeroFlags(std::pair<std::vector<CDefEssential *> Graphics::*,
|
|||||||
{
|
{
|
||||||
for(size_t o=0; o<curImgs.size(); ++o)
|
for(size_t o=0; o<curImgs.size(); ++o)
|
||||||
{
|
{
|
||||||
if(curImgs[o].groupNumber==1)
|
if(curImgs[o].groupNumber==1 || curImgs[o].groupNumber==2 || curImgs[o].groupNumber==3)
|
||||||
{
|
{
|
||||||
for(int e=0; e<8; ++e)
|
for(int e=0; e<8; ++e)
|
||||||
{
|
{
|
||||||
Cimage nci;
|
Cimage nci;
|
||||||
nci.bitmap = CSDL_Ext::rotate01(curImgs[o+e].bitmap);
|
nci.bitmap = CSDL_Ext::rotate01(curImgs[o+e].bitmap);
|
||||||
nci.groupNumber = 13;
|
nci.groupNumber = 12 + curImgs[o].groupNumber;
|
||||||
nci.imName = std::string();
|
|
||||||
curImgs.push_back(nci);
|
|
||||||
}
|
|
||||||
o+=8;
|
|
||||||
}
|
|
||||||
if(curImgs[o].groupNumber==2)
|
|
||||||
{
|
|
||||||
for(int e=0; e<8; ++e)
|
|
||||||
{
|
|
||||||
Cimage nci;
|
|
||||||
nci.bitmap = CSDL_Ext::rotate01(curImgs[o+e].bitmap);
|
|
||||||
nci.groupNumber = 14;
|
|
||||||
nci.imName = std::string();
|
|
||||||
curImgs.push_back(nci);
|
|
||||||
}
|
|
||||||
o+=8;
|
|
||||||
}
|
|
||||||
if(curImgs[o].groupNumber==3)
|
|
||||||
{
|
|
||||||
for(int e=0; e<8; ++e)
|
|
||||||
{
|
|
||||||
Cimage nci;
|
|
||||||
nci.bitmap = CSDL_Ext::rotate01(curImgs[o+e].bitmap);
|
|
||||||
nci.groupNumber = 15;
|
|
||||||
nci.imName = std::string();
|
nci.imName = std::string();
|
||||||
curImgs.push_back(nci);
|
curImgs.push_back(nci);
|
||||||
}
|
}
|
||||||
@@ -495,10 +471,10 @@ void Graphics::loadHeroFlags()
|
|||||||
pr[3].second+=("AF00.DEF"),("AF01.DEF"),("AF02.DEF"),("AF03.DEF"),("AF04.DEF"),
|
pr[3].second+=("AF00.DEF"),("AF01.DEF"),("AF02.DEF"),("AF03.DEF"),("AF04.DEF"),
|
||||||
("AF05.DEF"),("AF06.DEF"),("AF07.DEF");
|
("AF05.DEF"),("AF06.DEF"),("AF07.DEF");
|
||||||
boost::thread_group grupa;
|
boost::thread_group grupa;
|
||||||
grupa.create_thread(boost::bind(&Graphics::loadHeroFlags,this,boost::ref(pr[3]),true));
|
for(int g=3; g>=0; --g)
|
||||||
grupa.create_thread(boost::bind(&Graphics::loadHeroFlags,this,boost::ref(pr[2]),true));
|
{
|
||||||
grupa.create_thread(boost::bind(&Graphics::loadHeroFlags,this,boost::ref(pr[1]),true));
|
grupa.create_thread(boost::bind(&Graphics::loadHeroFlags,this,boost::ref(pr[g]),true));
|
||||||
grupa.create_thread(boost::bind(&Graphics::loadHeroFlags,this,boost::ref(pr[0]),true));
|
}
|
||||||
grupa.join_all();
|
grupa.join_all();
|
||||||
tlog0 << "Loading and transforming heroes' flags: "<<th.getDif()<<std::endl;
|
tlog0 << "Loading and transforming heroes' flags: "<<th.getDif()<<std::endl;
|
||||||
}
|
}
|
||||||
|
@@ -464,9 +464,9 @@ static void processDef (CGDefInfo* def)
|
|||||||
}
|
}
|
||||||
void CMapHandler::initHeroDef(CGHeroInstance * h)
|
void CMapHandler::initHeroDef(CGHeroInstance * h)
|
||||||
{
|
{
|
||||||
h->defInfo->handler = graphics->flags1[0];
|
//h->defInfo->handler = graphics->flags1[0];
|
||||||
h->defInfo->width = h->defInfo->handler->ourImages[0].bitmap->w/32;
|
//h->defInfo->width = h->defInfo->handler->ourImages[0].bitmap->w/32;
|
||||||
h->defInfo->height = h->defInfo->handler->ourImages[0].bitmap->h/32;
|
//h->defInfo->height = h->defInfo->handler->ourImages[0].bitmap->h/32;
|
||||||
}
|
}
|
||||||
void CMapHandler::init()
|
void CMapHandler::init()
|
||||||
{
|
{
|
||||||
@@ -762,8 +762,11 @@ void CMapHandler::terrainRect(int3 top_tile, unsigned char anim, std::vector< st
|
|||||||
|
|
||||||
for(int h=0; h < objects.size(); ++h)
|
for(int h=0; h < objects.size(); ++h)
|
||||||
{
|
{
|
||||||
|
//checking if object has non-empty graphic on this tile
|
||||||
if(!objects[h].first->coveringAt(objects[h].first->pos.x - (top_tile.x + bx), top_tile.y + by - objects[h].first->pos.y + 5))
|
if(!objects[h].first->coveringAt(objects[h].first->pos.x - (top_tile.x + bx), top_tile.y + by - objects[h].first->pos.y + 5))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
//printing object
|
||||||
SDL_Rect sr;
|
SDL_Rect sr;
|
||||||
|
|
||||||
sr.x = srx;
|
sr.x = srx;
|
||||||
|
Reference in New Issue
Block a user