2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-07 09:17:26 +00:00

Add asset loader for localize files

This commit is contained in:
Jan
2021-03-23 17:16:36 +01:00
parent 3ed63415a7
commit 79c1284193
50 changed files with 609 additions and 23 deletions

View File

@@ -0,0 +1,38 @@
#include "LocalizeFileParser.h"
#include "Sequence/SequenceLocalizeFileConfig.h"
#include "Sequence/SequenceLocalizeFileConsumeEmptyLines.h"
#include "Sequence/SequenceLocalizeFileEndMarker.h"
#include "Sequence/SequenceLocalizeFileLanguageValue.h"
#include "Sequence/SequenceLocalizeFileNotes.h"
#include "Sequence/SequenceLocalizeFileReference.h"
#include "Sequence/SequenceLocalizeFileVersion.h"
LocalizeFileParser::LocalizeFileParser(SimpleLexer* lexer, GameLanguage language)
: AbstractParser(lexer, std::make_unique<LocalizeFileParserState>(language))
{
}
const std::vector<AbstractParser<SimpleParserValue, LocalizeFileParserState>::sequence_t*>& LocalizeFileParser::GetTestsForState()
{
static std::vector<sequence_t*> tests({
new SequenceLocalizeFileReference(),
new SequenceLocalizeFileConfig(),
new SequenceLocalizeFileNotes(),
new SequenceLocalizeFileVersion(),
new SequenceLocalizeFileEndMarker(),
new SequenceLocalizeFileLanguageValue(),
new SequenceLocalizeFileConsumeEmptyLines()
});
static std::vector<sequence_t*> noTests({
new SequenceLocalizeFileConsumeEmptyLines()
});
return !m_state->m_end ? tests : noTests;
}
std::vector<LocalizeFileEntry> LocalizeFileParser::GetParsedValues()
{
return std::move(m_state->m_entries);
}