From d0d38238a83ff6673f1b4fb62d1ce8a4d9168d16 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 23 Aug 2021 12:29:41 +0300 Subject: [PATCH 01/10] Fix crash on reading background shorthand with single value --- code/nel/src/gui/css_style.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/nel/src/gui/css_style.cpp b/code/nel/src/gui/css_style.cpp index 396bff062..267693e06 100644 --- a/code/nel/src/gui/css_style.cpp +++ b/code/nel/src/gui/css_style.cpp @@ -1028,6 +1028,9 @@ namespace NLGUI // second loop -> false && break loop = !loop; + if (next >= parts.size()) + break; + val = toLower(parts[next]); if (val == "center") { From 5bf139f690216f0c2f6f697feee99160af9d32ee Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 23 Aug 2021 12:17:31 +0300 Subject: [PATCH 02/10] Fix css rule declaration splitting --- code/nel/src/gui/css_parser.cpp | 58 ++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/code/nel/src/gui/css_parser.cpp b/code/nel/src/gui/css_parser.cpp index e59cf832b..444b24460 100644 --- a/code/nel/src/gui/css_parser.cpp +++ b/code/nel/src/gui/css_parser.cpp @@ -38,21 +38,57 @@ namespace NLGUI TStyleVec CCssParser::parseDecls(const std::string &styleString) { TStyleVec styles; - std::vector elements; - NLMISC::splitString(styleString, ";", elements); - - for(uint i = 0; i < elements.size(); ++i) + size_t pos = 0; + size_t end = styleString.size(); + while(pos < end) { - std::string::size_type pos; - pos = elements[i].find_first_of(':'); - if (pos != std::string::npos) + size_t sep = styleString.find(':', pos); + if (sep == std::string::npos) + break; + + size_t keyIndex = pos; + size_t keyLength = sep - pos; + + sep++; + pos = sep; + while(sep < end) { - std::string key = trim(toLower(elements[i].substr(0, pos))); - std::string value = trim(elements[i].substr(pos+1)); - styles.push_back(TStylePair(key, value)); + sep = styleString.find_first_of(";'\"(", sep); + if (sep == std::string::npos || styleString[sep] == ';') + break; + + if (styleString[sep] == '\'' || styleString[sep] == '"') + { + char ch = styleString[sep]; + // skip open quote + sep++; + while(sep < end && styleString[sep] != ch) + { + if (styleString[sep] == '\\') + sep++; + sep++; + } + // skip close quote + sep++; + } + else if (styleString[sep] == '(') + { + while(sep < end && styleString[sep] != ')') + { + sep++; + } + // skip close parenthesis + sep++; + } } - } + styles.push_back(TStylePair(trim(styleString.substr(keyIndex, keyLength)), trim(styleString.substr(pos, sep - pos)))); + + if (sep >= end) + break; + + pos = sep + 1; + } return styles; } From 19d016233269039f625e656660cd44550ddcd17a Mon Sep 17 00:00:00 2001 From: Nimetu Date: Tue, 24 Aug 2021 11:38:40 +0300 Subject: [PATCH 03/10] Fix possible crash from unset variable --- code/ryzom/client/src/interface_v3/chat_text_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/chat_text_manager.cpp b/code/ryzom/client/src/interface_v3/chat_text_manager.cpp index ec0aee822..93e55d39c 100644 --- a/code/ryzom/client/src/interface_v3/chat_text_manager.cpp +++ b/code/ryzom/client/src/interface_v3/chat_text_manager.cpp @@ -426,7 +426,7 @@ CViewBase *CChatTextManager::createMsgTextComplex(const ucstring &msg, NLMISC::C // Manage Translations CCDBNodeLeaf *node= NLGUI::CDBManager::getInstance()->getDbProp("UI:SAVE:CHAT:SHOW_TRANSLATION_ONLY_AS_TOOLTIP_CB", false); - bool originalFirst = node->getValueBool(); + bool originalFirst = node ? node->getValueBool() : true; string::size_type startTr = msg.find(ucstring("{:")); string::size_type endOfOriginal = msg.find(ucstring("}@{")); From 103179ece75a71ee12e7f7563d884351d4b9f2ca Mon Sep 17 00:00:00 2001 From: Riasan Date: Tue, 24 Aug 2021 20:55:44 +0200 Subject: [PATCH 04/10] Changed: modify account urls on client_default_cfg , allow read account manage url from client_default_cfg --- code/ryzom/client/src/client_cfg.cpp | 70 ++++++++++++++++++++++++++-- code/ryzom/client/src/login.cpp | 50 +++++++++++--------- 2 files changed, 93 insertions(+), 27 deletions(-) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index 6758d440a..055260673 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -903,16 +903,76 @@ void CClientConfig::setValues() READ_STRING_FV(FSHost) READ_BOOL_DEV(DisplayAccountButtons) - READ_STRING_DEV(CreateAccountURL) - READ_STRING_DEV(EditAccountURL) - READ_STRING_DEV(ForgetPwdURL) + + + READ_STRING_FV(CreateAccountURL) + READ_STRING_FV(EditAccountURL) + READ_STRING_FV(ForgetPwdURL) + READ_STRING_DEV(BetaAccountURL) READ_STRING_DEV(FreeTrialURL) // defined in client_default.cfg - READ_STRING_FV(ConditionsTermsURL) - READ_STRING_FV(NamingPolicyURL) READ_STRING_FV(LoginSupportURL) + + // read NamingPolicyURL from client_default.cfg + //READ_STRING_FV(NamingPolicyURL) + + std::string languageCo = "wk"; + CConfigFile::CVar *languageCodeVarPtr = ClientCfg.ConfigFile.getVarPtr("LanguageCode"); + + if (languageCodeVarPtr) + { + languageCo = languageCodeVarPtr->asString(); + } + + CConfigFile::CVar *policyurl = ClientCfg.ConfigFile.getVarPtr("NamingPolicyURL"); + + if (policyurl) + { + for (uint i = 0; i < policyurl->size(); ++i) + { + std::string entry = policyurl->asString(i); + if (entry.size() >= languageCo.size()) + { + if (nlstricmp(entry.substr(0, languageCo.size()), languageCo) == 0) + { + std::string::size_type pos = entry.find("="); + + if (pos != std::string::npos) + { + ClientCfg.NamingPolicyURL = entry.substr(pos + 1); + } + } + } + } + } + + // read NamingPolicyURL from client_default.cfg + //READ_STRING_FV(ConditionsTermsURL) + CConfigFile::CVar *coturl = ClientCfg.ConfigFile.getVarPtr("ConditionsTermsURL"); + + if (coturl) + { + for (uint i = 0; i < coturl->size(); ++i) + { + std::string entry = coturl->asString(i); + + if (entry.size() >= languageCo.size()) + { + if (nlstricmp(entry.substr(0, languageCo.size()), languageCo) == 0) + { + std::string::size_type pos = entry.find("="); + + if (pos != std::string::npos) + { + ClientCfg.ConditionsTermsURL = entry.substr(pos + 1); + } + } + } + } + } + #ifndef RZ_NO_CLIENT // if cookie is not empty, it means that the client was launch diff --git a/code/ryzom/client/src/login.cpp b/code/ryzom/client/src/login.cpp index 674b92397..244bb593c 100644 --- a/code/ryzom/client/src/login.cpp +++ b/code/ryzom/client/src/login.cpp @@ -1932,8 +1932,11 @@ class CAHOpenURL : public IActionHandler #else // TODO: for Linux and Mac OS #endif - - if (sParams == "cfg_EditAccountURL") + if (sParams == "cfg_CreateAccountURL") + { + url = ClientCfg.CreateAccountURL; + } + else if (sParams == "cfg_EditAccountURL") { url = ClientCfg.EditAccountURL; } @@ -1971,32 +1974,35 @@ class CAHOpenURL : public IActionHandler nlwarning("no URL found"); return; } + + if(sParams != "cfg_ConditionsTermsURL" && sParams != "cfg_NamingPolicyURL") + { + // modify existing languages - // modify existing languages - - // old site - string::size_type pos_lang = url.find("/en/"); + // old site + string::size_type pos_lang = url.find("/en/"); - // or new forums - if (pos_lang == string::npos) - pos_lang = url.find("=en#"); + // or new forums + if (pos_lang == string::npos) + pos_lang = url.find("=en#"); - if (pos_lang != string::npos) - { - url.replace(pos_lang + 1, 2, ClientCfg.getHtmlLanguageCode()); - } - else - { - // append language - if (url.find('?') != string::npos) - url += "&"; + if (pos_lang != string::npos) + { + url.replace(pos_lang + 1, 2, ClientCfg.getHtmlLanguageCode()); + } else - url += "?"; + { + // append language + if (url.find('?') != string::npos) + url += "&"; + else + url += "?"; - url += "language=" + ClientCfg.LanguageCode; + url += "language=" + ClientCfg.LanguageCode; - if (!LoginCustomParameters.empty()) - url += LoginCustomParameters; + if (!LoginCustomParameters.empty()) + url += LoginCustomParameters; + } } openURL(url); From 62a821bc1d04401228a1215cbf028b27e9adc4e7 Mon Sep 17 00:00:00 2001 From: Riasan Date: Tue, 24 Aug 2021 21:12:26 +0200 Subject: [PATCH 05/10] Changed: modify atys account urls --- code/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index af243a412..af8332fd4 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -111,9 +111,9 @@ SET(RYZOM_WEBIG_TRUSTED_DOMAIN "open.ryzom.dev" CACHE STRING "Ryzom Client # urls when compiling ryzom live client IF(WITH_RYZOM_LIVE) MESSAGE("Using RYZOM_LIVE urls") - SET(RYZOM_CLIENT_CREATE_ACCOUNT_URL "https://account.ryzom.com/signup/from_client.php") - SET(RYZOM_CLIENT_EDIT_ACCOUNT_URL "https://account.ryzom.com/payment_profile/index.php") - SET(RYZOM_CLIENT_FORGET_PASSWORD_URL "https://account.ryzom.com/payment_profile/lost_secure_password.php") + SET(RYZOM_CLIENT_CREATE_ACCOUNT_URL "https://me.ryzom.com") + SET(RYZOM_CLIENT_EDIT_ACCOUNT_URL "https://me.ryzom.com") + SET(RYZOM_CLIENT_FORGET_PASSWORD_URL "https://me.ryzom.com/?forget_password=1") SET(RYZOM_CLIENT_PATCH_URL "http://dl.ryzom.com/patch_live") SET(RYZOM_CLIENT_APP_NAME "ryzom_live") From 178a22d961232e2c8bf7217298fd63e1eea5aeeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Gon=C3=A7alves=20=28Ulukyn=29?= Date: Thu, 2 Sep 2021 12:45:40 +0100 Subject: [PATCH 06/10] Skip auto-select of char when player is reselecting char --- code/ryzom/client/src/connection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/connection.cpp b/code/ryzom/client/src/connection.cpp index b4d7b5296..f57238991 100644 --- a/code/ryzom/client/src/connection.cpp +++ b/code/ryzom/client/src/connection.cpp @@ -1113,7 +1113,7 @@ TInterfaceState globalMenu() charSelect = LoginCharsel; WaitServerAnswer = false; - if (charSelect == -1) + if (charSelect == -1 || FarTP.isReselectingChar()) { CCDBNodeLeaf *pNL = NLGUI::CDBManager::getInstance()->getDbProp("UI:SERVER_RECEIVED_CHARS", false); if (pNL != NULL) From 3f991d3781ac98e7d1b1a3168d76a9ad1a7126de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Gon=C3=A7alves=20=28Ulukyn=29?= Date: Thu, 2 Sep 2021 15:04:10 +0100 Subject: [PATCH 07/10] Remove useless nlassert, just skip --- code/ryzom/client/src/interface_v3/inventory_manager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/ryzom/client/src/interface_v3/inventory_manager.cpp b/code/ryzom/client/src/interface_v3/inventory_manager.cpp index 312df9769..20480dc38 100644 --- a/code/ryzom/client/src/interface_v3/inventory_manager.cpp +++ b/code/ryzom/client/src/interface_v3/inventory_manager.cpp @@ -3652,10 +3652,14 @@ void CInventoryManager::updateItemInfoQueue() TItemInfoWaiters::iterator it; for(it= _ItemInfoWaiters.begin();it!=_ItemInfoWaiters.end();it++) { - /* \todo yoyo remove: temp patch to be sure that the client does not send messages before the + /* yoyo remove: temp patch to be sure that the client does not send messages before the CONNECTION:READY is sent + Ulukyn: this only happens if player ask to reselect a char before end of update items. + On this case, skip it... */ - nlassert(ConnectionReadySent); + + if (!ConnectionReadySent) + continue; IItemInfoWaiter *waiter=*it; uint itemSlotId= waiter->ItemSlotId; From c00a9be398a0d3f93df1e1961d9339406555d64d Mon Sep 17 00:00:00 2001 From: Nimetu Date: Thu, 2 Sep 2021 19:29:22 +0300 Subject: [PATCH 08/10] Fix web link in item customtext being visible --- .../src/interface_v3/action_handler_help.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/code/ryzom/client/src/interface_v3/action_handler_help.cpp b/code/ryzom/client/src/interface_v3/action_handler_help.cpp index ff19bfa33..3b61d2a8d 100644 --- a/code/ryzom/client/src/interface_v3/action_handler_help.cpp +++ b/code/ryzom/client/src/interface_v3/action_handler_help.cpp @@ -1907,9 +1907,17 @@ void getItemText (CDBCtrlSheet *item, ucstring &itemText, const CItemSheet*pIS) const CClientItemInfo &itemInfo = getInventory().getItemInfo(getInventory().getItemSlotId(item) ); if (!itemInfo.CustomText.empty()) { - strFindReplace(itemText, "%custom_text", "\n@{FFFF}" + itemInfo.CustomText + "\n"); - ucstring itemMFC = CI18N::get("uiItemTextMessageFromCrafter"); - strFindReplace(itemText, "%mfc", itemMFC); + std::string text = itemInfo.CustomText.toUtf8(); + if (text.size() > 3 && text[0]=='@' && ((text[1]=='W' && text[2]=='E' && text[3]=='B') || (text[1]=='L' && text[2]=='U' && text[3]=='A'))) + { + strFindReplace(itemText, "%custom_text", string() ); + } + else + { + strFindReplace(itemText, "%custom_text", "\n@{FFFF}" + itemInfo.CustomText.toUtf8() + "\n"); + string itemMFC = CI18N::get("uiItemTextMessageFromCrafter"); + strFindReplace(itemText, "%mfc", itemMFC); + } } else strFindReplace(itemText, "%custom_text", ucstring() ); From aae899b65a4f7bc4d4f090f6f90cd7c45441f938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Gon=C3=A7alves=20=28Ulukyn=29?= Date: Fri, 3 Sep 2021 14:54:48 +0100 Subject: [PATCH 09/10] Fix string to ucstring --- code/ryzom/client/src/interface_v3/action_handler_help.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/action_handler_help.cpp b/code/ryzom/client/src/interface_v3/action_handler_help.cpp index 3b61d2a8d..814ae65b0 100644 --- a/code/ryzom/client/src/interface_v3/action_handler_help.cpp +++ b/code/ryzom/client/src/interface_v3/action_handler_help.cpp @@ -1915,7 +1915,7 @@ void getItemText (CDBCtrlSheet *item, ucstring &itemText, const CItemSheet*pIS) else { strFindReplace(itemText, "%custom_text", "\n@{FFFF}" + itemInfo.CustomText.toUtf8() + "\n"); - string itemMFC = CI18N::get("uiItemTextMessageFromCrafter"); + ucstring itemMFC = CI18N::get("uiItemTextMessageFromCrafter"); strFindReplace(itemText, "%mfc", itemMFC); } } From 4331e35227b8315db4fe0ae5d5379d5891ac5c65 Mon Sep 17 00:00:00 2001 From: Nuno Date: Wed, 8 Sep 2021 17:48:03 +0200 Subject: [PATCH 10/10] Added build scripts for windows client and 3dsmax plugin --- path_config.bat | 1 + win-build/patch_version.bat | 7 ++ win-build/patch_version.py | 22 +++++ win-build/patch_version_set.bat | 2 + win-build/vs_build_3dsmax_x64.bat | 52 ++++++++++++ win-build/vs_build_3dsmax_x86.bat | 37 +++++++++ win-build/vs_build_dev.bat | 16 ++++ win-build/vs_build_fv_x64.bat | 14 ++++ win-build/vs_build_fv_x86.bat | 15 ++++ win-build/vs_build_tools.bat | 14 ++++ win-build/vs_clean.bat | 8 ++ win-build/vs_create.bat | 130 ++++++++++++++++++++++++++++++ 12 files changed, 318 insertions(+) create mode 100644 path_config.bat create mode 100644 win-build/patch_version.bat create mode 100644 win-build/patch_version.py create mode 100644 win-build/patch_version_set.bat create mode 100644 win-build/vs_build_3dsmax_x64.bat create mode 100644 win-build/vs_build_3dsmax_x86.bat create mode 100644 win-build/vs_build_dev.bat create mode 100644 win-build/vs_build_fv_x64.bat create mode 100644 win-build/vs_build_fv_x86.bat create mode 100644 win-build/vs_build_tools.bat create mode 100644 win-build/vs_clean.bat create mode 100644 win-build/vs_create.bat diff --git a/path_config.bat b/path_config.bat new file mode 100644 index 000000000..5b54ddbab --- /dev/null +++ b/path_config.bat @@ -0,0 +1 @@ +set RC_ROOT=.. diff --git a/win-build/patch_version.bat b/win-build/patch_version.bat new file mode 100644 index 000000000..0fa19a13f --- /dev/null +++ b/win-build/patch_version.bat @@ -0,0 +1,7 @@ +if /I "%RC_PYTHON2%"=="" call ..\path_config.bat +if /I "%CLIENT_PATCH_VERSION%"=="" goto :update +goto :done +:update +%RC_PYTHON2%\python %RC_ROOT%\build\patch_version.py +call patch_version_set.bat +:done diff --git a/win-build/patch_version.py b/win-build/patch_version.py new file mode 100644 index 000000000..d4693b550 --- /dev/null +++ b/win-build/patch_version.py @@ -0,0 +1,22 @@ +import os +rcRoot = os.environ['RC_ROOT'] +newVersion = 1 +vstr = str(newVersion).zfill(5) +vpath = rcRoot + "\\pipeline\\client_patch\\patch\\" + vstr +while os.path.exists(vpath): + newVersion = newVersion + 1 + vstr = str(newVersion).zfill(5) + vpath = rcRoot + "\\pipeline\\client_patch\\patch\\" + vstr +clientPatchVersion = newVersion +newVersion = 1 +vstr = str(newVersion).zfill(6) +vpath = rcRoot + "\\pipeline\\bridge_server\\" + vstr +while os.path.exists(vpath): + newVersion = newVersion + 1 + vstr = str(newVersion).zfill(6) + vpath = rcRoot + "\\pipeline\\bridge_server\\" + vstr +serverPatchVersion = newVersion +bf = open(rcRoot + "\\build\\patch_version_set.bat", "w") +bf.write("set CLIENT_PATCH_VERSION=" + str(clientPatchVersion) + "\n") +bf.write("set SERVER_PATCH_VERSION=" + str(serverPatchVersion) + "\n") +bf.close() diff --git a/win-build/patch_version_set.bat b/win-build/patch_version_set.bat new file mode 100644 index 000000000..93a550aef --- /dev/null +++ b/win-build/patch_version_set.bat @@ -0,0 +1,2 @@ +set CLIENT_PATCH_VERSION=1 +set SERVER_PATCH_VERSION=1 diff --git a/win-build/vs_build_3dsmax_x64.bat b/win-build/vs_build_3dsmax_x64.bat new file mode 100644 index 000000000..a6dffebb6 --- /dev/null +++ b/win-build/vs_build_3dsmax_x64.bat @@ -0,0 +1,52 @@ +if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat" goto :no_build +call ..\path_config.bat +C: +call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat" +cd /d %RC_ROOT%\build +call patch_version.bat +if %errorlevel% neq 0 pause +cd 3dsmax +rem goto :skipmax +if not exist .\2017_x64\CMakeCache.txt goto :no_2017 +cd 2017_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2017 +if not exist .\2018_x64\CMakeCache.txt goto :no_2018 +cd 2018_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2018 +if not exist .\2019_x64\CMakeCache.txt goto :no_2019 +cd 2019_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2019 +if not exist .\2020_x64\CMakeCache.txt goto :no_2020 +cd 2020_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2020 +if not exist .\2022_x64\CMakeCache.txt goto :no_2022 +cd 2022_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +rem FIXME msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2022 +rem :skipmax +cd .. +:no_build diff --git a/win-build/vs_build_3dsmax_x86.bat b/win-build/vs_build_3dsmax_x86.bat new file mode 100644 index 000000000..f57400ddc --- /dev/null +++ b/win-build/vs_build_3dsmax_x86.bat @@ -0,0 +1,37 @@ +if not exist "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" goto :no_build +call ..\path_config.bat +C: +cd C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\ +call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 +cd /d %RC_ROOT%\build +call patch_version.bat +if %errorlevel% neq 0 pause +cd 3dsmax +if not exist .\9_x86\CMakeCache.txt goto :no_9 +cd 9_x86 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_9 +if not exist .\2010_x86\CMakeCache.txt goto :no_2010 +cd 2010_x86 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2010 +rem goto :skipmax +if not exist .\2012_x86\CMakeCache.txt goto :no_2012 +cd 2012_x86 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_2012 +rem :skipmax +cd .. +:no_build diff --git a/win-build/vs_build_dev.bat b/win-build/vs_build_dev.bat new file mode 100644 index 000000000..4598edc2e --- /dev/null +++ b/win-build/vs_build_dev.bat @@ -0,0 +1,16 @@ +if not exist .\dev_x64\CMakeCache.txt goto :no_build +call ..\path_config.bat +C: +call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat" +cd /d %RC_ROOT%\build +call patch_version.bat +if %errorlevel% neq 0 pause +cd dev_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Debug %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_build diff --git a/win-build/vs_build_fv_x64.bat b/win-build/vs_build_fv_x64.bat new file mode 100644 index 000000000..2cb836503 --- /dev/null +++ b/win-build/vs_build_fv_x64.bat @@ -0,0 +1,14 @@ +if not exist .\fv_x64\CMakeCache.txt goto :no_build +call ..\path_config.bat +C: +call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat" +cd /d %RC_ROOT%\build +call patch_version.bat +if %errorlevel% neq 0 pause +cd fv_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_build diff --git a/win-build/vs_build_fv_x86.bat b/win-build/vs_build_fv_x86.bat new file mode 100644 index 000000000..27acc3e79 --- /dev/null +++ b/win-build/vs_build_fv_x86.bat @@ -0,0 +1,15 @@ +if not exist .\fv_x86\CMakeCache.txt goto :no_build +call ..\path_config.bat +C: +cd C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\ +call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 +cd /d %RC_ROOT%\build +call patch_version.bat +if %errorlevel% neq 0 pause +cd fv_x86 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_build diff --git a/win-build/vs_build_tools.bat b/win-build/vs_build_tools.bat new file mode 100644 index 000000000..fbb358463 --- /dev/null +++ b/win-build/vs_build_tools.bat @@ -0,0 +1,14 @@ +if not exist .\tools_x64\CMakeCache.txt goto :no_build +call ..\path_config.bat +C: +call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat" +cd /d %RC_ROOT%\build +call patch_version.bat +if %errorlevel% neq 0 pause +cd tools_x64 +cmake -DNL_VERSION_PATCH=%CLIENT_PATCH_VERSION% . +if %errorlevel% neq 0 pause +msbuild RyzomCore.sln /m:2 /p:Configuration=Release %MSBUILDEXTRA% +if %errorlevel% neq 0 pause +cd .. +:no_build diff --git a/win-build/vs_clean.bat b/win-build/vs_clean.bat new file mode 100644 index 000000000..df530281b --- /dev/null +++ b/win-build/vs_clean.bat @@ -0,0 +1,8 @@ +rmdir /s /q dev_x64 +rmdir /s /q fv_x64 +rmdir /s /q fv_x86 +rmdir /s /q tools_x64 +rmdir /s /q samples_x64 +rmdir /s /q server_x64 +rmdir /s /q 3dsmax +pause diff --git a/win-build/vs_create.bat b/win-build/vs_create.bat new file mode 100644 index 000000000..bd2636abc --- /dev/null +++ b/win-build/vs_create.bat @@ -0,0 +1,130 @@ +call ..\path_config.bat +cd /d %RC_ROOT%\build + +set RC_DOMAIN=core4 + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_v142 +set "RC_PREFIX_PATH_V142_X64=C:\2019q4_external_v142_x64\zlib;C:\2019q4_external_v142_x64\openssl;C:\2019q4_external_v142_x64\curl;C:\2019q4_external_v142_x64\libjpeg;C:\2019q4_external_v142_x64\libpng;C:\2019q4_external_v142_x64\libiconv;C:\2019q4_external_v142_x64\libxml2;C:\2019q4_external_v142_x64\freetype;C:\2019q4_external_v142_x64\squish;C:\2019q4_external_v142_x64\ogg;C:\2019q4_external_v142_x64\vorbis;C:\2019q4_external_v142_x64\openal-soft;C:\2019q4_external_v142_x64\lua;C:\2019q4_external_v142_x64\luabind;C:\2019q4_external_v142_x64\mariadb-connector-c;C:\2019q4_external_v142_x64\assimp;C:\2019q4_external_v142_x64\qt5;C:\2019q4_external_v142_x64\boost" +:no_v142 + +if not exist "C:\2019q4_external_v90_x86\zlib\bin\zlib.dll" goto :no_v90 +set "RC_PREFIX_PATH_V90_X86=C:\2019q4_external_v90_x86\zlib;C:\2019q4_external_v90_x86\openssl;C:\2019q4_external_v90_x86\curl;C:\2019q4_external_v90_x86\libjpeg;C:\2019q4_external_v90_x86\libpng;C:\2019q4_external_v90_x86\libiconv;C:\2019q4_external_v90_x86\libxml2;C:\2019q4_external_v90_x86\freetype;C:\2019q4_external_v90_x86\squish;C:\2019q4_external_v90_x86\ogg;C:\2019q4_external_v90_x86\vorbis;C:\2019q4_external_v90_x86\openal;C:\2019q4_external_v90_x86\lua;C:\2019q4_external_v90_x86\luabind;C:\2019q4_external_v90_x86\boost" +:no_v90 + +set RC_URLS="-DRYZOM_CLIENT_CREATE_ACCOUNT_URL=https://core.ryzom.dev/ams/" "-DRYZOM_CLIENT_EDIT_ACCOUNT_URL=https://core.ryzom.dev/ams/" "-DRYZOM_CLIENT_FORGET_PASSWORD_URL=https://core.ryzom.dev/ams/" "-DRYZOM_CLIENT_PATCH_URL=https://cdn.ryzom.dev/%RC_DOMAIN%/patch/" "-DRYZOM_CLIENT_RELEASENOTES_URL=https://%RC_DOMAIN%.ryzom.dev/releasenotes/index.php" "-DRYZOM_CLIENT_RELEASENOTES_RING_URL=https://%RC_DOMAIN%.ryzom.dev/releasenotes_ring/index.php" "-DRYZOM_CLIENT_APP_NAME=%RC_DOMAIN%" + +rem goto :v90 +rem goto :max + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_v142_client +mkdir dev_x64 +cd dev_x64 +cmake -G "Visual Studio 16 2019" %RC_URLS% "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=OFF" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=ON" "-DWITH_RYZOM_CLIENT=ON" "-DWITH_RYZOM_PATCH=ON" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=ON" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=ON" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" ..\..\code +if %errorlevel% neq 0 pause +cd .. + +mkdir fv_x64 +cd fv_x64 +cmake -G "Visual Studio 16 2019" %RC_URLS% "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=OFF" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=ON" "-DWITH_RYZOM_CLIENT=ON" "-DWITH_RYZOM_PATCH=ON" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=ON" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=ON" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=ON" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" ..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_v142_client + +if not exist "C:\2019q4_external_v90_x86\zlib\bin\zlib.dll" goto :no_v90_client +rem :v90 +mkdir fv_x86 +cd fv_x86 +cmake -G "Visual Studio 9 2008" %RC_URLS% -A Win32 "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V90_X86%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=OFF" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=ON" "-DWITH_RYZOM_CLIENT=ON" "-DWITH_RYZOM_PATCH=ON" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=ON" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=ON" "-DWITH_LIBXML2_ICONV=ON" "-DWITH_STLPORT=OFF" "-DFINAL_VERSION=ON" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DEFXUTIL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DWITH_SSE2=OFF" "-DWITH_SSE3=OFF" "-DDXSDK_DIR=C:/Program Files (x86)/Microsoft DirectX SDK (February 2010)" "-DWINSDK_VERSION=6.0A" "-DCURL_NO_CURL_CMAKE=ON" ..\..\code +if %errorlevel% neq 0 pause +cd .. +rem pause +:no_v90_client + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_v142_tools +mkdir tools_x64 +cd tools_x64 +cmake -G "Visual Studio 16 2019" "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=ON" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_QT5=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=ON" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=ON" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=ON" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=ON" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" ..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_v142_tools + +rem :max +mkdir 3dsmax +cd 3dsmax + +if not exist "C:\2019q4_external_v90_x86\zlib\bin\zlib.dll" goto :no_max9 +if not exist "C:\Program Files (x86)\Autodesk\3ds Max 9 SDK\maxsdk\lib\core.lib" goto :no_max9 +mkdir 9_x86 +cd 9_x86 +cmake -G "Visual Studio 9 2008" -A Win32 "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V90_X86%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DWITH_STLPORT=OFF" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DEFXUTIL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DWITH_SSE2=OFF" "-DWITH_SSE3=OFF" "-DDXSDK_DIR=C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)" "-DWINSDK_VERSION=6.0A" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files (x86)/Autodesk/3ds Max 9 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_max9 + +if not exist "C:\2019q4_external_v90_x86\zlib\bin\zlib.dll" goto :no_max2010 +if not exist "C:\Program Files (x86)\Autodesk\3ds Max 2010 SDK\maxsdk\lib\core.lib" goto :no_max2010 +mkdir 2010_x86 +cd 2010_x86 +cmake -G "Visual Studio 9 2008" -A Win32 "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V90_X86%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DWITH_STLPORT=OFF" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DEFXUTIL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DWITH_SSE2=OFF" "-DWITH_SSE3=OFF" "-DDXSDK_DIR=C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)" "-DWINSDK_VERSION=6.0A" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files (x86)/Autodesk/3ds Max 2010 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_max2010 + +if not exist "C:\2019q4_external_v90_x86\zlib\bin\zlib.dll" goto :no_max2012 +if not exist "C:\Program Files (x86)\Autodesk\3ds Max 2012 SDK\maxsdk\lib\core.lib" goto :no_max2012 +rem goto :skipmax +mkdir 2012_x86 +cd 2012_x86 +cmake -G "Visual Studio 9 2008" -A Win32 "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V90_X86%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DWITH_STLPORT=OFF" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DEFXUTIL_INCLUDE_DIR=C:/2019q4_external_v90_x86/openal/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v90_x86/vorbis/include" "-DWITH_SSE2=OFF" "-DWITH_SSE3=OFF" "-DDXSDK_DIR=C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)" "-DWINSDK_VERSION=6.0A" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files (x86)/Autodesk/3ds Max 2012 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_max2012 + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_max2017 +if not exist "C:\Program Files\Autodesk\3ds Max 2017 SDK\maxsdk\lib\x64\Release\core.lib" goto :no_max2017 +mkdir 2017_x64 +cd 2017_x64 +cmake -G "Visual Studio 16 2019" "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files/Autodesk/3ds Max 2017 SDK/maxsdk" ..\..\..\code +cd .. +:no_max2017 + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_max2018 +if not exist "C:\Program Files\Autodesk\3ds Max 2018 SDK\maxsdk\lib\x64\Release\core.lib" goto :no_max2018 +mkdir 2018_x64 +cd 2018_x64 +cmake -G "Visual Studio 16 2019" "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files/Autodesk/3ds Max 2018 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_max2018 + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_max2019 +if not exist "C:\Program Files\Autodesk\3ds Max 2019 SDK\maxsdk\lib\x64\Release\core.lib" goto :no_max2019 +mkdir 2019_x64 +cd 2019_x64 +cmake -G "Visual Studio 16 2019" "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files/Autodesk/3ds Max 2019 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_max2019 + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_max2020 +if not exist "C:\Program Files\Autodesk\3ds Max 2020 SDK\maxsdk\lib\x64\Release\core.lib" goto :no_max2020 +mkdir 2020_x64 +cd 2020_x64 +cmake -G "Visual Studio 16 2019" "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF"" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files/Autodesk/3ds Max 2020 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +:no_max2020 + +if not exist "C:\2019q4_external_v142_x64\zlib\bin\zlib.dll" goto :no_max2022 +if not exist "C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\lib\x64\Release\core.lib" goto :no_max2022 +mkdir 2022_x64 +cd 2022_x64 +cmake -G "Visual Studio 16 2019" "-DCMAKE_SUPPRESS_REGENERATION=ON" "-DCUSTOM_FLAGS=/MP3" "-DCMAKE_PREFIX_PATH=%RC_PREFIX_PATH_V142_X64%" "-DWITH_EXTERNAL=OFF" "-DWITH_NEL_SAMPLES=OFF" "-DWITH_NEL_TOOLS=OFF" "-DWITH_NEL_TESTS=OFF" "-DWITH_LUA51=OFF" "-DWITH_LUA53=ON" "-DWITH_MFC=ON" "-DWITH_NELNS=OFF" "-DWITH_RYZOM=OFF" "-DWITH_RYZOM_CLIENT=OFF" "-DWITH_RYZOM_SERVER=OFF" "-DWITH_RYZOM_TOOLS=OFF" "-DWITH_SNOWBALLS=OFF" "-DWITH_STATIC=ON" "-DWITH_STATIC_LIBXML2=OFF" "-DWITH_STATIC_CURL=OFF" "-DWITH_DRIVER_DIRECT3D=OFF" "-DWITH_DRIVER_XAUDIO2=ON" "-DWITH_DRIVER_DSOUND=OFF" -"DWITH_DRIVER_OPENAL=OFF" "-DWITH_LIBXML2_ICONV=ON" "-DFINAL_VERSION=OFF" "-DOPENAL_INCLUDE_DIR=C:/2019q4_external_v142_x64/openal-soft/include" "-DVORBIS_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DVORBISFILE_INCLUDE_DIR=C:/2019q4_external_v142_x64/vorbis/include" "-DCURL_NO_CURL_CMAKE=ON" "-DWITH_NEL_MAXPLUGIN=ON" "-DMAXSDK_DIR=C:/Program Files/Autodesk/3ds Max 2022 SDK/maxsdk" ..\..\..\code +if %errorlevel% neq 0 pause +cd .. +rem :skipmax +:no_max2022 + +rem cd .. + +pause