oweals/minetest.git
5 years agoFix misuse of AsyncTask (#8799)
Linjie Pan [Wed, 18 Sep 2019 22:37:06 +0000 (06:37 +0800)]
Fix misuse of AsyncTask (#8799)

5 years agoSettings: Prevent mutex deadlock in remove() (#7803)
SmallJoker [Wed, 18 Sep 2019 16:48:23 +0000 (18:48 +0200)]
Settings: Prevent mutex deadlock in remove() (#7803)

5 years agoInventory: Properly revert client predictions (#8945)
SmallJoker [Wed, 18 Sep 2019 16:47:09 +0000 (18:47 +0200)]
Inventory: Properly revert client predictions (#8945)

Caused by incremental inventory sending
Previously everything was overwritten by serializing the entire inventory

5 years agoImprove undersampling settings
Hugo Locurcio [Tue, 17 Sep 2019 04:13:17 +0000 (06:13 +0200)]
Improve undersampling settings

The setting now accepts values between 1 and 8 in the
Advanced Settings menu.
Values 0 and 1 now behave the same way (setting it to 1 won't
disable MSAA anymore), so there's no need to expose 0 as a value.

This closes #8939.

5 years agoInventory: Undo prediction on drop
SmallJoker [Tue, 17 Sep 2019 17:02:01 +0000 (19:02 +0200)]
Inventory: Undo prediction on drop

5 years agoFix the bgcolor formspec element (#8716)
DS [Sun, 15 Sep 2019 16:14:31 +0000 (18:14 +0200)]
Fix the bgcolor formspec element (#8716)

5 years agoFix formspec version backup in prepends losing data
rubenwardy [Sun, 15 Sep 2019 15:56:11 +0000 (16:56 +0100)]
Fix formspec version backup in prepends losing data

5 years agoDungeons: Clean up parameters, improve structure variety (#8918)
Paramat [Sat, 14 Sep 2019 22:02:07 +0000 (23:02 +0100)]
Dungeons: Clean up parameters, improve structure variety (#8918)

While preserving the general character of dungeon structure.
Slightly increase the range of standard room horizontal size, while
preserving the average horizontal size.
Return to classic maximum large room size of 16x16x16.
Make 1 in 4 dungeons have a 1 in 8 chance for each room being 'large',
making multiple large rooms possible for the first time.
Make 1 in 8 dungeons allow diagonal corridors, to make these a little
more common.
Make corridor width vary from 1 to 2, but forced to 2 if diagonal
corridors are allowed, to make them passable.
Add some comments.

5 years agoBuilt-in formspecs: Force version 1
SmallJoker [Sat, 14 Sep 2019 18:31:07 +0000 (20:31 +0200)]
Built-in formspecs: Force version 1

5 years agoclient.h: Add missing const's
ANAND [Fri, 13 Sep 2019 06:04:06 +0000 (11:34 +0530)]
client.h: Add missing const's

5 years agoLocalPlayer: Fix code-style
ANAND [Wed, 21 Aug 2019 14:23:48 +0000 (19:53 +0530)]
LocalPlayer: Fix code-style

5 years agoclient.cpp: Fix code-style in Client::sendPlayerPos
ANAND [Wed, 21 Aug 2019 13:08:41 +0000 (18:38 +0530)]
client.cpp: Fix code-style in Client::sendPlayerPos

5 years agoFix LocalPlayer::isDead always returning false if player is immortal
ANAND [Wed, 21 Aug 2019 13:04:47 +0000 (18:34 +0530)]
Fix LocalPlayer::isDead always returning false if player is immortal

5 years agoSend ActiveObjects once right after Init2
ANAND [Sun, 25 Aug 2019 00:54:21 +0000 (06:24 +0530)]
Send ActiveObjects once right after Init2

5 years agoFormspecs: Introduce formspec_version to mods
SmallJoker [Tue, 10 Sep 2019 19:18:42 +0000 (21:18 +0200)]
Formspecs: Introduce formspec_version to mods

5 years agoCSM: Fix itemstack:get_meta() 'metadata' indexing error
SmallJoker [Wed, 26 Jun 2019 17:37:14 +0000 (19:37 +0200)]
CSM: Fix itemstack:get_meta() 'metadata' indexing error

5 years agoLoad CSM environment after the restrictions are known
SmallJoker [Tue, 25 Jun 2019 19:18:08 +0000 (21:18 +0200)]
Load CSM environment after the restrictions are known

Safety-guards for CSM callbacks to abort on a bad implementation
Only run callbacks when the mods are loaded (and with it: builtin)

Duplication checks inside constructors

5 years agoInventoryManager: Fix virtual function overload warning
SmallJoker [Mon, 9 Sep 2019 18:35:45 +0000 (20:35 +0200)]
InventoryManager: Fix virtual function overload warning

5 years agoSend cumulated inventory changes only each step (#8856)
SmallJoker [Sun, 25 Aug 2019 08:55:27 +0000 (10:55 +0200)]
Send cumulated inventory changes only each step (#8856)

Applies to player and detached inventories

5 years agoUpdate minetest.conf.example
updatepo.sh [Sun, 8 Sep 2019 07:21:59 +0000 (09:21 +0200)]
Update minetest.conf.example

5 years agoUpdate translation strings
updatepo.sh [Sun, 8 Sep 2019 07:21:36 +0000 (09:21 +0200)]
Update translation strings

5 years agoUpdate from Weblate
Translators [Sun, 8 Sep 2019 07:19:17 +0000 (09:19 +0200)]
Update from Weblate

5 years agoDungeons: Remove non-functional 'projecting dungeons' setting (#8897)
Paramat [Sun, 8 Sep 2019 16:51:34 +0000 (17:51 +0100)]
Dungeons: Remove non-functional 'projecting dungeons' setting (#8897)

5 years agoLua API documentation: Various fixes (#8914)
SmallJoker [Sun, 8 Sep 2019 16:43:49 +0000 (18:43 +0200)]
Lua API documentation: Various fixes (#8914)

Remove unusable 'minetest.setting_*' from client_lua_api.txt
lua_api.txt:
- Define the 'mod.conf' format
- More precise 'settingtypes.txt' format reference
- Document special sound files 'player_*damage'
- Group, sort and add 'not_in_creative_inventory' special group
- Define the 'Settings' format
- Warning about incorrect byte saving in 'StorageRef'
- Note about non-persistent player definitions fields
- Better 'leveldiff' and 'level' group description

5 years agolua_api.txt: Improve privilege definition (#8912)
ANAND [Sun, 8 Sep 2019 10:34:44 +0000 (18:34 +0800)]
lua_api.txt: Improve privilege definition (#8912)

5 years agoMove debug.txt after it grows too big (#8904)
HybridDog [Sat, 7 Sep 2019 17:38:54 +0000 (19:38 +0200)]
Move debug.txt after it grows too big (#8904)

Before opening the file for writing, its file size is tested. If it exceeds 50 MB, it is moved to debut.txt.1, otherwise the log is appended to the old messages. An old debut.txt.1 is removed if it already exists.

5 years agolabel[]: Fix cut-off translated text
SmallJoker [Sat, 7 Sep 2019 09:15:12 +0000 (11:15 +0200)]
label[]: Fix cut-off translated text

5 years agoFix Irrlicht 1.9 support
sfan5 [Fri, 6 Sep 2019 16:29:29 +0000 (18:29 +0200)]
Fix Irrlicht 1.9 support

5 years agodoc/client_lua_api: Clarify how client side api and mods start (#8822)
Paul m. p. P [Thu, 5 Sep 2019 11:06:22 +0000 (13:06 +0200)]
doc/client_lua_api: Clarify how client side api and mods start (#8822)

5 years agoForce item entities out of solid nodes (simpler) (#8885)
sfan5 [Wed, 4 Sep 2019 20:21:40 +0000 (22:21 +0200)]
Force item entities out of solid nodes (simpler) (#8885)

5 years agoFix Inventory::moveItemSomewhere()
sfan5 [Tue, 3 Sep 2019 14:36:46 +0000 (16:36 +0200)]
Fix Inventory::moveItemSomewhere()

5 years agoInventory: Handle removeItem leftovers (#8884)
SmallJoker [Mon, 2 Sep 2019 17:30:36 +0000 (19:30 +0200)]
Inventory: Handle removeItem leftovers (#8884)

5 years ago'All Settings': Don't use checkboxes for 'no...' mapgen flags (#7847)
Muhammad Rifqi Priyo Susanto [Sun, 1 Sep 2019 21:43:41 +0000 (04:43 +0700)]
'All Settings': Don't use checkboxes for 'no...' mapgen flags (#7847)

5 years agoVarious fixes to lua_api.txt (#8878)
DS [Sun, 1 Sep 2019 18:12:22 +0000 (20:12 +0200)]
Various fixes to lua_api.txt (#8878)

5 years agoparticles.cpp: Fix code-style
ANAND [Sat, 17 Aug 2019 06:39:40 +0000 (12:09 +0530)]
particles.cpp: Fix code-style

Mainly spacing and pointer placement

5 years agoclientobject.h: Fix code-style
ANAND [Fri, 16 Aug 2019 17:07:49 +0000 (22:37 +0530)]
clientobject.h: Fix code-style

5 years agoFix rotation of attached particlespawner
Pedro Gimeno [Fri, 9 Aug 2019 08:51:17 +0000 (14:21 +0530)]
Fix rotation of attached particlespawner

Co-authored-by: ANAND <ClobberXD@gmail.com>
5 years agoDocument world format version 28 (private nodemeta) (#8857)
DS [Sat, 31 Aug 2019 12:47:13 +0000 (14:47 +0200)]
Document world format version 28 (private nodemeta) (#8857)

5 years agoDocument luaentity pitch and roll in world format (#8864)
DS [Fri, 30 Aug 2019 17:40:32 +0000 (19:40 +0200)]
Document luaentity pitch and roll in world format (#8864)

5 years agoClarify docs regarding pointed_thing and get_pointed_thing_position (#8766)
Beha [Fri, 30 Aug 2019 17:40:08 +0000 (13:40 -0400)]
Clarify docs regarding pointed_thing and get_pointed_thing_position (#8766)

5 years agoVarious settingtypes.txt improvements (#8867)
Paramat [Wed, 28 Aug 2019 00:39:33 +0000 (01:39 +0100)]
Various settingtypes.txt improvements (#8867)

Improve 'readable' setting names for waving water settings.
Change 'near plane' to 'near clipping plane'.
Document physics settings.

mgv6_spflags:
Change 'new biome system' to 'snowbiomes flag' for clarity.
Add missing 'noflat' flag to default flags.

5 years agoInventory: Fix missing setModified calls
SmallJoker [Sun, 25 Aug 2019 07:46:54 +0000 (09:46 +0200)]
Inventory: Fix missing setModified calls

Previously inv:remove_item and inv:set_list did not trigger an inventory update

5 years agoMapgen v6: Various mudflow code improvements and bugfixes (#8805)
Paramat [Sat, 24 Aug 2019 19:06:31 +0000 (20:06 +0100)]
Mapgen v6: Various mudflow code improvements and bugfixes  (#8805)

Calculate 'i' inside 'y' loop to avoid 'i' and 'y' becoming
out of step due to the uses of 'continue'.
Simplify calculation of 'p2d' when coordinates are inverted.
Remove some unnecessary and unreliable 'index out of
voxelmanip' checks.
Move calculation of '&em' out of loops.
For 'Loop further down until not air' code, use y coordinate
to detect being out of voxelmanip, instead of checking index
which did not detect that.
Add and improve comments.
Indent the 'for (;; y--) {' loop.
Improve format and fix codestyle issues.

5 years agofontengine: Fix non-gettext builds
SmallJoker [Sat, 24 Aug 2019 16:54:51 +0000 (18:54 +0200)]
fontengine: Fix non-gettext builds

5 years agoInventory: Send dirty lists where appropriate (#8742)
SmallJoker [Sat, 24 Aug 2019 17:07:38 +0000 (19:07 +0200)]
Inventory: Send dirty lists where appropriate (#8742)

This change reduces the amount of sent data towards clients. Inventory lists that are already known to the player are skipped, saving quite some data over time.

Raises protocol version to 38 to ensure correct backwards-compatible code.

5 years agoAdd ItemStack:get_description() to get tooltip (#8847)
Paul Ouellette [Sat, 24 Aug 2019 16:38:02 +0000 (12:38 -0400)]
Add ItemStack:get_description() to get tooltip (#8847)

5 years agoImprove occlusion culling in corridors with additional check
sfan5 [Thu, 22 Aug 2019 22:14:45 +0000 (00:14 +0200)]
Improve occlusion culling in corridors with additional check

5 years agoRestore approximate occlusion check
sfan5 [Fri, 23 Aug 2019 19:52:11 +0000 (21:52 +0200)]
Restore approximate occlusion check

While less precise, it worked better which is what matters in the end.

5 years agoMake Mapgen::spreadLight use a queue (#8838)
DS [Fri, 23 Aug 2019 20:16:50 +0000 (22:16 +0200)]
Make Mapgen::spreadLight use a queue (#8838)

5 years agoFix default hand definition not using wieldhand.png
Wuzzy [Fri, 23 Aug 2019 01:16:07 +0000 (03:16 +0200)]
Fix default hand definition not using wieldhand.png

5 years agoOcclusion: Check for light_propagates and do mapblock bounds checks
SmallJoker [Sat, 17 Aug 2019 13:42:36 +0000 (15:42 +0200)]
Occlusion: Check for light_propagates and do mapblock bounds checks

5 years agoOcclusion: Begin cleanup
SmallJoker [Sat, 17 Aug 2019 12:21:22 +0000 (14:21 +0200)]
Occlusion: Begin cleanup

5 years agoRevert "Don't send position update packet if player is dead"
sfan5 [Wed, 21 Aug 2019 13:30:52 +0000 (15:30 +0200)]
Revert "Don't send position update packet if player is dead"

This reverts commit fb6f1fdcbe3ee2321cc33eb00f2c6da86744d00a.

5 years agoAdd player sprite textures back into the engine as a fallback (#8823)
Paramat [Tue, 20 Aug 2019 20:09:44 +0000 (21:09 +0100)]
Add player sprite textures back into the engine as a fallback (#8823)

'player.png' and 'player_back.png' are hardcoded into the engine as
the default appearence of the player object, so the textures should
be present in the engine.
This results in a functional fallback sprite player for when a game
has no player appearence related code.

5 years agolua_api.txt: Add link to Minetest Modding Book (#8826)
ANAND [Tue, 20 Aug 2019 19:15:12 +0000 (03:15 +0800)]
lua_api.txt: Add link to Minetest Modding Book (#8826)

5 years agoremove_detached_inventory: Fix segfault during mod load
SmallJoker [Tue, 20 Aug 2019 17:25:46 +0000 (19:25 +0200)]
remove_detached_inventory: Fix segfault during mod load

5 years agoDon't send position update packet if player is dead
ANAND [Sat, 4 May 2019 07:33:51 +0000 (13:03 +0530)]
Don't send position update packet if player is dead

5 years agoDisable autoforward if player is dead
ANAND [Sat, 4 May 2019 07:13:31 +0000 (12:43 +0530)]
Disable autoforward if player is dead

5 years agoRestore intended functionality to minimap markers (#8819)
theviper121 [Mon, 19 Aug 2019 17:18:11 +0000 (12:18 -0500)]
Restore intended functionality to minimap markers (#8819)

5 years agoFind LuaJIT headers on vcpkg
Unknown [Sun, 18 Aug 2019 08:08:57 +0000 (10:08 +0200)]
Find LuaJIT headers on vcpkg

luajit headers were moved into a subdirectory to avoid conflicts with plain lua

5 years agoClientInterface: Use recursive mutex to prevent freeze in on_newplayer() (#8808)
SmallJoker [Sat, 17 Aug 2019 11:27:28 +0000 (13:27 +0200)]
ClientInterface: Use recursive mutex to prevent freeze in on_newplayer() (#8808)

5 years agoRemove unused function in ReliablePacketBuffer
sfan5 [Thu, 15 Aug 2019 18:47:32 +0000 (20:47 +0200)]
Remove unused function in ReliablePacketBuffer

5 years agoMinor refactor of IncomingSplitBuffer
sfan5 [Thu, 15 Aug 2019 18:14:44 +0000 (20:14 +0200)]
Minor refactor of IncomingSplitBuffer

5 years agoDrop m_list_size from ReliablePacketBuffer
sfan5 [Thu, 15 Aug 2019 17:54:40 +0000 (19:54 +0200)]
Drop m_list_size from ReliablePacketBuffer

It's not required and, worse, can lead to bugs.

5 years agoMapgen v6: Fix mudflow iteration and iterate twice (#8795)
Paramat [Thu, 15 Aug 2019 19:32:28 +0000 (20:32 +0100)]
Mapgen v6: Fix mudflow iteration and iterate twice (#8795)

In MapgenV6::flowMud(), the previous implementation of coordinate
inversion caused the 2 inverted mudflow iterations (out of the 3
iterations) to not loop over the area, so only 1 non-inverted
iteration occurred.

Fix this bug but only iterate mudflow twice, as mapgen v6 has only
had 1 iteration for many years. There is now a good balance of 1
non-inverted iteration and 1 inverted iteration.

5 years agonetwork: Stricter handling of split packets
sfan5 [Thu, 15 Aug 2019 14:11:01 +0000 (16:11 +0200)]
network: Stricter handling of split packets

5 years agonetwork: Fix crash in ReliablePacketBuffer on mismatching packets
sfan5 [Thu, 15 Aug 2019 15:17:17 +0000 (17:17 +0200)]
network: Fix crash in ReliablePacketBuffer on mismatching packets

In the error condition the exception would be thrown before m_list_size
is decremented, causing a nullptr dereference in e.g. popFirst().

5 years agoFix undeclared global warning because of _ (#8798)
DS [Wed, 14 Aug 2019 21:35:47 +0000 (23:35 +0200)]
Fix undeclared global warning because of _ (#8798)

5 years agoAdd function `minetest.read_schematic`
upsilon [Wed, 18 Apr 2018 16:27:08 +0000 (18:27 +0200)]
Add function `minetest.read_schematic`

5 years agoFix unnecessary exception use in 3 more methods (#8791)
Jozef Behran [Tue, 13 Aug 2019 18:02:50 +0000 (20:02 +0200)]
Fix unnecessary exception use in 3 more methods (#8791)

* Fix unnecessary exception use in Server::SendBlocks

The code in this method calls getBlockNoCreate and then
messes around with try...catch to skip blocks which are not
in the memory. Additionally, it repeatedly calls
m_env.getMap() inside this loop. Speed the code up by
extracting the m_env.getMap() out of the loop and getting
rid of the try...catch.

* Fix unnecessary exception use in Server::SendBlock

Another unnecessary try...catch is slowing down
Server::SendBlock. Remove that to speed it up and get a nice
side effect of simplifying the code in question.

* Fix unnecessary exception use in MMVManip::initialEmerge

Remove another unneeded exception usage from
MMVManip::initialEmerge to speed that code up and simplify
it but be careful to not remove the braces as there is a
TimeTaker in use there.

5 years agoFix unnecessary exception use in Map::getSectorXXX (#8792)
Jozef Behran [Tue, 13 Aug 2019 17:58:27 +0000 (19:58 +0200)]
Fix unnecessary exception use in Map::getSectorXXX (#8792)

The Map::getSectorNoGenerate throws an exception but no other
code is really dependent on that. Fix the odd instance of
misuse in ClientMap::emergeSector and remove the exception
throwing version of the method along with the "NoEx" suffixes
in the names of these methods.

5 years agoBetter F6 profiler (#8750)
SmallJoker [Tue, 13 Aug 2019 17:56:55 +0000 (19:56 +0200)]
Better F6 profiler (#8750)

Update the profiler names to make more sense of what they actually represent
Move the profiler code from header to its source file
Use monospace font to align lines
Format the statistics line to align better with surrounding values
Refresh the profiler each 3 seconds (roughly)

5 years agoFix unnecessary exception use in Map::isNodeUnderground
Jozef Behran [Wed, 7 Aug 2019 10:06:45 +0000 (12:06 +0200)]
Fix unnecessary exception use in Map::isNodeUnderground

The isNodeUnderground calls getBlockNoCreate which calls
getBlockNoCreateNoEx and throws InvalidPositionException
if the returned value is nullptr, which isNodeUnderground
then catches to return "false". Remove the try..catch in
isNodeUnderground by calling getBlockNoCreateNoEx instead
of getBlockNoCreate and checking the returned value for
nullptr.

5 years agoFix compare between pointer and 0 in unittests
Jozef Behran [Tue, 13 Aug 2019 12:26:37 +0000 (14:26 +0200)]
Fix compare between pointer and 0 in unittests

Pointers shall be set to nullptr, not 0, according to the
coding standards. By implication they shall be compared with
nullptr, not 0, too. Fix this code to match that.

5 years agoClear old item groups when they are overridden. (#8753)
Beha [Mon, 12 Aug 2019 17:18:52 +0000 (13:18 -0400)]
Clear old item groups when they are overridden. (#8753)

This fixes overridden items keeping their old groups in the group to
items mapping even after their groups have been changed in lua.
It also prevents a more widespread issue where overriding an item
will add its content ID *twice* to the mapping, resulting in odd
behaviour in features such as ABMs.

5 years agoAdd support for set_formspec_prepend in main menu (#8611)
rubenwardy [Mon, 12 Aug 2019 17:16:35 +0000 (18:16 +0100)]
Add support for set_formspec_prepend in main menu (#8611)

5 years agoHandle multiple deserialization of a block's entities
Rogier [Sun, 11 Dec 2016 17:47:50 +0000 (18:47 +0100)]
Handle multiple deserialization of a block's entities

This fix consists of two parts:
- Clear the list of stored entities. This has no side-effects.
- Catch the case where active entities exist and print a message.
  Clearing the active entitiy list has side-effects that should
  be handled. (those entities are known to the environment and
  to clients).

  As avoiding those side-effects is more complex, and as this
  problem is not expected to occur (with PR #4847 merged), there
  is no real incentive to implement this ATM.

This issue was a contributing factor to bug #4217. With the other
contributing factor removed (PR #4847), this commit makes sure this
factor does not go unnoticed if it ever happens again.

5 years agoUpdate Gradle to 5.5.1 (#8771)
hannesa2 [Mon, 12 Aug 2019 16:59:53 +0000 (18:59 +0200)]
Update Gradle to 5.5.1 (#8771)

5 years agoFix breakage of non-GLES2 setups (#8774)
Jozef Behran [Sat, 10 Aug 2019 21:32:47 +0000 (23:32 +0200)]
Fix breakage of non-GLES2 setups (#8774)

The commit 526a9e4b66abaf83eb6b1aaa3e93375acd87b830 breaks
the non-GLES2 setups because the code that is intended to
handle that is behind "elseif()" which is interpreted as
"elseif(false)" and thus the code never gets executed. Fix
that by changing the offending line to else().

Additionally, to avoid breaking the server only build
(which shall not have a dependency on GL/GLU/GLES at all),
enclose the entire block code in if(BUILD_CLIENT).

5 years agoFix some issues with minetest.clear_craft (#8712)
Paul Ouellette [Sat, 10 Aug 2019 21:28:00 +0000 (17:28 -0400)]
Fix some issues with minetest.clear_craft (#8712)

* Fix some issues with minetest.clear_craft

- Fix memory leak
- Fix crafts with an output count not being cleared when clearing by
  input.
- Fix recipe list being reversed when clearing by input.

* Add CraftInput::empty()

5 years agoMerge pull request #8776 from osjc/FixGetNode
Jozef Behran [Sat, 10 Aug 2019 17:45:44 +0000 (19:45 +0200)]
Merge pull request #8776 from osjc/FixGetNode

Finish getNode cleanup

5 years agoAdd player knockback on punch to builtin
sfan5 [Tue, 16 Jul 2019 17:20:06 +0000 (19:20 +0200)]
Add player knockback on punch to builtin

5 years agoImplement adding velocity to player from Lua
sfan5 [Tue, 16 Jul 2019 12:00:42 +0000 (14:00 +0200)]
Implement adding velocity to player from Lua

The intended usecase is knockback, but there's potential for more.

5 years agoBuiltin UI: Move box element to ensure correct draw order
SmallJoker [Thu, 1 Aug 2019 12:43:31 +0000 (14:43 +0200)]
Builtin UI: Move box element to ensure correct draw order

5 years agoAllow customizing chat message format (#8529)
ANAND [Thu, 8 Aug 2019 16:04:46 +0000 (21:34 +0530)]
Allow customizing chat message format (#8529)

5 years agoguiVolumeChange: Fix child not being removed
ANAND [Thu, 8 Aug 2019 15:41:23 +0000 (21:11 +0530)]
guiVolumeChange: Fix child not being removed

5 years agoAvoid crash caused by, and improve, 'findSpawnPos()' (#8728)
Paramat [Wed, 7 Aug 2019 21:07:51 +0000 (22:07 +0100)]
Avoid crash caused by, and improve, 'findSpawnPos()'  (#8728)

Avoid an unsuitable spawn position (which if outside mapgen limits can
cause a crash) if the main 0-3999 loop reaches its end. Fallback to a
spawn at 0,0,0.
Check the mapgen-returned 'spawn_level' value for being outside limits.
When 'air_count' reaches 2, move back down 1 to spawn in the lower
empty node.
If the spawn position is disallowed by 'objectpos_over_limit()', 'break'
from loop instead of 'continue' because positions above are probably
also over limit.
Reset 'air_count' to 0 if an obstruction is found, to make 'air_count'
consecutive empty nodes.
Allow spawn in 'airlike' drawtype nodes such as mod-added vacuum,
alien atmospheres, fog etc.
Add clarifying comments and improve codestyle.

5 years agoGame: Fix double BS multiplication
SmallJoker [Wed, 7 Aug 2019 19:17:17 +0000 (21:17 +0200)]
Game: Fix double BS multiplication

5 years agoFix usage of wrong variable in builtin chat command handling (#8762)
Beha [Wed, 7 Aug 2019 18:32:40 +0000 (14:32 -0400)]
Fix usage of wrong variable in builtin chat command handling (#8762)

This was introduced in commit 8e75785 and resulted in chat commands not
returning their output text.

5 years agoClient::Interact: Use InteractAction enum instead of numeric constants
ANAND [Sun, 4 Aug 2019 04:53:59 +0000 (10:23 +0530)]
Client::Interact: Use InteractAction enum instead of numeric constants

This replaces the magic numbers used as interaction modes both client-side and server-side, primarily for the sake of ease-of-readability.

5 years agoUnify wield item handling (#8677)
SmallJoker [Wed, 7 Aug 2019 17:16:31 +0000 (19:16 +0200)]
Unify wield item handling (#8677)

This moves the wield item functions to Player and the tool utils for range calculation
Also 'local_inventory' was removed due to redundancy in Client

5 years agoguiConfirmRegistration: Set focus to text field (#8761)
ANAND [Wed, 7 Aug 2019 17:15:46 +0000 (22:45 +0530)]
guiConfirmRegistration: Set focus to text field (#8761)

5 years agoHide chat when console is open (#8656)
ANAND [Wed, 7 Aug 2019 17:15:33 +0000 (22:45 +0530)]
Hide chat when console is open (#8656)

5 years agoFix inventory_overlay for nodes without inventory_image (#8433)
DS [Wed, 7 Aug 2019 10:07:30 +0000 (12:07 +0200)]
Fix inventory_overlay for nodes without inventory_image (#8433)

5 years agoOptimize usage of TOSERVER_GOTBLOCKS packet
sfan5 [Wed, 7 Aug 2019 08:31:12 +0000 (10:31 +0200)]
Optimize usage of TOSERVER_GOTBLOCKS packet

5 years agoDo not add group values of zero to group lists. (#8751)
Beha [Wed, 7 Aug 2019 08:48:04 +0000 (04:48 -0400)]
Do not add group values of zero to group lists. (#8751)

This fixes an issue where when the engine looked up groups (for example,
in ABM node names), NodeDefManager's m_group_to_items would contain nodes
with a group value of zero, resulting in nodes with flammable = 0 being
burned by a fire mod with a group:flammable checking ABM.

It brings consistency to the behaviour described in the api
documentation, where zero and nil groups should be the same.

5 years agoClean up and fix freetype=false crashes (#8641)
SmallJoker [Tue, 6 Aug 2019 19:33:13 +0000 (21:33 +0200)]
Clean up and fix freetype=false crashes (#8641)

A IGUIFont of type bitmap/vector cannot be converted to CGUITTFont
Fixes various segfaults in gameplay
Shorter font cache code, cleaned up (?)

5 years agoAdd luacheck to check builtin (#7895)
rubenwardy [Tue, 6 Aug 2019 18:30:18 +0000 (19:30 +0100)]
Add luacheck to check builtin (#7895)

5 years agoMapgen Flat: Fix and improve getSpawnLevelAtPoint() (#8756)
Paramat [Tue, 6 Aug 2019 01:30:28 +0000 (02:30 +0100)]
Mapgen Flat: Fix and improve getSpawnLevelAtPoint() (#8756)

Previously, this wrongly returned ground level (a position containing
a solid node) as spawn level.
Return ground level + 2 (+ 2 to spawn above biome 'dust' nodes).
Improve codestyle and make more consistent with generateTerrain().

5 years agoUpdate curl dependency in buildbot
sfan5 [Mon, 5 Aug 2019 09:25:02 +0000 (11:25 +0200)]
Update curl dependency in buildbot