From 209cda617112f047df2dd898e5ab39a619c70708 Mon Sep 17 00:00:00 2001 From: Terri00 Date: Wed, 13 Mar 2019 17:07:21 +0000 Subject: [PATCH] cxxopts --- MCDV/1whammy.png | Bin 0 -> 129011 bytes MCDV/MCDV.vcxproj | 4 +- MCDV/MCDV.vcxproj.filters | 12 +- MCDV/Shader.hpp | 49 +- MCDV/buyzone-bombtargets.png | Bin 0 -> 50662 bytes MCDV/cxxopts.hpp | 2006 ++++++++++++++++++ MCDV/dds.hpp | 8 +- MCDV/de_tavr_test.txt | 12 + MCDV/main.cpp | 246 ++- MCDV/playable-space.png | Bin 0 -> 93766 bytes MCDV/sample_stuff/de_tavr_test.prt | 435 ++++ MCDV/sample_stuff/de_tavr_test.vmx | 139 +- MCDV/sample_stuff/map_01.vmx | 112 +- MCDV/shaders/{ss_test.fs => ss_comp_main.fs} | 0 MCDV/util.h | 9 + MCDV/whammy.dds | Bin 0 -> 524416 bytes deploy_release.bat | 2 + 17 files changed, 2873 insertions(+), 161 deletions(-) create mode 100644 MCDV/1whammy.png create mode 100644 MCDV/buyzone-bombtargets.png create mode 100644 MCDV/cxxopts.hpp create mode 100644 MCDV/de_tavr_test.txt create mode 100644 MCDV/playable-space.png create mode 100644 MCDV/sample_stuff/de_tavr_test.prt rename MCDV/shaders/{ss_test.fs => ss_comp_main.fs} (100%) create mode 100644 MCDV/whammy.dds create mode 100644 deploy_release.bat diff --git a/MCDV/1whammy.png b/MCDV/1whammy.png new file mode 100644 index 0000000000000000000000000000000000000000..d578c691f881c812b0d2d29baf9631e36fc9a1b3 GIT binary patch literal 129011 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 MCDV 10.0.17134.0 + AutoRadar @@ -126,6 +127,7 @@ + @@ -165,7 +167,7 @@ - + diff --git a/MCDV/MCDV.vcxproj.filters b/MCDV/MCDV.vcxproj.filters index 13f3d0d..3921fe0 100644 --- a/MCDV/MCDV.vcxproj.filters +++ b/MCDV/MCDV.vcxproj.filters @@ -36,6 +36,9 @@ {57e9ec73-5c2f-4840-b186-2e1c3287cf65} + + {d74bb335-8fb5-4eb2-b1c1-4436cdc881cc} + @@ -128,6 +131,9 @@ OpenGL\stb + + Header Files\util + @@ -153,9 +159,6 @@ OpenGL\Shader Files - - OpenGL\Shader Files - OpenGL\Shader Files @@ -177,6 +180,9 @@ OpenGL\Shader Files + + OpenGL\Shader Files + diff --git a/MCDV/Shader.hpp b/MCDV/Shader.hpp index be0ed22..3d5ac10 100644 --- a/MCDV/Shader.hpp +++ b/MCDV/Shader.hpp @@ -13,16 +13,17 @@ bool USE_DEBUG = false; //Prototype functions -unsigned int LoadShader(std::string path, GLint shaderType); +unsigned int LoadShader(std::string path, GLint shaderType, int* load_success); class Shader { public: unsigned int programID; + bool compileUnsuccessful = false; + //Constructor Shader(std::string vertexPath, std::string fragmentPath); - Shader(std::string shaderName); ~Shader(); //Set active @@ -45,34 +46,16 @@ public: //Constructor Shader::Shader(std::string pVertexShader, std::string pFragmentShader) { - unsigned int vertexShader = LoadShader(pVertexShader, GL_VERTEX_SHADER); //Load the vertex shader - unsigned int fragmentShader = LoadShader(pFragmentShader, GL_FRAGMENT_SHADER); //Load the fragment shader - - this->programID = glCreateProgram(); - - //Attach the shaders to our program - glAttachShader(this->programID, vertexShader); - glAttachShader(this->programID, fragmentShader); - glLinkProgram(this->programID); - - int success; - char infoLog[512]; - - glGetProgramiv(this->programID, GL_LINK_STATUS, &success); - if (!success) { - glGetProgramInfoLog(this->programID, 512, NULL, infoLog); - std::cout << infoLog << std::endl; + int success = 1; + unsigned int vertexShader = LoadShader(pVertexShader, GL_VERTEX_SHADER, &success); //Load the vertex shader + unsigned int fragmentShader = LoadShader(pFragmentShader, GL_FRAGMENT_SHADER, &success); //Load the fragment shader + + if (success == 0) { + std::cout << "ERROR::SHADER::SOURCE_UNAVAILIBLE: " << pVertexShader << " | " << pFragmentShader << "\n"; + this->compileUnsuccessful = true; + return; } - glDeleteShader(vertexShader); - glDeleteShader(fragmentShader); -} - -Shader::Shader(std::string name) -{ - unsigned int vertexShader = LoadShader(name + ".hvert", GL_VERTEX_SHADER); //Load the vertex shader - unsigned int fragmentShader = LoadShader(name + ".hfrag", GL_FRAGMENT_SHADER); //Load the fragment shader - this->programID = glCreateProgram(); //Attach the shaders to our program @@ -80,12 +63,12 @@ Shader::Shader(std::string name) glAttachShader(this->programID, fragmentShader); glLinkProgram(this->programID); - int success; char infoLog[512]; glGetProgramiv(this->programID, GL_LINK_STATUS, &success); if (!success) { glGetProgramInfoLog(this->programID, 512, NULL, infoLog); + this->compileUnsuccessful = true; std::cout << infoLog << std::endl; } @@ -93,10 +76,16 @@ Shader::Shader(std::string name) glDeleteShader(fragmentShader); } -unsigned int LoadShader(std::string path, GLint shaderType) +unsigned int LoadShader(std::string path, GLint shaderType, int* load_success) { //Load the data into an std::string std::ifstream shaderFile(path); + + if (!shaderFile) { + *load_success = 0; + return 0; + } + std::string shaderString((std::istreambuf_iterator(shaderFile)), std::istreambuf_iterator()); diff --git a/MCDV/buyzone-bombtargets.png b/MCDV/buyzone-bombtargets.png new file mode 100644 index 0000000000000000000000000000000000000000..03a4cbe0bce522677eecf5b882f62e403efe9f1c GIT binary patch literal 50662 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 P{#p9|@+Ad6+}-~VBw$5? literal 0 HcmV?d00001 diff --git a/MCDV/cxxopts.hpp b/MCDV/cxxopts.hpp new file mode 100644 index 0000000..5e784a0 --- /dev/null +++ b/MCDV/cxxopts.hpp @@ -0,0 +1,2006 @@ +/* + +Copyright (c) 2014, 2015, 2016, 2017 Jarryd Beck + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ + +#ifndef CXXOPTS_HPP_INCLUDED +#define CXXOPTS_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cpp_lib_optional +#include +#define CXXOPTS_HAS_OPTIONAL +#endif + +namespace cxxopts +{ + static constexpr struct { + uint8_t major, minor, patch; + } version = { 2, 1, 0 }; +} + +//when we ask cxxopts to use Unicode, help strings are processed using ICU, +//which results in the correct lengths being computed for strings when they +//are formatted for the help output +//it is necessary to make sure that can be found by the +//compiler, and that icu-uc is linked in to the binary. + +#ifdef CXXOPTS_USE_UNICODE +#include + +namespace cxxopts +{ + typedef icu::UnicodeString String; + + inline + String + toLocalString(std::string s) + { + return icu::UnicodeString::fromUTF8(std::move(s)); + } + + class UnicodeStringIterator : public + std::iterator + { + public: + + UnicodeStringIterator(const icu::UnicodeString* string, int32_t pos) + : s(string) + , i(pos) + { + } + + value_type + operator*() const + { + return s->char32At(i); + } + + bool + operator==(const UnicodeStringIterator& rhs) const + { + return s == rhs.s && i == rhs.i; + } + + bool + operator!=(const UnicodeStringIterator& rhs) const + { + return !(*this == rhs); + } + + UnicodeStringIterator& + operator++() + { + ++i; + return *this; + } + + UnicodeStringIterator + operator+(int32_t v) + { + return UnicodeStringIterator(s, i + v); + } + + private: + const icu::UnicodeString* s; + int32_t i; + }; + + inline + String& + stringAppend(String&s, String a) + { + return s.append(std::move(a)); + } + + inline + String& + stringAppend(String& s, int n, UChar32 c) + { + for (int i = 0; i != n; ++i) + { + s.append(c); + } + + return s; + } + + template + String& + stringAppend(String& s, Iterator begin, Iterator end) + { + while (begin != end) + { + s.append(*begin); + ++begin; + } + + return s; + } + + inline + size_t + stringLength(const String& s) + { + return s.length(); + } + + inline + std::string + toUTF8String(const String& s) + { + std::string result; + s.toUTF8String(result); + + return result; + } + + inline + bool + empty(const String& s) + { + return s.isEmpty(); + } +} + +namespace std +{ + inline + cxxopts::UnicodeStringIterator + begin(const icu::UnicodeString& s) + { + return cxxopts::UnicodeStringIterator(&s, 0); + } + + inline + cxxopts::UnicodeStringIterator + end(const icu::UnicodeString& s) + { + return cxxopts::UnicodeStringIterator(&s, s.length()); + } +} + +//ifdef CXXOPTS_USE_UNICODE +#else + +namespace cxxopts +{ + typedef std::string String; + + template + T + toLocalString(T&& t) + { + return t; + } + + inline + size_t + stringLength(const String& s) + { + return s.length(); + } + + inline + String& + stringAppend(String&s, String a) + { + return s.append(std::move(a)); + } + + inline + String& + stringAppend(String& s, size_t n, char c) + { + return s.append(n, c); + } + + template + String& + stringAppend(String& s, Iterator begin, Iterator end) + { + return s.append(begin, end); + } + + template + std::string + toUTF8String(T&& t) + { + return std::forward(t); + } + + inline + bool + empty(const std::string& s) + { + return s.empty(); + } +} + +//ifdef CXXOPTS_USE_UNICODE +#endif + +namespace cxxopts +{ + namespace + { +#ifdef _WIN32 + const std::string LQUOTE("\'"); + const std::string RQUOTE("\'"); +#else + const std::string LQUOTE("�"); + const std::string RQUOTE("�"); +#endif + } + + class Value : public std::enable_shared_from_this + { + public: + + virtual ~Value() = default; + + virtual + std::shared_ptr + clone() const = 0; + + virtual void + parse(const std::string& text) const = 0; + + virtual void + parse() const = 0; + + virtual bool + has_default() const = 0; + + virtual bool + is_container() const = 0; + + virtual bool + has_implicit() const = 0; + + virtual std::string + get_default_value() const = 0; + + virtual std::string + get_implicit_value() const = 0; + + virtual std::shared_ptr + default_value(const std::string& value) = 0; + + virtual std::shared_ptr + implicit_value(const std::string& value) = 0; + + virtual bool + is_boolean() const = 0; + }; + + class OptionException : public std::exception + { + public: + OptionException(const std::string& message) + : m_message(message) + { + } + + virtual const char* + what() const noexcept + { + return m_message.c_str(); + } + + private: + std::string m_message; + }; + + class OptionSpecException : public OptionException + { + public: + + OptionSpecException(const std::string& message) + : OptionException(message) + { + } + }; + + class OptionParseException : public OptionException + { + public: + OptionParseException(const std::string& message) + : OptionException(message) + { + } + }; + + class option_exists_error : public OptionSpecException + { + public: + option_exists_error(const std::string& option) + : OptionSpecException(u8"Option " + LQUOTE + option + RQUOTE + u8" already exists") + { + } + }; + + class invalid_option_format_error : public OptionSpecException + { + public: + invalid_option_format_error(const std::string& format) + : OptionSpecException(u8"Invalid option format " + LQUOTE + format + RQUOTE) + { + } + }; + + class option_not_exists_exception : public OptionParseException + { + public: + option_not_exists_exception(const std::string& option) + : OptionParseException(u8"Option " + LQUOTE + option + RQUOTE + u8" does not exist") + { + } + }; + + class missing_argument_exception : public OptionParseException + { + public: + missing_argument_exception(const std::string& option) + : OptionParseException( + u8"Option " + LQUOTE + option + RQUOTE + u8" is missing an argument" + ) + { + } + }; + + class option_requires_argument_exception : public OptionParseException + { + public: + option_requires_argument_exception(const std::string& option) + : OptionParseException( + u8"Option " + LQUOTE + option + RQUOTE + u8" requires an argument" + ) + { + } + }; + + class option_not_has_argument_exception : public OptionParseException + { + public: + option_not_has_argument_exception + ( + const std::string& option, + const std::string& arg + ) + : OptionParseException( + u8"Option " + LQUOTE + option + RQUOTE + + u8" does not take an argument, but argument " + + LQUOTE + arg + RQUOTE + " given" + ) + { + } + }; + + class option_not_present_exception : public OptionParseException + { + public: + option_not_present_exception(const std::string& option) + : OptionParseException(u8"Option " + LQUOTE + option + RQUOTE + u8" not present") + { + } + }; + + class argument_incorrect_type : public OptionParseException + { + public: + argument_incorrect_type + ( + const std::string& arg + ) + : OptionParseException( + u8"Argument " + LQUOTE + arg + RQUOTE + u8" failed to parse" + ) + { + } + }; + + class option_required_exception : public OptionParseException + { + public: + option_required_exception(const std::string& option) + : OptionParseException( + u8"Option " + LQUOTE + option + RQUOTE + u8" is required but not present" + ) + { + } + }; + + namespace values + { + namespace + { + std::basic_regex integer_pattern + ("(-)?(0x)?([1-9a-zA-Z][0-9a-zA-Z]*)|((0x)?0)"); + std::basic_regex truthy_pattern + ("(t|T)(rue)?"); + std::basic_regex falsy_pattern + ("((f|F)(alse)?)?"); + } + + namespace detail + { + template + struct SignedCheck; + + template + struct SignedCheck + { + template + void + operator()(bool negative, U u, const std::string& text) + { + if (negative) + { + if (u > static_cast(-std::numeric_limits::min())) + { + throw argument_incorrect_type(text); + } + } + else + { + if (u > static_cast(std::numeric_limits::max())) + { + throw argument_incorrect_type(text); + } + } + } + }; + + template + struct SignedCheck + { + template + void + operator()(bool, U, const std::string&) {} + }; + + template + void + check_signed_range(bool negative, U value, const std::string& text) + { + SignedCheck::is_signed>()(negative, value, text); + } + } + + template + R + checked_negate(T&& t, const std::string&, std::true_type) + { + // if we got to here, then `t` is a positive number that fits into + // `R`. So to avoid MSVC C4146, we first cast it to `R`. + // See https://github.com/jarro2783/cxxopts/issues/62 for more details. + return -static_cast(t); + } + + template + T + checked_negate(T&&, const std::string& text, std::false_type) + { + throw argument_incorrect_type(text); + } + + template + void + integer_parser(const std::string& text, T& value) + { + std::smatch match; + std::regex_match(text, match, integer_pattern); + + if (match.length() == 0) + { + throw argument_incorrect_type(text); + } + + if (match.length(4) > 0) + { + value = 0; + return; + } + + using US = typename std::make_unsigned::type; + + constexpr auto umax = std::numeric_limits::max(); + constexpr bool is_signed = std::numeric_limits::is_signed; + const bool negative = match.length(1) > 0; + const uint8_t base = match.length(2) > 0 ? 16 : 10; + + auto value_match = match[3]; + + US result = 0; + + for (auto iter = value_match.first; iter != value_match.second; ++iter) + { + size_t digit = 0; + + if (*iter >= '0' && *iter <= '9') + { + digit = *iter - '0'; + } + else if (base == 16 && *iter >= 'a' && *iter <= 'f') + { + digit = *iter - 'a' + 10; + } + else if (base == 16 && *iter >= 'A' && *iter <= 'F') + { + digit = *iter - 'A' + 10; + } + else + { + throw argument_incorrect_type(text); + } + + if (umax - digit < result * base) + { + throw argument_incorrect_type(text); + } + + result = result * base + digit; + } + + detail::check_signed_range(negative, result, text); + + if (negative) + { + value = checked_negate(result, + text, + std::integral_constant()); + } + else + { + value = result; + } + } + + template + void stringstream_parser(const std::string& text, T& value) + { + std::stringstream in(text); + in >> value; + if (!in) { + throw argument_incorrect_type(text); + } + } + + inline + void + parse_value(const std::string& text, uint8_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, int8_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, uint16_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, int16_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, uint32_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, int32_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, uint64_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, int64_t& value) + { + integer_parser(text, value); + } + + inline + void + parse_value(const std::string& text, bool& value) + { + std::smatch result; + std::regex_match(text, result, truthy_pattern); + + if (!result.empty()) + { + value = true; + return; + } + + std::regex_match(text, result, falsy_pattern); + if (!result.empty()) + { + value = false; + return; + } + + throw argument_incorrect_type(text); + } + + inline + void + parse_value(const std::string& text, std::string& value) + { + value = text; + } + + // The fallback parser. It uses the stringstream parser to parse all types + // that have not been overloaded explicitly. It has to be placed in the + // source code before all other more specialized templates. + template + void + parse_value(const std::string& text, T& value) { + stringstream_parser(text, value); + } + + template + void + parse_value(const std::string& text, std::vector& value) + { + T v; + parse_value(text, v); + value.push_back(v); + } + +#ifdef CXXOPTS_HAS_OPTIONAL + template + void + parse_value(const std::string& text, std::optional& value) + { + T result; + parse_value(text, result); + value = std::move(result); + } +#endif + + template + struct type_is_container + { + static constexpr bool value = false; + }; + + template + struct type_is_container> + { + static constexpr bool value = true; + }; + + template + class abstract_value : public Value + { + using Self = abstract_value; + + public: + abstract_value() + : m_result(std::make_shared()) + , m_store(m_result.get()) + { + } + + abstract_value(T* t) + : m_store(t) + { + } + + virtual ~abstract_value() = default; + + abstract_value(const abstract_value& rhs) + { + if (rhs.m_result) + { + m_result = std::make_shared(); + m_store = m_result.get(); + } + else + { + m_store = rhs.m_store; + } + + m_default = rhs.m_default; + m_implicit = rhs.m_implicit; + m_default_value = rhs.m_default_value; + m_implicit_value = rhs.m_implicit_value; + } + + void + parse(const std::string& text) const + { + parse_value(text, *m_store); + } + + bool + is_container() const + { + return type_is_container::value; + } + + void + parse() const + { + parse_value(m_default_value, *m_store); + } + + bool + has_default() const + { + return m_default; + } + + bool + has_implicit() const + { + return m_implicit; + } + + std::shared_ptr + default_value(const std::string& value) + { + m_default = true; + m_default_value = value; + return shared_from_this(); + } + + std::shared_ptr + implicit_value(const std::string& value) + { + m_implicit = true; + m_implicit_value = value; + return shared_from_this(); + } + + std::string + get_default_value() const + { + return m_default_value; + } + + std::string + get_implicit_value() const + { + return m_implicit_value; + } + + bool + is_boolean() const + { + return std::is_same::value; + } + + const T& + get() const + { + if (m_store == nullptr) + { + return *m_result; + } + else + { + return *m_store; + } + } + + protected: + std::shared_ptr m_result; + T* m_store; + + bool m_default = false; + bool m_implicit = false; + + std::string m_default_value; + std::string m_implicit_value; + }; + + template + class standard_value : public abstract_value + { + public: + using abstract_value::abstract_value; + + std::shared_ptr + clone() const + { + return std::make_shared>(*this); + } + }; + + template <> + class standard_value : public abstract_value + { + public: + ~standard_value() = default; + + standard_value() + { + set_default_and_implicit(); + } + + standard_value(bool* b) + : abstract_value(b) + { + set_default_and_implicit(); + } + + std::shared_ptr + clone() const + { + return std::make_shared>(*this); + } + + private: + + void + set_default_and_implicit() + { + m_default = true; + m_default_value = "false"; + m_implicit = true; + m_implicit_value = "true"; + } + }; + } + + template + std::shared_ptr + value() + { + return std::make_shared>(); + } + + template + std::shared_ptr + value(T& t) + { + return std::make_shared>(&t); + } + + class OptionAdder; + + class OptionDetails + { + public: + OptionDetails + ( + const std::string& short_, + const std::string& long_, + const String& desc, + std::shared_ptr val + ) + : m_short(short_) + , m_long(long_) + , m_desc(desc) + , m_value(val) + , m_count(0) + { + } + + OptionDetails(const OptionDetails& rhs) + : m_desc(rhs.m_desc) + , m_count(rhs.m_count) + { + m_value = rhs.m_value->clone(); + } + + OptionDetails(OptionDetails&& rhs) = default; + + const String& + description() const + { + return m_desc; + } + + const Value& value() const { + return *m_value; + } + + std::shared_ptr + make_storage() const + { + return m_value->clone(); + } + + const std::string& + short_name() const + { + return m_short; + } + + const std::string& + long_name() const + { + return m_long; + } + + private: + std::string m_short; + std::string m_long; + String m_desc; + std::shared_ptr m_value; + int m_count; + }; + + struct HelpOptionDetails + { + std::string s; + std::string l; + String desc; + bool has_default; + std::string default_value; + bool has_implicit; + std::string implicit_value; + std::string arg_help; + bool is_container; + bool is_boolean; + }; + + struct HelpGroupDetails + { + std::string name; + std::string description; + std::vector options; + }; + + class OptionValue + { + public: + void + parse + ( + std::shared_ptr details, + const std::string& text + ) + { + ensure_value(details); + ++m_count; + m_value->parse(text); + } + + void + parse_default(std::shared_ptr details) + { + ensure_value(details); + m_value->parse(); + } + + size_t + count() const + { + return m_count; + } + + template + const T& + as() const + { +#ifdef CXXOPTS_NO_RTTI + return static_cast&>(*m_value).get(); +#else + return dynamic_cast&>(*m_value).get(); +#endif + } + + private: + void + ensure_value(std::shared_ptr details) + { + if (m_value == nullptr) + { + m_value = details->make_storage(); + } + } + + std::shared_ptr m_value; + size_t m_count = 0; + }; + + class KeyValue + { + public: + KeyValue(std::string key_, std::string value_) + : m_key(std::move(key_)) + , m_value(std::move(value_)) + { + } + + const + std::string& + key() const + { + return m_key; + } + + const std::string + value() const + { + return m_value; + } + + template + T + as() const + { + T result; + values::parse_value(m_value, result); + return result; + } + + private: + std::string m_key; + std::string m_value; + }; + + class ParseResult + { + public: + + ParseResult( + const std::unordered_map>&, + std::vector, + int&, const char**&); + + size_t + count(const std::string& o) const + { + auto iter = m_options.find(o); + if (iter == m_options.end()) + { + return 0; + } + + auto riter = m_results.find(iter->second); + + return riter->second.count(); + } + + const OptionValue& + operator[](const std::string& option) const + { + auto iter = m_options.find(option); + + if (iter == m_options.end()) + { + throw option_not_present_exception(option); + } + + auto riter = m_results.find(iter->second); + + return riter->second; + } + + const std::vector& + arguments() const + { + return m_sequential; + } + + private: + + OptionValue & + get_option(std::shared_ptr); + + void + parse(int& argc, const char**& argv); + + void + add_to_option(const std::string& option, const std::string& arg); + + bool + consume_positional(std::string a); + + void + parse_option + ( + std::shared_ptr value, + const std::string& name, + const std::string& arg = "" + ); + + void + parse_default(std::shared_ptr details); + + void + checked_parse_arg + ( + int argc, + const char* argv[], + int& current, + std::shared_ptr value, + const std::string& name + ); + + const std::unordered_map> + &m_options; + std::vector m_positional; + std::vector::iterator m_next_positional; + std::unordered_set m_positional_set; + std::unordered_map, OptionValue> m_results; + + std::vector m_sequential; + }; + + class Options + { + public: + + Options(std::string program, std::string help_string = "") + : m_program(std::move(program)) + , m_help_string(toLocalString(std::move(help_string))) + , m_custom_help("[OPTION...]") + , m_positional_help("positional parameters") + , m_show_positional(false) + , m_next_positional(m_positional.end()) + { + } + + Options& + positional_help(std::string help_text) + { + m_positional_help = std::move(help_text); + return *this; + } + + Options& + custom_help(std::string help_text) + { + m_custom_help = std::move(help_text); + return *this; + } + + Options& + show_positional_help() + { + m_show_positional = true; + return *this; + } + + ParseResult + parse(int& argc, const char**& argv); + + OptionAdder + add_options(std::string group = ""); + + void + add_option + ( + const std::string& group, + const std::string& s, + const std::string& l, + std::string desc, + std::shared_ptr value, + std::string arg_help + ); + + //parse positional arguments into the given option + void + parse_positional(std::string option); + + void + parse_positional(std::vector options); + + void + parse_positional(std::initializer_list options); + + std::string + help(const std::vector& groups = { "" }) const; + + const std::vector + groups() const; + + const HelpGroupDetails& + group_help(const std::string& group) const; + + private: + + void + add_one_option + ( + const std::string& option, + std::shared_ptr details + ); + + String + help_one_group(const std::string& group) const; + + void + generate_group_help + ( + String& result, + const std::vector& groups + ) const; + + void + generate_all_groups_help(String& result) const; + + std::string m_program; + String m_help_string; + std::string m_custom_help; + std::string m_positional_help; + bool m_show_positional; + + std::unordered_map> m_options; + std::vector m_positional; + std::vector::iterator m_next_positional; + std::unordered_set m_positional_set; + + //mapping from groups to help options + std::map m_help; + }; + + class OptionAdder + { + public: + + OptionAdder(Options& options, std::string group) + : m_options(options), m_group(std::move(group)) + { + } + + OptionAdder& + operator() + ( + const std::string& opts, + const std::string& desc, + std::shared_ptr value + = ::cxxopts::value(), + std::string arg_help = "" + ); + + private: + Options & m_options; + std::string m_group; + }; + + namespace + { + constexpr int OPTION_LONGEST = 30; + constexpr int OPTION_DESC_GAP = 2; + + std::basic_regex option_matcher + ("--([[:alnum:]][-_[:alnum:]]+)(=(.*))?|-([[:alnum:]]+)"); + + std::basic_regex option_specifier + ("(([[:alnum:]]),)?[ ]*([[:alnum:]][-_[:alnum:]]*)?"); + + String + format_option + ( + const HelpOptionDetails& o + ) + { + auto& s = o.s; + auto& l = o.l; + + String result = " "; + + if (s.size() > 0) + { + result += "-" + toLocalString(s) + ","; + } + else + { + result += " "; + } + + if (l.size() > 0) + { + result += " --" + toLocalString(l); + } + + auto arg = o.arg_help.size() > 0 ? toLocalString(o.arg_help) : "arg"; + + if (!o.is_boolean) + { + if (o.has_implicit) + { + result += " [=" + arg + "(=" + toLocalString(o.implicit_value) + ")]"; + } + else + { + result += " " + arg; + } + } + + return result; + } + + String + format_description + ( + const HelpOptionDetails& o, + size_t start, + size_t width + ) + { + auto desc = o.desc; + + if (o.has_default && (!o.is_boolean || o.default_value != "false")) + { + desc += toLocalString(" (default: " + o.default_value + ")"); + } + + String result; + + auto current = std::begin(desc); + auto startLine = current; + auto lastSpace = current; + + auto size = size_t{}; + + while (current != std::end(desc)) + { + if (*current == ' ') + { + lastSpace = current; + } + + if (size > width) + { + if (lastSpace == startLine) + { + stringAppend(result, startLine, current + 1); + stringAppend(result, "\n"); + stringAppend(result, start, ' '); + startLine = current + 1; + lastSpace = startLine; + } + else + { + stringAppend(result, startLine, lastSpace); + stringAppend(result, "\n"); + stringAppend(result, start, ' '); + startLine = lastSpace + 1; + } + size = 0; + } + else + { + ++size; + } + + ++current; + } + + //append whatever is left + stringAppend(result, startLine, current); + + return result; + } + } + + inline + ParseResult::ParseResult + ( + const std::unordered_map>& options, + std::vector positional, + int& argc, const char**& argv + ) + : m_options(options) + , m_positional(std::move(positional)) + , m_next_positional(m_positional.begin()) + { + parse(argc, argv); + } + + inline + OptionAdder + Options::add_options(std::string group) + { + return OptionAdder(*this, std::move(group)); + } + + inline + OptionAdder& + OptionAdder::operator() + ( + const std::string& opts, + const std::string& desc, + std::shared_ptr value, + std::string arg_help + ) + { + std::match_results result; + std::regex_match(opts.c_str(), result, option_specifier); + + if (result.empty()) + { + throw invalid_option_format_error(opts); + } + + const auto& short_match = result[2]; + const auto& long_match = result[3]; + + if (!short_match.length() && !long_match.length()) + { + throw invalid_option_format_error(opts); + } + else if (long_match.length() == 1 && short_match.length()) + { + throw invalid_option_format_error(opts); + } + + auto option_names = [] + ( + const std::sub_match& short_, + const std::sub_match& long_ + ) + { + if (long_.length() == 1) + { + return std::make_tuple(long_.str(), short_.str()); + } + else + { + return std::make_tuple(short_.str(), long_.str()); + } + }(short_match, long_match); + + m_options.add_option + ( + m_group, + std::get<0>(option_names), + std::get<1>(option_names), + desc, + value, + std::move(arg_help) + ); + + return *this; + } + + inline + void + ParseResult::parse_default(std::shared_ptr details) + { + m_results[details].parse_default(details); + } + + inline + void + ParseResult::parse_option + ( + std::shared_ptr value, + const std::string& /*name*/, + const std::string& arg + ) + { + auto& result = m_results[value]; + result.parse(value, arg); + + m_sequential.emplace_back(value->long_name(), arg); + } + + inline + void + ParseResult::checked_parse_arg + ( + int argc, + const char* argv[], + int& current, + std::shared_ptr value, + const std::string& name + ) + { + if (current + 1 >= argc) + { + if (value->value().has_implicit()) + { + parse_option(value, name, value->value().get_implicit_value()); + } + else + { + throw missing_argument_exception(name); + } + } + else + { + if (value->value().has_implicit()) + { + parse_option(value, name, value->value().get_implicit_value()); + } + else + { + parse_option(value, name, argv[current + 1]); + ++current; + } + } + } + + inline + void + ParseResult::add_to_option(const std::string& option, const std::string& arg) + { + auto iter = m_options.find(option); + + if (iter == m_options.end()) + { + throw option_not_exists_exception(option); + } + + parse_option(iter->second, option, arg); + } + + inline + bool + ParseResult::consume_positional(std::string a) + { + while (m_next_positional != m_positional.end()) + { + auto iter = m_options.find(*m_next_positional); + if (iter != m_options.end()) + { + auto& result = m_results[iter->second]; + if (!iter->second->value().is_container()) + { + if (result.count() == 0) + { + add_to_option(*m_next_positional, a); + ++m_next_positional; + return true; + } + else + { + ++m_next_positional; + continue; + } + } + else + { + add_to_option(*m_next_positional, a); + return true; + } + } + ++m_next_positional; + } + + return false; + } + + inline + void + Options::parse_positional(std::string option) + { + parse_positional(std::vector{std::move(option)}); + } + + inline + void + Options::parse_positional(std::vector options) + { + m_positional = std::move(options); + m_next_positional = m_positional.begin(); + + m_positional_set.insert(m_positional.begin(), m_positional.end()); + } + + inline + void + Options::parse_positional(std::initializer_list options) + { + parse_positional(std::vector(std::move(options))); + } + + inline + ParseResult + Options::parse(int& argc, const char**& argv) + { + ParseResult result(m_options, m_positional, argc, argv); + return result; + } + + inline + void + ParseResult::parse(int& argc, const char**& argv) + { + int current = 1; + + int nextKeep = 1; + + bool consume_remaining = false; + + while (current != argc) + { + if (strcmp(argv[current], "--") == 0) + { + consume_remaining = true; + ++current; + break; + } + + std::match_results result; + std::regex_match(argv[current], result, option_matcher); + + if (result.empty()) + { + //not a flag + + //if true is returned here then it was consumed, otherwise it is + //ignored + if (consume_positional(argv[current])) + { + } + else + { + argv[nextKeep] = argv[current]; + ++nextKeep; + } + //if we return from here then it was parsed successfully, so continue + } + else + { + //short or long option? + if (result[4].length() != 0) + { + const std::string& s = result[4]; + + for (std::size_t i = 0; i != s.size(); ++i) + { + std::string name(1, s[i]); + auto iter = m_options.find(name); + + if (iter == m_options.end()) + { + throw option_not_exists_exception(name); + } + + auto value = iter->second; + + if (i + 1 == s.size()) + { + //it must be the last argument + checked_parse_arg(argc, argv, current, value, name); + } + else if (value->value().has_implicit()) + { + parse_option(value, name, value->value().get_implicit_value()); + } + else + { + //error + throw option_requires_argument_exception(name); + } + } + } + else if (result[1].length() != 0) + { + const std::string& name = result[1]; + + auto iter = m_options.find(name); + + if (iter == m_options.end()) + { + throw option_not_exists_exception(name); + } + + auto opt = iter->second; + + //equals provided for long option? + if (result[2].length() != 0) + { + //parse the option given + + parse_option(opt, name, result[3]); + } + else + { + //parse the next argument + checked_parse_arg(argc, argv, current, opt, name); + } + } + + } + + ++current; + } + + for (auto& opt : m_options) + { + auto& detail = opt.second; + auto& value = detail->value(); + + auto& store = m_results[detail]; + + if (!store.count() && value.has_default()) { + parse_default(detail); + } + } + + if (consume_remaining) + { + while (current < argc) + { + if (!consume_positional(argv[current])) { + break; + } + ++current; + } + + //adjust argv for any that couldn't be swallowed + while (current != argc) { + argv[nextKeep] = argv[current]; + ++nextKeep; + ++current; + } + } + + argc = nextKeep; + + } + + inline + void + Options::add_option + ( + const std::string& group, + const std::string& s, + const std::string& l, + std::string desc, + std::shared_ptr value, + std::string arg_help + ) + { + auto stringDesc = toLocalString(std::move(desc)); + auto option = std::make_shared(s, l, stringDesc, value); + + if (s.size() > 0) + { + add_one_option(s, option); + } + + if (l.size() > 0) + { + add_one_option(l, option); + } + + //add the help details + auto& options = m_help[group]; + + options.options.emplace_back(HelpOptionDetails{ s, l, stringDesc, + value->has_default(), value->get_default_value(), + value->has_implicit(), value->get_implicit_value(), + std::move(arg_help), + value->is_container(), + value->is_boolean() }); + } + + inline + void + Options::add_one_option + ( + const std::string& option, + std::shared_ptr details + ) + { + auto in = m_options.emplace(option, details); + + if (!in.second) + { + throw option_exists_error(option); + } + } + + inline + String + Options::help_one_group(const std::string& g) const + { + typedef std::vector> OptionHelp; + + auto group = m_help.find(g); + if (group == m_help.end()) + { + return ""; + } + + OptionHelp format; + + size_t longest = 0; + + String result; + + if (!g.empty()) + { + result += toLocalString(" " + g + " options:\n"); + } + + for (const auto& o : group->second.options) + { + if (o.is_container && + m_positional_set.find(o.l) != m_positional_set.end() && + !m_show_positional) + { + continue; + } + + auto s = format_option(o); + longest = std::max(longest, stringLength(s)); + format.push_back(std::make_pair(s, String())); + } + + longest = std::min(longest, static_cast(OPTION_LONGEST)); + + //widest allowed description + auto allowed = size_t{ 76 } -longest - OPTION_DESC_GAP; + + auto fiter = format.begin(); + for (const auto& o : group->second.options) + { + if (o.is_container && + m_positional_set.find(o.l) != m_positional_set.end() && + !m_show_positional) + { + continue; + } + + auto d = format_description(o, longest + OPTION_DESC_GAP, allowed); + + result += fiter->first; + if (stringLength(fiter->first) > longest) + { + result += '\n'; + result += toLocalString(std::string(longest + OPTION_DESC_GAP, ' ')); + } + else + { + result += toLocalString(std::string(longest + OPTION_DESC_GAP - + stringLength(fiter->first), + ' ')); + } + result += d; + result += '\n'; + + ++fiter; + } + + return result; + } + + inline + void + Options::generate_group_help + ( + String& result, + const std::vector& print_groups + ) const + { + for (size_t i = 0; i != print_groups.size(); ++i) + { + const String& group_help_text = help_one_group(print_groups[i]); + if (empty(group_help_text)) + { + continue; + } + result += group_help_text; + if (i < print_groups.size() - 1) + { + result += '\n'; + } + } + } + + inline + void + Options::generate_all_groups_help(String& result) const + { + std::vector all_groups; + all_groups.reserve(m_help.size()); + + for (auto& group : m_help) + { + all_groups.push_back(group.first); + } + + generate_group_help(result, all_groups); + } + + inline + std::string + Options::help(const std::vector& help_groups) const + { + String result = m_help_string + "\nUsage:\n " + + toLocalString(m_program) + " " + toLocalString(m_custom_help); + + if (m_positional.size() > 0 && m_positional_help.size() > 0) { + result += " " + toLocalString(m_positional_help); + } + + result += "\n\n"; + + if (help_groups.size() == 0) + { + generate_all_groups_help(result); + } + else + { + generate_group_help(result, help_groups); + } + + return toUTF8String(result); + } + + inline + const std::vector + Options::groups() const + { + std::vector g; + + std::transform( + m_help.begin(), + m_help.end(), + std::back_inserter(g), + [](const std::map::value_type& pair) + { + return pair.first; + } + ); + + return g; + } + + inline + const HelpGroupDetails& + Options::group_help(const std::string& group) const + { + return m_help.at(group); + } + +} + +#endif //CXXOPTS_HPP_INCLUDED \ No newline at end of file diff --git a/MCDV/dds.hpp b/MCDV/dds.hpp index bb3b67f..0ea1ee0 100644 --- a/MCDV/dds.hpp +++ b/MCDV/dds.hpp @@ -98,6 +98,8 @@ uint8_t* compressImageDXT1(uint8_t* buf_RGB, uint32_t w, uint32_t h, uint32_t* c int blocks_x = w / 4; int blocks_y = h / 4; + std::cout << "Compressing DXT1 from RGB buffer\n"; + //Fill for (int y = 0; y < blocks_y; y++){ for (int x = 0; x < blocks_x; x++){ @@ -109,9 +111,9 @@ uint8_t* compressImageDXT1(uint8_t* buf_RGB, uint32_t w, uint32_t h, uint32_t* c uint8_t* src = new uint8_t[64]; //Create source RGBA buffer for (int _y = 0; _y < 4; _y++) { for (int _x = 0; _x < 4; _x++) { - src[(_x + (_y * 4)) * 4 + 0] = buf_RGB[(globalX + _x + ((globalY + _y) * w)) * 3 + 0]; - src[(_x + (_y * 4)) * 4 + 1] = buf_RGB[(globalX + _x + ((globalY + _y) * w)) * 3 + 1]; - src[(_x + (_y * 4)) * 4 + 2] = buf_RGB[(globalX + _x + ((globalY + _y) * w)) * 3 + 2]; + src[(_x + (_y * 4)) * 4 + 0] = buf_RGB[(globalX + _x + ((h - (globalY + _y)) * w)) * 3 + 0]; + src[(_x + (_y * 4)) * 4 + 1] = buf_RGB[(globalX + _x + ((h - (globalY + _y)) * w)) * 3 + 1]; + src[(_x + (_y * 4)) * 4 + 2] = buf_RGB[(globalX + _x + ((h - (globalY + _y)) * w)) * 3 + 2]; src[(_x + (_y * 4)) * 4 + 3] = 0xFF; } } diff --git a/MCDV/de_tavr_test.txt b/MCDV/de_tavr_test.txt new file mode 100644 index 0000000..efdf1b4 --- /dev/null +++ b/MCDV/de_tavr_test.txt @@ -0,0 +1,12 @@ +// TAVR - AUTO RADAR. v 2.0.0 +de_tavr_test +{ + "CTSpawn_x" "0.400000" + "CTSpawn_y" "0.060000" + "TSpawn_x" "0.300000" + "TSpawn_y" "0.880000" + "material" "overviews/de_tavr_test" + "pos_x" "-1832.000000" + "pos_y" "1728.000000" + "scale" "5.190000" +} diff --git a/MCDV/main.cpp b/MCDV/main.cpp index 66d5b94..8b70900 100644 --- a/MCDV/main.cpp +++ b/MCDV/main.cpp @@ -1,53 +1,123 @@ +// STDLib #include -#include "vmf.hpp" - -// OPENGL +// OPENGL related #include #include +#include #include "GLFWUtil.hpp" +// Engine header files #include "Shader.hpp" #include "Texture.hpp" -//#include "Camera.hpp" -//#include "Mesh.hpp" -//#include "GameObject.hpp" -//#include "TextFont.hpp" -//#include "Console.hpp" #include "FrameBuffer.hpp" -#include "interpolation.h" +// Valve header files +#include "vmf.hpp" -#include -#include -#include +// Util +#include "cxxopts.hpp" +#include "interpolation.h" +// Image stuff #define STBI_MSC_SECURE_CRT #define STB_IMAGE_WRITE_IMPLEMENTATION #include "stb_image_write.h" -//#include "stb_image.h" #include "dds.hpp" +/* Grabs the currently bound framebuffer and saves it to a .png */ void render_to_png(int x, int y, const char* filepath){ void* data = malloc(4 * x * y); glReadPixels(0, 0, x, y, GL_RGBA, GL_UNSIGNED_BYTE, data); - if (data != 0) { - stbi_flip_vertically_on_write(true); - stbi_write_png(filepath, x, y, 4, data, x * 4); - } + stbi_flip_vertically_on_write(true); + stbi_write_png(filepath, x, y, 4, data, x * 4); + + free(data); +} + +/* Grabs the currently bound framebuffer and saves it to a .dds */ +void save_to_dds(int x, int y, const char* filepath) { + void* data = malloc(4 * x * y); + + glReadPixels(0, 0, x, y, GL_RGB, GL_UNSIGNED_BYTE, data); + + dds_write((uint8_t*)data, filepath, x, y, IMG::MODE_DXT1); + + free(data); } -int main(int argc, char* argv[]) { - int _w, _h, _nrc; - unsigned char* data = stbi_load("textures/test.jpg", &_w, &_h, &_nrc, 3); +/* Command line variables */ +std::string m_mapfile_path; +std::string m_game_path; + +//derived strings +std::string m_mapfile_name; +std::string m_overviews_folder; +std::string m_resources_folder; + +bool m_outputMasks; +bool m_onlyOutputMasks; + +uint32_t m_renderWidth; +uint32_t m_renderHeight; + +/* Main program */ +int app(int argc, const char** argv) { + cxxopts::Options options("AutoRadar", "Auto radar"); + options.add_options() + ("v,version", "Shows the software version") + ("g,game", "(REQUIRED) Specify game path", cxxopts::value()->default_value("")) + ("m,mapfile", "(REQUIRED) Specify the map file (vmf)", cxxopts::value()->default_value("")) + + ("d,dumpMasks", "Toggles whether auto radar should output mask images (resources/map_file.resources/)") + ("o,onlyMasks", "Specift whether auto radar should only output mask images and do nothing else (resources/map_file.resources)") + + ("w,width", "Render width in pixels (experimental)", cxxopts::value()->default_value("1024")) + ("h,height", "Render height in pixels (experimental)", cxxopts::value()->default_value("1024")) + + ("positional", "Positional parameters", cxxopts::value>()); + + options.parse_positional("positional"); + auto result = options.parse(argc, argv); + + /* Check required parameters */ + if (result.count("game")) m_game_path = result["game"].as(); + else throw cxxopts::option_required_exception("game"); - dds_write(data, "output.dds", _w, _h, IMG::MODE_DXT1); + if(result.count("mapfile")) m_mapfile_path = result["mapfile"].as(); + else if (result.count("positional")) { + auto& positional = result["positional"].as>(); + + m_mapfile_path = positional[0]; + } + else throw cxxopts::option_required_exception("mapfile"); // We need a map file - stbi_image_free(data); + //Clean paths to what we can deal with + m_mapfile_path = sutil::ReplaceAll(m_mapfile_path, "\\", "/"); + m_game_path = sutil::ReplaceAll(m_game_path, "\\", "/"); - return 0; + //Derive the ones + m_mapfile_name = split(m_mapfile_path, '/').back(); + m_overviews_folder = m_game_path + "/resource/overviews/"; + m_resources_folder = m_overviews_folder + m_mapfile_name + ".resources/"; + + /* Check the rest of the flags */ + m_onlyOutputMasks = result["onlyMasks"].as(); + m_outputMasks = result["dumpMasks"].as() || m_onlyOutputMasks; + + /* Render options */ + m_renderWidth = result["width"].as(); + m_renderHeight = result["height"].as(); + + std::cout << "Launching with options:\n"; + std::cout << " Render width: " << m_renderWidth << "\n"; + std::cout << " Render height: " << m_renderHeight << "\n"; + std::cout << " Save masks? " << (m_outputMasks ? "YES" : "NO") << "\n"; + std::cout << " Output to game? " << (!m_onlyOutputMasks ? "YES" : "NO") << "\n\n"; + std::cout << " Game path: " << m_game_path << "\n"; + std::cout << " Map path: " << m_mapfile_path << "\n"; std::cout << "Initializing OpenGL\n"; @@ -107,37 +177,59 @@ int main(int argc, char* argv[]) { #pragma region shader_compilation std::cout << "Compiling Shaders\n"; + std::cout << "______________________________________________________________\n\n"; // Internal engine shaders Shader shader_depth("shaders/depth.vs", "shaders/depth.fs"); Shader shader_unlit("shaders/unlit.vs", "shaders/unlit.fs"); // Compositing shaders - Shader shader_comp_main("shaders/fullscreenbase.vs", "shaders/ss_test.fs"); // le big one + Shader shader_comp_main("shaders/fullscreenbase.vs", "shaders/ss_comp_main.fs"); // le big one Shader shader_precomp_playspace("shaders/fullscreenbase.vs", "shaders/ss_precomp_playspace.fs"); // computes distance map Shader shader_precomp_objectives("shaders/fullscreenbase.vs", "shaders/ss_precomp_objectives.fs"); // computes distance map - std::cout << "Loading textures\n"; + if (shader_depth.compileUnsuccessful || + shader_unlit.compileUnsuccessful || + shader_comp_main.compileUnsuccessful || + shader_precomp_playspace.compileUnsuccessful || + shader_precomp_objectives.compileUnsuccessful) { + + std::cout << "______________________________________________________________\n"; + std::cout << "Shader compilation step failed.\n"; + glfwTerminate(); + return 1; + } + + std::cout << "______________________________________________________________\n"; + std::cout << "Shader compilation successful\n\n"; + + std::cout << "Loading textures... "; Texture tex_background = Texture("textures/grid.png"); Texture tex_gradient = Texture("textures/gradients/gradientmap_6.png", true); Texture tex_height_modulate = Texture("textures/modulate.png"); + std::cout << "done!\n\n"; + #pragma endregion #pragma region map_load - vmf::vmf vmf_main("sample_stuff/map_01.vmf"); + std::cout << "Loading map file...\n"; + + vmf::vmf vmf_main(m_mapfile_path + ".vmf"); - std::cout << "Generating Meshes\n"; + std::cout << "Generating Meshes...\n"; vmf_main.ComputeGLMeshes(); vmf_main.ComputeDisplacements(); std::vector tavr_solids = vmf_main.getAllBrushesInVisGroup("tavr_layout"); - + std::vector tavr_solids_funcbrush = vmf_main.getAllBrushesByClassName("func_brush"); std::vector tavr_buyzones = vmf_main.getAllBrushesByClassName("func_buyzone"); std::vector tavr_bombtargets = vmf_main.getAllBrushesByClassName("func_bomb_target"); + std::cout << "done!\n"; + #pragma region bounds std::cout << "Calculating bounds... "; @@ -164,45 +256,17 @@ int main(int argc, char* argv[]) { float render_ortho_scale = glm::round((mx_dist / 1024.0f) / 0.01f) * 0.01f * 1024.0f; // Take largest, scale up a tiny bit. Clamp to 1024 min. Do some rounding. glm::vec2 view_origin = glm::vec2(x_bounds_min - justify_x, y_bounds_max + justify_y); - std::cout << "done\n"; + std::cout << "done\n\n"; #pragma endregion #pragma endregion #pragma region OpenGLRender -#pragma region generate_radar_txt - - kv::DataBlock node_radar = kv::DataBlock(); - node_radar.name = "de_tavr_test"; - node_radar.Values.insert({ "material", "overviews/de_tavr_test" }); - - node_radar.Values.insert({ "pos_x", std::to_string(view_origin.x) }); - node_radar.Values.insert({ "pos_y", std::to_string(view_origin.y) }); - node_radar.Values.insert({ "scale", std::to_string(render_ortho_scale / 1024.0f) }); - - // Try resolve spawn positions - glm::vec3* loc_spawnCT = vmf_main.calculateSpawnLocation(vmf::team::counter_terrorist); - glm::vec3* loc_spawnT = vmf_main.calculateSpawnLocation(vmf::team::terrorist); - - if (loc_spawnCT != NULL) { - node_radar.Values.insert({ "CTSpawn_x", std::to_string(glm::round(remap(loc_spawnCT->x, view_origin.x, view_origin.x + render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); - node_radar.Values.insert({ "CTSpawn_y", std::to_string(glm::round(remap(loc_spawnCT->y, view_origin.y, view_origin.y - render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); - } - if (loc_spawnT != NULL) { - node_radar.Values.insert({ "TSpawn_x", std::to_string(glm::round(remap(loc_spawnT->x, view_origin.x, view_origin.x + render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); - node_radar.Values.insert({ "TSpawn_y", std::to_string(glm::round(remap(loc_spawnT->y, view_origin.y, view_origin.y - render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); - } - - std::ofstream out("de_tavr_test.txt"); - out << "// TAVR - AUTO RADAR. v 2.0.0\n"; - node_radar.Serialize(out); - out.close(); - -#pragma endregion + std::cout << "Starting OpenGL Render\n"; #pragma region render_playable_space - std::cout << "Rendering playable space..."; + std::cout << "Rendering playable space... "; fb_comp.Bind(); //Bind framebuffer @@ -232,6 +296,7 @@ int main(int argc, char* argv[]) { } } + fb_comp_1.Bind(); // Reverse rendering @@ -289,13 +354,14 @@ int main(int argc, char* argv[]) { glEnable(GL_DEPTH_TEST); - render_to_png(1024, 1024, "playable-space.png"); + if(m_outputMasks) + render_to_png(1024, 1024, "playable-space.png"); std::cout << "done!\n"; #pragma endregion #pragma region render_objectives - std::cout << "Rendering bombsites & buyzones space..."; + std::cout << "Rendering bombsites & buyzones space... "; fb_comp.Bind(); @@ -335,7 +401,8 @@ int main(int argc, char* argv[]) { mesh_screen_quad->Draw(); - render_to_png(1024, 1024, "buyzone-bombtargets.png"); + if (m_outputMasks) + render_to_png(1024, 1024, "buyzone-bombtargets.png"); glEnable(GL_DEPTH_TEST); std::cout << "done!\n"; @@ -365,20 +432,67 @@ int main(int argc, char* argv[]) { mesh_screen_quad->Draw(); - render_to_png(1024, 1024, "1whammy.png"); - - std::cout << "Done\n"; + std::cout << "done!\n"; #pragma endregion #pragma endregion #pragma region auto_export_game + if (!m_onlyOutputMasks) { + save_to_dds(1024, 1024, std::string(m_overviews_folder + m_mapfile_name + "_radar.dds").c_str()); + } + +#pragma region generate_radar_txt + + std::cout << "Generating radar .TXT... "; + + kv::DataBlock node_radar = kv::DataBlock(); + node_radar.name = m_mapfile_name; + node_radar.Values.insert({ "material", "overviews/" + m_mapfile_name }); + + node_radar.Values.insert({ "pos_x", std::to_string(view_origin.x) }); + node_radar.Values.insert({ "pos_y", std::to_string(view_origin.y) }); + node_radar.Values.insert({ "scale", std::to_string(render_ortho_scale / 1024.0f) }); + // Try resolve spawn positions + glm::vec3* loc_spawnCT = vmf_main.calculateSpawnLocation(vmf::team::counter_terrorist); + glm::vec3* loc_spawnT = vmf_main.calculateSpawnLocation(vmf::team::terrorist); + + if (loc_spawnCT != NULL) { + node_radar.Values.insert({ "CTSpawn_x", std::to_string(glm::round(remap(loc_spawnCT->x, view_origin.x, view_origin.x + render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); + node_radar.Values.insert({ "CTSpawn_y", std::to_string(glm::round(remap(loc_spawnCT->y, view_origin.y, view_origin.y - render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); + } + if (loc_spawnT != NULL) { + node_radar.Values.insert({ "TSpawn_x", std::to_string(glm::round(remap(loc_spawnT->x, view_origin.x, view_origin.x + render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); + node_radar.Values.insert({ "TSpawn_y", std::to_string(glm::round(remap(loc_spawnT->y, view_origin.y, view_origin.y - render_ortho_scale, 0.0f, 1.0f) / 0.01f) * 0.01f) }); + } + + std::ofstream out(std::string(m_overviews_folder + m_mapfile_name + ".txt").c_str()); + out << "// TAVR - AUTO RADAR. v 2.0.0\n"; + node_radar.Serialize(out); + out.close(); + + std::cout << "done!"; + +#pragma endregion #pragma endregion + std::cout << "\n- Radar generation successful... cleaning up. -\n"; + //Exit safely glfwTerminate(); - system("PAUSE"); return 0; +} + +/* Entry point */ +int main(int argc, const char** argv) { + try { + return app(argc, argv); + } + catch (cxxopts::OptionException& e) { + std::cerr << "Parse error: " << e.what() << "\n"; + } + + return 1; } \ No newline at end of file diff --git a/MCDV/playable-space.png b/MCDV/playable-space.png new file mode 100644 index 0000000000000000000000000000000000000000..1e09fb646914ee3796382d4bef2728ba3841d6d3 GIT binary patch literal 93766 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%0D=3->Idp=jp+(oze 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

  • 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

    IXg!9EZ&-_Ga%BA2x54mtiu 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 literal 0 HcmV?d00001 diff --git a/deploy_release.bat b/deploy_release.bat new file mode 100644 index 0000000..07b5bc6 --- /dev/null +++ b/deploy_release.bat @@ -0,0 +1,2 @@ +ECHO D | xcopy /y "MCDV/shaders" "Release/shaders" /E /D +ECHO D | xcopy /y "MCDV/textures" "Release/textures" /E /D \ No newline at end of file -- 2.25.1