Commit Graph

9570 Commits

Author SHA1 Message Date
Pascal Abresch 93f1555e2f Remove Craftmethods enum 2021-09-03 16:00:37 +02:00
lhofhansl d1624a5521
Switch MapBlock compression to zstd (#10788)
* Add zstd support.
* Rearrange serialization order
* Compress entire mapblock

Co-authored-by: sfan5 <sfan5@live.de>
2021-08-31 17:32:31 -07:00
sfan5 beac4a2c98 CI: Bump IrrlichtMt to 1.9.0mt3 2021-08-31 23:57:39 +02:00
pecksin 040aed37ab Remove closing paren as weblink delimiter 2021-08-29 19:30:33 +02:00
sfan5 6a1424f2b1
Async-related script cleanups 2021-08-28 12:15:12 +02:00
fn ⌃ ⌥ 0f8a6d78a7
CI: Add macOS workflow (#11454) 2021-08-28 12:14:55 +02:00
savilli 3f1adb49ae
Remove redundant on_dieplayer calls 2021-08-28 12:14:16 +02:00
NeroBurner 1d69a23ba4
Joystick sensitivity for player movement (#11262)
This commit deprecates the forward, backward, left, and right binary
inputs currently used for player movement in the PlayerControl struct.
In their place, it adds the movement_speed and movement_direction
values, which represents the player movement is a polar coordinate
system.

movement_speed is a scalar from 0.0 to 1.0. movement_direction is
an angle from 0 to +-Pi:

	       FWD
	        0
	        _
	 LFT   / \   RGT
	-Pi/2 |   | +Pi/2
	       \_/
	       +-Pi
	       BCK

Boolean movement bits will still be set for server telegrams and
Lua script invocations to provide full backward compatibility.
When generating these values from an analog input, a direction is
considered active when it is 22.5 degrees away from either
orthogonal axis.

Co-authored-by: Markus Koch <markus@notsyncing.net>
Co-authored-by: sfan5 <sfan5@live.de>
2021-08-27 20:24:24 +02:00
Treer 149d8fc8d6
Add group-based tool filtering for node drops (#10141)
Supports both AND and OR requirements, e.g.

 * "a tool that's in any of these groups"
 * "a tool that's in all of these groups"
2021-08-27 20:23:20 +02:00
Lean Rada d36dca3aba
Optimize vector length calculations (#11549) 2021-08-27 20:22:35 +02:00
Loïc Blot a7188bd6f5
Add debian 11 to Gitlab-CI (#11571)
* feat(gitlab-ci): add debian 11 support
2021-08-27 11:19:15 +02:00
Loïc Blot ff3aa18436
fix: update to alpine 3.14 (#11570) 2021-08-24 14:52:05 +02:00
JosiahWI ef84c3b8b9
Set policies through CMake 3.9 to allow enabling IPO (#11560) 2021-08-23 22:13:47 +02:00
Wuzzy 63e8224636
Fix 6th line of infotext being cut off in half (#11456) 2021-08-23 22:13:17 +02:00
SmallJoker eea488ed75
Inventory: Fix rare out-of-bounds access
Co-authored-by: Thomas--S <info@thomas-stangl.de>
2021-08-23 14:10:17 +02:00
DS dad87a360b
Use utf-8 for the Irrlicht clipboard (#11538) 2021-08-23 14:09:50 +02:00
sfan5 fad835cf64
Fix server-only builds on older CMake versions (#11566)
closes #11564
2021-08-23 13:33:25 +02:00
SmallJoker 0c1e9603db
HUD: Reject and warn on invalid stat types (#11548)
This comes into play on older servers which do not know the "stat" type.
Warnings are only logged once to avoid spam within globalstep callbacks
2021-08-21 20:04:04 +02:00
sfan5 a72d13064f Allow lib/irrlichtmt to work for server builds (headers-only) 2021-08-21 13:53:59 +02:00
Wuzzy 6fd8aede48
Show status message when changing block bounds (#11556) 2021-08-21 13:53:49 +02:00
sfan5 e7b05beb7d
Validate staticdata and object property length limits (#11511)
Some games provide users with enough freedom to create items
with metadata longer than 64KB, preventing this from causing
issues is on them but we'll still do the minimum not to abort
the server if this happens.
2021-08-19 20:14:22 +02:00
Wuzzy 1320c51d8e
Fix scaled world-aligned textures being aligned inconsistently for non-normal drawtypes 2021-08-19 20:14:04 +02:00
rubenwardy 24b66dede0
Add fwgettext util function 2021-08-19 20:13:25 +02:00
SmallJoker 3b842a7e02 Fix inconsistent integer comparison warnings 2021-08-17 20:00:47 +02:00
Wuzzy 2eec997e97
Clarify the meaning of "rightclick"/"use" in documentation (#11471) 2021-08-16 17:57:07 +02:00
Lean Rada 328d949225
Start sprite animation at the beginning (#11509)
When setting a sprite animation, do not keep the last animation's frame number. Setting a new animation should start the animation at the start of the new animation.
2021-08-16 17:56:38 +02:00
sfan5 4419e311a9 Cap iterations of imageCleanTransparent sanely
fixes #11513 performance regression with 256x textures
2021-08-16 17:56:11 +02:00
Treer 963fbd1572
Fix access violation in create_schematic() (#11534)
fixes #11533

Schematics saved from y locations greater than 0 would cause an access violation if layer probabilities were specified
2021-08-16 17:55:35 +02:00
SmallJoker b3b075ea02 Fix segfault caused by shadow map on exit 2021-08-12 20:08:39 +02:00
Hugues Ross 47c146120a
Add disable_settings to game.conf to get rid of "Enable Damage"/"Creative Mode"/"Host Server" checkboxes (#11524)
This adds support for disable_settings to game.conf. In this you can specify a list of settings that should not be visible in the "local game" (or however it is called nowadays) tab. Enable Damage, Creative Mode and Host Server are supported.

Co-authored-by: Wuzzy <Wuzzy2@mail.ru>
Co-authored-by: Aaron Suen <warr1024@gmail.com>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-08-12 20:08:12 +02:00
x2048 442e48b84f
Move updating shadows outside of RenderingCore::drawAll. (#11491)
Fixes indirect rendering modes such as some 3D modes mentioned in #11437 and undersampled rendering.
Does not fully fix anaglyph 3d mode.
2021-08-12 20:07:09 +02:00
DS 0709946c75
Fix a segfault caused by wrong textdomain lines in translation files (#11530)
* The problem were lines like these:
  "# textdomain:"
* str_split does not add an empty last part if there is a delimiter
  at the end, but this was probably assumed here.
2021-08-12 20:06:18 +02:00
hecks eefa39e47b
Remove statement semicolons from a lua script 2021-08-09 21:03:18 +02:00
DS 1ab29f1716
Fix GUIEditBoxWithScrollBar using a smaller steps than intlGUIEditBox (#11519) 2021-08-08 18:59:45 +02:00
Pevernow c6eddb0bae
Gettext support on Android (#11435)
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: =?UTF-8?q?Olivier=20Samyn=20=F0=9F=8E=BB?= <code@oleastre.be>
2021-08-08 18:59:07 +02:00
SmallJoker 4a3728d828 OpenAL: Free buffers on quit 2021-08-03 20:29:55 +02:00
rubenwardy bee50ca7fa
ContentDB: Add support for package aliases / renaming (#11484) 2021-08-02 20:05:10 +01:00
SmallJoker 32cb9d0828
Mods: Combine mod loading checks and deprection logging (#11503)
This limits the logged deprecation messages to the mods that are loaded
Unifies the mod naming convention check for CSM & SSM
2021-07-31 19:54:52 +02:00
Wuzzy e7cd4cfa25
Fix /emergeblocks crashing in debug builds (#11461)
The reason for the bug was an u16 overflow, thus failing the assert. This only happened in Debug build but not in Release builds.
2021-07-31 19:54:40 +02:00
sfan5 0257e7150f Update IrrlichtMt-related stuff in README 2021-07-31 13:26:17 +02:00
hecks 1e2b638881 Remove unsupported formats from the media enumerator 2021-07-29 22:42:47 +02:00
hecktest 28c98f9fa5 Remove unsupported extensions from list in tile.cpp 2021-07-29 21:47:08 +02:00
hecks 80d12dbedb
Add a simple PNG image encoder with Lua API (#11485)
* Add a simple PNG image encoder with Lua API
Add ColorSpec to RGBA converter
Make a safety wrapper for the encoder
Create devtest examples

Co-authored-by: hecktest <>
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-29 05:10:10 +02:00
sfan5 2866918f32 buildbot: Readd missing IrrlichtMt DLLs 2021-07-27 20:37:51 +02:00
sfan5 6e8aebf432
Add bold, italic and monospace font styling for HUD text elements (#11478)
Co-authored-by: Elias Fleckenstein <eliasfleckenstein@web.de>
2021-07-27 19:11:46 +02:00
JosiahWI cf136914cf
Take advantage of IrrlichtMt CMake target (#11287)
With the CMake changes to IrrlichtMt, it's now possible to use a target for IrrlichtMt.
Besides greatly improving the ease of setting up IrrlichtMt for users building the client, it removes the need for Minetest's CMake to include transitive dependencies such as image libraries, cleaning it up a tiny bit. The PR works by finding the IrrlichtMt package and linking to the target it provides. If the package isn't found and it isn't building the client, it will still fall back to using just the headers of old Irrlicht or IrrlichtMt.
2021-07-27 19:11:27 +02:00
Wuzzy 216728cc5e
Improve documentation of tools (#11128) 2021-07-27 19:09:14 +02:00
rubenwardy 9c145ba0d8
ContentDB: Add reason to downloads (#10876) 2021-07-27 19:08:49 +02:00
x2048 bf3acbf388
Distribute shadow map update over multiple frames to reduce stutter (#11422)
Reduces stutter and freezes when playing.

 * Maintains double SM and SM Color textures
 * Light frustum update triggers incremental generation of shadow map into secondary 'future' textures.
 * Every incremental update renders a portion of the shadow draw list (split equally).
 * After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen.

Co-authored-by: sfan5 <sfan5@live.de>
2021-07-25 12:36:23 +02:00
x2048 ff2d2a6e93
Add smooth light-shadow transition at noon (#11430)
Node faces with normals pointing East/West (+X/-X) will transition between light
and shadow at noon. This code makes the transition smooth.
2021-07-25 12:35:12 +02:00