2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-05-02 08:29:36 +00:00

chore: make sure TechsetCompilerT6 sets proper worldVertFormat

This commit is contained in:
Jan Laupetin
2026-01-22 21:43:06 +00:00
parent e61ec8582a
commit bf9beb1458
16 changed files with 255 additions and 17 deletions
@@ -20,7 +20,7 @@ namespace techset
{
failure = false;
const auto fileName = GetFileNameForTechniqueName(assetName);
const auto fileName = GetFileNameForTechsetName(assetName);
const auto techniqueFile = searchPath.Open(fileName);
if (!techniqueFile.IsOpen())
return nullptr;
@@ -36,7 +36,7 @@ namespace techset
CommentRemovingStreamProxy commentProxy(&baseStream);
const auto lexer = std::make_unique<SimpleLexer>(&commentProxy, std::move(lexerConfig));
const auto parser = std::make_unique<TechsetParser>(*lexer, techniqueTypeNames);
const auto parser = std::make_unique<TechsetParser>(*lexer, assetName, techniqueTypeNames);
const auto success = parser->Parse();
if (success)
@@ -72,8 +72,8 @@ namespace
namespace techset
{
TechsetParser::TechsetParser(SimpleLexer& lexer, const CommonTechniqueTypeNames& techniqueTypeNames)
: AbstractParser(&lexer, std::make_unique<TechsetParserState>(techniqueTypeNames))
TechsetParser::TechsetParser(SimpleLexer& lexer, std::string techsetName, const CommonTechniqueTypeNames& techniqueTypeNames)
: AbstractParser(&lexer, std::make_unique<TechsetParserState>(std::move(techsetName), techniqueTypeNames))
{
}
@@ -10,9 +10,9 @@ namespace techset
class TechsetParser final : public AbstractParser<SimpleParserValue, TechsetParserState>
{
public:
TechsetParser(SimpleLexer& lexer, const CommonTechniqueTypeNames& techniqueTypeNames);
TechsetParser(SimpleLexer& lexer, std::string techsetName, const CommonTechniqueTypeNames& techniqueTypeNames);
[[nodiscard]] std::unique_ptr<CommonTechset> GetParsingResult() const;
protected:
const std::vector<sequence_t*>& GetTestsForState() override;
};
@@ -2,9 +2,9 @@
namespace techset
{
TechsetParserState::TechsetParserState(const CommonTechniqueTypeNames& techniqueTypeNames)
TechsetParserState::TechsetParserState(std::string techsetName, const CommonTechniqueTypeNames& techniqueTypeNames)
: m_technique_type_names(techniqueTypeNames),
m_definition(std::make_unique<CommonTechset>(techniqueTypeNames.GetTechniqueTypeCount()))
m_definition(std::make_unique<CommonTechset>(std::move(techsetName), techniqueTypeNames.GetTechniqueTypeCount()))
{
}
} // namespace techset
@@ -4,6 +4,7 @@
#include <cstddef>
#include <memory>
#include <string>
#include <vector>
namespace techset
@@ -11,7 +12,7 @@ namespace techset
class TechsetParserState
{
public:
explicit TechsetParserState(const CommonTechniqueTypeNames& techniqueTypeNames);
TechsetParserState(std::string techsetName, const CommonTechniqueTypeNames& techniqueTypeNames);
const CommonTechniqueTypeNames& m_technique_type_names;
std::unique_ptr<CommonTechset> m_definition;