| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- #include "stdafx.h"
 
- #include "CAbilityHandler.h"
 
- void CAbilityHandler::loadAbilities()
 
- {
 
- 	std::ifstream inp("H3bitmap.lod\\SSTRAITS.TXT", std::ios::in);
 
- 	std::string dump;
 
- 	for(int i=0; i<5; ++i)
 
- 	{
 
- 		inp>>dump;
 
- 	}
 
- 	inp.ignore();
 
- 	while(!inp.eof())
 
- 	{
 
- 		CAbility nab; //new creature, that will be read
 
- 		std::string base;
 
- 		char * tab = new char[500];
 
- 		int iitBef = 0;
 
- 		int iit = 0;
 
- 		inp.getline(tab, 500);
 
- 		base = std::string(tab);
 
- 		if(base.size()<2) //ended, but some rubbish could still stay end we have something useless
 
- 		{
 
- 			inp.close();
 
- 			return; //add counter
 
- 		}
 
- 		while(base[iit]!='\t')
 
- 		{
 
- 			++iit;
 
- 		}
 
- 		nab.name = base.substr(0, iit);
 
- 		++iit;
 
- 		iitBef=iit;
 
- 		nab.basicText = base.substr(iitBef, base.size()-iitBef);
 
- 		inp.getline(tab, 500);
 
- 		inp.getline(tab, 500);
 
- 		base = std::string(tab);
 
- 		iitBef = 0;
 
- 		iit = 0;
 
- 		while(base[iit]!='\t')
 
- 		{
 
- 			++iit;
 
- 		}
 
- 		nab.basicText2 = base.substr(0, iit);
 
- 		++iit;
 
- 		iitBef=iit;
 
- 		nab.advText = base.substr(iitBef, base.size()-iitBef);
 
- 		inp.getline(tab, 500);
 
- 		inp.getline(tab, 500);
 
- 		base = std::string(tab);
 
- 		iitBef = 0;
 
- 		iit = 0;
 
- 		while(base[iit]!='\t')
 
- 		{
 
- 			++iit;
 
- 		}
 
- 		nab.advText2 = base.substr(0, iit);
 
- 		++iit;
 
- 		iitBef=iit;
 
- 		nab.expText = base.substr(iitBef, base.size()-iitBef);
 
- 		inp.getline(tab, 500);
 
- 		inp.getline(tab, 500);
 
- 		base = std::string(tab);
 
- 		nab.expText2 = base;
 
- 		nab.idNumber = abilities.size();
 
- 		abilities.push_back(nab);
 
- 		delete [500] tab;
 
- 	}
 
- }
 
 
  |