diff --git a/src/ObjLoading/Localize/LocalizeCommonAssetLoader.cpp b/src/ObjLoading/Localize/LocalizeCommonAssetLoader.cpp index b4153dd1..bbfd8bd3 100644 --- a/src/ObjLoading/Localize/LocalizeCommonAssetLoader.cpp +++ b/src/ObjLoading/Localize/LocalizeCommonAssetLoader.cpp @@ -28,7 +28,10 @@ bool LocalizeCommonAssetLoader::LoadLocalizeAsset(const std::string& assetName, auto* zoneState = manager->GetAssetLoadingContext()->GetZoneAssetLoaderState(); LocalizeFileReader reader(*file.m_stream, assetName, zone->m_language, zoneState); - const auto localizeEntries = reader.ReadLocalizeFile(); + + std::vector localizeEntries; + if (!reader.ReadLocalizeFile(localizeEntries)) + return false; for (const auto& entry : localizeEntries) { diff --git a/src/ObjLoading/Localize/Parsing/LocalizeFileReader.cpp b/src/ObjLoading/Localize/Parsing/LocalizeFileReader.cpp index 5621bc88..fbe1ff23 100644 --- a/src/ObjLoading/Localize/Parsing/LocalizeFileReader.cpp +++ b/src/ObjLoading/Localize/Parsing/LocalizeFileReader.cpp @@ -28,7 +28,7 @@ void LocalizeFileReader::SetupStreamProxies() m_stream = m_open_streams.back().get(); } -std::vector LocalizeFileReader::ReadLocalizeFile() +bool LocalizeFileReader::ReadLocalizeFile(std::vector& entries) { SimpleLexer::Config lexerConfig; lexerConfig.m_emit_new_line_tokens = true; @@ -41,8 +41,11 @@ std::vector LocalizeFileReader::ReadLocalizeFile() const auto parser = std::make_unique(lexer.get(), m_language, m_zone_state); if (parser->Parse()) - return parser->GetParsedValues(); + { + entries = parser->GetParsedValues(); + return true; + } std::cerr << "Parsing localization file failed!" << std::endl; - return std::vector(); + return false; } diff --git a/src/ObjLoading/Localize/Parsing/LocalizeFileReader.h b/src/ObjLoading/Localize/Parsing/LocalizeFileReader.h index da0ac2f2..1abb4d60 100644 --- a/src/ObjLoading/Localize/Parsing/LocalizeFileReader.h +++ b/src/ObjLoading/Localize/Parsing/LocalizeFileReader.h @@ -24,5 +24,5 @@ class LocalizeFileReader public: LocalizeFileReader(std::istream& stream, std::string fileName, GameLanguage language, LocalizeReadingZoneState* zoneState); - std::vector ReadLocalizeFile(); + bool ReadLocalizeFile(std::vector& entries); };