1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Unicode conversion functions now require source encoding

This commit is contained in:
Ivan Savenko
2023-02-24 16:15:45 +02:00
parent 8b3309b47d
commit bd70b6fabd
14 changed files with 319 additions and 313 deletions

View File

@@ -110,14 +110,19 @@ std::unique_ptr<CCampaign> CCampaignHandler::getCampaign( const std::string & na
return ret;
}
std::string CCampaignHandler::readLocalizedString(CBinaryReader & reader)
{
return reader.readBaseString();
}
CCampaignHeader CCampaignHandler::readHeaderFromMemory( CBinaryReader & reader )
{
CCampaignHeader ret;
ret.version = reader.readUInt32();
ret.mapVersion = reader.readUInt8() - 1;//change range of it from [1, 20] to [0, 19]
ret.name = reader.readString();
ret.description = reader.readString();
ret.name = readLocalizedString(reader);
ret.description = readLocalizedString(reader);
if (ret.version > CampaignVersion::RoE)
ret.difficultyChoosenByPlayer = reader.readInt8();
else
@@ -136,14 +141,14 @@ CCampaignScenario CCampaignHandler::readScenarioFromMemory( CBinaryReader & read
{
ret.prologVideo = reader.readUInt8();
ret.prologMusic = reader.readUInt8();
ret.prologText = reader.readString();
ret.prologText = readLocalizedString(reader);
}
return ret;
};
CCampaignScenario ret;
ret.conquered = false;
ret.mapName = reader.readString();
ret.mapName = readLocalizedString(reader);
ret.packedMapSize = reader.readUInt32();
if(mapVersion == 18)//unholy alliance
{
@@ -155,7 +160,7 @@ CCampaignScenario CCampaignHandler::readScenarioFromMemory( CBinaryReader & read
}
ret.regionColor = reader.readUInt8();
ret.difficulty = reader.readUInt8();
ret.regionText = reader.readString();
ret.regionText = readLocalizedString(reader);
ret.prolog = prologEpilogReader();
ret.epilog = prologEpilogReader();