mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-09-09 15:37:05 +00:00
wip: multiple variants in zonecode
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
#include "Parsing/Commands/Sequence/SequenceSetBlock.h"
|
||||
#include "Parsing/Commands/Sequence/SequenceString.h"
|
||||
#include "Parsing/Commands/Sequence/SequenceUse.h"
|
||||
#include "Parsing/Commands/Sequence/SequenceWordSize.h"
|
||||
#include "Parsing/Commands/Sequence/SequenceVariant.h"
|
||||
|
||||
CommandsParser::CommandsParser(CommandsLexer* lexer, IDataRepository* targetRepository)
|
||||
: AbstractParser(lexer, std::make_unique<CommandsParserState>(targetRepository)),
|
||||
@@ -43,7 +43,7 @@ const std::vector<CommandsParser::sequence_t*>& CommandsParser::GetTestsForState
|
||||
new SequenceSetBlock(),
|
||||
new SequenceString(),
|
||||
new SequenceUse(),
|
||||
new SequenceWordSize(),
|
||||
new SequenceVariant(),
|
||||
});
|
||||
|
||||
return tests;
|
||||
|
||||
@@ -74,9 +74,9 @@ void CommandsParserState::AddBlock(std::unique_ptr<FastFileBlock> block) const
|
||||
m_repository->Add(std::move(block));
|
||||
}
|
||||
|
||||
void CommandsParserState::SetWordSize(const WordSize wordSize) const
|
||||
void CommandsParserState::AddGameVariant(std::string variantName, const WordSize wordSize, const std::endian endianness) const
|
||||
{
|
||||
m_repository->SetWordSize(wordSize);
|
||||
m_repository->AddGameVariant(std::make_unique<GameVariant>(std::move(variantName), wordSize, endianness));
|
||||
}
|
||||
|
||||
void CommandsParserState::SetGame(std::string gameName) const
|
||||
|
||||
@@ -13,8 +13,8 @@ public:
|
||||
[[nodiscard]] const IDataRepository* GetRepository() const;
|
||||
|
||||
void AddBlock(std::unique_ptr<FastFileBlock> block) const;
|
||||
void SetWordSize(WordSize wordSize) const;
|
||||
void SetGame(std::string gameName) const;
|
||||
void AddGameVariant(std::string variantName, WordSize wordSize, std::endian endianness) const;
|
||||
|
||||
[[nodiscard]] StructureInformation* GetInUse() const;
|
||||
void SetInUse(StructureInformation* structure);
|
||||
|
||||
Reference in New Issue
Block a user