From e853674bbe30196d85601f7bb3ba739d22ba9d72 Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 7 Sep 2022 18:13:11 +0200 Subject: [PATCH] Remove pragma keyword from raw templater --- .../techniques/distortion_scale.tech.template | 8 ++--- .../distortion_scale.techset.template | 8 ++--- .../Templating/TemplatingStreamProxy.cpp | 30 ++++--------------- .../Templating/TemplatingStreamProxy.h | 7 ++--- 4 files changed, 17 insertions(+), 36 deletions(-) diff --git a/raw/iw4/techniques/distortion_scale.tech.template b/raw/iw4/techniques/distortion_scale.tech.template index 8cda4701..0589dc76 100644 --- a/raw/iw4/techniques/distortion_scale.tech.template +++ b/raw/iw4/techniques/distortion_scale.tech.template @@ -1,6 +1,6 @@ -#pragma switch UV_ANIM -#pragma switch ZFEATHER -#pragma switch DTEX +#switch UV_ANIM +#switch ZFEATHER +#switch DTEX #ifdef UV_ANIM #define UV_ANIM_SUFFIX "_ua" @@ -20,7 +20,7 @@ #define DTEX_SUFFIX "" #endif -#pragma filename "distortion_scale" + UV_ANIM_SUFFIX + ZFEATHER_SUFFIX + DTEX_SUFFIX + ".tech" +#filename "distortion_scale" + UV_ANIM_SUFFIX + ZFEATHER_SUFFIX + DTEX_SUFFIX + ".tech" #set VERTEX_SHADER "distortion_scale" + UV_ANIM_SUFFIX + ZFEATHER_SUFFIX + DTEX_SUFFIX + ".hlsl" #set PIXEL_SHADER "distortion" + ZFEATHER_SUFFIX + ".hlsl" diff --git a/raw/iw4/techsets/distortion_scale.techset.template b/raw/iw4/techsets/distortion_scale.techset.template index e01c3822..ea5d174a 100644 --- a/raw/iw4/techsets/distortion_scale.techset.template +++ b/raw/iw4/techsets/distortion_scale.techset.template @@ -1,7 +1,7 @@ -#pragma switch UV_ANIM -#pragma switch ZFEATHER +#switch UV_ANIM +#switch ZFEATHER -#pragma options MATERIAL_TYPE (default, world, world_vertcol) +#options MATERIAL_TYPE (default, world, world_vertcol) #if MATERIAL_TYPE == "world" #define MATERIAL_TYPE_PREFIX "w_" @@ -26,7 +26,7 @@ #define UV_ANIM_SUFFIX "" #endif -#pragma filename MATERIAL_TYPE_PREFIX + "distortion_scale" + UV_ANIM_SUFFIX + ZFEATHER_SUFFIX + ".techset" +#filename MATERIAL_TYPE_PREFIX + "distortion_scale" + UV_ANIM_SUFFIX + ZFEATHER_SUFFIX + ".techset" #set EMISSIVE_TECHNIQUE "distortion_scale" + UV_ANIM_SUFFIX + ZFEATHER_SUFFIX + MATERIAL_TYPE_SUFFIX #set WIREFRAME_TECHNIQUE "wireframe_solid" + MATERIAL_TYPE_SUFFIX diff --git a/src/RawTemplater/Templating/TemplatingStreamProxy.cpp b/src/RawTemplater/Templating/TemplatingStreamProxy.cpp index b6c527a3..1f50ffb4 100644 --- a/src/RawTemplater/Templating/TemplatingStreamProxy.cpp +++ b/src/RawTemplater/Templating/TemplatingStreamProxy.cpp @@ -22,18 +22,12 @@ bool TemplatingStreamProxy::MatchSwitchDirective(const ParserLine& line, const u { auto currentPosition = directiveStartPosition; - if (directiveEndPosition - directiveStartPosition != std::char_traits::length(PRAGMA_DIRECTIVE) - || !MatchString(line, currentPosition, PRAGMA_DIRECTIVE, std::char_traits::length(PRAGMA_DIRECTIVE))) + if (directiveEndPosition - directiveStartPosition != std::char_traits::length(SWITCH_DIRECTIVE) + || !MatchString(line, currentPosition, SWITCH_DIRECTIVE, std::char_traits::length(SWITCH_DIRECTIVE))) { return false; } - if (!SkipWhitespace(line, currentPosition)) - return false; - - if (!MatchString(line, currentPosition, SWITCH_PRAGMA_COMMAND, std::char_traits::length(SWITCH_PRAGMA_COMMAND))) - return false; - if (!SkipWhitespace(line, currentPosition)) throw ParsingException(CreatePos(line, currentPosition), "Invalid switch directive."); @@ -51,18 +45,12 @@ bool TemplatingStreamProxy::MatchOptionsDirective(const ParserLine& line, const { auto currentPosition = directiveStartPosition; - if (directiveEndPosition - directiveStartPosition != std::char_traits::length(PRAGMA_DIRECTIVE) - || !MatchString(line, currentPosition, PRAGMA_DIRECTIVE, std::char_traits::length(PRAGMA_DIRECTIVE))) + if (directiveEndPosition - directiveStartPosition != std::char_traits::length(OPTIONS_DIRECTIVE) + || !MatchString(line, currentPosition, OPTIONS_DIRECTIVE, std::char_traits::length(OPTIONS_DIRECTIVE))) { return false; } - if (!SkipWhitespace(line, currentPosition)) - return false; - - if (!MatchString(line, currentPosition, OPTIONS_PRAGMA_COMMAND, std::char_traits::length(OPTIONS_PRAGMA_COMMAND))) - return false; - if (!SkipWhitespace(line, currentPosition)) throw ParsingException(CreatePos(line, currentPosition), "Invalid options directive."); @@ -105,18 +93,12 @@ bool TemplatingStreamProxy::MatchFilenameDirective(const ParserLine& line, const { auto currentPosition = directiveStartPosition; - if (directiveEndPosition - directiveStartPosition != std::char_traits::length(PRAGMA_DIRECTIVE) - || !MatchString(line, currentPosition, PRAGMA_DIRECTIVE, std::char_traits::length(PRAGMA_DIRECTIVE))) + if (directiveEndPosition - directiveStartPosition != std::char_traits::length(FILENAME_DIRECTIVE) + || !MatchString(line, currentPosition, FILENAME_DIRECTIVE, std::char_traits::length(FILENAME_DIRECTIVE))) { return false; } - if (!SkipWhitespace(line, currentPosition)) - return false; - - if (!MatchString(line, currentPosition, FILENAME_PRAGMA_COMMAND, std::char_traits::length(FILENAME_PRAGMA_COMMAND))) - return false; - if (!SkipWhitespace(line, currentPosition)) throw ParsingException(CreatePos(line, currentPosition), "Invalid options directive."); diff --git a/src/RawTemplater/Templating/TemplatingStreamProxy.h b/src/RawTemplater/Templating/TemplatingStreamProxy.h index 64720e89..d885d53b 100644 --- a/src/RawTemplater/Templating/TemplatingStreamProxy.h +++ b/src/RawTemplater/Templating/TemplatingStreamProxy.h @@ -37,10 +37,9 @@ namespace templating _NODISCARD bool Eof() const override; private: - static constexpr const char* PRAGMA_DIRECTIVE = "pragma"; - static constexpr const char* SWITCH_PRAGMA_COMMAND = "switch"; - static constexpr const char* OPTIONS_PRAGMA_COMMAND = "options"; - static constexpr const char* FILENAME_PRAGMA_COMMAND = "filename"; + static constexpr const char* SWITCH_DIRECTIVE = "switch"; + static constexpr const char* OPTIONS_DIRECTIVE = "options"; + static constexpr const char* FILENAME_DIRECTIVE = "filename"; _NODISCARD bool MatchSwitchDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const; _NODISCARD bool MatchOptionsDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const;