CGeneralTextHandler.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. #include "../stdafx.h"
  2. #include "CGeneralTextHandler.h"
  3. #include "../CGameInfo.h"
  4. #include "CLodHandler.h"
  5. #include <fstream>
  6. void CGeneralTextHandler::load()
  7. {
  8. std::string buf = CGameInfo::mainObj->bitmaph->getTextFile("GENRLTXT.TXT");
  9. int andame = buf.size();
  10. int i=0; //buf iterator
  11. for(i; i<andame; ++i)
  12. {
  13. if(buf[i]=='\r')
  14. break;
  15. }
  16. i+=2;
  17. for(int jj=0; jj<764; ++jj)
  18. {
  19. std::string buflet;
  20. loadToIt(buflet, buf, i, 2);
  21. allTexts.push_back(buflet);
  22. }
  23. std::string strs = CGI->bitmaph->getTextFile("ARRAYTXT.TXT");
  24. int itr=0;
  25. while(itr<strs.length()-1)
  26. {
  27. std::string tmp;
  28. CGeneralTextHandler::loadToIt(tmp, strs, itr, 3);
  29. arraytxt.push_back(tmp);
  30. }
  31. itr = 0;
  32. std::string strin = CGI->bitmaph->getTextFile("PRISKILL.TXT");
  33. for(int hh=0; hh<4; ++hh)
  34. {
  35. std::string tmp;
  36. CGeneralTextHandler::loadToIt(tmp, strin, itr, 3);
  37. primarySkillNames.push_back(tmp);
  38. }
  39. itr = 0;
  40. std::string strin2 = CGI->bitmaph->getTextFile("JKTEXT.TXT");
  41. for(int hh=0; hh<45; ++hh)
  42. {
  43. std::string tmp;
  44. CGeneralTextHandler::loadToIt(tmp, strin2, itr, 3);
  45. jktexts.push_back(tmp);
  46. }
  47. itr = 0;
  48. std::string strin3 = CGI->bitmaph->getTextFile("HEROSCRN.TXT");
  49. for(int hh=0; hh<33; ++hh)
  50. {
  51. std::string tmp;
  52. CGeneralTextHandler::loadToIt(tmp, strin3, itr, 3);
  53. heroscrn.push_back(tmp);
  54. }
  55. }
  56. void CGeneralTextHandler::loadToIt(std::string &dest, std::string &src, int &iter, int mode)
  57. {
  58. switch(mode)
  59. {
  60. case 0:
  61. {
  62. int hmcr = 0;
  63. for(iter; iter<src.size(); ++iter)
  64. {
  65. if(src[iter]=='\t')
  66. ++hmcr;
  67. if(hmcr==1)
  68. break;
  69. }
  70. ++iter;
  71. int befi=iter;
  72. for(iter; iter<src.size(); ++iter)
  73. {
  74. if(src[iter]=='\t')
  75. break;
  76. }
  77. dest = src.substr(befi, iter-befi);
  78. ++iter;
  79. hmcr = 0;
  80. for(iter; iter<src.size(); ++iter)
  81. {
  82. if(src[iter]=='\r')
  83. ++hmcr;
  84. if(hmcr==1)
  85. break;
  86. }
  87. iter+=2;
  88. break;
  89. }
  90. case 1:
  91. {
  92. int hmcr = 0;
  93. for(iter; iter<src.size(); ++iter)
  94. {
  95. if(src[iter]=='\t')
  96. ++hmcr;
  97. if(hmcr==1)
  98. break;
  99. }
  100. ++iter;
  101. int befi=iter;
  102. for(iter; iter<src.size(); ++iter)
  103. {
  104. if(src[iter]=='\r')
  105. break;
  106. }
  107. dest = src.substr(befi, iter-befi);
  108. iter+=2;
  109. break;
  110. }
  111. case 2:
  112. {
  113. int befi=iter;
  114. for(iter; iter<src.size(); ++iter)
  115. {
  116. if(src[iter]=='\t')
  117. break;
  118. }
  119. dest = src.substr(befi, iter-befi);
  120. ++iter;
  121. int hmcr = 0;
  122. for(iter; iter<src.size(); ++iter)
  123. {
  124. if(src[iter]=='\r')
  125. ++hmcr;
  126. if(hmcr==1)
  127. break;
  128. }
  129. iter+=2;
  130. break;
  131. }
  132. case 3:
  133. {
  134. int befi=iter;
  135. for(iter; iter<src.size(); ++iter)
  136. {
  137. if(src[iter]=='\r')
  138. break;
  139. }
  140. dest = src.substr(befi, iter-befi);
  141. iter+=2;
  142. break;
  143. }
  144. case 4:
  145. {
  146. int befi=iter;
  147. for(iter; iter<src.size(); ++iter)
  148. {
  149. if(src[iter]=='\t')
  150. break;
  151. }
  152. dest = src.substr(befi, iter-befi);
  153. iter++;
  154. break;
  155. }
  156. }
  157. }