fix: make name of zone definition the target name by default

This commit is contained in:
Jan
2024-11-12 18:18:04 +01:00
parent aa8300052a
commit 2034db3330
8 changed files with 236 additions and 11 deletions

View File

@ -9,8 +9,9 @@
#include <chrono>
#include <format>
ZoneDefinitionInputStream::ZoneDefinitionInputStream(std::istream& stream, std::string fileName, bool verbose)
: m_file_name(std::move(fileName)),
ZoneDefinitionInputStream::ZoneDefinitionInputStream(std::istream& stream, std::string targetName, std::string fileName, const bool verbose)
: m_target_name(std::move(targetName)),
m_file_name(std::move(fileName)),
m_verbose(verbose),
m_stream(nullptr),
m_previously_set_game(std::nullopt)
@ -46,7 +47,7 @@ std::unique_ptr<ZoneDefinition> ZoneDefinitionInputStream::ReadDefinition()
std::cout << std::format("Reading zone definition file: {}\n", m_file_name);
const auto lexer = std::make_unique<ZoneDefinitionLexer>(m_stream);
const auto parser = std::make_unique<ZoneDefinitionParser>(lexer.get(), m_previously_set_game);
const auto parser = std::make_unique<ZoneDefinitionParser>(lexer.get(), m_target_name, m_previously_set_game);
const auto start = std::chrono::steady_clock::now();
std::unique_ptr<ZoneDefinition> definition;

View File

@ -11,7 +11,7 @@
class ZoneDefinitionInputStream
{
public:
ZoneDefinitionInputStream(std::istream& stream, std::string fileName, bool verbose);
ZoneDefinitionInputStream(std::istream& stream, std::string targetName, std::string fileName, bool verbose);
void SetPreviouslySetGame(GameId game);
std::unique_ptr<ZoneDefinition> ReadDefinition();
@ -20,6 +20,7 @@ private:
bool OpenBaseStream(std::istream& stream);
void SetupStreamProxies();
std::string m_target_name;
std::string m_file_name;
bool m_verbose;
IParserLineStream* m_stream;