Browse Source

Restored text export command

Ivan Savenko 2 năm trước cách đây
mục cha
commit
a499390b9c
2 tập tin đã thay đổi với 29 bổ sung60 xóa
  1. 1 30
      client/CMT.cpp
  2. 28 30
      lib/CGeneralTextHandler.cpp

+ 1 - 30
client/CMT.cpp

@@ -664,36 +664,7 @@ void processCommand(const std::string &message)
 //	}
 	else if(message=="convert txt")
 	{
-		std::cout << "Command accepted.\t";
-
-		const bfs::path outPath =
-			VCMIDirs::get().userExtractedPath();
-
-		bfs::create_directories(outPath);
-
-		auto extractVector = [=](const std::vector<std::string> & source, const std::string & name)
-		{
-			JsonNode data(JsonNode::JsonType::DATA_VECTOR);
-			size_t index = 0;
-			for(auto & line : source)
-			{
-				JsonNode lineNode(JsonNode::JsonType::DATA_STRUCT);
-				lineNode["text"].String() = line;
-				lineNode["index"].Integer() = index++;
-				data.Vector().push_back(lineNode);
-			}
-
-			const bfs::path filePath = outPath / (name + ".json");
-			bfs::ofstream file(filePath);
-			file << data.toJson();
-		};
-
-		//extractVector(VLC->generaltexth->allTexts, "generalTexts");
-		//extractVector(VLC->generaltexth->jktexts, "jkTexts");
-		//extractVector(VLC->generaltexth->arraytxt, "arrayTexts");
-
-		std::cout << "\rExtracting done :)\n";
-		std::cout << " Extracted files can be found in " << outPath << " directory\n";
+		VLC->generaltexth->dumpAllTexts();
 	}
 	else if(message=="get config")
 	{

+ 28 - 30
lib/CGeneralTextHandler.cpp

@@ -543,14 +543,12 @@ CGeneralTextHandler::CGeneralTextHandler():
 	}
 	if (VLC->modh->modules.COMMANDERS)
 	{
-		if (CResourceHandler::get()->existsResource(ResourceID("DATA/ZNPC00.TXT", EResType::TEXT)))
-			readToVector("vcmi.znpc00", "DATA/ZNPC00.TXT" );
-	}
-
-	dumpAllTexts();
-}
-
-int32_t CGeneralTextHandler::pluralText(const int32_t textIndex, const int32_t count) const
+		if (CResourceHandler::get()->existsResource(ResourceID("DATA/ZNPC00.TXT", EResType::TEXT)))
+			readToVector("vcmi.znpc00", "DATA/ZNPC00.TXT" );
+	}
+}
+
+int32_t CGeneralTextHandler::pluralText(const int32_t textIndex, const int32_t count) const
 {
 	if(textIndex == 0)
 		return 0;
@@ -558,28 +556,28 @@ int32_t CGeneralTextHandler::pluralText(const int32_t textIndex, const int32_t c
 		return -textIndex;
 	else if(count == 1)
 		return textIndex;
-	else
-		return textIndex + 1;
-}
-
-void CGeneralTextHandler::dumpAllTexts()
-{
-	logGlobal->trace("BEGIN TEXT EXPORT");
-	for ( auto const & entry : stringsLocalizations)
-	{
-		auto cleanString = entry.second;
-		boost::replace_all(cleanString, "\\", "\\\\");
-		boost::replace_all(cleanString, "\n", "\\n");
-		boost::replace_all(cleanString, "\r", "\\r");
-		boost::replace_all(cleanString, "\t", "\\t");
-		boost::replace_all(cleanString, "\"", "\\\"");
-
-		logGlobal->trace("\"%s\" : \"%s\",", entry.first, cleanString);
-	}
-	logGlobal->trace("END TEXT EXPORT");
-}
-
-size_t CGeneralTextHandler::getCampaignLength(size_t campaignID) const
+	else
+		return textIndex + 1;
+}
+
+void CGeneralTextHandler::dumpAllTexts()
+{
+	logGlobal->info("BEGIN TEXT EXPORT");
+	for ( auto const & entry : stringsLocalizations)
+	{
+		auto cleanString = entry.second;
+		boost::replace_all(cleanString, "\\", "\\\\");
+		boost::replace_all(cleanString, "\n", "\\n");
+		boost::replace_all(cleanString, "\r", "\\r");
+		boost::replace_all(cleanString, "\t", "\\t");
+		boost::replace_all(cleanString, "\"", "\\\"");
+
+		logGlobal->info("\"%s\" : \"%s\",", entry.first, cleanString);
+	}
+	logGlobal->info("END TEXT EXPORT");
+}
+
+size_t CGeneralTextHandler::getCampaignLength(size_t campaignID) const
 {
 	assert(campaignID < scenariosCountPerCampaign.size());