Skip to content

Commit

Permalink
Use CommonLocalizeEntry in parser
Browse files Browse the repository at this point in the history
  • Loading branch information
Laupetin committed Dec 31, 2023
1 parent 7c50dd8 commit eb06565
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 13 deletions.
3 changes: 1 addition & 2 deletions src/ObjLoading/Localize/LocalizeCommonAssetLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
2 changes: 1 addition & 1 deletion src/ObjLoading/Localize/Parsing/LocalizeFileParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
2 changes: 1 addition & 1 deletion src/ObjLoading/Localize/Parsing/LocalizeFileParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ class LocalizeFileParser final : public AbstractParser<SimpleParserValue, Locali

public:
LocalizeFileParser(SimpleLexer* lexer, GameLanguage language, LocalizeReadingZoneState* zoneState);
std::map<std::string, std::string> GetParsedValues();
std::vector<CommonLocalizeEntry> GetParsedValues();
};
4 changes: 2 additions & 2 deletions src/ObjLoading/Localize/Parsing/LocalizeFileParserState.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#include "LocalizeFileParserState.h"

#include "Localize/LocalizeCommon.h"
#include "Utils/StringUtils.h"

LocalizeFileParserState::LocalizeFileParserState(const GameLanguage language, LocalizeReadingZoneState* zoneState)
: m_end(false),
m_language(language),
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);
}
5 changes: 3 additions & 2 deletions src/ObjLoading/Localize/Parsing/LocalizeFileParserState.h
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
6 changes: 3 additions & 3 deletions src/ObjLoading/Localize/Parsing/LocalizeFileReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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>();
}
3 changes: 2 additions & 1 deletion src/ObjLoading/Localize/Parsing/LocalizeFileReader.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once

#include "Game/GameLanguage.h"
#include "Localize/CommonLocalizeEntry.h"
#include "Localize/LocalizeReadingZoneState.h"
#include "Parsing/IParserLineStream.h"

Expand All @@ -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();
};
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}
}

0 comments on commit eb06565

Please sign in to comment.