Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
6ae3c7a
Fix build errors with curl disabled
sfan5 Apr 28, 2024
9111b7f
Allow `nil` puncher in `object:punch` (#14319)
sfence Apr 28, 2024
f6fc6cb
Client: fix unknown texture upon shift-move to full inventory list (#…
SmallJoker Apr 28, 2024
d480b88
Add minetest.get_gen_notify to mapgen env (#14568)
sfan5 Apr 30, 2024
1ee61ef
Document empty string as form name (#14601)
appgurueu Apr 30, 2024
c75860c
Trivially optimize iteration order in loops
sfan5 Apr 23, 2024
a092298
Optimize env access and structs in collisionMoveSimple
sfan5 Apr 23, 2024
a10cd55
Optimize pushing collision data for entity on_step
sfan5 Apr 23, 2024
b75f636
Reduce wasteful memory allocations in update_lighting_nodes()
sfan5 Apr 23, 2024
d0fd51f
Optimize code patterns around raycasting
sfan5 Apr 24, 2024
86333a6
Warn on unknown CMAKE_BUILD_TYPE values (#14600)
Desour May 3, 2024
689eee6
Chat console: Prevent input loss on double open
SmallJoker Apr 30, 2024
80326ef
Fix wrong name for bone override interpolation field
appgurueu May 3, 2024
32cde70
Fix shootline not being updated if press and release happen in the sa…
grorp May 5, 2024
0b15b87
Add object's own position for each collision to moveresult (#14608)
grorp May 5, 2024
e665008
Allow quoting hypertext attribute values (#14550)
rubenwardy May 5, 2024
976b459
Add unit tests for MapBlock (de)serialization (#14560)
sfan5 May 5, 2024
a447284
Fix strings in modified_reason_strings
sfan5 May 8, 2024
0f62a85
Add forgotten opensuse dependency
jordan4ibanez May 8, 2024
270b95a
Fix curl compatibility issues with colorize_url (#14615)
sfan5 May 9, 2024
a391070
Cleanup Removed Java 17 Options (#14626)
licaon-kter May 9, 2024
148571c
Add benchmarks for server::ActiveObjectMgr
sfan5 May 5, 2024
0b55255
Android CI: Additionally make an AAB for uploading to the Play Store …
grorp May 9, 2024
d24a7bc
Close formspecs with a single tap outside (#14605)
grorp May 9, 2024
247643c
Dockerfile: Use the default branch when cloning libspatialindex repos…
benjamin051000 May 10, 2024
af01eb7
Close buttonbars when hiding TouchScreenGUI (#14630)
grorp May 10, 2024
3ac5699
Fix crash if zip file cannot be opened (#14636)
grorp May 12, 2024
e2e8c66
Add option for random mod load order (#14637)
chmodsayshello May 12, 2024
18e20e9
Fix invalid glDrawBuffer call on GLES
sfan5 May 11, 2024
29ebba0
Deduplicate GL extension detection
sfan5 May 11, 2024
6d34610
Do not bother to assert that a u8 is >= 0
JosiahWI May 14, 2024
58a6f52
Introduce proper error handling for file streams
sfan5 May 8, 2024
bf572d8
Fix unintentional error message with dynamic media
sfan5 May 14, 2024
f7c14ad
Fix some clang compiler warnings (#14654)
appgurueu May 15, 2024
4aba6e8
Don't bundle Development Test on macOS
rollerozxa May 15, 2024
ea13e17
Fixes to Docker GitHub Actions workflow
AFCMS May 15, 2024
7ff3905
Trivial fix (forget to remove semicolon) in gettext.cpp
srifqi May 16, 2024
97d8802
Enable RTTI for Irrlicht on MSVC (#14677)
grorp May 17, 2024
d0f9126
Fix wrong collision axis in Lua moveresult
sfan5 May 17, 2024
649b458
Restore vector type check (#14663)
OgelGames May 20, 2024
fc187af
Allow removal of item definition fields (#14675)
appgurueu May 20, 2024
70a5e2e
Update SDL for mingw builds (#14678)
sfan5 May 20, 2024
834b6ca
Fix inventory: Quickly picking up item and placing it again no longer…
sfence May 21, 2024
0d0da58
Add unit test and feature flag for override_item
appgurueu May 21, 2024
a91ab8a
Fix broken unit test
appgurueu May 21, 2024
7e8b1ad
Fix broken CI
appgurueu May 21, 2024
613901c
Rename "opaque_water" setting to "translucent_liquids" with inverted …
Xeno333 May 22, 2024
9e2b3f2
Upgrade client active object mgr tests to Catch2 (#14565)
JosiahWI May 22, 2024
3d29035
Enable "FULL" debug info for Android build (#14684)
grorp May 23, 2024
7adcbe8
Fix artifacts with bloom + tonemapping on ogles2 (#14688)
grorp May 23, 2024
7dfda4f
Consistent width for internal scrollbars of formspec elements (#14689)
grorp May 24, 2024
3fc7a35
Add documentation for IDE developer setup (#13935)
AFCMS May 26, 2024
5ddfbb1
Translation updater: Add support for function call without paranthese…
srifqi May 26, 2024
0804008
Mark Redis database backend as deprecated (#14679)
sfan5 May 26, 2024
b81b760
Android: Don't crash if there is no web browser installed (#14683)
grorp May 26, 2024
ef1116b
Immediately apply gui_scaling changes to IGUISkin
grorp May 24, 2024
35f0b02
Make the CDB dependency dialog use more space
grorp May 24, 2024
c6b1e25
Move sha256.c to lib/
Desour Mar 25, 2023
9f603fa
Add precompiled header support
Desour Mar 25, 2023
44adebd
Sound loading: Improve error handling
Desour Apr 9, 2024
3c0a75a
Sound loading: Fix issues where ov_read skips samples
Desour Apr 9, 2024
7ced48c
Particles: fix crash caused by absent texture
SmallJoker May 29, 2024
9a58ec6
Update no games message to give more context (#14695)
rubenwardy May 29, 2024
483f4fd
Fix fog moon tint not working
appgurueu May 31, 2024
9955804
Allow game to specify first and last mod in mod loading order (#14177)
sfence Jun 1, 2024
21f33ef
Mainmenu: Unify gamedata.errormessage and messagebox formspecs (#14716)
grorp Jun 1, 2024
1f09d29
Allow toggling fullscreen without restart and add keybind (#14714)
grorp Jun 2, 2024
cfd2d5f
Document keymap_toggle_block_bounds, remove unimplemented BLOCK_BOUND…
grorp Jun 2, 2024
f630546
Fix CI not running on Irrlicht-only PRs
appgurueu Jun 2, 2024
b2f1942
Fix and clarify skybox texture order documentation (#14680)
GreenXenith Jun 3, 2024
cc72d13
Fix scrolling in scroll containers (#14702)
appgurueu Jun 3, 2024
3bbbf73
Chat: Remove tailing punctuation from clickable links
SmallJoker Jun 5, 2024
d5e2243
Call malloc_trim() regularly to improve deallocation behavior (#14707)
sfan5 Jun 7, 2024
5815da3
Improve register_on_leaveplayer documentation
cx384 Jun 8, 2024
86da35c
Stop misusing volatile keyword
sfan5 May 14, 2024
66b2015
A few clean ups in log.cpp
sfan5 May 14, 2024
cbdc441
Identify when compiled with openresty LuaJIT
sfan5 Jun 5, 2024
dd29d3d
Make safeWriteToFile safe for thread-concurrent use
sfan5 Jun 5, 2024
aaacc6e
Rename sha256 header
sfan5 Jun 5, 2024
98c0c8a
Fix file write warning in devtest
sfan5 Jun 5, 2024
b38e42d
Set some useful SDL hints
sfan5 Jun 7, 2024
a8b243c
Update vcpkg used in CI
sfan5 Jun 7, 2024
e10f82c
Replace Catch2 with v3 amalgamation
Jun 7, 2024
aea7fca
Corresponding code changes
appgurueu Jun 7, 2024
894b843
Android: Fix back button sometimes not working as ESC (#14743)
grorp Jun 11, 2024
81bfbfc
Add zstd to Void Linux dependencies (#14748)
rudzik8 Jun 12, 2024
f5fd637
Fix two problems with toggling fullscreen at runtime (#14750)
grorp Jun 14, 2024
514316c
Fix connected_players on_shutdown (#14739)
cx384 Jun 15, 2024
34f5ec2
SDL2: Support highdpi (#14703)
grorp Jun 16, 2024
df22478
Fix broken default sneak keybind on macOS with SDL (#14754)
grorp Jun 16, 2024
aa9012d
Move malloc_trim invocations to background thread (#14744)
sfan5 Jun 17, 2024
842f1fc
Clarify "dtime" in API (#14758)
Mahoyomu Jun 22, 2024
edcf827
Fix unnecessary content refreshing (#14705)
rubenwardy Jun 24, 2024
ce5361a
Fix math.round floating point bug (#14757)
kromka-chleba Jun 24, 2024
19af78a
Document alternative 'persist' key in noise parameter table (#14762)
aminothere Jun 24, 2024
e1a9620
Properly escape Markdown markups at minetest.string_to_area (#14774)
Emojigit Jun 24, 2024
8df534e
Make button sprites (scrollbar arrows) DPI-aware (#14772)
grorp Jun 26, 2024
94dd4f9
Fix missing newline before Markdown list (#14783)
kno10 Jun 26, 2024
0271f95
CIrrDeviceSDL: Fix numpad key events not having correct KeyInput.Char…
grorp Jun 27, 2024
7d94e6c
lua: apply patch for "Stack overflow in vararg functions with many fi…
sfan5 Jun 24, 2024
14fb5a5
lua: apply patch for "Chunk with too many lines may crash Lua"
sfan5 Jun 24, 2024
bfe0854
lua: apply patch for "Compiler can optimize away overflow check in ta…
sfan5 Jun 24, 2024
339b6f1
lua: apply patch for "Parameter 'what' of 'debug.getinfo' cannot star…
sfan5 Jun 24, 2024
5ca9d85
lua: apply patch for "read overflow in 'l_strcmp'"
sfan5 Jun 24, 2024
6f64436
lua: add short readme
sfan5 Jun 24, 2024
d0da2a9
Restore old inconsistent minimum digging time behavior (#14777)
grorp Jun 30, 2024
5742690
Remove enable_touch special case for C++ menu scaling (#14800)
grorp Jun 30, 2024
c88939e
Log node/ore name when detecting deprecated fields (#14794)
Emojigit Jul 1, 2024
0283cea
Translation updater: Fix error when no translation strings were found
SmallJoker Jul 1, 2024
efd8de4
Fix new texture properties not being sent for minetest.add_particle (…
grorp Jul 1, 2024
022d82c
Fix more missing newlines in `lua_api.md` (#14791)
kno10 Jul 1, 2024
fdbd29f
Help modders deal with object invalidation (#14769)
appgurueu Jul 1, 2024
f001cee
GUITable: Scale images with display density / row height (#14709)
grorp Jul 2, 2024
0b3f6b1
Fix and improve particle(spawner) documentation (#14804)
grorp Jul 6, 2024
706898a
Set ContentDB updates detection cache time to 24 hours (#14837)
rubenwardy Jul 9, 2024
30b7f2d
Fix path traversal in mainmenu's extract_zip
sfan5 Jul 8, 2024
7db4465
Update minetest.conf.example and settings_translation_file.cpp
Jul 11, 2024
e9b4b0e
Fix two typos
grorp Jul 11, 2024
c4f8449
Remove the last remaining sync. HTTP requests on the main thread
grorp May 13, 2024
13a574b
Don't allow sync. HTTP requests on the main thread anymore
grorp May 13, 2024
1cb3646
Un-deprecate redis database backend (#14849)
sfan5 Jul 14, 2024
19c0d02
Allow main menu gamebar scroll to loop (#14841)
Kazooo100 Jul 14, 2024
4fca1a9
Better AppStream metadata (#14648)
AFCMS Jul 14, 2024
6b9c779
Set SDL_HINT_APP_NAME to Minetest (#14862)
Emojigit Jul 19, 2024
36ca11d
Warn contributors about not to run updatepo.sh manually (#14845)
Emojigit Jul 20, 2024
5ff34f4
Minimize data sent in the default user agent (#14851)
sfan5 Jul 20, 2024
58018b5
Fix blockseed for on_generated in mapgen env
sfan5 Jul 22, 2024
d8baa55
Fix variable use-without-initialization error in MSVC debug build
Mahoyomu Jul 22, 2024
13b5355
Restore buggy texture overlay modifier (#14852)
Desour Jul 22, 2024
e2e3a65
Add setting to disable Content tab update indicator (#14827)
rubenwardy Jul 22, 2024
89bd5f5
Fix inventory items unresponsive after tab interaction (#14661)
sfence Jul 22, 2024
ede1ca8
Move mod_translation_updater.py to minetest/modtools (#14865)
Zughy Jul 22, 2024
4f95f42
Clean up MSVC warnings in CIrrDeviceSDL.{h,cpp} (#14872)
JosiahWI Jul 27, 2024
5a72dea
Document empty key in item stack metadata
appgurueu Jul 27, 2024
667b150
Mainmenu: Restore ability to enable flags in settings (#14896)
appgurueu Jul 30, 2024
9d04029
Hide enable_touch setting on Android (#14891)
sfan5 Jul 30, 2024
a38de5a
Rename `minetest.register_async_metatable` to `minetest.register_port…
y5nw Aug 1, 2024
cc78773
Add version to `override_item_remove_fields` feature flag doc (#14917)
cx384 Aug 2, 2024
44c3675
Avoid infinite recursion with unhandled second touch (#14915)
grorp Aug 3, 2024
e42c281
Take screenshot from back buffer when using double buffering (#14904)
fgaz Aug 4, 2024
fdd376f
Fix some typos in docs (#14921)
SwissalpS Aug 4, 2024
3a1480f
Revert macOS workflow to run on x86 (#14937)
sfan5 Aug 9, 2024
1cc0c7e
Update credits for 5.9.0
sfan5 Aug 5, 2024
5c0891a
Update minetest.conf.example and settings_translation_file.cpp
Aug 11, 2024
1cab33c
Fix empty tables / text lists emitting row events (#14955)
appgurueu Aug 11, 2024
a8ce0d2
remove dev tag
plus-22 Jan 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ Contributions are welcome! Here's how you can help:
- Follow the [C/C++](http://dev.minetest.net/Code_style_guidelines) and
[Lua](http://dev.minetest.net/Lua_code_style_guidelines) code style guidelines.
- Check your code works as expected and document any changes to the Lua API.
- To avoid conflicting changes between contributions, do not do the following manually. They will be done before each release.
- Run `updatepo.sh` or update `minetest.po{,t}` even if your code adds new translatable strings.
- Update `minetest.conf.example` and `settings_translation_file.cpp` even if your code adds new core settings.

4. Commit & [push](https://help.github.com/articles/pushing-to-a-remote/) your changes to a new branch (not `master`, one change per branch)
- Commit messages should:
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ on:
- 'lib/**.cpp'
- 'src/**.[ch]'
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- 'android/**'
Expand All @@ -34,8 +36,17 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends gettext openjdk-11-jdk-headless
- name: Build with Gradle
- name: Build AAB with Gradle
# We build an AAB as well for uploading to the the Play Store.
run: cd android; ./gradlew bundlerelease
- name: Build APKs with Gradle
# "assemblerelease" is very fast after "bundlerelease".
run: cd android; ./gradlew assemblerelease
- name: Save AAB artifact
uses: actions/upload-artifact@v4
with:
name: Minetest-release.aab
path: android/app/build/outputs/bundle/release/app-release.aab
- name: Save armeabi artifact
uses: actions/upload-artifact@v4
with:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/cpp_lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ on:
- 'lib/**.cpp'
- 'src/**.[ch]'
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- 'util/ci/**'
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/docker_image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@ on:
push:
branches: [ "master" ]
# Publish semver tags as releases.
tags: [ "*.*.*" ]
tags: [ "*" ]
pull_request:
# Build docker image on pull requests. (but do not publish)
paths:
- 'lib/**.[ch]'
- 'lib/**.cpp'
- 'src/**.[ch]'
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- 'util/ci/**'
Expand All @@ -25,6 +27,12 @@ on:
- '.dockerignore'
- '.github/workflows/docker_image.yml'
workflow_dispatch:
inputs:
use_cache:
description: "Use build cache"
required: true
type: boolean
default: true

env:
REGISTRY: ghcr.io
Expand Down Expand Up @@ -82,6 +90,7 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
no-cache: ${{ (github.event_name == 'workflow_dispatch' && !inputs.use_cache) || startsWith(github.ref, 'refs/tags/') }}

- name: Test Docker Image
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ on:
- 'lib/**.cpp'
- 'src/**.[ch]'
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- 'util/ci/**'
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- 'irr/**.mm' # Objective-C(++)
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- '.github/workflows/macos.yml'
Expand All @@ -19,13 +20,17 @@ on:
- 'lib/**.cpp'
- 'src/**.[ch]'
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- 'irr/**.mm' # Objective-C(++)
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- '.github/workflows/macos.yml'

jobs:
build:
runs-on: macos-latest
# use macOS 13 since it's the last one that still runs on x86
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Install deps
Expand Down Expand Up @@ -55,6 +60,8 @@ jobs:
- name: CPack
run: |
cd build
rm -rf macos
cmake .. -DINSTALL_DEVTEST=FALSE
cpack -G ZIP -B macos

- uses: actions/upload-artifact@v4
Expand Down
12 changes: 4 additions & 8 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ on:
- 'lib/**.cpp'
- 'src/**.[ch]'
- 'src/**.cpp'
- 'irr/**.[ch]'
- 'irr/**.cpp'
- '**/CMakeLists.txt'
- 'cmake/Modules/**'
- 'util/buildbot/**'
Expand Down Expand Up @@ -67,8 +69,8 @@ jobs:
name: VS 2019 ${{ matrix.config.arch }}-${{ matrix.type }}
runs-on: windows-2019
env:
VCPKG_VERSION: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50
# 2023.10.19
VCPKG_VERSION: 01f602195983451bc83e72f4214af2cbc495aa94
# 2024.05.24
vcpkg_packages: zlib zstd curl[winssl] openal-soft libvorbis libogg libjpeg-turbo sqlite3 freetype luajit gmp jsoncpp sdl2
strategy:
fail-fast: false
Expand All @@ -92,12 +94,6 @@ jobs:
steps:
- uses: actions/checkout@v4

# Workaround for regression, see https://github.com/minetest/minetest/pull/14536
- name: Pin CMake to 3.28
uses: lukka/get-cmake@latest
with:
cmakeVersion: "~3.28.0"

- name: Restore from cache and run vcpkg
uses: lukka/run-vcpkg@v7
with:
Expand Down
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
## Editors and development environments
*~
.cmake
CMakeUserPresets.json
Testing/*
*.swp
*.bak*
*.orig
Expand All @@ -26,7 +29,8 @@ gtags.files
# Codelite
*.project
# Visual Studio Code & plugins
.vscode/
.vscode/*
!.vscode/extensions.json
build/.cmake/
# Fleet
.fleet
Expand Down Expand Up @@ -108,7 +112,10 @@ src/cmake_config_githash.h
*.iml
test_config.h
cmake-build-debug/
cmake-build-minsizerel/
cmake-build-release/
cmake-build-relwithdebinfo/
cmake-build-default/
cmake_config.h
cmake_config_githash.h
CMakeDoxy*
Expand Down
5 changes: 5 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"recommendations": [
"ms-vscode.cpptools-extension-pack"
]
}
11 changes: 6 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ set(VERSION_PATCH 0)
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")

# Change to false for releases
set(DEVELOPMENT_BUILD TRUE)
set(DEVELOPMENT_BUILD FALSE)

set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
if(VERSION_EXTRA)
Expand Down Expand Up @@ -156,7 +156,7 @@ elseif(UNIX) # Linux, BSD etc
set(EXAMPLE_CONF_DIR ".")
set(MANDIR "unix/man")
set(XDG_APPS_DIR "unix/applications")
set(APPDATADIR "unix/metainfo")
set(METAINFODIR "unix/metainfo")
set(ICONDIR "unix/icons")
set(LOCALEDIR "locale")
else()
Expand All @@ -167,7 +167,7 @@ elseif(UNIX) # Linux, BSD etc
set(MANDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_MANDIR}")
set(EXAMPLE_CONF_DIR ${DOCDIR})
set(XDG_APPS_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/applications")
set(APPDATADIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/metainfo")
set(METAINFODIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/metainfo")
set(ICONDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/icons")
set(LOCALEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALEDIR}")
endif()
Expand Down Expand Up @@ -258,7 +258,7 @@ install(FILES "minetest.conf.example" DESTINATION "${EXAMPLE_CONF_DIR}")
if(UNIX AND NOT APPLE)
install(FILES "doc/minetest.6" "doc/minetestserver.6" DESTINATION "${MANDIR}/man6")
install(FILES "misc/net.minetest.minetest.desktop" DESTINATION "${XDG_APPS_DIR}")
install(FILES "misc/net.minetest.minetest.appdata.xml" DESTINATION "${APPDATADIR}")
install(FILES "misc/net.minetest.minetest.metainfo.xml" DESTINATION "${METAINFODIR}")
install(FILES "misc/minetest.svg" DESTINATION "${ICONDIR}/hicolor/scalable/apps")
install(FILES "misc/minetest-xorg-icon-128.png"
DESTINATION "${ICONDIR}/hicolor/128x128/apps"
Expand All @@ -277,8 +277,9 @@ find_package(Lua REQUIRED)
if(NOT USE_LUAJIT)
add_subdirectory(lib/bitop)
endif()
add_subdirectory(lib/sha256)

if(BUILD_BENCHMARKS)
if(BUILD_UNITTESTS OR BUILD_BENCHMARKS)
add_subdirectory(lib/catch2)
endif()

Expand Down
41 changes: 41 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 12
},
"configurePresets": [
{
"name": "Debug",
"displayName": "Debug",
"description": "Debug preset with debug symbols and no optimizations",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "Release",
"displayName": "Release",
"description": "Release preset with optimizations and no debug symbols",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "RelWithDebInfo",
"displayName": "RelWithDebInfo",
"description": "Release with debug symbols",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
}
},
{
"name": "MinSizeRel",
"displayName": "MinSizeRel",
"description": "Release with minimal code size",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "MinSizeRel"
}
}
]
}
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
ARG DOCKER_IMAGE=alpine:3.19
FROM $DOCKER_IMAGE AS dev

ENV SPATIALINDEX_VERSION master
ENV LUAJIT_VERSION v2.1

RUN apk add --no-cache git build-base cmake curl-dev zlib-dev zstd-dev \
Expand All @@ -19,7 +18,7 @@ RUN git clone --recursive https://github.com/jupp0r/prometheus-cpp && \
cmake --build build && \
cmake --install build && \
cd /usr/src/ && \
git clone --recursive https://github.com/libspatialindex/libspatialindex -b ${SPATIALINDEX_VERSION} && \
git clone --recursive https://github.com/libspatialindex/libspatialindex && \
cd libspatialindex && \
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr/local && \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.libsdl.app.SDLActivity;

import android.content.Intent;
import android.content.ActivityNotFoundException;
import android.net.Uri;
import android.os.Bundle;
import android.text.InputType;
Expand All @@ -33,6 +34,7 @@
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
import android.content.res.Configuration;

import androidx.annotation.Keep;
Expand Down Expand Up @@ -201,7 +203,11 @@ public int getDisplayWidth() {

public void openURI(String uri) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(browserIntent);
try {
startActivity(browserIntent);
} catch (ActivityNotFoundException e) {
runOnUiThread(() -> Toast.makeText(this, R.string.no_web_browser, Toast.LENGTH_SHORT).show());
}
}

public String getUserDataPath() {
Expand Down
1 change: 1 addition & 0 deletions android/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@
<string name="unzip_notification_title">Loading Minetest</string>
<string name="unzip_notification_description">Less than 1 minute&#8230;</string>
<string name="ime_dialog_done">Done</string>
<string name="no_web_browser">No web browser found</string>
</resources>
4 changes: 2 additions & 2 deletions android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<#if isLowMemory>
org.gradle.jvmargs=-Xmx4G -XX:MaxPermSize=2G -XX:+HeapDumpOnOutOfMemoryError
org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
<#else>
org.gradle.jvmargs=-Xmx16G -XX:MaxPermSize=8G -XX:+HeapDumpOnOutOfMemoryError
org.gradle.jvmargs=-Xmx16G -XX:+HeapDumpOnOutOfMemoryError
</#if>
org.gradle.daemon=true
org.gradle.parallel=true
Expand Down
2 changes: 1 addition & 1 deletion android/native/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ android {
buildTypes {
release {
ndk {
debugSymbolLevel 'SYMBOL_TABLE'
debugSymbolLevel 'FULL'
}
}
}
Expand Down
10 changes: 8 additions & 2 deletions builtin/common/metatable.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-- Registered metatables, used by the C++ packer
local known_metatables = {}
function core.register_async_metatable(name, mt)
function core.register_portable_metatable(name, mt)
assert(type(name) == "string", ("attempt to use %s value as metatable name"):format(type(name)))
assert(type(mt) == "table", ("attempt to register a %s value as metatable"):format(type(mt)))
assert(known_metatables[name] == nil or known_metatables[name] == mt,
Expand All @@ -10,4 +10,10 @@ function core.register_async_metatable(name, mt)
end
core.known_metatables = known_metatables

core.register_async_metatable("__builtin:vector", vector.metatable)
function core.register_async_metatable(...)
core.log("deprecated", "minetest.register_async_metatable is deprecated. " ..
"Use minetest.register_portable_metatable instead.")
return core.register_portable_metatable(...)
end

core.register_portable_metatable("__builtin:vector", vector.metatable)
Loading
Loading