summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-07-29 00:26:03 +0100
committerGitHub <noreply@github.com>2018-07-29 00:26:03 +0100
commit14011bdc7a86f693409f218a8ce2c32dd8f4fe89 (patch)
tree89fa6b6e352d6ed98d256bfd33aba9b631e84c76 /src
parent2b83af783bc85963c8088d354ebc9eaea17a92b9 (diff)
downloadminetest-14011bdc7a86f693409f218a8ce2c32dd8f4fe89.tar.gz
minetest-14011bdc7a86f693409f218a8ce2c32dd8f4fe89.tar.bz2
minetest-14011bdc7a86f693409f218a8ce2c32dd8f4fe89.zip
Add protocol_version and supported package types to ContentDB urls
Diffstat (limited to 'src')
-rw-r--r--src/content/packages.cpp7
-rw-r--r--src/content/packages.h5
-rw-r--r--src/network/networkprotocol.h1
-rw-r--r--src/script/lua_api/l_mainmenu.cpp5
4 files changed, 12 insertions, 6 deletions
diff --git a/src/content/packages.cpp b/src/content/packages.cpp
index dd7574d48..2d488eb76 100644
--- a/src/content/packages.cpp
+++ b/src/content/packages.cpp
@@ -25,6 +25,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "content/mods.h"
#include "content/subgames.h"
+std::string Package::getDownloadURL(const std::string &baseURL) const
+{
+ return baseURL + "/packages/" + author + "/" + name + "/releases/" +
+ std::to_string(release) + "/download/";
+}
+
#if USE_CURL
std::vector<Package> getPackagesFromURL(const std::string &url)
{
@@ -60,5 +66,4 @@ std::vector<Package> getPackagesFromURL(const std::string &url)
return packages;
}
-
#endif
diff --git a/src/content/packages.h b/src/content/packages.h
index fc60d5703..9029475ef 100644
--- a/src/content/packages.h
+++ b/src/content/packages.h
@@ -39,10 +39,7 @@ struct Package
type.empty() || release <= 0);
}
- std::string getDownloadURL(const std::string &baseURL) const
- {
- return baseURL + "/packages/" + author + "/" + name + "/download/";
- }
+ std::string getDownloadURL(const std::string &baseURL) const;
};
#if USE_CURL
diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h
index 3d682a0ad..113b11177 100644
--- a/src/network/networkprotocol.h
+++ b/src/network/networkprotocol.h
@@ -191,6 +191,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#define LATEST_PROTOCOL_VERSION 36
+#define LATEST_PROTOCOL_VERSION_STRING TOSTRING(LATEST_PROTOCOL_VERSION)
// Server's supported network protocol range
#define SERVER_PROTOCOL_VERSION_MIN 36
diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp
index 03b8fe223..c2f0f6e3a 100644
--- a/src/script/lua_api/l_mainmenu.cpp
+++ b/src/script/lua_api/l_mainmenu.cpp
@@ -39,6 +39,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <IFileArchive.h>
#include <IFileSystem.h>
#include "client/renderingengine.h"
+#include "network/networkprotocol.h"
/******************************************************************************/
@@ -993,7 +994,9 @@ int ModApiMainMenu::l_get_screen_info(lua_State *L)
int ModApiMainMenu::l_get_package_list(lua_State *L)
{
std::string url = g_settings->get("contentdb_url");
- std::vector<Package> packages = getPackagesFromURL(url + "/api/packages/");
+ std::vector<Package> packages = getPackagesFromURL(url +
+ "/api/packages/?type=mod&type=game&type=txp&protocol_version="
+ LATEST_PROTOCOL_VERSION_STRING);
// Make table
lua_newtable(L);