Browse Source

* partially done attacking in battles
* screen isn't now refreshed while blitting creature info window
* r-click creature info windows in battles
* a few minor things

mateuszb 17 years ago
parent
commit
1aa758a737
10 changed files with 273 additions and 59 deletions
  1. 188 7
      CBattleInterface.cpp
  2. 5 1
      CBattleInterface.h
  3. 24 1
      CGameState.cpp
  4. 1 0
      CGameState.h
  5. 2 2
      CMT.cpp
  6. 21 15
      CPlayerInterface.cpp
  7. 1 0
      CPlayerInterface.h
  8. 30 0
      SDL_Extensions.cpp
  9. 1 0
      SDL_Extensions.h
  10. 0 33
      hch/CCreatureHandler.cpp

+ 188 - 7
CBattleInterface.cpp

@@ -266,8 +266,6 @@ void CBattleInterface::show(SDL_Surface * to)
 		}
 	}
 	//units shown
-
-	CSDL_Ext::update();
 }
 
 bool CBattleInterface::reverseCreature(int number, int hex, bool wideTrick)
@@ -278,6 +276,7 @@ bool CBattleInterface::reverseCreature(int number, int hex, bool wideTrick)
 	for(int g=0; g<creAnims[number]->framesInGroup(8); ++g)
 	{
 		show();
+		CSDL_Ext::update();
 		SDL_framerateDelay(LOCPLINT->mainFPSmng);
 	}
 	creDir[number] = !creDir[number];
@@ -296,6 +295,7 @@ bool CBattleInterface::reverseCreature(int number, int hex, bool wideTrick)
 	for(int g=0; g<creAnims[number]->framesInGroup(7); ++g)
 	{
 		show();
+		CSDL_Ext::update();
 		SDL_framerateDelay(LOCPLINT->mainFPSmng);
 	}
 	creAnims[number]->setType(2);
@@ -379,6 +379,7 @@ void CBattleInterface::stackMoved(int number, int destHex, bool startMoving, boo
 		for(int i=0; i<creAnims[number]->framesInGroup(20); ++i)
 		{
 			show();
+			CSDL_Ext::update();
 			SDL_framerateDelay(LOCPLINT->mainFPSmng);
 		}
 	}
@@ -445,6 +446,7 @@ void CBattleInterface::stackMoved(int number, int destHex, bool startMoving, boo
 				break;
 			}
 			show();
+			CSDL_Ext::update();
 			SDL_framerateDelay(LOCPLINT->mainFPSmng);
 		}
 		if( (LOCPLINT->cb->battleGetStackByID(number).owner == attackingHeroInstance->tempOwner ) != creDir[number])
@@ -512,6 +514,7 @@ void CBattleInterface::stackMoved(int number, int destHex, bool startMoving, boo
 				break;
 			}
 			show();
+			CSDL_Ext::update();
 			SDL_framerateDelay(LOCPLINT->mainFPSmng);
 		}
 	}
@@ -521,6 +524,7 @@ void CBattleInterface::stackMoved(int number, int destHex, bool startMoving, boo
 		for(int i=0; i<creAnims[number]->framesInGroup(21); ++i)
 		{
 			show();
+			CSDL_Ext::update();
 			SDL_framerateDelay(LOCPLINT->mainFPSmng);
 		}
 	}
@@ -539,8 +543,147 @@ void CBattleInterface::stackMoved(int number, int destHex, bool startMoving, boo
 	creAnims[number]->pos.y = coords.second;
 }
 
