| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- #include "CGeneralTextHandler.h"
- #include <fstream>
- void CGeneralTextHandler::load()
- {
- std::ifstream inp("H3bitmap.lod\\GENRLTXT.TXT", std::ios::in|std::ios::binary);
- inp.seekg(0,std::ios::end); // na koniec
- int andame = inp.tellg(); // read length
- inp.seekg(0,std::ios::beg); // wracamy na poczatek
- char * bufor = new char[andame]; // allocate memory
- inp.read((char*)bufor, andame); // read map file to buffer
- inp.close();
- std::string buf = std::string(bufor);
- delete [andame] bufor;
- int i=0; //buf iterator
- for(i; i<andame; ++i)
- {
- if(buf[i]=='\r')
- break;
- }
- i+=2;
- loadToIt(cantAddManager, buf, i, 2);
- loadToIt(experienceLimitScenarioReached, buf, i, 2);
- loadToIt(heroExperienceInfo, buf, i, 2);
- loadToIt(perDay, buf, i, 2);
- loadToIt(or, buf, i, 2);
- loadToIt(somethingVanquished, buf, i, 2);
- loadToIt(lastTownLostInfo, buf, i, 2);
- loadToIt(heroesAbandonedYou, buf, i, 2);
- loadToIt(heroesAbandonedHim, buf, i, 2);
- loadToIt(couldNotSaveGame, buf, i, 2);
- loadToIt(errorOpeningFile, buf, i, 2);
- loadToIt(newgameUppercase, buf, i, 2);
- loadToIt(sureToDismissArmy, buf, i, 2);
- loadToIt(playersTurn, buf, i, 2);
- loadToIt(errorReceivingDataKeepTrying, buf, i, 2);
- loadToIt(somethingTheSomething, buf, i, 2);
- loadToIt(recruit, buf, i, 2);
- loadToIt(noRoomInGarrision, buf, i, 2);
- loadToIt(numberOFAdventuringHeroes, buf, i, 2);
- loadToIt(heroWithoutCreatures, buf, i, 2);
- loadToIt(videoQuality, buf, i, 2);
- loadToIt(itemCantBeTraded, buf, i, 2);
- loadToIt(sureDismissHero, buf, i, 2);
- loadToIt(selectSpellTarget, buf, i, 2);
- loadToIt(invalidTeleportDestination, buf, i, 2);
- loadToIt(teleportHere, buf, i, 2);
- loadToIt(castSomething, buf, i, 2);
- loadToIt(castSomethingOnSomething, buf, i, 2);
- loadToIt(sureRetreat, buf, i, 2);
- loadToIt(notEnoughGold, buf, i, 2);
- loadToIt(capturedEnemyArtifact, buf, i, 2);
- loadToIt(none, buf, i, 2);
- loadToIt(surrenderProposal, buf, i, 2);
- loadToIt(highMoraleNextAttack, buf, i, 2);
- loadToIt(lowMoraleFreeze, buf, i, 2);
- loadToIt(makeRoomInArmyForSomething, buf, i, 2);
- loadToIt(attackSomethingSomethingDamage, buf, i, 2);
- loadToIt(shootSomethingOneShootLeftSomethingDamage, buf, i, 2);
- loadToIt(campaignDescription, buf, i, 2);
- loadToIt(somethingIsActive, buf, i, 2);
- loadToIt(sessionName, buf, i, 2);
- loadToIt(userName, buf, i, 2);
- loadToIt(creature, buf, i, 2);
- loadToIt(creatures, buf, i, 2);
- loadToIt(badLuckOnSomething, buf, i, 2);
- loadToIt(goodLuckOnSomething, buf, i, 2);
- loadToIt(treasure, buf, i, 2);
- loadToIt(somethingSomethingsUnderAttack, buf, i, 2);
- loadToIt(town, buf, i, 2);
- loadToIt(hero, buf, i, 2);
- loadToIt(townScreen, buf, i, 2);
- loadToIt(cannotBuildBoat, buf, i, 2);
- loadToIt(requires, buf, i, 2);
- loadToIt(systemUppercase, buf, i, 2);
- }
- void CGeneralTextHandler::loadToIt(std::string &dest, std::string &src, int &iter, int mode)
- {
- switch(mode)
- {
- case 0:
- {
- int hmcr = 0;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\t')
- ++hmcr;
- if(hmcr==1)
- break;
- }
- ++iter;
- int befi=iter;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\t')
- break;
- }
- dest = src.substr(befi, iter-befi);
- ++iter;
- hmcr = 0;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\r')
- ++hmcr;
- if(hmcr==1)
- break;
- }
- iter+=2;
- break;
- }
- case 1:
- {
- int hmcr = 0;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\t')
- ++hmcr;
- if(hmcr==1)
- break;
- }
- ++iter;
- int befi=iter;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\r')
- break;
- }
- dest = src.substr(befi, iter-befi);
- iter+=2;
- break;
- }
- case 2:
- {
- int befi=iter;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\t')
- break;
- }
- dest = src.substr(befi, iter-befi);
- ++iter;
- int hmcr = 0;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\r')
- ++hmcr;
- if(hmcr==1)
- break;
- }
- iter+=2;
- break;
- }
- case 3:
- {
- int befi=iter;
- for(iter; iter<src.size(); ++iter)
- {
- if(src[iter]=='\r')
- break;
- }
- dest = src.substr(befi, iter-befi);
- iter+=2;
- break;
- }
- }
- }
|