mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 07:42:54 +00:00
Use CommonLocalizeEntry in parser
This commit is contained in:
parent
7c50dd84a7
commit
eb065658e6
@ -30,9 +30,8 @@ bool LocalizeCommonAssetLoader::LoadLocalizeAsset(const std::string& assetName,
|
||||
LocalizeFileReader reader(*file.m_stream, assetName, zone->m_language, zoneState);
|
||||
const auto localizeEntries = reader.ReadLocalizeFile();
|
||||
|
||||
for (const auto& [key, value] : localizeEntries)
|
||||
for (const auto& entry : localizeEntries)
|
||||
{
|
||||
CommonLocalizeEntry entry(key, value);
|
||||
m_entry_callback(entry);
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ const std::vector<AbstractParser<SimpleParserValue, LocalizeFileParserState>::se
|
||||
return !m_state->m_end ? tests : noTests;
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> LocalizeFileParser::GetParsedValues()
|
||||
std::vector<CommonLocalizeEntry> LocalizeFileParser::GetParsedValues()
|
||||
{
|
||||
return std::move(m_state->m_entries);
|
||||
}
|
||||
|
@ -13,5 +13,5 @@ protected:
|
||||
|
||||
public:
|
||||
LocalizeFileParser(SimpleLexer* lexer, GameLanguage language, LocalizeReadingZoneState* zoneState);
|
||||
std::map<std::string, std::string> GetParsedValues();
|
||||
std::vector<CommonLocalizeEntry> GetParsedValues();
|
||||
};
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include "LocalizeFileParserState.h"
|
||||
|
||||
#include "Localize/LocalizeCommon.h"
|
||||
#include "Utils/StringUtils.h"
|
||||
|
||||
LocalizeFileParserState::LocalizeFileParserState(const GameLanguage language, LocalizeReadingZoneState* zoneState)
|
||||
: m_end(false),
|
||||
@ -8,6 +9,5 @@ LocalizeFileParserState::LocalizeFileParserState(const GameLanguage language, Lo
|
||||
m_zone_state(zoneState)
|
||||
{
|
||||
m_language_name_caps = LocalizeCommon::GetNameOfLanguage(m_language);
|
||||
for (auto& c : m_language_name_caps)
|
||||
c = static_cast<char>(toupper(c));
|
||||
utils::MakeStringUpperCase(m_language_name_caps);
|
||||
}
|
||||
|
@ -1,17 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Localize/CommonLocalizeEntry.h"
|
||||
#include "Localize/LocalizeReadingZoneState.h"
|
||||
|
||||
#include <map>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
class LocalizeFileParserState
|
||||
{
|
||||
public:
|
||||
bool m_end;
|
||||
|
||||
std::map<std::string, std::string> m_entries;
|
||||
std::vector<CommonLocalizeEntry> m_entries;
|
||||
|
||||
GameLanguage m_language;
|
||||
LocalizeReadingZoneState* m_zone_state;
|
||||
|
@ -28,7 +28,7 @@ void LocalizeFileReader::SetupStreamProxies()
|
||||
m_stream = m_open_streams.back().get();
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> LocalizeFileReader::ReadLocalizeFile()
|
||||
std::vector<CommonLocalizeEntry> LocalizeFileReader::ReadLocalizeFile()
|
||||
{
|
||||
SimpleLexer::Config lexerConfig;
|
||||
lexerConfig.m_emit_new_line_tokens = true;
|
||||
@ -43,6 +43,6 @@ std::map<std::string, std::string> LocalizeFileReader::ReadLocalizeFile()
|
||||
if (parser->Parse())
|
||||
return parser->GetParsedValues();
|
||||
|
||||
std::cout << "Parsing localization file failed!" << std::endl;
|
||||
return std::map<std::string, std::string>();
|
||||
std::cerr << "Parsing localization file failed!" << std::endl;
|
||||
return std::vector<CommonLocalizeEntry>();
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Localize/CommonLocalizeEntry.h"
|
||||
#include "Localize/LocalizeReadingZoneState.h"
|
||||
#include "Parsing/IParserLineStream.h"
|
||||
|
||||
@ -23,5 +24,5 @@ class LocalizeFileReader
|
||||
public:
|
||||
LocalizeFileReader(std::istream& stream, std::string fileName, GameLanguage language, LocalizeReadingZoneState* zoneState);
|
||||
|
||||
std::map<std::string, std::string> ReadLocalizeFile();
|
||||
std::vector<CommonLocalizeEntry> ReadLocalizeFile();
|
||||
};
|
||||
|
@ -38,6 +38,6 @@ void SequenceLocalizeFileLanguageValue::ProcessMatch(LocalizeFileParserState* st
|
||||
std::cout << "Localize: a value for reference \"" << currentReference << "\" was already defined\n";
|
||||
}
|
||||
|
||||
state->m_entries[currentReference] = valueToken.StringValue();
|
||||
state->m_entries.emplace_back(currentReference, valueToken.StringValue());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user