+void CBattleInterface::stackIsAttacked(int ID)
+{
+}
+
 void CBattleInterface::stackAttacking(int ID, int dest)
 {
+	CStack aStack = LOCPLINT->cb->battleGetStackByID(ID); //attacking stack
+	if(aStack.creature->isDoubleWide())
+	{
+		switch(CBattleHex::mutualPosition(aStack.position, dest)) //attack direction
+		{
+			case 0:
+				/*reverseCreature(ID, aStack.position, true);
+				creAnims[ID]->setType(10);
+				for(int i=0; i<creAnims[ID]->framesInGroup(10); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				reverseCreature(ID, aStack.position, true);*/
+				break;
+			case 1:
+				creAnims[ID]->setType(10);
+				for(int i=0; i<creAnims[ID]->framesInGroup(10); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				break;
+			case 2:
+				creAnims[ID]->setType(11);
+				for(int i=0; i<creAnims[ID]->framesInGroup(11); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				break;
+			case 3:
+				creAnims[ID]->setType(12);
+				for(int i=0; i<creAnims[ID]->framesInGroup(12); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				break;
+			case 4:
+				/*reverseCreature(ID, aStack.position, true);
+				creAnims[ID]->setType(12);
+				for(int i=0; i<creAnims[ID]->framesInGroup(12); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				reverseCreature(ID, aStack.position, true);*/
+				break;
+			case 5:
+				/*reverseCreature(ID, aStack.position, true);
+				creAnims[ID]->setType(11);
+				for(int i=0; i<creAnims[ID]->framesInGroup(11); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				reverseCreature(ID, aStack.position, true);*/
+				break;
+		}
+		creAnims[ID]->setType(2);
+	}
+	else //else for if(aStack.creature->isDoubleWide())
+	{
+		switch(CBattleHex::mutualPosition(aStack.position, dest)) //attack direction
+		{
+			case 0:
+				reverseCreature(ID, aStack.position, true);
+				creAnims[ID]->setType(10);
+				for(int i=0; i<creAnims[ID]->framesInGroup(10); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				reverseCreature(ID, aStack.position, true);
+				break;
+			case 1:
+				creAnims[ID]->setType(10);
+				for(int i=0; i<creAnims[ID]->framesInGroup(10); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				break;
+			case 2:
+				creAnims[ID]->setType(11);
+				for(int i=0; i<creAnims[ID]->framesInGroup(11); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				break;
+			case 3:
+				creAnims[ID]->setType(12);
+				for(int i=0; i<creAnims[ID]->framesInGroup(12); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				break;
+			case 4:
+				reverseCreature(ID, aStack.position, true);
+				creAnims[ID]->setType(12);
+				for(int i=0; i<creAnims[ID]->framesInGroup(12); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				reverseCreature(ID, aStack.position, true);
+				break;
+			case 5:
+				reverseCreature(ID, aStack.position, true);
+				creAnims[ID]->setType(11);
+				for(int i=0; i<creAnims[ID]->framesInGroup(11); ++i)
+				{
+					show();
+					CSDL_Ext::update();
+					SDL_framerateDelay(LOCPLINT->mainFPSmng);
+				}
+				reverseCreature(ID, aStack.position, true);
+				break;
+		}
+		creAnims[ID]->setType(2);
+	}
 }
 
 void CBattleInterface::newRound(int number)
@@ -552,11 +695,24 @@ void CBattleInterface::hexLclicked(int whichOne)
 {
 	if((whichOne%17)!=0 && (whichOne%17)!=16) //if player is trying to attack enemey unit or move creature stack
 	{
-		BattleAction * ba = new BattleAction(); //to be deleted by engine
-		ba->actionType = 6;
-		ba->destinationTile = whichOne;
-		ba->stackNumber = activeStack;
-		givenCommand = ba;
+		int atCre = LOCPLINT->cb->battleGetStack(whichOne); //creature at destination tile; -1 if there is no one
+		//LOCPLINT->cb->battleGetCreature();
+		if(atCre==-1) //normal move action
+		{
+			BattleAction * ba = new BattleAction(); //to be deleted by engine
+			ba->actionType = 2;
+			ba->destinationTile = whichOne;
+			ba->stackNumber = activeStack;
+			givenCommand = ba;
+		}
+		else if(LOCPLINT->cb->battleGetStackByID(atCre).owner != attackingHeroInstance->tempOwner) //attacking
+		{
+			BattleAction * ba = new BattleAction(); //to be deleted by engine
+			ba->actionType = 6;
+			ba->destinationTile = whichOne;
+			ba->stackNumber = activeStack;
+			givenCommand = ba;
+		}
 	}
 }
 
@@ -689,6 +845,7 @@ void CBattleHex::activate()
 	Hoverable::activate();
 	MotionInterested::activate();
 	ClickableL::activate();
+	ClickableR::activate();
 }
 
 void CBattleHex::deactivate()
@@ -696,6 +853,7 @@ void CBattleHex::deactivate()
 	Hoverable::deactivate();
 	MotionInterested::deactivate();
 	ClickableL::deactivate();
+	ClickableR::deactivate();
 }
 
 void CBattleHex::hover(bool on)
@@ -731,6 +889,29 @@ void CBattleHex::clickLeft(boost::logic::tribool down)
 	}
 }
 
+void CBattleHex::clickRight(boost::logic::tribool down)
+{
+	int stID = LOCPLINT->cb->battleGetStack(myNumber); //id of stack being on this tile
+	if(hovered && strictHovered && stID!=-1)
+	{
+		CStack myst = LOCPLINT->cb->battleGetStackByID(stID); //stack info
+		StackState *pom = NULL;
+		if(down)
+		{
+			pom = new StackState();
+			const CGHeroInstance *h = myst.owner == myInterface->attackingHeroInstance->tempOwner ? myInterface->attackingHeroInstance : myInterface->defendingHeroInstance;
+			pom->attackBonus = h->primSkills[0];
+			pom->defenseBonus = h->primSkills[1];
+			pom->luck = h->getCurrentLuck();
+			pom->morale = h->getCurrentMorale();
+
+			(new CCreInfoWindow(myst.creature->idNumber,0,pom,boost::function<void()>(),boost::function<void()>()))
+					->activate();
+		}
+		delete pom;
+	}
+}
+
 CBattleConsole::CBattleConsole() : lastShown(-1)
 {
 }

+ 5 - 1
CBattleInterface.h

@@ -24,7 +24,7 @@ public:
 
 class CBattleInterface;
 
-class CBattleHex : public Hoverable, public MotionInterested, public ClickableL
+class CBattleHex : public Hoverable, public MotionInterested, public ClickableL, public ClickableR
 {
 public:
 	unsigned int myNumber;
@@ -40,6 +40,7 @@ public:
 	void deactivate();
 	void mouseMoved (SDL_MouseMotionEvent & sEvent);
 	void clickLeft(boost::logic::tribool down);
+	void clickRight(boost::logic::tribool down);
 	CBattleHex();
 };
 
@@ -113,7 +114,10 @@ public:
 	void stackRemoved(CStack stack); //stack disappeared from batlefiled
 	void stackActivated(int number); //active stack has been changed
 	void stackMoved(int number, int destHex, bool startMoving, bool endMoving); //stack with id number moved to destHex
+	void stackIsAttacked(int ID); //called when stack id attacked
 	void stackAttacking(int ID, int dest); //called when stack with id ID is attacking something on hex dest
 	void newRound(int number); //caled when round is ended; number is the number of round
 	void hexLclicked(int whichOne); //hex only call-in
+
+	friend CBattleHex;
 };

+ 24 - 1
CGameState.cpp

@@ -215,6 +215,10 @@ void CGameState::battle(CCreatureSet * army1, CCreatureSet * army2, int3 tile, C
 					BattleAction ba = ((CPlayerInterface*)CGI->playerint[serialOwner])->activeStack(stacks[i]->ID);
 					switch(ba.actionType)
 					{
+					case 2: //walk
+						{
+							battleMoveCreatureStack(ba.stackNumber, ba.destinationTile);
+						}
 					case 3: //defend
 						{
 							break;
@@ -229,6 +233,7 @@ void CGameState::battle(CCreatureSet * army1, CCreatureSet * army2, int3 tile, C
 					case 6: //walk or attack
 						{
 							battleMoveCreatureStack(ba.stackNumber, ba.destinationTile);
+							battleAttackCreatureStack(ba.stackNumber, ba.destinationTile);
 							break;
 						}
 					}
@@ -295,7 +300,7 @@ bool CGameState::battleMoveCreatureStack(int ID, int dest)
 		accessibility[k] = true;
 	for(int g=0; g<curB->stacks.size(); ++g)
 	{
-		if(curB->stacks[g]->owner == owner && curB->stacks[g]->ID != ID) //we don't want to lock enemy's positions and this units' position
+		if(curB->stacks[g]->ID != ID) //we don't want to lock enemy's positions and this units' position
 		{
 			accessibility[curB->stacks[g]->position] = false;
 			if(curB->stacks[g]->creature->isDoubleWide()) //if it's a double hex creature
@@ -307,6 +312,7 @@ bool CGameState::battleMoveCreatureStack(int ID, int dest)
 			}
 		}
 	}
+	accessibility[dest] = true;
 	if(curStack->creature->isDoubleWide()) //locking positions unreachable by two-hex creatures
 	{
 		bool mac[187];
@@ -415,6 +421,23 @@ bool CGameState::battleMoveCreatureStack(int ID, int dest)
 	return true;
 }
 
+bool CGameState::battleAttackCreatureStack(int ID, int dest)
+{
+	int attackedCreaure = -1; //-1 - there is no attacked creature
+	for(int b=0; b<curB->stacks.size(); ++b) //TODO: make upgrades for two-hex cres.
+	{
+		if(curB->stacks[b]->position == dest)
+		{
+			attackedCreaure = curB->stacks[b]->ID;
+			break;
+		}
+	}
+	if(attackedCreaure == -1)
+		return false;
+	//LOCPLINT->cb->
+	return true;
+}
+
 std::vector<int> CGameState::battleGetRange(int ID)
 {
 	int initialPlace=-1; //position of unit

+ 1 - 0
CGameState.h

@@ -90,6 +90,7 @@ private:
 	}
 	void battle(CCreatureSet * army1, CCreatureSet * army2, int3 tile, CArmedInstance *hero1, CArmedInstance *hero2);
 	bool battleMoveCreatureStack(int ID, int dest);
+	bool battleAttackCreatureStack(int ID, int dest);
 	std::vector<int> battleGetRange(int ID); //called by std::vector<int> CCallback::battleGetAvailableHexes(int ID);
 public:
 	friend CCallback;

+ 2 - 2
CMT.cpp

@@ -837,10 +837,10 @@ int _tmain(int argc, _TCHAR* argv[])
 		}
 		std::cout<<"Opening map file: "<<mapname<<"\t\t"<<std::flush;
 		gzFile map = gzopen(mapname.c_str(),"rb");
-		std::string mapstr;int pom;
+		std::vector<unsigned char> mapstr; int pom;
 		while((pom=gzgetc(map))>=0)
 		{
-			mapstr+=pom;
+			mapstr.push_back(pom);
 		}
 		gzclose(map);
 		unsigned char *initTable = new unsigned char[mapstr.size()];

+ 21 - 15
CPlayerInterface.cpp

@@ -2073,6 +2073,11 @@ void CPlayerInterface::battleStackAttacking(int ID, int dest)
 	dynamic_cast<CBattleInterface*>(curint)->stackAttacking(ID, dest);
 }
 
+void CPlayerInterface::battleStackIsAttacked(int ID)
+{
+	dynamic_cast<CBattleInterface*>(curint)->stackIsAttacked(ID);
+}
+
 void CPlayerInterface::showComp(SComponent comp)
 {
 	adventureInt->infoBar.showComp(&comp,4000);
@@ -2933,22 +2938,23 @@ CCreInfoWindow::CCreInfoWindow(int Cid, int Type, StackState *State, boost::func
 	anim->setType(1);
 
 	char pom[25];int hlp=0;
-	printAtMiddle(c->namePl,149,30,GEOR13,zwykly,bitmap); //creature name
+	printAtMiddleWB(c->namePl,149,30,GEOR13,100,zwykly,bitmap); //creature name
 
 	//atttack
-	printAt(CGI->preth->zelp[435].first,155,48,GEOR13,zwykly,bitmap);
+	printAtWB(CGI->preth->zelp[435].first,155,48,GEOR13,100,zwykly,bitmap);
 	itoa(c->attack,pom,10);
 	if(State && State->attackBonus)
 	{
 		int hlp = log10f(c->attack)+2;
 		pom[hlp-1] = ' '; pom[hlp] = '(';
 		itoa(c->attack+State->attackBonus,pom+hlp+1,10);
-		pom[hlp+2+(int)log10f(State->attackBonus+c->attack)] = ')';
+		hlp += 2+(int)log10f(State->attackBonus+c->attack);
+		pom[hlp] = ')'; pom[hlp+1] = '\0';
 	}
-	printTo(pom,276,61,GEOR13,zwykly,bitmap);
+	printToWB(pom,276,61,GEOR13,zwykly,bitmap);
 
 	//defense
-	printAt(CGI->preth->zelp[436].first,155,67,GEOR13,zwykly,bitmap);
+	printAtWB(CGI->preth->zelp[436].first,155,67,GEOR13,100,zwykly,bitmap);
 	itoa(c->defence,pom,10);
 	if(State && State->defenseBonus)
 	{
@@ -2957,36 +2963,36 @@ CCreInfoWindow::CCreInfoWindow(int Cid, int Type, StackState *State, boost::func
 		itoa(c->defence+State->defenseBonus,pom+hlp+1,10);
 		pom[hlp+2+(int)log10f(State->defenseBonus+c->defence)] = ')';
 	}
-	printTo(pom,276,80,GEOR13,zwykly,bitmap);
+	printToWB(pom,276,80,GEOR13,zwykly,bitmap);
 
 	//shots
 	if(c->shots)
 	{
-		printAt(CGI->generaltexth->allTexts[198],155,86,GEOR13,zwykly,bitmap);
+		printAtWB(CGI->generaltexth->allTexts[198],155,86,GEOR13,100,zwykly,bitmap);
 		itoa(c->shots,pom,10);
-		printTo(pom,276,99,GEOR13,zwykly,bitmap);
+		printToWB(pom,276,99,GEOR13,zwykly,bitmap);
 	}
 
 	//damage
-	printAt(CGI->generaltexth->allTexts[199],155,105,GEOR13,zwykly,bitmap);
+	printAtWB(CGI->generaltexth->allTexts[199],155,105,GEOR13,100,zwykly,bitmap);
 	itoa(c->damageMin,pom,10);
 	hlp=log10f(c->damageMin)+2;
 	pom[hlp-1]=' '; pom[hlp]='-'; pom[hlp+1]=' ';
 	itoa(c->damageMax,pom+hlp+2,10);
-	printTo(pom,276,118,GEOR13,zwykly,bitmap);
+	printToWB(pom,276,118,GEOR13,zwykly,bitmap);
 
 	//health
-	printAt(CGI->preth->zelp[439].first,155,124,GEOR13,zwykly,bitmap);
+	printAtWB(CGI->preth->zelp[439].first,155,124,GEOR13,100,zwykly,bitmap);
 	itoa(c->hitPoints,pom,10);
-	printTo(pom,276,137,GEOR13,zwykly,bitmap);
+	printToWB(pom,276,137,GEOR13,zwykly,bitmap);
 
 	//remaining health - TODO: show during the battles
 	//printAt(CGI->preth->zelp[440].first,155,143,GEOR13,zwykly,bitmap);
 
 	//speed
-	printAt(CGI->preth->zelp[441].first,155,162,GEOR13,zwykly,bitmap);
+	printAtWB(CGI->preth->zelp[441].first,155,162,GEOR13,100,zwykly,bitmap);
 	itoa(c->speed,pom,10);
-	printTo(pom,276,175,GEOR13,zwykly,bitmap);
+	printToWB(pom,276,175,GEOR13,zwykly,bitmap);
 
 
 	//luck and morale
@@ -3051,4 +3057,4 @@ void CCreInfoWindow::deactivate()
 		dismiss->deactivate();
 	if(upgrade)
 		upgrade->deactivate();
-}
+}

+ 1 - 0
CPlayerInterface.h

@@ -341,6 +341,7 @@ public:
 	void battleEnd(CCreatureSet * army1, CCreatureSet * army2, CArmedInstance *hero1, CArmedInstance *hero2, std::vector<int> capturedArtifacts, int expForWinner, bool winner);
 	void battleStackMoved(int ID, int dest, bool startMoving, bool endMoving);
 	void battleStackAttacking(int ID, int dest);
+	void battleStackIsAttacked(int ID);
 
 
 	//-------------//

+ 30 - 0
SDL_Extensions.cpp

@@ -202,6 +202,36 @@ void CSDL_Ext::printTo(std::string text, int x, int y, TTF_Font * font, SDL_Colo
 	SDL_UpdateRect(dst,x-temp->w,y-temp->h,temp->w,temp->h);
 	SDL_FreeSurface(temp);
 }
+
+void CSDL_Ext::printToWB(std::string text, int x, int y, TTF_Font * font, SDL_Color kolor, SDL_Surface * dst, unsigned char quality)
+{
+	if (text.length()==0)
+		return;
+	SDL_Surface * temp;
+	switch (quality)
+	{
+	case 0:
+		temp = TTF_RenderText_Solid(font,text.c_str(),kolor);
+		break;
+	case 1:
+		SDL_Color tem;
+		tem.b = 0xff-kolor.b;
+		tem.g = 0xff-kolor.g;
+		tem.r = 0xff-kolor.r;
+		tem.unused = 0xff-kolor.unused;
+		temp = TTF_RenderText_Shaded(font,text.c_str(),kolor,tem);
+		break;
+	case 2:
+		temp = TTF_RenderText_Blended(font,text.c_str(),kolor);
+		break;
+	default:
+		temp = TTF_RenderText_Blended(font,text.c_str(),kolor);
+		break;
+	}
+	SDL_BlitSurface(temp,NULL,dst,&genRect(temp->h,temp->w,x-temp->w,y-temp->h));
+	SDL_FreeSurface(temp);
+}
+
 void CSDL_Ext::SDL_PutPixel(SDL_Surface *ekran, int x, int y, Uint8 R, Uint8 G, Uint8 B, int myC, Uint8 A)
 {
 	Uint8 *p = (Uint8 *)ekran->pixels + y * ekran->pitch + x * ekran->format->BytesPerPixel-myC;

+ 1 - 0
SDL_Extensions.h

@@ -39,6 +39,7 @@ namespace CSDL_Ext
 	//void fullAlphaTransform(SDL_Surface *& src); //performs first and second alpha transform
 	Uint32 colorToUint32(const SDL_Color * color); //little endian only
 	void printTo(std::string text, int x, int y, TTF_Font * font, SDL_Color kolor=tytulowy, SDL_Surface * dst=screen, unsigned char quality = 2);// quality: 0 - lowest, 1 - medium, 2 - highest; prints at right bottom corner of specific area. position of corner indicated by (x, y)
+	void printToWB(std::string text, int x, int y, TTF_Font * font, SDL_Color kolor=tytulowy, SDL_Surface * dst=screen, unsigned char quality = 2);// quality: 0 - lowest, 1 - medium, 2 - highest; prints at right bottom corner of specific area. position of corner indicated by (x, y)
 	void printAtMiddle(std::string text, int x, int y, TTF_Font * font, SDL_Color kolor=tytulowy, SDL_Surface * dst=screen, unsigned char quality = 2); // quality: 0 - lowest, 1 - medium, 2 - highest
 	void printAtMiddleWB(std::string text, int x, int y, TTF_Font * font, int charpr, SDL_Color kolor=tytulowy, SDL_Surface * dst=screen);
 	void printAtWB(std::string text, int x, int y, TTF_Font * font, int charpr, SDL_Color kolor=tytulowy, SDL_Surface * dst=screen);

+ 0 - 33
hch/CCreatureHandler.cpp

@@ -937,39 +937,6 @@ int CCreatureAnimation::nextFrame(SDL_Surface *dest, int x, int y, bool attacker
 		}
 	}
 
-	//for (int i=0; i<FullHeight; ++i)
-	//{
-	//	for (int j=0;j<FullWidth+add;j++)
-	//	{
-	//		if( i+y<dest->h && j+x<dest->w && i+y>=0 && j+x>=0)
-	//		{
-	//			unsigned char coln = FTemp[i*(FullWidth+add)+j]; //number of color from palette
-	//			if(coln==0)
-	//				continue;
-	//			unsigned char* ptr = ((unsigned char*)dest->pixels + dest->format->BytesPerPixel * ((i + y)*dest->w + j + x));
-	//			if(coln>7 || coln == 5) //normal or yellow border
-	//			{
-	//				*ptr = palette[coln].B;
-	//				*(ptr+1) = palette[coln].G;
-	//				*(ptr+2) = palette[coln].R;
-	//			}
-	//			else if(coln<5) //shadow
-	//			{
-	//				*ptr = ((*ptr) * (palette[coln].G + 50)) /200;
-	//				*(ptr+1) = ((*(ptr+1)) * (palette[coln].G + 50)) /200 ;
-	//				*(ptr+2) = ((*(ptr+2)) * (palette[coln].G + 50)) /200 ;
-	//			}
-	//			else if(coln == 6) //yellow border shadowed
-	//			{
-	//				*ptr = ((*ptr) + palette[coln-1].B) / 2;
-	//				*(ptr+1) = ((*(ptr+1)) + palette[coln-1].G) / 2;
-	//				*(ptr+2) = ((*(ptr+2)) + palette[coln-1].R) / 2;
-	//			}
-
-	//		}
-	//	}
-	//}
-
 	//SDL_UpdateRect(dest, x, y, FullWidth+add, FullHeight);
 
 	return 0;