aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);