Compare commits
5 Commits
8c29c4f620
...
464043b8ab
Author | SHA1 | Date |
---|---|---|
x2048 | 464043b8ab | |
Niklp | 2854c19792 | |
savilli | 75d88dcae2 | |
fluxionary | 0ab9bf926d | |
rubenwardy | 2d10fa7867 |
|
@ -40,3 +40,13 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: Minetest-arm64-v8a.apk
|
name: Minetest-arm64-v8a.apk
|
||||||
path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk
|
path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk
|
||||||
|
- name: Save x86 artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Minetest-x86.apk
|
||||||
|
path: android/app/build/outputs/apk/release/app-x86-release-unsigned.apk
|
||||||
|
- name: Save x86_64 artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Minetest-x86_64.apk
|
||||||
|
path: android/app/build/outputs/apk/release/app-x86_64-release-unsigned.apk
|
||||||
|
|
|
@ -40,7 +40,7 @@ android {
|
||||||
abi {
|
abi {
|
||||||
enable true
|
enable true
|
||||||
reset()
|
reset()
|
||||||
include 'armeabi-v7a', 'arm64-v8a'
|
include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ android {
|
||||||
abi {
|
abi {
|
||||||
enable true
|
enable true
|
||||||
reset()
|
reset()
|
||||||
include 'armeabi-v7a', 'arm64-v8a'//, 'x86'
|
include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,16 @@ LOCAL_MODULE := Irrlicht
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libIrrlichtMt.a
|
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libIrrlichtMt.a
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := Irrlicht-libpng
|
||||||
|
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libpng.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := Irrlicht-libjpeg
|
||||||
|
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libjpeg.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
|
||||||
ifndef USE_BUILTIN_LUA
|
ifndef USE_BUILTIN_LUA
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
@ -270,7 +280,7 @@ LOCAL_STATIC_LIBRARIES += \
|
||||||
Curl libmbedcrypto libmbedtls libmbedx509 \
|
Curl libmbedcrypto libmbedtls libmbedx509 \
|
||||||
Freetype \
|
Freetype \
|
||||||
Iconv libcharset \
|
Iconv libcharset \
|
||||||
Irrlicht \
|
Irrlicht Irrlicht-libpng Irrlicht-libjpeg \
|
||||||
OpenAL \
|
OpenAL \
|
||||||
Gettext \
|
Gettext \
|
||||||
SQLite3 \
|
SQLite3 \
|
||||||
|
@ -281,7 +291,7 @@ ifndef USE_BUILTIN_LUA
|
||||||
endif
|
endif
|
||||||
LOCAL_STATIC_LIBRARIES += android_native_app_glue $(PROFILER_LIBS)
|
LOCAL_STATIC_LIBRARIES += android_native_app_glue $(PROFILER_LIBS)
|
||||||
|
|
||||||
LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES
|
LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES -lz
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ local function get_formspec(tabview, name, tabdata)
|
||||||
-- Name / Password
|
-- Name / Password
|
||||||
"container[0,4.8]" ..
|
"container[0,4.8]" ..
|
||||||
"label[0.25,0;" .. fgettext("Name") .. "]" ..
|
"label[0.25,0;" .. fgettext("Name") .. "]" ..
|
||||||
"label[3,0;" .. fgettext("Password") .. "]" ..
|
"label[2.875,0;" .. fgettext("Password") .. "]" ..
|
||||||
"field[0.25,0.2;2.625,0.75;te_name;;" .. core.formspec_escape(core.settings:get("name")) .. "]" ..
|
"field[0.25,0.2;2.625,0.75;te_name;;" .. core.formspec_escape(core.settings:get("name")) .. "]" ..
|
||||||
"pwdfield[2.875,0.2;2.625,0.75;te_pwd;]" ..
|
"pwdfield[2.875,0.2;2.625,0.75;te_pwd;]" ..
|
||||||
"container_end[]" ..
|
"container_end[]" ..
|
||||||
|
|
|
@ -213,9 +213,10 @@ void Client::loadMods()
|
||||||
}
|
}
|
||||||
|
|
||||||
m_mods = modconf.getMods();
|
m_mods = modconf.getMods();
|
||||||
|
|
||||||
// complain about mods with unsatisfied dependencies
|
// complain about mods with unsatisfied dependencies
|
||||||
if (!modconf.isConsistent()) {
|
if (!modconf.isConsistent()) {
|
||||||
modconf.printUnsatisfiedModsError();
|
errorstream << modconf.getUnsatisfiedModsError() << std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -881,7 +881,7 @@ void GenericCAO::updateLight(u32 day_night_ratio)
|
||||||
if (!pos_ok)
|
if (!pos_ok)
|
||||||
light_at_pos = LIGHT_SUN;
|
light_at_pos = LIGHT_SUN;
|
||||||
|
|
||||||
video::SColor light = encode_light(light_at_pos, m_prop.glow);
|
video::SColor light = encode_light(light_at_pos, decode_light(m_prop.glow));
|
||||||
if (!m_enable_shaders)
|
if (!m_enable_shaders)
|
||||||
final_color_blend(&light, light_at_pos, day_night_ratio);
|
final_color_blend(&light, light_at_pos, day_night_ratio);
|
||||||
|
|
||||||
|
|
|
@ -21,16 +21,27 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "filesys.h"
|
#include "filesys.h"
|
||||||
|
#include "gettext.h"
|
||||||
|
|
||||||
void ModConfiguration::printUnsatisfiedModsError() const
|
|
||||||
|
std::string ModConfiguration::getUnsatisfiedModsError() const
|
||||||
{
|
{
|
||||||
|
std::ostringstream error;
|
||||||
|
error << gettext("Some mods have unsatisfied dependencies:") << std::endl;
|
||||||
|
|
||||||
for (const ModSpec &mod : m_unsatisfied_mods) {
|
for (const ModSpec &mod : m_unsatisfied_mods) {
|
||||||
errorstream << "mod \"" << mod.name
|
//~ Error when a mod is missing dependencies. Ex: "Mod Title is missing: mod1, mod2, mod3"
|
||||||
<< "\" has unsatisfied dependencies: ";
|
error << " - " << fmtgettext("%s is missing:", mod.name.c_str());
|
||||||
for (const std::string &unsatisfied_depend : mod.unsatisfied_depends)
|
for (const std::string &unsatisfied_depend : mod.unsatisfied_depends)
|
||||||
errorstream << " \"" << unsatisfied_depend << "\"";
|
error << " " << unsatisfied_depend;
|
||||||
errorstream << std::endl;
|
error << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error << "\n"
|
||||||
|
<< gettext("Install and enable the required mods, or disable the mods causing errors.") << "\n"
|
||||||
|
<< gettext("Note: this may be caused by a dependency cycle, in which case try updating the mods.");
|
||||||
|
|
||||||
|
return error.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModConfiguration::addModsInPath(const std::string &path, const std::string &virtual_path)
|
void ModConfiguration::addModsInPath(const std::string &path, const std::string &virtual_path)
|
||||||
|
|
|
@ -51,7 +51,7 @@ public:
|
||||||
*/
|
*/
|
||||||
const std::vector<ModSpec> &getMods() const { return m_sorted_mods; }
|
const std::vector<ModSpec> &getMods() const { return m_sorted_mods; }
|
||||||
|
|
||||||
void printUnsatisfiedModsError() const;
|
std::string getUnsatisfiedModsError() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds all mods in the given path. used for games, modpacks
|
* Adds all mods in the given path. used for games, modpacks
|
||||||
|
|
|
@ -279,7 +279,7 @@ void TextureSettings::readSettings()
|
||||||
bool smooth_lighting = g_settings->getBool("smooth_lighting");
|
bool smooth_lighting = g_settings->getBool("smooth_lighting");
|
||||||
enable_mesh_cache = g_settings->getBool("enable_mesh_cache");
|
enable_mesh_cache = g_settings->getBool("enable_mesh_cache");
|
||||||
enable_minimap = g_settings->getBool("enable_minimap");
|
enable_minimap = g_settings->getBool("enable_minimap");
|
||||||
node_texture_size = std::min<u16>(g_settings->getU16("texture_min_size"), 1);
|
node_texture_size = std::max<u16>(g_settings->getU16("texture_min_size"), 1);
|
||||||
std::string leaves_style_str = g_settings->get("leaves_style");
|
std::string leaves_style_str = g_settings->get("leaves_style");
|
||||||
std::string world_aligned_mode_str = g_settings->get("world_aligned_mode");
|
std::string world_aligned_mode_str = g_settings->get("world_aligned_mode");
|
||||||
std::string autoscale_mode_str = g_settings->get("autoscale_mode");
|
std::string autoscale_mode_str = g_settings->get("autoscale_mode");
|
||||||
|
|
|
@ -425,14 +425,10 @@ void Server::init()
|
||||||
|
|
||||||
m_modmgr = std::make_unique<ServerModManager>(m_path_world);
|
m_modmgr = std::make_unique<ServerModManager>(m_path_world);
|
||||||
std::vector<ModSpec> unsatisfied_mods = m_modmgr->getUnsatisfiedMods();
|
std::vector<ModSpec> unsatisfied_mods = m_modmgr->getUnsatisfiedMods();
|
||||||
|
|
||||||
// complain about mods with unsatisfied dependencies
|
// complain about mods with unsatisfied dependencies
|
||||||
if (!m_modmgr->isConsistent()) {
|
if (!m_modmgr->isConsistent()) {
|
||||||
m_modmgr->printUnsatisfiedModsError();
|
std::string error = m_modmgr->getUnsatisfiedModsError();
|
||||||
|
throw ServerError(error);
|
||||||
warningstream
|
|
||||||
<< "You have unsatisfied dependencies, loading your world anyway. "
|
|
||||||
<< "This will become a fatal error in the future." << std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//lock environment
|
//lock environment
|
||||||
|
|
|
@ -57,8 +57,8 @@ public:
|
||||||
return configuration.isConsistent();
|
return configuration.isConsistent();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void printUnsatisfiedModsError() const {
|
inline std::string getUnsatisfiedModsError() const {
|
||||||
return configuration.printUnsatisfiedModsError();
|
return configuration.getUnsatisfiedModsError();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue