1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-30 08:57:00 +02:00
vcmi/hch/CGeneralTextHandler.cpp

304 lines
8.4 KiB
C++

#include "../stdafx.h"
#include "CGeneralTextHandler.h"
#include "../CGameInfo.h"
#include "CLodHandler.h"
#include <fstream>
void CGeneralTextHandler::load()
{
std::string buf = CGameInfo::mainObj->bitmaph->getTextFile("GENRLTXT.TXT");
int andame = buf.size();
int i=0; //buf iterator
for(i; i<andame; ++i)
{
if(buf[i]=='\r')
break;
}
i+=2;
for(int jj=0; jj<764; ++jj)
{
std::string buflet;
loadToIt(buflet, buf, i, 2);
allTexts.push_back(buflet);
}
std::string strs = CGI->bitmaph->getTextFile("ARRAYTXT.TXT");
int itr=0;
while(itr<strs.length()-1)
{
std::string tmp;
CGeneralTextHandler::loadToIt(tmp, strs, itr, 3);
arraytxt.push_back(tmp);
}
itr = 0;
std::string strin = CGI->bitmaph->getTextFile("PRISKILL.TXT");
for(int hh=0; hh<4; ++hh)
{
std::string tmp;
CGeneralTextHandler::loadToIt(tmp, strin, itr, 3);
primarySkillNames.push_back(tmp);
}
itr = 0;
std::string strin2 = CGI->bitmaph->getTextFile("JKTEXT.TXT");
for(int hh=0; hh<45; ++hh)
{
std::string tmp;
CGeneralTextHandler::loadToIt(tmp, strin2, itr, 3);
jktexts.push_back(tmp);
}
//std::ofstream ofs("arraytxts.txt");
//for (int i=0;i<arraytxt.size();i++)
// ofs << i <<".\t" << arraytxt[i] << std::endl<< std::endl;
/*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);
loadToIt(worldMapHelp, buf, i, 2);
loadToIt(sureEndTurnHeroMayMove, buf, i, 2);
loadToIt(diggingArtifactWholeDay, buf, i, 2);
loadToIt(noRoomForArtifact, buf, i, 2);
loadToIt(heroUncoveredThe, buf, i, 2);
loadToIt(diggingNothing, buf, i, 2);
loadToIt(tryLookingOnLand, buf, i, 2);
loadToIt(unchartedTerritory, buf, i, 2);
loadToIt(month, buf, i, 2);
loadToIt(week, buf, i, 2);
loadToIt(day, buf, i, 2);
loadToIt(enemyViewTip, buf, i, 2);
loadToIt(pingInfo, buf, i, 2);
loadToIt(sureToRestart, buf, i, 2);
loadToIt(sureToStartNewGame, buf, i, 2);
loadToIt(sureQuit, buf, i, 2);
loadToIt(dimensionDoorFiled, buf, i, 2);
loadToIt(chooseBonus, buf, i, 2);
loadToIt(ping, buf, i, 2);
loadToIt(pingSomething, buf, i, 2);
loadToIt(pingEveryone, buf, i, 2);
loadToIt(score, buf, i, 2);
loadToIt(autosaveUppercase, buf, i, 2);
loadToIt(startingHeroB, buf, i, 2);
loadToIt(heroSpecialityB, buf, i, 2);
loadToIt(associatedCreaturesB, buf, i, 2);
loadToIt(townAlignmentB, buf, i, 2);
loadToIt(errorSendingDataKeepTrying, buf, i, 2);
loadToIt(tooFewPalyersForMultiGame, buf, i, 2);
loadToIt(artifactBonusB, buf, i, 2);
loadToIt(goldBonusB, buf, i, 2);
loadToIt(resourceBonusB, buf, i, 2);
loadToIt(randomBonusB, buf, i, 2);
loadToIt(fiveHundredToOneThousand, buf, i, 2);
loadToIt(armageddonDamages, buf, i, 2);
loadToIt(woodOreBonus, buf, i, 2);
loadToIt(randomlyChoosenArtifact, buf, i, 2);
loadToIt(disruptingRayReducesDefence, buf, i, 2);
loadToIt(goldStartingBonus, buf, i, 2);
loadToIt(woodOreStartingBonus, buf, i, 2);
loadToIt(randomStartingBonus, buf, i, 2);
loadToIt(youEliminatedFormGame, buf, i, 2);
loadToIt(scoreToHallOfFame, buf, i, 2);
loadToIt(trySearchingOnClearGround, buf, i, 2);
loadToIt(sendingData, buf, i, 2);
loadToIt(receivingData, buf, i, 2);
loadToIt(chaosMp2, buf, i, 2);
loadToIt(randomHeroB, buf, i, 2);
loadToIt(randomStartingHeroInfo, buf, i, 2);
loadToIt(randomTownB, buf, i, 2);
loadToIt(randomStartingTownInfo, buf, i, 2);
loadToIt(somethingSurrendersInfo, buf, i, 2);
loadToIt(heroesCDNotFound, buf, i, 2);
loadToIt(autosaving, buf, i, 2);
loadToIt(playerexitUppercase, buf, i, 2);
loadToIt(statusWindowTip, buf, i, 2);
loadToIt(border, buf, i, 2);
loadToIt(somethingAbsorbsMana, buf, i, 2);
loadToIt(somethingsAbsorbMana, buf, i, 2);
loadToIt(unableChangeHeroesDirectory, buf, i, 2);
loadToIt(unableFindHeoresDataFiles, buf, i, 2);
loadToIt(victoryAchievementText, buf, i, 2);
loadToIt(somethingsRiseFromDeath, buf, i, 2);
loadToIt(somethingRisesFormDeath, buf, i, 2);
loadToIt(somethingDiesUnderGaze, buf, i, 2);
loadToIt(somethingsDieUnderGaze, buf, i, 2);
loadToIt(somethingTakesDefensiveStance, buf, i, 2);
loadToIt(somethingsTakeDefensiveStance, buf, i, 2);
loadToIt(somethingExp, buf, i, 2);
loadToIt(nearestTownOccupied, buf, i, 2);
loadToIt(noAvailableTown, buf, i, 2);
loadToIt(heroTooTiredSpell, buf, i, 2);
loadToIt(townGateCannotBeUsed, buf, i, 2);
loadToIt(youHaveNoHeroes, buf, i, 2);
loadToIt(heroHasCastSpell, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, buf, i, 2);
loadToIt(requires, 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;
}
case 4:
{
int befi=iter;
for(iter; iter<src.size(); ++iter)
{
if(src[iter]=='\t')
break;
}
dest = src.substr(befi, iter-befi);
iter++;
break;
}
}
}