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 @@
+