diff --git a/CCEngine/CCEngine.vcxproj b/CCEngine/CCEngine.vcxproj index db7e1b2..e62e303 100644 --- a/CCEngine/CCEngine.vcxproj +++ b/CCEngine/CCEngine.vcxproj @@ -14,7 +14,7 @@ {51637EB3-9942-43AE-9272-9DD85412EFC7} Qt4VSv1.0 CCEngine - 10.0.16299.0 + 8.1 @@ -82,7 +82,7 @@ $(ProjectDir)..\..\libLicenseClient\api;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets;$(CRYPTOPP_ROOT_DIR)include;$(LIBZIP_ROOT_DIR)include;$(ZLIB_ROOT_DIR)include;$(LIBCURL_ROOT_DIR)include;$(BOOST_ROOT_DIR)\. - _WIN32_WINNT=0x0601;WIN32;_SCL_SECURE_NO_WARNINGS;_DEBUG;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;CURL_STATICLIB;_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING;_MBCS + _WIN32_WINNT=0x0601;WIN32;_SCL_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) @@ -91,7 +91,7 @@ Level3 MaxSpeed true - _WIN32_WINNT=0x0601;WIN32;_SCL_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions);BOOST_EXCEPTION_DISABLE + _WIN32_WINNT=0x0601;WIN32;_SCL_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions); true $(ProjectDir)..\..\libLicenseClient\api;.\GeneratedFiles;%(AdditionalIncludeDirectories) stdcpplatest @@ -106,7 +106,7 @@ false - _WIN32_WINNT=0x0601;WIN32;_SCL_SECURE_NO_WARNINGS;NDEBUG;BOOST_EXCEPTION_DISABLE;QT_NO_DEBUG;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;CURL_STATICLIB;_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING;_MBCS + _WIN32_WINNT=0x0601;WIN32;_SCL_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions); $(ProjectDir)..\..\libLicenseClient\api;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets;$(CRYPTOPP_ROOT_DIR)include;$(LIBZIP_ROOT_DIR)include;$(ZLIB_ROOT_DIR)include;$(LIBCURL_ROOT_DIR)include;$(BOOST_ROOT_DIR)\. @@ -156,7 +156,7 @@ - + \ No newline at end of file diff --git a/CCEngine/project-common.props b/CCEngine/project-common.props index 5dec48b..32b7dd1 100644 --- a/CCEngine/project-common.props +++ b/CCEngine/project-common.props @@ -1,7 +1,7 @@ - + diff --git a/CCEngine/src/CCServer.cpp b/CCEngine/src/CCServer.cpp index d057be4..b8d9db0 100644 --- a/CCEngine/src/CCServer.cpp +++ b/CCEngine/src/CCServer.cpp @@ -335,7 +335,7 @@ template< // Build the path to the requested file std::string path = path_cat(doc_root, req.target()); if (req.target().back() == '/') - path.append("index.html"); + path.append("index.htm"); // Attempt to open the file if (!boost::filesystem::is_regular_file(path)) @@ -456,7 +456,8 @@ class http_session : public std::enable_shared_from_this // This holds a work item struct work_impl : work { - http_session& self_; + // workaround. remove the value initialization after msvc fixes their bug + http_session& self_ = *(http_session*)nullptr; http::message msg_; work_impl( diff --git a/CCEngine/src/ProcessUtils.cpp b/CCEngine/src/ProcessUtils.cpp index ab08ce9..e1a5fc1 100644 --- a/CCEngine/src/ProcessUtils.cpp +++ b/CCEngine/src/ProcessUtils.cpp @@ -1,5 +1,6 @@ #include "ProcessUtils.h" +struct IUnknown; // Workaround for "combaseapi.h(229): error C2187: syntax error: 'identifier' was unexpected here" when using /permissive- #include #include diff --git a/CCEngine/src/SystemParamsModel.cpp b/CCEngine/src/SystemParamsModel.cpp index 4b9cd27..5ba169f 100644 --- a/CCEngine/src/SystemParamsModel.cpp +++ b/CCEngine/src/SystemParamsModel.cpp @@ -2,13 +2,53 @@ #include +#include +#include +namespace { + + template< typename T > + std::string intToHex(T i) + { + std::stringstream stream; + stream + << std::setfill('0') << std::setw(sizeof(T) * 2) + << std::hex << i; + return stream.str(); + } + + uint64_t fletcher64(uint32_t *data, int count) + { + uint64_t sum1 = 0; + uint64_t sum2 = 0; + int index; + + for (index = 0; index < count; ++index) + { + sum1 = (sum1 + data[index]) % std::numeric_limits::max(); + sum2 = (sum2 + sum1) % std::numeric_limits::max(); + } + + return (sum2 << std::numeric_limits::digits) | sum1; + } + + typedef std::string ParamHash; + ParamHash fletcher64(const std::string& input) + { + std::vector buf((input.size() + sizeof(uint32_t) - 1) / sizeof(uint32_t), 0); + std::copy_n(std::begin(input), input.size(), stdext::make_checked_array_iterator((std::string::pointer)buf.data(), buf.size() * sizeof(uint32_t))); + auto resInt = fletcher64(buf.data(), buf.size()); + return intToHex(resInt); + } + +} + SystemParamsModel::SystemParamsModel(const SystemParams& params, QObject *parent) : QAbstractTableModel(parent) { std::vector records(params.size()); std::transform(params.begin(), params.end(), records.begin(), [](const auto& elm) { - return std::make_tuple(QString(elm.first.c_str()), QString(elm.second.c_str()), QString(elm.second.c_str())); + return std::make_tuple(QString(elm.first.c_str()), QString(fletcher64(elm.second).c_str()), QString(elm.second.c_str())); }); m_data = std::move(records); diff --git a/CCEngine/src/main.cpp b/CCEngine/src/main.cpp index a2bb05e..13c94a3 100644 --- a/CCEngine/src/main.cpp +++ b/CCEngine/src/main.cpp @@ -1,5 +1,4 @@ #include "CCEngine.h" -#include "PlatformInit.h" #include "OSUtils.h" #include diff --git a/CCEngineLoader/CCEngineLoader.vcxproj b/CCEngineLoader/CCEngineLoader.vcxproj index d6caa42..0b6f886 100644 --- a/CCEngineLoader/CCEngineLoader.vcxproj +++ b/CCEngineLoader/CCEngineLoader.vcxproj @@ -13,7 +13,7 @@ {B12702AD-ABFB-343A-A199-8E24837244A3} Qt4VSv1.0 - 10.0.16299.0 + 8.1 @@ -80,7 +80,8 @@ true - $(BOOST_ROOT_DIR);%(IncludePath) + $(ProjectDir)..\..\libLicenseClient\api;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets;$(CRYPTOPP_ROOT_DIR)include;$(LIBZIP_ROOT_DIR)include;$(ZLIB_ROOT_DIR)include;$(LIBCURL_ROOT_DIR)include;$(BOOST_ROOT_DIR)\. + _WIN32_WINNT=0x0601;WIN32;_DEBUG;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;CURL_STATICLIB;_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING;_MBCS @@ -89,7 +90,7 @@ Level3 MaxSpeed true - _WIN32_WINNT=0x0601;WIN32;NDEBUG;%(PreprocessorDefinitions);BOOST_EXCEPTION_DISABLE + _WIN32_WINNT=0x0601;WIN32;NDEBUG;%(PreprocessorDefinitions) true $(ProjectDir)..\..\libLicenseClient\api;%(AdditionalIncludeDirectories) stdcpplatest @@ -104,8 +105,8 @@ false - WIN32;_MBCS;CURL_STATICLIB;_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING;%(Define) - $(BOOST_ROOT_DIR);%(IncludePath) + _WIN32_WINNT=0x0601;WIN32;NDEBUG;BOOST_EXCEPTION_DISABLE;QT_NO_DEBUG;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;CURL_STATICLIB;_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING;_MBCS + $(ProjectDir)..\..\libLicenseClient\api;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets;$(CRYPTOPP_ROOT_DIR)include;$(LIBZIP_ROOT_DIR)include;$(ZLIB_ROOT_DIR)include;$(LIBCURL_ROOT_DIR)include;$(BOOST_ROOT_DIR)\. @@ -141,7 +142,7 @@ - + \ No newline at end of file diff --git a/CCEngineLoader/UpdateWorker.cpp b/CCEngineLoader/UpdateWorker.cpp index 2ea7db9..aa5a8e9 100644 --- a/CCEngineLoader/UpdateWorker.cpp +++ b/CCEngineLoader/UpdateWorker.cpp @@ -5,6 +5,7 @@ #include "JSONModuleDatabase.h" #include "ModuleManager.h" +struct IUnknown; // Workaround for "combaseapi.h(229): error C2187: syntax error: 'identifier' was unexpected here" when using /permissive- #include #include diff --git a/CCEngineLoader/project-common.props b/CCEngineLoader/project-common.props index f6357c0..07abe4b 100644 --- a/CCEngineLoader/project-common.props +++ b/CCEngineLoader/project-common.props @@ -1,7 +1,7 @@ - + diff --git a/non-debugable.props b/non-debugable.props index 2e86c09..d44641b 100644 --- a/non-debugable.props +++ b/non-debugable.props @@ -8,7 +8,7 @@ %(AdditionalIncludeDirectories) - BOOST_EXCEPTION_DISABLE;%(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(AdditionalOptions) false None diff --git a/qt-ui-debug.props b/qt-ui-debug.props index 634e42a..7f22efa 100644 --- a/qt-ui-debug.props +++ b/qt-ui-debug.props @@ -1,6 +1,7 @@ + diff --git a/qt-ui-release.props b/qt-ui-release.props index 5e16682..4c9aef7 100644 --- a/qt-ui-release.props +++ b/qt-ui-release.props @@ -1,6 +1,7 @@ +